From 0e234e70eaf2377f8b6ce41be202c42a3008ea4e Mon Sep 17 00:00:00 2001 From: Alberyk Date: Sun, 4 Oct 2020 22:19:25 -0300 Subject: [PATCH] Changeling lesser form tweak and fixes (#10148) --- .../changeling/implements/powers/body.dm | 19 ++++++++++++++++++- .../simple_animal/hostile/changeling.dm | 6 +++--- html/changelogs/alberyk-changelingstuff.yml | 7 +++++++ 3 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 html/changelogs/alberyk-changelingstuff.yml diff --git a/code/game/gamemodes/changeling/implements/powers/body.dm b/code/game/gamemodes/changeling/implements/powers/body.dm index 98474b3e80b..db673a2ff9e 100644 --- a/code/game/gamemodes/changeling/implements/powers/body.dm +++ b/code/game/gamemodes/changeling/implements/powers/body.dm @@ -69,11 +69,17 @@ to_chat(src, "We cannot perform this ability in this form!") return + if(!isturf(loc)) // so people can't transform inside places they should not, like sleepers + return + if(H.handcuffed) var/cuffs = H.handcuffed H.u_equip(H.handcuffed) qdel(cuffs) + if(H.buckled) + H.buckled.unbuckle_mob() + changeling.chem_charges-- H.visible_message("[H] transforms!") changeling.geneticdamage = 30 @@ -451,7 +457,10 @@ if(!changeling) return FALSE - var/mob/living/M = src + if(!isturf(loc)) // so people can't transform inside places they should not, like sleepers + return + + var/mob/living/carbon/human/M = src if(alert("Are we sure we wish to reveal ourselves? This will only revert after ten minutes.", , "Yes", "No") == "No") //Changelings have to confirm whether they want to go full horrorform return @@ -471,11 +480,19 @@ var/mob/living/simple_animal/hostile/true_changeling/ling = new (get_turf(M)) if(istype(M,/mob/living/carbon/human)) + if(M.handcuffed) + var/cuffs = M.handcuffed + M.u_equip(M.handcuffed) + qdel(cuffs) + for(var/obj/item/I in M.contents) if(isorgan(I)) continue M.drop_from_inventory(I) + if(M.buckled) + M.buckled.unbuckle_mob() + if(M.mind) M.mind.transfer_to(ling) else diff --git a/code/modules/mob/living/simple_animal/hostile/changeling.dm b/code/modules/mob/living/simple_animal/hostile/changeling.dm index 1da07aa924e..69b21eabef8 100644 --- a/code/modules/mob/living/simple_animal/hostile/changeling.dm +++ b/code/modules/mob/living/simple_animal/hostile/changeling.dm @@ -164,8 +164,8 @@ response_help = "pets" response_disarm = "shoves" response_harm = "harmlessly punches" - maxHealth = 150 - health = 150 + maxHealth = 50 + health = 50 harm_intent_damage = 5 melee_damage_lower = 5 melee_damage_upper = 10 @@ -186,7 +186,7 @@ max_co2 = 0 max_tox = 0 - speed = -2 + speed = -1 var/mob/living/carbon/human/occupant = null diff --git a/html/changelogs/alberyk-changelingstuff.yml b/html/changelogs/alberyk-changelingstuff.yml new file mode 100644 index 00000000000..8b24e1aca8b --- /dev/null +++ b/html/changelogs/alberyk-changelingstuff.yml @@ -0,0 +1,7 @@ +author: Alberyk + +delete-after: True + +changes: + - balance: "Changeling lesser forms should have far less health and speed." + - bugfix: "Fixed some bugs related to changeling using alternate forms and buckling."