From e6801a98e33a9b83edefb52a0df4a30a094e6754 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Thu, 9 Jun 2016 03:19:27 -0400 Subject: [PATCH] fixes and tweaks --- code/game/gamemodes/traitor/traitor.dm | 5 +++-- code/game/gamemodes/vampire/vampire.dm | 3 +-- code/game/gamemodes/vampire/vampire_powers.dm | 4 ++++ .../items/weapons/implants/implant_traitor.dm | 11 +++-------- .../oldchem/reagents/reagents_water.dm | 7 +++++++ icons/mob/hud.dmi | Bin 12734 -> 12734 bytes 6 files changed, 18 insertions(+), 12 deletions(-) diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index 97f2d301472..76a47e82749 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -366,10 +366,11 @@ traitor_mind.special_role = null traitor_mind.som = null slaved.leave_serv_hud(traitor_mind) + for(var/datum/objective/protect/mindslave/MS in traitor_mind.objectives) + traitor_mind.objectives -= MS update_traitor_icons_removed(traitor_mind) -// to_chat(world, "Removed [traitor_mind.current.name] from traitor shit") - to_chat(traitor_mind.current, "\red The fog clouding your mind clears. You remember nothing from the moment you were implanted until now.(You don't remember who implanted you)") + to_chat(traitor_mind.current, "You are no longer a mindslave; you have complete and free control of your own faculties, once more!") /datum/game_mode/proc/assign_exchange_role(var/datum/mind/owner) //set faction diff --git a/code/game/gamemodes/vampire/vampire.dm b/code/game/gamemodes/vampire/vampire.dm index 79d644b2132..0d5ec7afcc4 100644 --- a/code/game/gamemodes/vampire/vampire.dm +++ b/code/game/gamemodes/vampire/vampire.dm @@ -351,8 +351,7 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha vampire_mind.som = null slaved.leave_serv_hud(vampire_mind) update_vampire_icons_removed(vampire_mind) -// to_chat(world, "Removed [vampire_mind.current.name] from vampire shit") - to_chat(vampire_mind.current, "\red The fog clouding your mind clears. You remember nothing from the moment you were enthralled until now.") + vampire_mind.current.visible_message("[vampire_mind.current] looks as though a burden has been lifted!", "The dark fog in your mind clears as you regain control of your own faculties, you are no longer a vampire thrall!") if(vampire_mind.current.hud_used) vampire_mind.current.hud_used.remove_vampire_hud() diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm index bc7ba9276f5..8e04d98504b 100644 --- a/code/game/gamemodes/vampire/vampire_powers.dm +++ b/code/game/gamemodes/vampire/vampire_powers.dm @@ -267,6 +267,10 @@ W.destroy() playsound(usr.loc, 'sound/effects/creepyshriek.ogg', 100, 1) + +/proc/isvampirethrall(mob/living/M as mob) + return istype(M) && M.mind && ticker && ticker.mode && (M.mind in ticker.mode.vampire_enthralled) + /obj/effect/proc_holder/spell/vampire/targetted/enthrall name = "Enthrall (300)" desc = "You use a large portion of your power to sway those loyal to none to be loyal to you only." diff --git a/code/game/objects/items/weapons/implants/implant_traitor.dm b/code/game/objects/items/weapons/implants/implant_traitor.dm index 3209661ad57..78e63ddfae4 100644 --- a/code/game/objects/items/weapons/implants/implant_traitor.dm +++ b/code/game/objects/items/weapons/implants/implant_traitor.dm @@ -71,8 +71,8 @@ var/datum/mindslaves/slaved = user.mind.som H.mind.som = slaved slaved.serv += H - slaved.add_serv_hud(user.mind,"syndicate")//handles master servent icons - slaved.add_serv_hud(H.mind,"mindslave") + slaved.add_serv_hud(user.mind, "master") //handles master servent icons + slaved.add_serv_hud(H.mind, "mindslave") log_admin("[ckey(user.key)] has mind-slaved [ckey(H.key)].") activated = 1 @@ -81,11 +81,6 @@ /obj/item/weapon/implant/traitor/removed(mob/target) if(..()) - ticker.mode.traitors -= target.mind - target.mind.special_role = null - ticker.mode.update_traitor_icons_removed(target.mind) - for(var/datum/objective/protect/mindslave/MS in target.mind.objectives) - target.mind.objectives -= MS - to_chat(target, "\red You are no longer a mindslave; you have complete and free control of your own faculties, once more!") + ticker.mode.remove_traitor_mind(target.mind) return 1 return 0 \ No newline at end of file diff --git a/code/modules/reagents/oldchem/reagents/reagents_water.dm b/code/modules/reagents/oldchem/reagents/reagents_water.dm index df9e0b29b64..11a5759fa5b 100644 --- a/code/modules/reagents/oldchem/reagents/reagents_water.dm +++ b/code/modules/reagents/oldchem/reagents/reagents_water.dm @@ -297,6 +297,13 @@ if(data >= 75 && prob(33)) // 30 units, 150 seconds if (!M.confused) M.confused = 1 M.confused += 3 + if(isvampirethrall(M)) + ticker.mode.remove_vampire_mind(M.mind) + holder.remove_reagent(src.id, src.volume) + M.jitteriness = 0 + M.stuttering = 0 + M.confused = 0 + return if(iscultist(M)) ticker.mode.remove_cultist(M.mind) holder.remove_reagent(src.id, src.volume) // maybe this is a little too perfect and a max() cap on the statuses would be better?? diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index eeb5ecbbee3ff336f6c555bc376a66cfda42d997..c5115b3cbc520182fef2891072f28bee770393d0 100644 GIT binary patch delta 772 zcmV+f1N;2GW4>dMJ%2|G$IsGJERw5RNOD}{qD$eR@F97HfIGw8VLUUOaJW*`r|-cv z8pKxf-y8+}$RWA>)Z5|D4}U#;8ty+nY)@=mv<}DN-S4~Y<}A_Ea2#$A+f8DblRy3F zPR_$|c$1d+SxWmH5|=mIO%&_HaoBG+lTqP59EZbp6FJjmI2;bQH@7b(vtB5_F1mk7 zyHR+QI{(^ROMR?*uE>$tE`O|cC1-wwWp3%xB?v*EBv5k_5VcvIL#nuTt{xP!JS3_! z=d1bpf^HeLJMjc^1^gx<2~S*Ssf^`ONWxR$D1ow0lLSyqPLk1BXRutuk{$JP>8_=( zusAY76%d&`^{)#`I|r8&Bk;_XT>|K0Vv0I7wyw1@)LoxMI)}x?FMp_n@k#UIqLmC4 z%AS7P?{+wS1^uqs-`(83BDcq%*sm~WmF{yv*+R2)H*%<~3uO`z9MzyPQaB{4 z5->JOpd2-T0WVT8$7~jd=SZchZq&IN2V2C~i#6lU)d_8nL1{;ac8oSq8OtowtA+Rj*8F59)v5p zD?HD`70bf2NYmIPEA~vHsArRK0vAlFQ3BZZ+z9RPD^9k5QE2R+s5G&w#%{7|dsPSz z`AJN(&S0jUsXA6uXR?T$rf2z^4AS|HtD@W}s9Qgqo13KGoBD7Z4!1XVH{Xeq(*i0n zlLV+l(ze3LE% zB48!#3* z41})0ovRCYKvHJIjx_~*r!g+j?)n7sRgG_l51;Ob`;QOXe*iQl3V#6bN?fzB0}d_` CFM6Z^ delta 772 zcmV+f1N;2GW4>dMJ%2e2$Itdt4BBgUVJFR^7he`BiX7Tk2sjdF#6}WTieuM(`aNWW zEt+`ypB@eT$RR0y`t9)dhmZH4hr3Vr+ap^St;1n>_vdcAIZ5<19EO|g?Iy9z$)A37 zC+FcXyh%%ZkkTGP;__y@iDG>?4Eyb7GAi7M!*IRbM9y>`4jjYH)y+%EtY^xvi|$|2 zZWJD+&cFAqr9M_YRpgP_E`OwUA!mMuWp3%*B?v)J5~w)|h}x{qAyr&ER}TtV9un1= z^Tm99LAQ+Bop=Jd0=`K|!V}k7Dr0#RlJHbGN}#OMBmoqYqhvJJ87$YZWJmp6x@+kx zERIZ21w!eAK+SXeC31 zvZp`xyB$tnK!0fVw^z5X$nEh@>{pnx%J%D9oPD=K?_Vp}_bXWF5hX(@CDqv~Wtt`u z>ohYq_P$UR$Hr-v(a6ANl4at)w5I00aS+O2Ib}V=Y@u1Y8#z?gg)#{Uj%v^tDI5}2 z2^bqCP>veFfEOv4V{D7VbEHyLH|kuCgDv9g#hP*F>V&q_D)kE?pf)yGYa^q=5et1I z)0`O^70sk;#lq71IV2%BFk!zgWX@KogK;;`OdT`axHDNuQH;?PTRl@uN5yAj55g7Q z6`tqeie=$hq-kuD75hx0s3((f0vAlKQ3BZZ+z9RPD^9k5QE2QRsWh>R#%{7|dsPSz z`B6->&S0jUs5(|tC$fm0rYHGM2I>69RZ(sf)U995%}rA8O?@~F*Ed(US3ii8(*i0n zqXej4yAx!rPE(c&sfW1P&Alac#|#z zB48_eRY&q)i|uz;``wE#LSd)YjH@FxI2)f`A`U(z@ZpQp*fU`Z?n&+PpRYf!w{8l} z$w25D+_}1dM|j&CcN*gY?XOQDU)1<^`0)8|xchX!{Ri*53;_0wc-XVB0}d{2 C`F9ck