diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm index bceccc9cef..da7dab7109 100644 --- a/code/modules/holiday/halloween/jacqueen.dm +++ b/code/modules/holiday/halloween/jacqueen.dm @@ -48,8 +48,8 @@ var/progression = list() //Keep track of where people are in the story. var/active = TRUE //Turn this to false to keep normal mob behavour var/cached_z - /// I'm busy chatting, don't move. - var/busy_chatting = FALSE + /// I'm busy, don't move. + var/busy = FALSE /mob/living/simple_animal/jacq/Initialize() ..() @@ -68,11 +68,14 @@ playsound(loc, 'sound/spookoween/ahaha.ogg', 100, 0.25) var/mob/living/simple_animal/jacq/Jacq = new src.type(loc) Jacq.progression = progression + if(ckey) //transfer over any ghost posessions + Jacq.key = key ..() /mob/living/simple_animal/jacq/death() //What is alive may never die visible_message("[src] cackles, \"You'll nae get rid a me that easily!\"") playsound(loc, 'sound/spookoween/ahaha.ogg', 100, 0.25) + fully_heal(FALSE) health = 25 poof() @@ -81,9 +84,9 @@ say("Hello there [gender_check(M)]!") return ..() if(!ckey) - busy_chatting = FALSE + stopmove() chit_chat(M) - busy_chatting = TRUE + canmove() ..() /mob/living/simple_animal/jacq/attack_paw(mob/living/carbon/monkey/M) @@ -91,11 +94,25 @@ say("Hello there [gender_check(M)]!") return ..() if(!ckey) - busy_chatting = FALSE + stopmove() chit_chat(M) - busy_chatting = TRUE + canmove() ..() +/mob/living/simple_animal/jacq/proc/canmove() + busy = FALSE + update_mobility() + return + +/mob/living/simple_animal/jacq/proc/stopmove() + if(ckey) //if someone is in her, don't disable her movement! + canmove() + return + busy = TRUE + update_mobility() + return + + /mob/living/simple_animal/jacq/proc/poof() last_poof = world.realtime var/datum/reagents/R = new/datum/reagents(100)//Hey, just in case. @@ -104,7 +121,7 @@ s.set_up(R, 0, loc) s.start() visible_message("[src] disappears in a puff of smoke!") - busy_chatting = TRUE + canmove() health = 25 //Try to go to populated areas @@ -370,6 +387,7 @@ message_admins("[C2]/[C2.key] has agreed to go on a date with [C] as Jacqueline.") log_game("HALLOWEEN: [C2]/[C2.key] has agreed to go on a date with [C] as Jacqueline") to_chat(src, "You are Jacqueline the great pumpqueen, witch Extraordinaire! You're a very Scottish lass with a kind heart, but also a little crazy. You also blew up the wizarding school and you're suspended for a while, so you visited the station before heading home. On your head lies the prize pumpkin of your Mother's pumpkin patch. You're currently on a date with [C] and well, I didn't think anyone would get this far. Please be good so I can do events like this in the future. ") + canmove() return else candies =- C2 @@ -383,9 +401,13 @@ /mob/living/simple_animal/jacq/update_mobility() . = ..() - if(busy_chatting) + if(busy) DISABLE_BITFIELD(., MOBILITY_MOVE) - mobility_flags = . + else + ENABLE_BITFIELD(., MOBILITY_MOVE) + mobility_flags = . + + /obj/item/clothing/head/hardhat/pumpkinhead/jaqc name = "Jacq o' latern"