diff --git a/code/modules/goonchat/browserassets/css/browserOutput.css b/code/modules/goonchat/browserassets/css/browserOutput.css index 7b942494f4..e78c6f1606 100644 --- a/code/modules/goonchat/browserassets/css/browserOutput.css +++ b/code/modules/goonchat/browserassets/css/browserOutput.css @@ -17,7 +17,7 @@ body { line-height: 1.2; overflow-x: hidden; overflow-y: scroll; - word-wrap: break-word; + word-wrap: break-word; scrollbar-face-color:#1A1A1A; scrollbar-track-color:#171717; scrollbar-highlight-color:#171717; @@ -404,6 +404,7 @@ h1.alert, h2.alert {color: #99aab5;} .redtext {color: #c51e1e; font-size: 24px;} .clown {color: #ff70c1; font-size: 24px; font-family: "Comic Sans MS", cursive, sans-serif; font-weight: bold;} .his_grace {color: #15D512; font-family: "Courier New", cursive, sans-serif; font-style: italic;} +.spooky {color: #FF9100;} .velvet {color: #660015; font-weight: bold; animation: velvet 5000ms infinite;} @keyframes velvet { 0% { color: #400020; } diff --git a/code/modules/holiday/halloween.dm b/code/modules/holiday/halloween.dm index 7f2f6a785a..37099c1314 100644 --- a/code/modules/holiday/halloween.dm +++ b/code/modules/holiday/halloween.dm @@ -5,19 +5,27 @@ //spooky recipes -/datum/recipe/sugarcookie/spookyskull - reagents = list("flour" = 5, "sugar" = 5, "milk" = 5) - items = list( - /obj/item/reagent_containers/food/snacks/egg, +/datum/crafting_recipe/food/sugarcookie/spookyskull + time = 15 + name = "Sugar cookie" + reqs = list( + /datum/reagent/consumable/sugar = 5, + /obj/item/reagent_containers/food/snacks/pastrybase = 1 ) result = /obj/item/reagent_containers/food/snacks/sugarcookie/spookyskull + subcategory = CAT_PASTRY -/datum/recipe/sugarcookie/spookycoffin - reagents = list("flour" = 5, "sugar" = 5, "coffee" = 5) - items = list( - /obj/item/reagent_containers/food/snacks/egg, +/datum/crafting_recipe/food/sugarcookie/spookycoffin + time = 15 + name = "Sugar cookie" + reqs = list( + /datum/reagent/consumable/sugar = 5, + /datum/reagent/consumable/coffee = 5, + /obj/item/reagent_containers/food/snacks/pastrybase = 1 ) result = /obj/item/reagent_containers/food/snacks/sugarcookie/spookycoffin + subcategory = CAT_PASTRY + ////////////////////////////// //Spookoween trapped closets// @@ -34,7 +42,7 @@ var/trapped = 0 var/mob/trapped_mob -/obj/structure/closet/initialize() +/obj/structure/closet/Initialize() ..() if(prob(30)) set_spooky_trap() @@ -264,15 +272,3 @@ category = "Holiday" item = /obj/item/card/emag/halloween surplus = 0 - -//Jacq test -/mob/living/simple_animal/jacq - name = "Jacqueline" - real_name = "Jacqueline" - icon = 'icons/obj/halloween_items.dmi' - icon_state = "jacqueline" - maxHealth = 1e6 - health = 1e6 - speak_emote = list("croons") - emote_hear = list("spooks","giggles") - density = FALSE \ No newline at end of file diff --git a/code/modules/holiday/jacqueen.dm b/code/modules/holiday/jacqueen.dm index e6bce4fc40..131f2243e2 100644 --- a/code/modules/holiday/jacqueen.dm +++ b/code/modules/holiday/jacqueen.dm @@ -1,44 +1,51 @@ //Whacha doing in here like? Yae wan tae ruin ta magicks? /mob/living/jacq - name = "Jacqueline" + name = "Jacqueline the Pumpqueen" real_name = "Jacqueline" icon = 'icons/obj/halloween_items.dmi' icon_state = "jacqueline" maxHealth = INFINITY health = 20 - speak_emote = list("croons") - emote_hear = list("spooks","giggles") density = FALSE - var/destinations = list("Bar", "Brig", "Bridge", "Chapel", "Chemistry", "Cyrogenics", "Engineering", "Xenobiology") - var/tricked = list() //Those who have been tricked + var/destinations = list("Bar", "Brig", "Bridge", "Chapel", "Chemistry", "Cyrogenics", "Engineering", "Xenobiology") + var/tricked = list() //Those who have been tricked var/progression = list() //Keep track of where people are in the story. -/mob/living/jacq/proc/Destroy() //I.e invincible - visible_message("[src] cackles, \"You'll nae get rid a me that easily!\"") +/mob/living/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 = new src(loc) + var/mob/living/jacq/Jacq = new src.type(loc) Jacq.tricked = tricked Jacq.progression = progression Jacq.poof() ..() /mob/living/jacq/death() //What is alive may never die - visible_message("[src] cackles, \"You'll nae get rid a me that easily!\"") + 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/proc/poof() - var/area/A = GLOB.sortedAreas["[pick(destinations)]"] - if(A && istype(A)) - if(M.forceMove(safepick(get_area_turfs(A)))) + 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.start() + + for(var/i = 1, i <= 5, i+=1)//try 5 times to teleport + var/area/A = GLOB.sortedAreas["[pick(destinations)]"] + if(A && istype(A)) + if(forceMove(safepick(get_area_turfs(A)))) + return TRUE + 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(var/mob/living/L) - if(istype(L, mob/living/carbon)) - var/mob/living/carbon/C = L +/mob/living/jacq/proc/chit_chat(mob/living/L) + var/mob/living/carbon/C = L //Very important var/gender = "lamb" @@ -49,37 +56,42 @@ gender = "lassie" if(!progression[C]) - visible_message("[src] smiles ominously at [L], \”Well halò there [gender]! Ah’m Jacqueline, tae great Pumpqueen, right in tae flesh fer ye.”") + visible_message("[src] smiles ominously at [L], \"Well hal� there [gender]! Ah�m Jacqueline, tae great Pumpqueen, right in tae flesh fer ye.\"") sleep(20) - visible_message("[src] smiles ominously at [L], \”Well halò there [gender]! Ah’m Jacqueline, tae great Pumpqueen, right in tae flesh fer ye.”") + visible_message("[src] smiles ominously at [L], \"Well hal� there [gender]! Ah�m Jacqueline, tae great Pumpqueen, right in tae flesh fer ye.\"") var/choices = list("Trick", "Treat") - var/choice = input(usr, "Trick or Treat?", "Trick or Treat?") in choices + var/choice = input(usr, "Trick or Treat?", "Trick or Treat?") in choices switch(choice) if("Trick") - L. + return if("Treat") + return -/mob/living/jacq/proc/check_candies(var/mob/living/carbon/C) - var/inv = C.get_contents() +/mob/living/jacq/proc/check_candies(mob/living/carbon/C) + var/invs = C.get_contents() var/candy_count = 0 - for(var/item in inv) + for(var/item in invs) if(istype(item, /obj/item/reagent_containers/food/snacks/special_candy)) candy_count++ return candy_count -/mob/living/jacq/proc/take_candies(var/mob/living/carbon/C, amount) +/mob/living/jacq/proc/take_candies(mob/living/carbon/C, candy_amount = 1) var/inv = C.get_contents() var/candies = list() for(var/item in inv) if(istype(item, /obj/item/reagent_containers/food/snacks/special_candy)) candies += item - if(LAZYLEN(candy_count) == amount) + if(LAZYLEN(candies) == candy_amount) for(var/candy in candies) qdel(candy) return TRUE return FALSE /mob/living/jacq/proc/trick() - var/ //var/area/A = input(usr, "Pick an area.", "Pick an area") in GLOB.sortedAreas|null + + +//Candies +/obj/item/reagent_containers/food/snacks/special_candy + name = "Magic candy" diff --git a/goon/browserassets/css/browserOutput.css b/goon/browserassets/css/browserOutput.css index 58129ac1cb..5ed60b1d0a 100644 --- a/goon/browserassets/css/browserOutput.css +++ b/goon/browserassets/css/browserOutput.css @@ -393,6 +393,7 @@ h1.alert, h2.alert {color: #000000;} .redtext {color: #FF0000; font-size: 24px;} .clown {color: #FF69Bf; font-size: 24px; font-family: "Comic Sans MS", cursive, sans-serif; font-weight: bold;} .his_grace {color: #15D512; font-family: "Courier New", cursive, sans-serif; font-style: italic;} +.spooky {color: #FF9100;} .velvet {color: #660015; font-weight: bold; animation: velvet 5000ms infinite;} @keyframes velvet { 0% { color: #400020; } diff --git a/interface/stylesheet.dm b/interface/stylesheet.dm index 2ecd9f9004..c51778bbdb 100644 --- a/interface/stylesheet.dm +++ b/interface/stylesheet.dm @@ -153,6 +153,7 @@ h1.alert, h2.alert {color: #000000;} .redtext {color: #FF0000; font-size: 3;} .clown {color: #FF69Bf; font-size: 3; font-family: "Comic Sans MS", cursive, sans-serif; font-weight: bold;} .his_grace {color: #15D512; font-family: "Courier New", cursive, sans-serif; font-style: italic;} +.spooky {color: #FF9100;} .velvet {color: #660015; font-weight: bold; animation: velvet 5000ms infinite;} @keyframes velvet { 0% { color: #400020; } diff --git a/tgstation.dme b/tgstation.dme index 92ff049a91..3cc8ed3b26 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -1700,6 +1700,7 @@ #include "code\modules\holiday\easter.dm" #include "code\modules\holiday\halloween.dm" #include "code\modules\holiday\holidays.dm" +#include "code\modules\holiday\jacqueen.dm" #include "code\modules\holodeck\area_copy.dm" #include "code\modules\holodeck\computer.dm" #include "code\modules\holodeck\holo_effect.dm"