Few runtime fixes.

Cleaned up the job selection code.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2289 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
mport2004@gmail.com
2011-09-29 05:20:33 +00:00
parent bfd6d56de1
commit e782d47580
14 changed files with 589 additions and 561 deletions
+16 -17
View File
@@ -168,25 +168,24 @@
var/changeling_name
var/totalabsorbed = 0
if((changeling.current) && (changeling.current.changeling))
totalabsorbed = changeling.current.changeling.absorbed_dna.len - 1
if(changeling.current)
totalabsorbed = ((changeling.current.changeling.absorbed_dna.len) - 1)
changeling_name = "[changeling.current.real_name] (played by [changeling.key])"
world << "<B>The changeling was [changeling_name].</B>"
world << "<b>[changeling.current.gender=="male"?"His":"Her"] changeling ID was [changeling.current.gender=="male"?"Mr.":"Mrs."] [changeling.current.changeling.changelingID]."
world << "<B>Genomes absorbed: [totalabsorbed]</B>"
var/count = 1
for(var/datum/objective/objective in changeling.objectives)
if(objective.check_completion())
world << "<B>Objective #[count]</B>: [objective.explanation_text] \green <B>Success</B>"
else
world << "<B>Objective #[count]</B>: [objective.explanation_text] \red Failed"
changelingwin = 0
count++
else
changeling_name = "[changeling.key] (character destroyed)"
world << "<B>The changeling was [changeling_name].</B>"
if(changeling.current) world << "<b>[changeling.current.gender=="male"?"His":"Her"] changeling ID was [changeling.current.gender=="male"?"Mr.":"Mrs."] [changeling.current.changeling.changelingID]."
world << "<B>Genomes absorbed: [totalabsorbed]</B>"
var/count = 1
for(var/datum/objective/objective in changeling.objectives)
if(objective.check_completion())
world << "<B>Objective #[count]</B>: [objective.explanation_text] \green <B>Success</B>"
else
world << "<B>Objective #[count]</B>: [objective.explanation_text] \red Failed"
changelingwin = 0
count++
changelingwin = 0
if(changelingwin)
world << "<B>The changeling was successful!<B>"
@@ -200,7 +199,7 @@
var/changeling_fakedeath = 0
var/chem_charges = 20.00
var/sting_range = 1
var/changelingID = null
var/changelingID = "none"
var/mob/living/host = null
/datum/changeling/New()
+2 -2
View File
@@ -149,7 +149,7 @@
/datum/game_mode/proc/get_living_heads()
var/list/heads = list()
for(var/mob/living/carbon/human/player in world)
if(player.stat!=2 && player.mind && (player.mind.assigned_role in head_positions))
if(player.stat!=2 && player.mind && (player.mind.assigned_role in command_positions))
heads += player.mind
return heads
@@ -160,6 +160,6 @@
/datum/game_mode/proc/get_all_heads()
var/list/heads = list()
for(var/mob/player in world)
if(player.mind && (player.mind.assigned_role in head_positions))
if(player.mind && (player.mind.assigned_role in command_positions))
heads += player.mind
return heads
+1 -1
View File
@@ -182,7 +182,7 @@
else
var/list/job_tmp = get_all_jobs()
job_tmp-=nonhuman_positions
job_tmp-=head_positions
job_tmp-=command_positions
job_tmp.Remove("Security Officer", "Detective", "Warden", "MODE")
traitor_job = pick(job_tmp)
if(prob(prob_right_dude) && ticker.mode.config_tag == "revolution")
+4 -4
View File
@@ -1,9 +1,9 @@
datum/objective
var
datum/mind/owner//Who owns the objective.
explanation_text//What that person is supposed to do.
datum/mind/target//If they are focused on a particular person.
target_amount//If they are focused on a particular number. Steal objectives have their own counter.
datum/mind/owner = null //Who owns the objective.
explanation_text = "Nothing" //What that person is supposed to do.
datum/mind/target = null //If they are focused on a particular person.
target_amount = 0 //If they are focused on a particular number. Steal objectives have their own counter.
New(var/text)
if(text)
+3 -3
View File
@@ -39,7 +39,7 @@
var/head_check = 0
for(var/mob/new_player/player in world)
if(player.mind.assigned_role in head_positions)
if(player.mind.assigned_role in command_positions)
head_check = 1
break
@@ -156,7 +156,7 @@
//Deals with converting players to the revolution//
///////////////////////////////////////////////////
/datum/game_mode/proc/add_revolutionary(datum/mind/rev_mind)
if((rev_mind.assigned_role in head_positions) || (rev_mind.assigned_role in list("Security Officer", "Detective", "Warden")))
if((rev_mind.assigned_role in command_positions) || (rev_mind.assigned_role in list("Security Officer", "Detective", "Warden")))
return 0
if((rev_mind in revolutionaries) || (rev_mind in head_revolutionaries))
return 0
@@ -371,5 +371,5 @@
/proc/is_convertable_to_rev(datum/mind/mind)
return istype(mind) && \
istype(mind.current, /mob/living/carbon/human) && \
!(mind.assigned_role in head_positions) && \
!(mind.assigned_role in command_positions) && \
!(mind.assigned_role in list("Security Officer", "Detective", "Warden"))