Xeno Spawns with Preferences Off

Locked
User avatar
Fickmacher
Registered user
Posts: 217
Joined: 27 Apr 2015, 18:10
Location: Tucson, AZ

Xeno Spawns with Preferences Off

Post by Fickmacher » 26 May 2015, 23:57

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?
Squad Leader, Engineer, Sentinel, Queen, Jackass Image

User avatar
apophis775
Host
Host
Posts: 6985
Joined: 22 Aug 2014, 18:05
Location: Ice Colony
Byond: Apophis775
Contact:

Re: Xeno Spawns with Preferences Off

Post by apophis775 » 27 May 2015, 01:54

Known bug, I've been trying to fix it for around a year.

User avatar
Juninho77
Registered user
Posts: 276
Joined: 06 May 2015, 10:22

Re: Xeno Spawns with Preferences Off

Post by Juninho77 » 27 May 2015, 06:56

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".

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)
More specifically:

Code: Select all

		if(candidates.len)
			picked = pick(candidates)
		else if(affected_mob.client)
			picked = affected_mob.key
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.
Image
"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.
Image

User avatar
Davidchan
Registered user
Posts: 350
Joined: 20 Feb 2015, 22:08

Re: Xeno Spawns with Preferences Off

Post by Davidchan » 27 May 2015, 10:36

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.

User avatar
Juninho77
Registered user
Posts: 276
Joined: 06 May 2015, 10:22

Re: Xeno Spawns with Preferences Off

Post by Juninho77 » 27 May 2015, 14:45

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.
Image
"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.
Image

User avatar
Davidchan
Registered user
Posts: 350
Joined: 20 Feb 2015, 22:08

Re: Xeno Spawns with Preferences Off

Post by Davidchan » 27 May 2015, 14:52

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.

User avatar
speedybst
Registered user
Posts: 404
Joined: 15 Oct 2014, 23:36
Location: Australia
Byond: Speedybast

Re: Xeno Spawns with Preferences Off

Post by speedybst » 31 May 2015, 22:40

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.

User avatar
Zynax
Donor
Donor
Posts: 36
Joined: 02 May 2015, 02:01

Re: Xeno Spawns with Preferences Off

Post by Zynax » 05 Jun 2015, 21:47

Why not have it burst and nobody be in it and dead aliens can use the larva

User avatar
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

Post by Butterrobber202 » 06 Jun 2015, 08:30

Meh we use to have smart Huggers. From what I have heard they would CHASE marines down hallways... Like HOARDS of them

User avatar
Pillow
Registered user
Posts: 166
Joined: 14 May 2015, 20:10
Location: drowning in a pile homework

Re: Xeno Spawns with Preferences Off

Post by Pillow » 21 Jun 2015, 01:08

Butterrobber202 wrote:Meh we use to have smart Huggers. From what I have heard they would CHASE marines down hallways... Like HOARDS of them
That sounds glorious.
Currently playing far too much nationstates
Image

Fire and Glory
Registered user
Posts: 36
Joined: 18 Jun 2015, 23:12
Location: New Zealand

Re: Xeno Spawns with Preferences Off

Post by Fire and Glory » 21 Jun 2015, 02:30

Pillow wrote: That sounds glorious.
Lets just stick with Apop's spiders for horde chases eh?

User avatar
Pillow
Registered user
Posts: 166
Joined: 14 May 2015, 20:10
Location: drowning in a pile homework

Re: Xeno Spawns with Preferences Off

Post by Pillow » 21 Jun 2015, 12:56

Sounds reasonable, but still I would love to see a horde of huggers running down the hall
Currently playing far too much nationstates
Image

User avatar
TopHatPenguin
Community Contributor
Community Contributor
Posts: 2383
Joined: 14 Dec 2014, 18:06
Location: Forever Editing The Wiki.
Byond: TopHatPenguin
Contact:

Re: Xeno Spawns with Preferences Off

Post by TopHatPenguin » 21 Jun 2015, 13:40

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: Image
Image
Image
Image
That guy called Wooki.
Resident Santa.
(THP)

User avatar
Fickmacher
Registered user
Posts: 217
Joined: 27 Apr 2015, 18:10
Location: Tucson, AZ

Re: Xeno Spawns with Preferences Off

Post by Fickmacher » 21 Jun 2015, 14:29

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 Image

User avatar
Juninho77
Registered user
Posts: 276
Joined: 06 May 2015, 10:22

Re: Xeno Spawns with Preferences Off

Post by Juninho77 » 22 Jun 2015, 12:54

Well, what would you suggest to fix that?
Image
"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.
Image

User avatar
Fickmacher
Registered user
Posts: 217
Joined: 27 Apr 2015, 18:10
Location: Tucson, AZ

Re: Xeno Spawns with Preferences Off

Post by Fickmacher » 22 Jun 2015, 13:06

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 Image

User avatar
Juninho77
Registered user
Posts: 276
Joined: 06 May 2015, 10:22

Re: Xeno Spawns with Preferences Off

Post by Juninho77 » 22 Jun 2015, 16:51

Alright, then. Make a suggestion detailing that; if Apophis approves it, I guarantee you I'll code it myself.
Image
"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.
Image

User avatar
Fickmacher
Registered user
Posts: 217
Joined: 27 Apr 2015, 18:10
Location: Tucson, AZ

Re: Xeno Spawns with Preferences Off

Post by Fickmacher » 22 Jun 2015, 17:22

Juninho77 wrote:Alright, then. Make a suggestion detailing that; if Apophis approves it, I guarantee you I'll code it myself.
Yoh: colonial-marines.com/viewtopic.php?f=59&t=2481
Squad Leader, Engineer, Sentinel, Queen, Jackass Image

Locked