diff --git a/code/modules/mob/living/simple_animal/pickle.dm b/code/modules/mob/living/simple_animal/pickle.dm index 09365fa7e2..c5469024e6 100644 --- a/code/modules/mob/living/simple_animal/pickle.dm +++ b/code/modules/mob/living/simple_animal/pickle.dm @@ -7,10 +7,10 @@ maxHealth = 100 icon = 'icons/mob/32x64.dmi' icon_state = "pickle" - del_on_death = TRUE deathmessage = "The pickle implodes into its own existential dread and disappears!" friendly_verb_continuous = "tickles" friendly_verb_simple = "tickle" + del_on_death = TRUE var/mob/living/original_body /mob/living/simple_animal/pickle/UnarmedAttack(atom/A) @@ -19,11 +19,14 @@ var/mob/laugher = A laugher.emote("laugh") -/mob/living/simple_animal/pickle/Destroy(force, kill_body = TRUE) +/mob/living/simple_animal/pickle/death() + ..() if(original_body) - if(kill_body) - original_body.adjustOrganLoss(ORGAN_SLOT_BRAIN, 200) //to be fair, you have to have a very high iq to understand- + original_body.adjustOrganLoss(ORGAN_SLOT_BRAIN, 200) //to be fair, you have to have a very high iq to understand- original_body.forceMove(get_turf(src)) if(mind) mind.transfer_to(original_body) - ..() + +/mob/living/simple_animal/pickle/wabbajack_act() //restore users name before its used on the new mob + if(original_body) + real_name = original_body.real_name diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 8f86f8edc4..608574a9d0 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -585,7 +585,13 @@ /mob/living/proc/turn_into_pickle() //if they're already a pickle, turn them back instead if(istype(src, /mob/living/simple_animal/pickle)) - qdel(src, FALSE) //this means the body inside the pickle will be dropped without killing it + //turn them back from being a pickle, but release them alive + var/mob/living/simple_animal/pickle/existing_pickle = src + if(existing_pickle.original_body) + existing_pickle.original_body.forceMove(get_turf(src)) + if(mind) + mind.transfer_to(existing_pickle.original_body) + qdel(src) else //make a new pickle on the tile and move their mind into it if possible var/mob/living/simple_animal/pickle/new_pickle = new /mob/living/simple_animal/pickle(get_turf(src)) diff --git a/icons/mob/32x64.dmi b/icons/mob/32x64.dmi index 79a4c8a7fd..cddf9599b4 100644 Binary files a/icons/mob/32x64.dmi and b/icons/mob/32x64.dmi differ