From 73bc14871c69ebf860b2a18da59df3918157c313 Mon Sep 17 00:00:00 2001 From: Slavik2001 Date: Fri, 21 Jun 2024 13:32:01 +0300 Subject: [PATCH 01/12] a_great_return --- .../modes_gameplays/wizard/spellbook.dm | 3 +- code/modules/mob/death.dm | 1 - code/modules/mob/living/living.dm | 2 + code/modules/mob/living/simple_animal/hulk.dm | 6 +- code/modules/projectiles/projectile/magic.dm | 87 +++++++++++++++---- .../unarmed_combat/living_procs_defines.dm | 3 + 6 files changed, 80 insertions(+), 22 deletions(-) diff --git a/code/game/gamemodes/modes_gameplays/wizard/spellbook.dm b/code/game/gamemodes/modes_gameplays/wizard/spellbook.dm index 4ae645d06e7..23c1e5b02d1 100644 --- a/code/game/gamemodes/modes_gameplays/wizard/spellbook.dm +++ b/code/game/gamemodes/modes_gameplays/wizard/spellbook.dm @@ -320,14 +320,13 @@ dat += "[surplus] осталось.
" return dat -/* Commented because admins ban everyone who uses this staff... Somebody should rebalance this thing +// Commented because admins ban everyone who uses this staff... Somebody should rebalance this thing /datum/spellbook_entry/item/staffchange name = "Staff of Change" desc = "An artefact that spits bolts of coruscating energy which cause the target's very form to reshape itself." item_path = /obj/item/weapon/gun/magic/change log_name = "ST" cost = 4 -*/ /datum/spellbook_entry/item/staffanimation name = "Посох анимации" diff --git a/code/modules/mob/death.dm b/code/modules/mob/death.dm index 8e2703a565f..6176b3cc91b 100644 --- a/code/modules/mob/death.dm +++ b/code/modules/mob/death.dm @@ -26,7 +26,6 @@ /mob/proc/dust() new /obj/effect/decal/cleanable/ash(loc) dust_process() - /mob/proc/death(gibbed) SEND_SIGNAL(src, COMSIG_MOB_DIED, gibbed) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 2b6ee3feb23..4d66a271a3e 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1422,6 +1422,8 @@ /mob/living/death(gibbed) beauty.AddModifier("stat", additive=beauty_dead) update_health_hud() + if(wabbajacked) + unwabbajack() return ..() /mob/living/proc/update_beauty(datum/source, old_value) diff --git a/code/modules/mob/living/simple_animal/hulk.dm b/code/modules/mob/living/simple_animal/hulk.dm index d4dbe757076..3f7d24c8d32 100644 --- a/code/modules/mob/living/simple_animal/hulk.dm +++ b/code/modules/mob/living/simple_animal/hulk.dm @@ -37,7 +37,7 @@ max_n2 = 0 minbodytemp = 0 var/hulk_powers = list() - var/mob/living/original_body + var/mob/living/origin var/health_regen = 1.5 animalistic = FALSE @@ -186,8 +186,8 @@ if(mind && original_body) mind.transfer_to(original_body) - original_body.attack_log = attack_log - original_body.attack_log += "\[[time_stamp()]\] ======HUMAN LIFE======" + origin.attack_log = attack_log + origin.attack_log += "\[[time_stamp()]\] ======HUMAN LIFE======" qdel(src) /mob/living/simple_animal/hulk/MobBump(mob/M) diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index b8344835af7..bcb07a0e4c8 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -22,23 +22,46 @@ wabbajack(target) /obj/item/projectile/magic/proc/wabbajack(mob/living/M) - if(!istype(M) || M.stat == DEAD || M.notransform || (GODMODE & M.status_flags) || !M.client || isxenoqueen(M)) + if(!istype(M) || isAI(M) || isdrone(M) || isconstruct(M) || M.stat == DEAD || M.notransform || (GODMODE & M.status_flags) || isxenoqueen(M)) return - M.notransform = TRUE - M.canmove = 0 - M.icon = null - M.cut_overlays() - M.invisibility = 101 + if(!issilicon(M)) + for(var/obj/item/W in M) + W.layer = initial(W.layer) + W.loc = M.loc + W.dropped(M) var/mob/living/new_mob - var/randomizer = pick("animal", "cyborg", "xeno") - if(isxeno(M)) - randomizer = "xeno" + var/randomizer = pick("animal", "cyborg", "carbon") switch(randomizer) if("animal") - var/beast = pick(/mob/living/simple_animal/hostile/carp, /mob/living/simple_animal/hostile/tomato/angry_tomato, /mob/living/simple_animal/hostile/retaliate/goat, /mob/living/simple_animal/pig/shadowpig) + var/beast = pick( + /mob/living/simple_animal/mouse, + /mob/living/simple_animal/cow, + /mob/living/simple_animal/chicken, + /mob/living/simple_animal/chick, + /mob/living/simple_animal/cat, + /mob/living/simple_animal/corgi, + /mob/living/simple_animal/corgi/Lisa, + /mob/living/simple_animal/corgi/borgi, + /mob/living/simple_animal/corgi/puppy, + /mob/living/simple_animal/parrot, + /mob/living/simple_animal/crab, + /mob/living/simple_animal/hostile/retaliate/goat, + /mob/living/simple_animal/pig/shadowpig, + /mob/living/simple_animal/pig, + /mob/living/simple_animal/turkey, + /mob/living/simple_animal/goose, + /mob/living/simple_animal/seal, + /mob/living/simple_animal/walrus, + /mob/living/simple_animal/fox, + /mob/living/simple_animal/lizard, + /mob/living/simple_animal/pug, + /mob/living/simple_animal/shiba, + /mob/living/simple_animal/mushroom, + /mob/living/simple_animal/yithian, + /mob/living/simple_animal/spiderbot) new_mob = new beast(M.loc) new_mob.universal_speak = TRUE if("cyborg") @@ -46,26 +69,58 @@ new_mob.gender = M.gender new_mob.invisibility = 0 new_mob.job = "Cyborg" - if("xeno") - new_mob = new /mob/living/carbon/xenomorph/humanoid/maid(M.loc) - new_mob.universal_speak = TRUE + if("carbon") + var/carbon = pick( + /mob/living/carbon/human, + /mob/living/carbon/monkey, + /mob/living/carbon/monkey/tajara, + /mob/living/carbon/monkey/skrell, + /mob/living/carbon/monkey/unathi, + /mob/living/carbon/monkey/diona, + /mob/living/carbon/monkey/diona/podman, + /mob/living/carbon/human/tajaran, + /mob/living/carbon/human/skrell, + /mob/living/carbon/human/unathi, + /mob/living/carbon/human/diona, + /mob/living/carbon/human/abductor, + /mob/living/carbon/human/golem, + /mob/living/carbon/human/vox) + new_mob = new carbon(M.loc) + new_mob.gender = M.gender if(!new_mob) return new_mob.attack_log = M.attack_log M.attack_log += text("\[[time_stamp()]\] [M.real_name] ([M.ckey]) became [new_mob.real_name].") - new_mob.set_a_intent(INTENT_HARM) + var/mob/living/original_mob = M + if(M.original_body) + new_mob.original_body = M.original_body + else + new_mob.original_body = original_mob + M.forceMove(new_mob) + + for(var/mob/living/H in M.contents) + H.forceMove(new_mob) + qdel(M) + if(M.mind) M.mind.transfer_to(new_mob) else new_mob.key = M.key + new_mob.wabbajacked = 1 + to_chat(new_mob, "Your body forms to something else!") - qdel(M) - return new_mob +/mob/living/proc/unwabbajack() + for(var/mob/M in contents) + M.loc = src.loc + if(mind && original_body) + mind.transfer_to(original_body) + + qdel(src) /obj/item/projectile/magic/animate name = "bolt of animation" icon_state = "red_1" diff --git a/code/modules/unarmed_combat/living_procs_defines.dm b/code/modules/unarmed_combat/living_procs_defines.dm index aa5a13ea9c8..847250c13b6 100644 --- a/code/modules/unarmed_combat/living_procs_defines.dm +++ b/code/modules/unarmed_combat/living_procs_defines.dm @@ -25,6 +25,9 @@ var/attack_push_vis_effect var/attack_disarm_vis_effect + var/original_body + var/wabbajacked = 0 + /mob/living/proc/read_possible_combos() set name = "Combos Cheat Sheet" set desc = "A list of all possible combos with rough descriptions." From 6584f26220f75c1eb881bfd509a994275995db17 Mon Sep 17 00:00:00 2001 From: Slavik2001 Date: Fri, 21 Jun 2024 13:42:48 +0300 Subject: [PATCH 02/12] remains --- code/modules/projectiles/projectile/magic.dm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index bcb07a0e4c8..8002a9bea98 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -114,6 +114,15 @@ to_chat(new_mob, "Your body forms to something else!") /mob/living/proc/unwabbajack() + var/datum/effect/effect/system/smoke_spread/bad/smoke = new /datum/effect/effect/system/smoke_spread/bad() + smoke.set_up(10, 0, src.loc) + smoke.start() + playsound(src, 'sound/effects/bamf.ogg', VOL_EFFECTS_MASTER) + + var/obj/effect/decal/remains/human/RH = new /obj/effect/decal/remains/human(src.loc) + var/matrix/Mx = matrix() + RH.transform = Mx + for(var/mob/M in contents) M.loc = src.loc From a3d026dcb30130b79887cc1ed157dfdb3ae54b3f Mon Sep 17 00:00:00 2001 From: Slavik2001 Date: Fri, 21 Jun 2024 13:43:08 +0300 Subject: [PATCH 03/12] line --- code/modules/projectiles/projectile/magic.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 8002a9bea98..4e5dc020508 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -130,6 +130,7 @@ mind.transfer_to(original_body) qdel(src) + /obj/item/projectile/magic/animate name = "bolt of animation" icon_state = "red_1" From e93ba858e6790b8ea7ddce7a2f378308be365782 Mon Sep 17 00:00:00 2001 From: Slavik2001 Date: Mon, 24 Jun 2024 00:14:28 +0300 Subject: [PATCH 04/12] Return --- code/modules/projectiles/projectile/magic.dm | 46 +++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 4e5dc020508..7c31f51db1a 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -147,7 +147,7 @@ C.ChangeOwner(firer) create_spawner(/datum/spawner/living/mimic, C) else if(isshade(change) || isxeno(change)) - var/mob/living/M = wabbajack(change) + var/mob/living/M = animate_atom_living(change) if(!M) return if(firer && iswizard(firer)) @@ -162,6 +162,50 @@ if(R) R.Deconvert() +/obj/item/projectile/magic/animate/proc/animate_atom_living(mob/living/M) + if(!istype(M) || M.stat == DEAD || M.notransform || (GODMODE & M.status_flags) || !M.client || isxenoqueen(M)) + return + + M.notransform = TRUE + M.canmove = 0 + M.icon = null + M.cut_overlays() + M.invisibility = 101 + + var/mob/living/new_mob + + var/randomizer = pick("animal", "cyborg", "xeno") + if(isxeno(M)) + randomizer = "xeno" + switch(randomizer) + if("animal") + var/beast = pick(/mob/living/simple_animal/hostile/carp, /mob/living/simple_animal/hostile/tomato/angry_tomato, /mob/living/simple_animal/hostile/retaliate/goat, /mob/living/simple_animal/pig/shadowpig) + new_mob = new beast(M.loc) + new_mob.universal_speak = TRUE + if("cyborg") + new_mob = new /mob/living/silicon/robot(M.loc, "Default", /datum/ai_laws/asimov_xenophile, FALSE, global.chaplain_religion) + new_mob.gender = M.gender + new_mob.invisibility = 0 + new_mob.job = "Cyborg" + if("xeno") + new_mob = new /mob/living/carbon/xenomorph/humanoid/maid(M.loc) + new_mob.universal_speak = TRUE + if(!new_mob) + return + + new_mob.attack_log = M.attack_log + M.attack_log += text("\[[time_stamp()]\] [M.real_name] ([M.ckey]) became [new_mob.real_name].") + + new_mob.set_a_intent(INTENT_HARM) + if(M.mind) + M.mind.transfer_to(new_mob) + else + new_mob.key = M.key + + to_chat(new_mob, "Your body forms to something else!") + + qdel(M) + return new_mob /obj/item/projectile/magic/resurrection name = "bolt of resurrection" From 6a7139099ace00cd0e93a78163e14dad83c40e7e Mon Sep 17 00:00:00 2001 From: Slavik2001 Date: Fri, 28 Jun 2024 18:14:19 +0300 Subject: [PATCH 05/12] 3_minutes --- code/modules/projectiles/guns/magic/staff.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/guns/magic/staff.dm b/code/modules/projectiles/guns/magic/staff.dm index 50411ac174c..b95103c90cd 100644 --- a/code/modules/projectiles/guns/magic/staff.dm +++ b/code/modules/projectiles/guns/magic/staff.dm @@ -4,7 +4,7 @@ ammo_type = /obj/item/ammo_casing/magic/change icon_state = "staffofchange" item_state = "staffofchange" - fire_delay = 30 + fire_delay = 180 max_charges = 1 /obj/item/weapon/gun/magic/animate From f2adab39d33ef57b881fe8a2d50ebabc2d1f9d0a Mon Sep 17 00:00:00 2001 From: Slavik2001 Date: Sun, 30 Jun 2024 04:55:34 +0300 Subject: [PATCH 06/12] -_diona --- code/modules/projectiles/projectile/magic.dm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 7c31f51db1a..008b1bc3bd0 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -76,12 +76,11 @@ /mob/living/carbon/monkey/tajara, /mob/living/carbon/monkey/skrell, /mob/living/carbon/monkey/unathi, - /mob/living/carbon/monkey/diona, - /mob/living/carbon/monkey/diona/podman, + /mob/living/carbon/monkey/podman, /mob/living/carbon/human/tajaran, /mob/living/carbon/human/skrell, /mob/living/carbon/human/unathi, - /mob/living/carbon/human/diona, + /mob/living/carbon/human/podman, /mob/living/carbon/human/abductor, /mob/living/carbon/human/golem, /mob/living/carbon/human/vox) From 90b1d1a1fcca22bf14e28ac0343dc6f561b81750 Mon Sep 17 00:00:00 2001 From: Slavik2001 Date: Sun, 30 Jun 2024 06:11:12 +0300 Subject: [PATCH 07/12] 1 --- code/modules/projectiles/projectile/magic.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 008b1bc3bd0..e1ae07efe53 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -76,7 +76,7 @@ /mob/living/carbon/monkey/tajara, /mob/living/carbon/monkey/skrell, /mob/living/carbon/monkey/unathi, - /mob/living/carbon/monkey/podman, + /mob/living/carbon/monkey/diona/podman, /mob/living/carbon/human/tajaran, /mob/living/carbon/human/skrell, /mob/living/carbon/human/unathi, From 9bb97acc256852b183a6dea505ab6f50f9cff932 Mon Sep 17 00:00:00 2001 From: Slavik2001 Date: Fri, 5 Jul 2024 08:59:55 +0300 Subject: [PATCH 08/12] +Paralyse --- code/modules/projectiles/projectile/magic.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index e1ae07efe53..36b0a854199 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -86,6 +86,7 @@ /mob/living/carbon/human/vox) new_mob = new carbon(M.loc) new_mob.gender = M.gender + new_mob.languages = M.languages if(!new_mob) return @@ -124,6 +125,10 @@ for(var/mob/M in contents) M.loc = src.loc + if(isliving(M)) + var/mob/living/L = M + L.Paralyse(15) + L.update_canmove() if(mind && original_body) mind.transfer_to(original_body) From 8af1d5f15c8b355b6cd6473e1b69d283756a4a39 Mon Sep 17 00:00:00 2001 From: Slavik2001 <123300305+Slavik2001@users.noreply.github.com> Date: Tue, 9 Jul 2024 06:44:26 +0300 Subject: [PATCH 09/12] del_comment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Окей Co-authored-by: Alexander V. --- code/game/gamemodes/modes_gameplays/wizard/spellbook.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/gamemodes/modes_gameplays/wizard/spellbook.dm b/code/game/gamemodes/modes_gameplays/wizard/spellbook.dm index 23c1e5b02d1..068d5d56bfb 100644 --- a/code/game/gamemodes/modes_gameplays/wizard/spellbook.dm +++ b/code/game/gamemodes/modes_gameplays/wizard/spellbook.dm @@ -320,7 +320,6 @@ dat += "[surplus] осталось.
" return dat -// Commented because admins ban everyone who uses this staff... Somebody should rebalance this thing /datum/spellbook_entry/item/staffchange name = "Staff of Change" desc = "An artefact that spits bolts of coruscating energy which cause the target's very form to reshape itself." From 4d464957266fea0ba947a07e98a287603f29a50b Mon Sep 17 00:00:00 2001 From: Slavik2001 Date: Thu, 11 Jul 2024 09:50:44 +0300 Subject: [PATCH 10/12] Fix --- code/modules/projectiles/projectile/magic.dm | 22 ++++++++++---------- taucetistation.dme | 8 +++---- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 36b0a854199..09f813f9149 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -27,9 +27,7 @@ if(!issilicon(M)) for(var/obj/item/W in M) - W.layer = initial(W.layer) - W.loc = M.loc - W.dropped(M) + M.drop_from_inventory(W) var/mob/living/new_mob @@ -93,16 +91,15 @@ new_mob.attack_log = M.attack_log M.attack_log += text("\[[time_stamp()]\] [M.real_name] ([M.ckey]) became [new_mob.real_name].") - var/mob/living/original_mob = M if(M.original_body) new_mob.original_body = M.original_body else - new_mob.original_body = original_mob + new_mob.original_body = M + M.original_body = M M.forceMove(new_mob) for(var/mob/living/H in M.contents) H.forceMove(new_mob) - qdel(M) if(M.mind) M.mind.transfer_to(new_mob) @@ -113,7 +110,11 @@ to_chat(new_mob, "Your body forms to something else!") -/mob/living/proc/unwabbajack() +/mob/living/proc/unwabbajack(mob/living/M) + if(!issilicon(M)) + for(var/obj/item/W in M) + M.drop_from_inventory(W) + var/datum/effect/effect/system/smoke_spread/bad/smoke = new /datum/effect/effect/system/smoke_spread/bad() smoke.set_up(10, 0, src.loc) smoke.start() @@ -123,15 +124,14 @@ var/matrix/Mx = matrix() RH.transform = Mx - for(var/mob/M in contents) + for(M in contents) M.loc = src.loc if(isliving(M)) var/mob/living/L = M L.Paralyse(15) L.update_canmove() - - if(mind && original_body) - mind.transfer_to(original_body) + if(mind && original_body) + mind.transfer_to(original_body) qdel(src) diff --git a/taucetistation.dme b/taucetistation.dme index 718b0ceab9d..ec9563fc953 100644 --- a/taucetistation.dme +++ b/taucetistation.dme @@ -202,14 +202,14 @@ #include "code\_onclick\hud\radial.dm" #include "code\_onclick\hud\robot.dm" #include "code\_onclick\hud\tooltip.dm" -#include "code\_onclick\hud\rendering\planes\_planes.dm" -#include "code\_onclick\hud\rendering\planes\effects_planes.dm" -#include "code\_onclick\hud\rendering\planes\lighting_planes.dm" -#include "code\_onclick\hud\rendering\planes\parallax_planes.dm" #include "code\_onclick\hud\rendering\map_view.dm" #include "code\_onclick\hud\rendering\plane_master.dm" #include "code\_onclick\hud\rendering\render_plane_relay.dm" #include "code\_onclick\hud\rendering\render_plate.dm" +#include "code\_onclick\hud\rendering\planes\_planes.dm" +#include "code\_onclick\hud\rendering\planes\effects_planes.dm" +#include "code\_onclick\hud\rendering\planes\lighting_planes.dm" +#include "code\_onclick\hud\rendering\planes\parallax_planes.dm" #include "code\_onclick\hud\ui_screens\alien.dm" #include "code\_onclick\hud\ui_screens\basic.dm" #include "code\_onclick\hud\ui_screens\complex.dm" From ee8f47bc01442d6323a3345420effb61d2042e52 Mon Sep 17 00:00:00 2001 From: Slavik2001 Date: Thu, 11 Jul 2024 10:59:40 +0300 Subject: [PATCH 11/12] Done --- code/modules/projectiles/projectile/magic.dm | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 09f813f9149..8c8320e87bd 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -91,23 +91,25 @@ new_mob.attack_log = M.attack_log M.attack_log += text("\[[time_stamp()]\] [M.real_name] ([M.ckey]) became [new_mob.real_name].") - if(M.original_body) - new_mob.original_body = M.original_body + if(M.mind) + M.mind.transfer_to(new_mob) else + new_mob.key = M.key + + if(!M.original_body) new_mob.original_body = M M.original_body = M - M.forceMove(new_mob) + + new_mob.original_body = M.original_body + M.forceMove(new_mob) for(var/mob/living/H in M.contents) H.forceMove(new_mob) - if(M.mind) - M.mind.transfer_to(new_mob) - else - new_mob.key = M.key - new_mob.wabbajacked = 1 + qdel(M) + to_chat(new_mob, "Your body forms to something else!") /mob/living/proc/unwabbajack(mob/living/M) From cc6c372141e40fa09f4861243eb92942af505c22 Mon Sep 17 00:00:00 2001 From: Slavik2001 Date: Sun, 14 Jul 2024 06:20:37 +0300 Subject: [PATCH 12/12] forceMove --- code/modules/projectiles/projectile/magic.dm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 8c8320e87bd..948835b915c 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -99,17 +99,16 @@ if(!M.original_body) new_mob.original_body = M M.original_body = M + M.forceMove(new_mob) new_mob.original_body = M.original_body - M.forceMove(new_mob) for(var/mob/living/H in M.contents) H.forceMove(new_mob) + qdel(M) new_mob.wabbajacked = 1 - qdel(M) - to_chat(new_mob, "Your body forms to something else!") /mob/living/proc/unwabbajack(mob/living/M)