From 5e77811c2b0f0355f5be034a2f892baaaa19029d Mon Sep 17 00:00:00 2001 From: "noisomehollow@lycos.com" Date: Sun, 10 Apr 2011 17:09:26 +0000 Subject: [PATCH] Mind transfer fix for special verbs, for Urist. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1430 316c924e-a436-60f5-8080-3fe189b3f50e --- code/datums/spells/mind_transfer.dm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/code/datums/spells/mind_transfer.dm b/code/datums/spells/mind_transfer.dm index 3bd7a520747..e1db858bce4 100644 --- a/code/datums/spells/mind_transfer.dm +++ b/code/datums/spells/mind_transfer.dm @@ -65,18 +65,30 @@ var/mob/dead/observer/temp_ghost = new /mob/dead/observer(target) //To properly transfer clients so no-one gets kicked off the game. + if(caster.mind.special_verbs.len)//Removes any special verbs from the original caster. + for(var/V in caster.mind.special_verbs) + caster.verbs -= V victim.client.mob = temp_ghost + if(victim.mind.special_verbs.len)//Removes any special verbs from the original target. + for(var/V in victim.mind.special_verbs) + victim.verbs -= V + temp_ghost.spell_list = victim.spell_list temp_ghost.mind = victim.mind caster.client.mob = victim victim.spell_list = caster.spell_list victim.mind = caster.mind + if(victim.mind.special_verbs.len)//Adds verbs for the original caster if needed. + for(var/V in caster.mind.special_verbs) + caster.verbs += V temp_ghost.client.mob = caster caster.spell_list = temp_ghost.spell_list caster.mind = temp_ghost.mind - + if(caster.mind.special_verbs.len)//Adds verbs for original target if needed. + for(var/V in caster.mind.special_verbs) + caster.verbs += V caster.mind.current = caster victim.mind.current = victim