From 146e0aae294d79b76dbfb68aa15936617ddd07b6 Mon Sep 17 00:00:00 2001 From: Fermi <> Date: Wed, 9 Oct 2019 15:03:04 +0100 Subject: [PATCH] Crashes make me sad --- code/modules/holiday/halloween/bartholomew.dm | 41 ++++++++++++++++++ code/modules/holiday/halloween/jacqueen.dm | 41 ++++++++++-------- icons/obj/halloween_items.dmi | Bin 7112 -> 7558 bytes 3 files changed, 63 insertions(+), 19 deletions(-) diff --git a/code/modules/holiday/halloween/bartholomew.dm b/code/modules/holiday/halloween/bartholomew.dm index 39d97d853b..8a3681808c 100644 --- a/code/modules/holiday/halloween/bartholomew.dm +++ b/code/modules/holiday/halloween/bartholomew.dm @@ -9,3 +9,44 @@ icon = 'icons/obj/halloween_items.dmi' icon_state = "barthpot" anchored = TRUE + var/list/items_list + +/obj/item/barthpot/Destroy() + var/n = new src(loc) + n.items_list = items_list + ..() + + +/obj/item/barthpot/attackby(obj/item/I, mob/user, params) + if(I) + for(var/obj/item/I2 in items_list) + if(I == I2) + qdel(I) + new /obj/item/reagent_containers/food/snacks/special_candy(loc) + say("Hooray! Thank you!") + return + + say("Hello there, I'm Bartholomew, Jacqueline's Familiar.") + sleep(20) + say("I'm currently seeking items to put into my pot, if we get the right items, it should crystalise into a magic candy!") + if(!iscarbon(user)) + say("Though... I'm not sure you can help me.") + var/mob/living/carbon/C = user + + /* I'm putting too much effort into this, so I'm dialing it back + var/choices_pot = list("Check items", "Ask a question") + var/choice_pot = input(usr, "What will you do?", "What will you do?") in choices_reward + switch(choice_pot) + if("Check items") + var/message = "From what I can tell, " + if(LAZYLEN(items_list) < 5) + generate_items() + for(var/obj/item/I2 in items_list) + message += "[I2.name], " + message += "currently seem to have the most magic potential." + if("Ask a question") + +/obj/item/barthpot + + +/obj/item/barthpot/proc/chit_chat(mob/living/carbon/C) diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm index cbb5516024..94a75781f9 100644 --- a/code/modules/holiday/halloween/jacqueen.dm +++ b/code/modules/holiday/halloween/jacqueen.dm @@ -20,12 +20,12 @@ /datum/round_event/jacq/start() ..() for(var/mob/living/simple_animal/pet/dog/corgi/Ian/Ian in GLOB.mob_living_list) - new /mob/living/jacq(Ian.loc)//She poofs on init, so it doesn't matter, so long as Ian exists. + new /mob/living/simple_animal/jacq(Ian.loc)//She poofs on init, so it doesn't matter, so long as Ian exists. /////// MOBS //Whacha doing in here like? Yae wan tae ruin ta magicks? -/mob/living/jacq +/mob/living/simple_animal/jacq name = "Jacqueline the Pumpqueen" real_name = "Jacqueline" icon = 'icons/obj/halloween_items.dmi' @@ -37,53 +37,56 @@ var/tricked = list() //Those who have been tricked var/progression = list() //Keep track of where people are in the story. -/mob/living/jacq/Initialize() +/mob/living/simple_animal/jacq/Initialize() poof() -/mob/living/jacq/Destroy() //I.e invincible +/mob/living/simple_animal/jacq/Destroy() //I.e invincible visible_message("[src] cackles, \"You'll nae get rid a me that easily!\"") playsound(loc, 'sound/spookoween/ahaha.ogg', 100, 1) - var/mob/living/jacq/Jacq = new src.type(loc) + var/mob/living/simple_animal/jacq/Jacq = new src.type(loc) Jacq.tricked = tricked Jacq.progression = progression ..() -/mob/living/jacq/death() //What is alive may never die +/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, 1) health = 20 poof() -/mob/living/jacq/attack_hand(mob/living/carbon/human/M) +/mob/living/simple_animal/jacq/attack_hand(mob/living/carbon/human/M) if(M.a_intent == INTENT_HELP) chit_chat(M) M.Stun(0) else ..() -/mob/living/jacq/attack_paw(mob/living/carbon/monkey/M) +/mob/living/simple_animal/jacq/attack_paw(mob/living/carbon/monkey/M) if(M.a_intent == INTENT_HELP) chit_chat(M) M.Stun(0) else ..() -/mob/living/jacq/proc/poof() +/mob/living/simple_animal/jacq/proc/poof() var/datum/reagents/R = new/datum/reagents(100)//Hey, just in case. var/datum/effect_system/smoke_spread/chem/s = new() R.add_reagent("secretcatchem", (10)) - s.set_up(R, 2, loc) + s.set_up(R, 1, loc) s.start() for(var/i = 1, i <= 5, i+=1)//try 5 times to teleport var/area/A = GLOB.sortedAreas["[pick(destinations)]"] + message_admins("[A] Trying") if(A && istype(A)) if(forceMove(safepick(get_area_turfs(A)))) + message_admins("[A] Moved") return TRUE + message_admins("Failed to move") return FALSE //Ye wee bugger, gerrout of it. Ye've nae tae enjoy reading the code fer mae secrets like. -/mob/living/jacq/proc/chit_chat(mob/living/L) +/mob/living/simple_animal/jacq/proc/chit_chat(mob/living/L) var/mob/living/carbon/C = L if(!iscarbon(L)) //Maybe? It seems like a lot of faff for something that is very unlikely to happen. @@ -98,8 +101,8 @@ gender = "lassie" if(!progression["[C.real_name]"] || !(progression["[C.real_name]"] & JACQ_HELLO)) - visible_message("[src] smiles ominously at [L], \"Well hal� there [gender]! Ah�m Jacqueline, tae great Pumpqueen, great tae meet ye.\"") - sleep(20) + visible_message("[src] smiles ominously at [L], \"Well halo there [gender]! Ah'm Jacqueline, tae great Pumpqueen, great tae meet ye.\"") + sleep(50) visible_message("[src] continues, says, \"Ah'm sure yae well stunned, but ah've got nae taem fer that. Ah'm after the candies around this station. If yae get mae enoof o the wee buggers, Ah'll give ye a treat, or if yae feeling bold, Ah ken trick ye instead.\" giving [L] a wide grin.") if(!progression["[C.real_name]"]) progression["[C.real_name]"] += JACQ_HELLO //TO MAKE SURE THAT THE LIST ENTRY EXISTS. @@ -108,7 +111,7 @@ return var/choices = list("Trick", "Treat", "How do I get candies?") - var/choice = input(usr, "Trick or Treat?", "Trick or Treat?") in choices + var/choice = input(C, "Trick or Treat?", "Trick or Treat?") in choices switch(choice) if("Trick") trick(C) @@ -123,7 +126,7 @@ visible_message("[src] says, \"Gae find my familiar; Bartholomew. Ee's tendin the cauldron which ken bring oot t' magic energy in items scattered aroond. Knowing him, ee's probably gone tae somewhere with books.\"") return -/mob/living/jacq/proc/treat(mob/living/carbon/C, gender) +/mob/living/simple_animal/jacq/proc/treat(mob/living/carbon/C, gender) visible_message("[src] gives off a glowing smile, \"What ken Ah offer ye? I can magic up an object, a potion or a plushie fer ye.\"") var/choices_reward = list("Object - 3 candies", "Potion - 2 candies", "Plushie - 1 candy", "Can I ask you a question instead?") var/choice_reward = input(usr, "Trick or Treat?", "Trick or Treat?") in choices_reward @@ -226,7 +229,7 @@ visible_message("[src] shurgs, \"Suit yerself then.\"") -/mob/living/jacq/proc/trick(mob/living/carbon/C, gender) +/mob/living/simple_animal/jacq/proc/trick(mob/living/carbon/C, gender) var/option if(ishuman(C)) option = rand(1,7) @@ -277,7 +280,7 @@ poof() //Blame Fel -/mob/living/jacq/proc/dating_start(mob/living/carbon/C, gender) +/mob/living/simple_animal/jacq/proc/dating_start(mob/living/carbon/C, gender) var/candies = pollGhostCandidates("Do you want to go on a date with [C] as Jacqueline the great pumpqueen?") //sleep(30) //If the poll doesn't autopause. if(candies) @@ -338,7 +341,7 @@ var/datum/reagent/mutationtoxin/pumpkinhead mutationtext = "The pain subsides. You feel your head roll off your shoulders." //I couldn't get the replace head sprite with a pumpkin to work so, it is what it is. -/mob/living/jacq/proc/check_candies(mob/living/carbon/C) +/mob/living/simple_animal/jacq/proc/check_candies(mob/living/carbon/C) var/invs = C.get_contents() var/candy_count = 0 for(var/item in invs) @@ -346,7 +349,7 @@ var/datum/reagent/mutationtoxin/pumpkinhead candy_count++ return candy_count -/mob/living/jacq/proc/take_candies(mob/living/carbon/C, candy_amount = 1) +/mob/living/simple_animal/jacq/proc/take_candies(mob/living/carbon/C, candy_amount = 1) var/inv = C.get_contents() var/candies = list() for(var/item in inv) diff --git a/icons/obj/halloween_items.dmi b/icons/obj/halloween_items.dmi index 88dff544eb13091074f747bfa5c03186fa67648f..f2577f90ca460232f6c560fa4078084860051d21 100644 GIT binary patch literal 7558 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