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"