diff --git a/code/datums/diseases/alien_embryo.dm b/code/datums/diseases/alien_embryo.dm index f67dd387854..37a22ebdabf 100644 --- a/code/datums/diseases/alien_embryo.dm +++ b/code/datums/diseases/alien_embryo.dm @@ -63,12 +63,13 @@ var/list/candidates = list() // Picks a random ghost in the world to shove in the larva -- TLE for(var/mob/dead/observer/G in world) if(G.client) - if(((G.client.inactivity/10)/60) <= 5) - if(G.corpse) //hopefully will make adminaliums possible --Urist - if(G.corpse.stat==2) + if(G.client.be_alien) + if(((G.client.inactivity/10)/60) <= 5) + if(G.corpse) //hopefully will make adminaliums possible --Urist + if(G.corpse.stat==2) + candidates.Add(G) + if(!G.corpse) //hopefully will make adminaliums possible --Urist candidates.Add(G) - if(!G.corpse) //hopefully will make adminaliums possible --Urist - candidates.Add(G) if(candidates.len) var/mob/dead/observer/G = pick(candidates) G.client.mob = new/mob/living/carbon/alien/larva(affected_mob.loc) diff --git a/code/defines/client.dm b/code/defines/client.dm index 88352bad4b9..a3f0d25b212 100644 --- a/code/defines/client.dm +++ b/code/defines/client.dm @@ -26,6 +26,7 @@ var/karma_spent = 0 var/ooccolor = "#b82e00" //only used for admins of host level, default is equal to admin default var/midis = 1 //Check if midis should be played for someone -- Urist + var/be_alien = 0 //Check if that guy wants to be an alien -- Urist authenticate = 0 // comment out the line below when debugging locally to enable the options & messages menu diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index c7c92d472bb..f23ee974311 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -234,4 +234,14 @@ var/list/karma_spenders = list() isnegative = 0 else isnegative = 1 - sql_report_karma(src, M, isnegative) \ No newline at end of file + sql_report_karma(src, M, isnegative) + +/mob/dead/observer/verb/toggle_alien_candidate() + set name = "Toggle Be Alien Candidate" + set desc = "Determines whether you will or will not be an alien candidate when someone bursts." + if(src.client.be_alien) + src.client.be_alien = 0 + src << "You are now excluded from alien candidate lists until end of round." + else if(!src.client.be_alien) + src.client.be_alien = 1 + src << "You are now included in alien candidate lists until end of round." \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/savefile.dm b/code/modules/mob/living/carbon/human/savefile.dm index 2b3038fabe5..e1bdb987108 100644 --- a/code/modules/mob/living/carbon/human/savefile.dm +++ b/code/modules/mob/living/carbon/human/savefile.dm @@ -35,6 +35,7 @@ datum/preferences/proc/savefile_save(mob/user) F["underwear"] << src.underwear F["name_is_always_random"] << src.be_random_name F["UI"] << src.UI // Skie + F["be_alien"] << src.be_alien // Urist F["midis"] << src.midis // Urist F["ooccolor"] << src.ooccolor // Urist @@ -90,6 +91,7 @@ datum/preferences/proc/savefile_load(mob/user, var/silent = 1) F["underwear"] >> src.underwear F["name_is_always_random"] >> src.be_random_name F["UI"] >> src.UI // Skie + F["be_alien"] >> src.be_alien // Urist F["midis"] >> src.midis // Urist F["ooccolor"] >> src.ooccolor // Urist return 1 diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm index 3b478a4a905..8478c8e720b 100644 --- a/code/modules/mob/new_player/preferences.dm +++ b/code/modules/mob/new_player/preferences.dm @@ -6,6 +6,7 @@ datum/preferences var/be_syndicate var/midis = 1 + var/be_alien = 1 var/ooccolor = "#b82e00" var/be_random_name = 0 var/underwear = 1 @@ -360,6 +361,7 @@ datum/preferences dat += " Blue - [src.b_eyes]" */ dat += "
" + dat += "Be alien candidate: [src.be_alien == 1 ? "Yes" : "No"]
" if(!jobban_isbanned(user, "Syndicate")) dat += "Be syndicate?: [(src.be_syndicate ? "Yes" : "No")]
" else @@ -685,10 +687,10 @@ datum/preferences src.UI = 'screen1.dmi' if (link_tags["midis"]) - if (src.midis) - src.midis = 0 - else - src.midis = 1 + src.midis = (src.midis+1)%2 + + if (link_tags["be_alien"]) + src.be_alien = (src.be_alien+1)%2 if (link_tags["underwear"]) if(!IsGuestKey(user.key)) @@ -838,6 +840,7 @@ datum/preferences spawn(10) character.client.midis = midis character.client.ooccolor = ooccolor + character.client.be_alien = be_alien /*