From 1f97e026366fc39a05943b1221b341738626aab2 Mon Sep 17 00:00:00 2001
From: SabreML <57483089+SabreML@users.noreply.github.com>
Date: Tue, 25 Aug 2020 23:11:51 +0100
Subject: [PATCH 1/3] Fix runtime when using swap forms
---
code/game/gamemodes/changeling/powers/swap_form.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/game/gamemodes/changeling/powers/swap_form.dm b/code/game/gamemodes/changeling/powers/swap_form.dm
index 0e02df12d88..02cca052ea8 100644
--- a/code/game/gamemodes/changeling/powers/swap_form.dm
+++ b/code/game/gamemodes/changeling/powers/swap_form.dm
@@ -18,7 +18,7 @@
if((NOCLONE || SKELETON || HUSK) in target.mutations)
to_chat(user, "DNA of [target] is ruined beyond usability!")
return
- if(!istype(target) || issmall(target) || (NO_DNA in target.dna.species.species_traits))
+ if(!istype(target) || !target.mind || issmall(target) || (NO_DNA in target.dna.species.species_traits))
to_chat(user, "[target] is not compatible with this ability.")
return
if(target.mind.changeling)
From 233fb786e8b494d8ae9bc09cc41346a81f1c5402 Mon Sep 17 00:00:00 2001
From: SabreML <57483089+SabreML@users.noreply.github.com>
Date: Tue, 25 Aug 2020 23:29:06 +0100
Subject: [PATCH 2/3] Fix swap forms suicide bug
---
code/game/gamemodes/changeling/powers/swap_form.dm | 2 ++
1 file changed, 2 insertions(+)
diff --git a/code/game/gamemodes/changeling/powers/swap_form.dm b/code/game/gamemodes/changeling/powers/swap_form.dm
index 02cca052ea8..32f83b6af50 100644
--- a/code/game/gamemodes/changeling/powers/swap_form.dm
+++ b/code/game/gamemodes/changeling/powers/swap_form.dm
@@ -63,6 +63,8 @@
target.add_language("Changeling")
user.remove_language("Changeling")
user.regenerate_icons()
+ if(target.stat == DEAD && target.suiciding) //If Target committed suicide, unset flag for User
+ target.suiciding = 0
for(var/power in lingpowers)
var/datum/action/changeling/S = power
From acc28f9910c4d520b240096ade5a3ffa4effa156 Mon Sep 17 00:00:00 2001
From: SabreML <57483089+SabreML@users.noreply.github.com>
Date: Wed, 26 Aug 2020 00:30:17 +0100
Subject: [PATCH 3/3] Stops body swap if either side has a borer
---
code/game/gamemodes/changeling/powers/swap_form.dm | 3 +++
1 file changed, 3 insertions(+)
diff --git a/code/game/gamemodes/changeling/powers/swap_form.dm b/code/game/gamemodes/changeling/powers/swap_form.dm
index 32f83b6af50..97192c86a0f 100644
--- a/code/game/gamemodes/changeling/powers/swap_form.dm
+++ b/code/game/gamemodes/changeling/powers/swap_form.dm
@@ -24,6 +24,9 @@
if(target.mind.changeling)
to_chat(user, "We are unable to swap forms with another changeling!")
return
+ if(target.has_brain_worms() || user.has_brain_worms())
+ to_chat(user, "A foreign presence repels us from this body!")
+ return
return 1
/datum/action/changeling/swap_form/sting_action(var/mob/living/carbon/user)