From 50021ecdf78a7147a28fac988126cbd7521383fd Mon Sep 17 00:00:00 2001 From: uporotiy Date: Sat, 1 Jan 2011 00:41:31 +0000 Subject: [PATCH] Being aliens is now a character setting (should be on by default). Observing ghosts have that off by default, so don't forget to turn it on by using the new verb in the commands tab! git-svn-id: http://tgstation13.googlecode.com/svn/trunk@746 316c924e-a436-60f5-8080-3fe189b3f50e --- code/datums/diseases/alien_embryo.dm | 11 ++++++----- code/defines/client.dm | 1 + code/modules/mob/dead/observer/observer.dm | 12 +++++++++++- code/modules/mob/living/carbon/human/savefile.dm | 2 ++ code/modules/mob/new_player/preferences.dm | 11 +++++++---- 5 files changed, 27 insertions(+), 10 deletions(-) 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 /*