Xeno Spawns with Preferences Off
- Fickmacher
- Registered user
- Posts: 217
- Joined: 27 Apr 2015, 18:10
- Location: Tucson, AZ
Xeno Spawns with Preferences Off
Bug Description: Sometimes players spawn despite having their candidacy toggled off.
Steps to reproduce:
1. Enter round with preferences off.
2. Larva becomes availible.
3. Become a larva anyways.
Seriously just happened to me. Double-checked and they were off. Other players are making the same complaint. Why asre people who don't want to be Xenos getting shoved with them, anyways?
Steps to reproduce:
1. Enter round with preferences off.
2. Larva becomes availible.
3. Become a larva anyways.
Seriously just happened to me. Double-checked and they were off. Other players are making the same complaint. Why asre people who don't want to be Xenos getting shoved with them, anyways?
Squad Leader, Engineer, Sentinel, Queen, Jackass
- apophis775
- Host
- Posts: 6985
- Joined: 22 Aug 2014, 18:05
- Location: Ice Colony
- Byond: Apophis775
- Contact:
Re: Xeno Spawns with Preferences Off
Known bug, I've been trying to fix it for around a year.
- Juninho77
- Registered user
- Posts: 276
- Joined: 06 May 2015, 10:22
Re: Xeno Spawns with Preferences Off
You just withheld very important information, Fick. You were the host. That changes everything. It's not like you were an observer who was pulled into a larva. No, no, no. Bad Fick. Very bad Fick.
I hunted the bug for 30 minutes. For 30 minutes I looked for a way observers could be unwillingly pulled into a larva. 30 minutes of my life you took away, Fick. 30 minutes.
Alright, let's get to the "bug".
More specifically:
What happens:
No candidates available [candidates.len = 0], [else if(affected_mob.client)] comes into play. He is the affected mob, and he is online, therefore he becomes a larva.
Fix would be: [else if(affected_mob.client & BE_ALIEN]
BUT:
While that would prevent hosts from unwillingly turning into aliens, it could be abused: if there are no candidates available, his chest would never burst.
So, in the end, I guess it's more like a feature. You can't escape the aliens, Fick.
I hunted the bug for 30 minutes. For 30 minutes I looked for a way observers could be unwillingly pulled into a larva. 30 minutes of my life you took away, Fick. 30 minutes.
Alright, let's get to the "bug".
Code: Select all
/obj/item/alien_embryo/proc/AttemptGrow(var/gib_on_success = 1)
affected_mob.emote("scream")
spawn(20)
var/list/candidates = list()
var/picked
if(!affected_mob)//hopefully fix a runtime error
return
if(istype(affected_mob, /mob/living/carbon/human) && affected_mob.stat == DEAD)
return
for(var/mob/dead/observer/G in player_list)
if(G)
if(G.client)
if(G.client.prefs.be_special & BE_ALIEN)
candidates += G.key
// To stop clientless larva, we will check that our host has a client
// if we find no ghosts to become the alien. If the host has a client
// he will become the alien but if he doesn't then we will set the stage
// to 4, so we don't do a process heavy check everytime.
if(candidates.len)
picked = pick(candidates)
else if(affected_mob.client)
picked = affected_mob.key
if(!picked)
stage = 4 // Let's try again later.
stage_age = 35
return
affected_mob.death()
affected_mob.stat = DEAD
src.protect = 1
var/turf/T = affected_mob.loc
var/mob/living/carbon/alien/larva/new_xeno = new(T)
affected_mob.birth = 1
new_xeno.key = picked
new_xeno << sound('sound/voice/hiss5.ogg',0,0,0,100) //To get the player's attention
affected_mob.death()
affected_mob.stat = DEAD
src.protect = 1
if(ishuman(affected_mob))
score_marines_chestbursted++
for(var/mob/L in range(src, 10))
L << "\red <b>[new_xeno] crawls out of [affected_mob]!</b>"
affected_mob.overlays += image('icons/mob/alien.dmi', loc = affected_mob, icon_state = "bursted_stand")
// if(gib_on_success)
// affected_mob.gib()
del(src)
Code: Select all
if(candidates.len)
picked = pick(candidates)
else if(affected_mob.client)
picked = affected_mob.key
No candidates available [candidates.len = 0], [else if(affected_mob.client)] comes into play. He is the affected mob, and he is online, therefore he becomes a larva.
Fix would be: [else if(affected_mob.client & BE_ALIEN]
BUT:
While that would prevent hosts from unwillingly turning into aliens, it could be abused: if there are no candidates available, his chest would never burst.
So, in the end, I guess it's more like a feature. You can't escape the aliens, Fick.
"Do not go gentle into that good night; rage, rage against the dying of the light."
If you would permaban a player, you owe it to him to look into his logs and hear his side of the story. And if you cannot bear to do that, then perhaps the player does not deserve to be banned.
- Davidchan
- Registered user
- Posts: 350
- Joined: 20 Feb 2015, 22:08
Re: Xeno Spawns with Preferences Off
I feel adding a prompt like pAIs or Positron Brains have would go a long way. When an Alien is available to play, everyone with Xeno candidacy enabled gets a yes/no prompt to take control. After 30 seconds anyone who hasn't click yes/no would be considered a NO and the prompt would expire, if no alien was selected it would wait another 30-60 seconds and ask again. Repeating this process until an active player elected 'yes' to join. No more idling/afk larva bursts who just sit on their host and stare at the wall.
I have a very stupid question, and if this gets shot down I understand entirely. If other people like it we can make it a proper suggestion, someone else can do it I don't fucking care, not like we get paid or credited for changes anyways.
Have we ever considered making Facehuggers a player controlled mod? Give them hivemind (or an understanding of it at least), and for their Alien abilities they can vent crawl, hide and pounce/leap up to 2 tiles to reach a host. Xenos would still be able to harvest from eggs and get huggers as usual, non-player control huggers acting pretty much like they do now. Player controlled huggers would be Larva-tier or lower, requiring them to work with the Hive to infect stronger hosts. A caveat of this, being that the hugger becomes the embryo upon infestation. Basically reserving your spot as a larva ahead of time by doing the work of infesting yourself.
I can think of two options as to how players could elect to be huggers. The first would be the same as chest bursting above, when an egg hatches or is harvested, all ghosted players with Alien candidacy elected would be given the prompt. If anyone click yes, they become a sentient Hugger and can move around, if nobody says yes, it is just another docile/passive hugger that sits in tile and waits forever. No real big changes here, just giving more players the chance to play as more aliens.
The other option, would be to add a 'Spawn as Facehugger' option to the ghost menu. The game would check for any docile/passive huggers or a Mature-ready to hatch egg. If one is found, that player takes control and continues their round as a face hugger looking for a host to infect. If no huggers are found, the game replies that no suitable child is available or that the players Alien candidacy is not properly set,alternately stating the hivemind can not support another child if all of the Xenomorphs are dead (No Queen, Drone/Runner/Sentinel castes alive, No Larva alive). Also, if there is no living Aliens, eggs should not be able to hatch as while this would be an entertaining way to restart a round, it would get old fast and basically require marines to completely destroy and remove all nests and eggs to win the game.
In doing this, it would be required for coders to change the end game settings for marines to be)
All Xenomorphs (Drone,Sentinel, Runner castes, Queen and Larva) killed.
All Sentient Huggers killed.
No infected hosts alive.
I have a very stupid question, and if this gets shot down I understand entirely. If other people like it we can make it a proper suggestion, someone else can do it I don't fucking care, not like we get paid or credited for changes anyways.
Have we ever considered making Facehuggers a player controlled mod? Give them hivemind (or an understanding of it at least), and for their Alien abilities they can vent crawl, hide and pounce/leap up to 2 tiles to reach a host. Xenos would still be able to harvest from eggs and get huggers as usual, non-player control huggers acting pretty much like they do now. Player controlled huggers would be Larva-tier or lower, requiring them to work with the Hive to infect stronger hosts. A caveat of this, being that the hugger becomes the embryo upon infestation. Basically reserving your spot as a larva ahead of time by doing the work of infesting yourself.
I can think of two options as to how players could elect to be huggers. The first would be the same as chest bursting above, when an egg hatches or is harvested, all ghosted players with Alien candidacy elected would be given the prompt. If anyone click yes, they become a sentient Hugger and can move around, if nobody says yes, it is just another docile/passive hugger that sits in tile and waits forever. No real big changes here, just giving more players the chance to play as more aliens.
The other option, would be to add a 'Spawn as Facehugger' option to the ghost menu. The game would check for any docile/passive huggers or a Mature-ready to hatch egg. If one is found, that player takes control and continues their round as a face hugger looking for a host to infect. If no huggers are found, the game replies that no suitable child is available or that the players Alien candidacy is not properly set,alternately stating the hivemind can not support another child if all of the Xenomorphs are dead (No Queen, Drone/Runner/Sentinel castes alive, No Larva alive). Also, if there is no living Aliens, eggs should not be able to hatch as while this would be an entertaining way to restart a round, it would get old fast and basically require marines to completely destroy and remove all nests and eggs to win the game.
In doing this, it would be required for coders to change the end game settings for marines to be)
All Xenomorphs (Drone,Sentinel, Runner castes, Queen and Larva) killed.
All Sentient Huggers killed.
No infected hosts alive.
- Juninho77
- Registered user
- Posts: 276
- Joined: 06 May 2015, 10:22
Re: Xeno Spawns with Preferences Off
Both your suggestions would be doable, definitely.
Sentient facehuhgers, however, that would seriously tip the game balance away from marines.
I personally find it an interesting idea, but I'd implement it differently. Well, I'm at work, so I'm not going extend myself too much.
Sentient facehuhgers, however, that would seriously tip the game balance away from marines.
I personally find it an interesting idea, but I'd implement it differently. Well, I'm at work, so I'm not going extend myself too much.
"Do not go gentle into that good night; rage, rage against the dying of the light."
If you would permaban a player, you owe it to him to look into his logs and hear his side of the story. And if you cannot bear to do that, then perhaps the player does not deserve to be banned.
- Davidchan
- Registered user
- Posts: 350
- Joined: 20 Feb 2015, 22:08
Re: Xeno Spawns with Preferences Off
I'm curious how sentient huggers would change thing. If we make pounce/leap their only means of infecting (so a marine walking past a hiding hugger wouldn't trigger them), I don't see how their survival odds would be much better than a typical larva trying to escape after bursting.
- speedybst
- Registered user
- Posts: 404
- Joined: 15 Oct 2014, 23:36
- Location: Australia
- Byond: Speedybast
Re: Xeno Spawns with Preferences Off
Hmm, i do like both those ideas, but to ensure that they get the attention they deserve, probably best to make a new post for them.
The idea of being a hugger is actually a very nice one, would give you a little something extra to do as a ghost.
The idea of being a hugger is actually a very nice one, would give you a little something extra to do as a ghost.
- Zynax
- Donor
- Posts: 36
- Joined: 02 May 2015, 02:01
Re: Xeno Spawns with Preferences Off
Why not have it burst and nobody be in it and dead aliens can use the larva
- Butterrobber202
- Registered user
- Posts: 652
- Joined: 15 Mar 2015, 22:52
- Location: In a Super Secret Nerd Underground Bunker
Re: Xeno Spawns with Preferences Off
Meh we use to have smart Huggers. From what I have heard they would CHASE marines down hallways... Like HOARDS of them
- Pillow
- Registered user
- Posts: 166
- Joined: 14 May 2015, 20:10
- Location: drowning in a pile homework
Re: Xeno Spawns with Preferences Off
That sounds glorious.Butterrobber202 wrote:Meh we use to have smart Huggers. From what I have heard they would CHASE marines down hallways... Like HOARDS of them
-
- Registered user
- Posts: 36
- Joined: 18 Jun 2015, 23:12
- Location: New Zealand
Re: Xeno Spawns with Preferences Off
Lets just stick with Apop's spiders for horde chases eh?Pillow wrote: That sounds glorious.
- Pillow
- Registered user
- Posts: 166
- Joined: 14 May 2015, 20:10
- Location: drowning in a pile homework
Re: Xeno Spawns with Preferences Off
Sounds reasonable, but still I would love to see a horde of huggers running down the hall
- TopHatPenguin
- Community Contributor
- Posts: 2383
- Joined: 14 Dec 2014, 18:06
- Location: Forever Editing The Wiki.
- Byond: TopHatPenguin
- Contact:
Re: Xeno Spawns with Preferences Off
As David has stated I think a prompt would be nice just like a pai or posibrain so that even if you forget to turn off the preference there is still a backup system.
Shit cm memes:
That guy called Wooki.
Resident Santa.
(THP)
► Show Spoiler
That guy called Wooki.
Resident Santa.
(THP)
- Fickmacher
- Registered user
- Posts: 217
- Joined: 27 Apr 2015, 18:10
- Location: Tucson, AZ
Re: Xeno Spawns with Preferences Off
It seems to be happening more frequently for me. What's annoying is this scenario: "Oh, you're on the surgery table and you burst? Fuck you, you're playing for the other team now and won't be cloned." Even if an admin sticks you back in your corpse, the doctors have already tried and failed to clone you, so have fun rotting in the morgue.
Squad Leader, Engineer, Sentinel, Queen, Jackass
- Juninho77
- Registered user
- Posts: 276
- Joined: 06 May 2015, 10:22
Re: Xeno Spawns with Preferences Off
Well, what would you suggest to fix that?
"Do not go gentle into that good night; rage, rage against the dying of the light."
If you would permaban a player, you owe it to him to look into his logs and hear his side of the story. And if you cannot bear to do that, then perhaps the player does not deserve to be banned.
- Fickmacher
- Registered user
- Posts: 217
- Joined: 27 Apr 2015, 18:10
- Location: Tucson, AZ
Re: Xeno Spawns with Preferences Off
Hell, just let 'em die instead. Or make the larva braindead and let someone with preferences on who comes in later take the larva, if it's still alive. This has been happening to me nearly every time I burst now.
Squad Leader, Engineer, Sentinel, Queen, Jackass
- Juninho77
- Registered user
- Posts: 276
- Joined: 06 May 2015, 10:22
Re: Xeno Spawns with Preferences Off
Alright, then. Make a suggestion detailing that; if Apophis approves it, I guarantee you I'll code it myself.
"Do not go gentle into that good night; rage, rage against the dying of the light."
If you would permaban a player, you owe it to him to look into his logs and hear his side of the story. And if you cannot bear to do that, then perhaps the player does not deserve to be banned.
- Fickmacher
- Registered user
- Posts: 217
- Joined: 27 Apr 2015, 18:10
- Location: Tucson, AZ
Re: Xeno Spawns with Preferences Off
Yoh: colonial-marines.com/viewtopic.php?f=59&t=2481Juninho77 wrote:Alright, then. Make a suggestion detailing that; if Apophis approves it, I guarantee you I'll code it myself.
Squad Leader, Engineer, Sentinel, Queen, Jackass