From 62f42ff5e8bde7b4c0610da3a4ae70fef3e49bc3 Mon Sep 17 00:00:00 2001 From: "musketstgstation@gmail.com" Date: Fri, 15 Oct 2010 22:05:53 +0000 Subject: [PATCH] Changelings now keep a copy of their original DNA and so should always be able to return to their original form. Objective tracking updated to recognise this. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@288 316c924e-a436-60f5-8080-3fe189b3f50e --- code/game/gamemodes/changeling/changeling.dm | 4 ++-- code/game/gamemodes/changeling/changeling_powers.dm | 7 +++++++ code/game/gamemodes/objective.dm | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm index e6626edac49..918d1e356bd 100644 --- a/code/game/gamemodes/changeling/changeling.dm +++ b/code/game/gamemodes/changeling/changeling.dm @@ -60,7 +60,7 @@ grant_changeling_powers(changeling.current) changelings += changeling - //OBJECTIVES - Always absorb d3+3 genomes, plus random traitor objectives. + //OBJECTIVES - Always absorb 5 genomes, plus random traitor objectives. //If they have two objectives as well as absorb, they must survive rather than escape //No escape alone because changelings aren't suited for it and it'd probably just lead to rampant robusting //If it seems like they'd be able to do it in play, add a 10% chance to have to escape alone @@ -180,7 +180,7 @@ var/changeling_name var/totalabsorbed = 0 if (changeling.current) - totalabsorbed = changeling.current.absorbed_dna.len + totalabsorbed = changeling.current.absorbed_dna.len - 1 if(changeling.current) changeling_name = "[changeling.current.real_name] (played by [changeling.key])" diff --git a/code/game/gamemodes/changeling/changeling_powers.dm b/code/game/gamemodes/changeling/changeling_powers.dm index 367a7d13e36..ddb21a4c169 100644 --- a/code/game/gamemodes/changeling/changeling_powers.dm +++ b/code/game/gamemodes/changeling/changeling_powers.dm @@ -20,6 +20,13 @@ src.verbs += /client/proc/changeling_hallucinogenic_sting src.changeling_level = 2 + if (src.absorbed_dna.len <= 0) + src.absorbed_dna[src.real_name] = src.dna + return + +/mob/proc/make_greater_changeling() + src.make_changeling() + //This is a test function for the new changeling powers. Grants all of them. return /mob/proc/remove_changeling_powers() diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 55e8b27e37d..4739d9333e2 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -165,7 +165,7 @@ datum explanation_text = "Absorb 5 compatible genomes." check_completion() - if(owner.current.absorbed_dna.len >= num_to_eat) + if((owner.current.absorbed_dna.len - 1) >= num_to_eat) return 1 else return 0