Halloween stuff (#9296)
@@ -0,0 +1,9 @@
|
||||
/obj/item/clothing/mask/costume/ghost
|
||||
name = "ghostly blanket"
|
||||
desc = "Boo!"
|
||||
icon = 'modular_chomp/icons/inventory/face/item.dmi'
|
||||
icon_override = 'modular_chomp/icons/inventory/face/mob.dmi'
|
||||
icon_state = "ghost"
|
||||
body_parts_covered = HEAD|FACE
|
||||
item_flags = FLEXIBLEMATERIAL
|
||||
flags_inv = HIDEFACE|BLOCKHAIR
|
||||
140
modular_chomp/code/modules/halloween/costumeboxes.dm
Normal file
@@ -0,0 +1,140 @@
|
||||
/obj/item/storage/box/halloween
|
||||
name = "costume box"
|
||||
desc = "A cardboard box, with all your halloween-esque items ready!"
|
||||
icon = 'icons/obj/storage_ch.dmi'
|
||||
icon_state = "box"
|
||||
|
||||
/obj/item/storage/box/halloween/masked_killer
|
||||
name = "masked killer costume"
|
||||
starts_with = list(
|
||||
/obj/item/clothing/under/overalls,
|
||||
/obj/item/clothing/shoes/white,
|
||||
/obj/item/clothing/gloves/sterile/latex,
|
||||
/obj/item/clothing/mask/surgical,
|
||||
/obj/item/clothing/head/welding,
|
||||
/obj/item/clothing/suit/storage/apron,
|
||||
/obj/item/material/twohanded/fireaxe/foam,
|
||||
/obj/item/storage/bag/plasticbag/halloween
|
||||
)
|
||||
|
||||
/obj/item/storage/box/halloween/professional
|
||||
name = "the professional costume"
|
||||
starts_with = list(
|
||||
/obj/item/clothing/under/suit_jacket{ starting_accessories=list(/obj/item/clothing/accessory/wcoat) },
|
||||
/obj/item/storage/briefcase/ { starts_with = list(/obj/item/clothing/mask/gas/clown_hat, /obj/item/ammo_magazine/mfoam_dart/pistol, /obj/item/gun/projectile/pistol/toy, /obj/item/toy/sword) },
|
||||
/obj/item/clothing/shoes/black,
|
||||
/obj/item/clothing/gloves/black,
|
||||
/obj/item/clothing/glasses/fakesunglasses,
|
||||
/obj/item/storage/bag/plasticbag/halloween
|
||||
)
|
||||
|
||||
/obj/item/storage/box/halloween/horrorcop
|
||||
name = "slasher movie cop costume"
|
||||
starts_with = list(
|
||||
/obj/item/clothing/under/corp/pcrc{ starting_accessories=list(/obj/item/clothing/accessory/holster/hip) },
|
||||
/obj/item/clothing/shoes/black,
|
||||
/obj/item/clothing/gloves/black,
|
||||
/obj/item/clothing/glasses/fakesunglasses,
|
||||
/obj/item/clothing/mask/fakemoustache,
|
||||
/obj/item/clothing/head/beret,
|
||||
/obj/item/gun/projectile/revolver/capgun,
|
||||
/obj/item/storage/bag/plasticbag/halloween
|
||||
)
|
||||
|
||||
/obj/item/storage/box/halloween/cowboy
|
||||
name = "cowboy costume"
|
||||
starts_with = list(
|
||||
/obj/item/clothing/under/pants{ starting_accessories=list(/obj/item/clothing/accessory/holster/hip) },
|
||||
/obj/item/clothing/shoes/boots/cowboy,
|
||||
/obj/item/clothing/head/cowboy,
|
||||
/obj/item/clothing/gloves/fingerless,
|
||||
/obj/item/clothing/accessory/poncho,
|
||||
/obj/item/gun/projectile/revolver/capgun,
|
||||
/obj/item/storage/bag/plasticbag/halloween
|
||||
)
|
||||
|
||||
/obj/item/storage/box/halloween/lumberjack
|
||||
name = "lumberjack costume"
|
||||
starts_with = list(
|
||||
/obj/item/clothing/under/pants{ starting_accessories=list(/obj/item/clothing/accessory/sweater/blackneck) },
|
||||
/obj/item/clothing/shoes/boots/workboots,
|
||||
/obj/item/clothing/head/beanie,
|
||||
/obj/item/clothing/gloves/fingerless,
|
||||
/obj/item/clothing/suit/storage/flannel/red,
|
||||
/obj/item/material/twohanded/fireaxe/foam,
|
||||
/obj/item/storage/bag/plasticbag/halloween
|
||||
)
|
||||
|
||||
/obj/item/storage/box/halloween/firefighter
|
||||
name = "firefighter costume"
|
||||
starts_with = list(
|
||||
/obj/item/clothing/under/pants,
|
||||
/obj/item/clothing/shoes/boots/workboots,
|
||||
/obj/item/clothing/head/hardhat/firefighter,
|
||||
/obj/item/clothing/gloves/black,
|
||||
/obj/item/clothing/suit/fire/firefighter,
|
||||
/obj/item/material/twohanded/fireaxe/foam,
|
||||
/obj/item/storage/bag/plasticbag/halloween
|
||||
)
|
||||
|
||||
/obj/item/storage/box/halloween/vampire
|
||||
name = "vampire costume"
|
||||
starts_with = list(
|
||||
/obj/item/clothing/under/suit_jacket/really_black,
|
||||
/obj/item/clothing/shoes/dress,
|
||||
/obj/item/clothing/gloves/white,
|
||||
/obj/item/bedsheet/red,
|
||||
/obj/item/storage/bag/plasticbag/halloween
|
||||
)
|
||||
|
||||
/obj/item/storage/box/halloween/vampirehunter
|
||||
name = "vampire hunter costume"
|
||||
starts_with = list(
|
||||
/obj/item/clothing/under/pants/tan,
|
||||
/obj/item/clothing/suit/storage/toggle/brown_jacket/sleeveless,
|
||||
/obj/item/clothing/shoes/boots/jackboots,
|
||||
/obj/item/clothing/gloves/fingerless,
|
||||
/obj/item/gun/projectile/revolver/toy/crossbow/halloween,
|
||||
/obj/item/flashlight/color/red,
|
||||
/obj/item/storage/bag/plasticbag/halloween
|
||||
)
|
||||
|
||||
/obj/item/storage/box/halloween/pirate
|
||||
name = "pirate costume"
|
||||
starts_with = list(
|
||||
/obj/item/clothing/under/pirate,
|
||||
/obj/item/clothing/shoes/brown,
|
||||
/obj/item/clothing/head/pirate,
|
||||
/obj/item/clothing/suit/pirate,
|
||||
/obj/item/clothing/glasses/eyepatch,
|
||||
/obj/item/storage/bag/plasticbag/halloween
|
||||
)
|
||||
|
||||
/obj/item/storage/box/halloween/whiteout
|
||||
name = "snow ghost costume"
|
||||
starts_with = list(
|
||||
/obj/item/clothing/under/color/white{ starting_accessories=list(/obj/item/clothing/accessory/scarf/white) },
|
||||
/obj/item/clothing/shoes/white,
|
||||
/obj/item/clothing/suit/storage/hooded/chaplain_hoodie/whiteout,
|
||||
/obj/item/clothing/gloves/white,
|
||||
/obj/item/clothing/mask/surgical,
|
||||
/obj/item/storage/bag/plasticbag/halloween
|
||||
)
|
||||
|
||||
/obj/item/storage/box/halloween/marine
|
||||
name = "ruin marine costume"
|
||||
starts_with = list(
|
||||
/obj/item/clothing/under/color/grey,
|
||||
/obj/item/clothing/shoes/brown,
|
||||
/obj/item/clothing/head/marine,
|
||||
/obj/item/clothing/suit/marine,
|
||||
/obj/item/gun/projectile/revolver/toy/sawnoff,
|
||||
/obj/item/storage/bag/plasticbag/halloween
|
||||
)
|
||||
|
||||
/obj/item/storage/box/halloween/ghost
|
||||
name = "ghost costume"
|
||||
starts_with = list(
|
||||
/obj/item/clothing/mask/costume/ghost,
|
||||
/obj/item/storage/bag/plasticbag/halloween
|
||||
)
|
||||
216
modular_chomp/code/modules/halloween/items.dm
Normal file
@@ -0,0 +1,216 @@
|
||||
/obj/item/storage/bag/plasticbag/halloween
|
||||
name = "halloween bag"
|
||||
icon = 'modular_chomp/icons/obj/halloween/trash.dmi'
|
||||
icon_state = "halloween_bag"
|
||||
can_hold = list(
|
||||
/obj/item/reagent_containers/food/snacks/candy,
|
||||
/obj/item/reagent_containers/food/snacks/candy_corn,
|
||||
/obj/item/reagent_containers/food/snacks/chocolatebar,
|
||||
/obj/item/reagent_containers/food/snacks/chocolatepiece,
|
||||
/obj/item/reagent_containers/food/snacks/chocolatepiece/white,
|
||||
/obj/item/reagent_containers/food/snacks/chocolatepiece/truffle,
|
||||
/obj/item/reagent_containers/food/snacks/chocolateegg,
|
||||
/obj/item/reagent_containers/food/snacks/no_raisin,
|
||||
/obj/item/reagent_containers/food/snacks/butterscotch,
|
||||
/obj/item/reagent_containers/food/snacks/spicy_boys,
|
||||
/obj/item/reagent_containers/food/snacks/welders_original,
|
||||
/obj/item/reagent_containers/food/snacks/organ,
|
||||
/obj/item/reagent_containers/food/snacks/mint,
|
||||
/obj/item/storage/box/admints,
|
||||
/obj/item/reagent_containers/food/snacks/cookiesnack,
|
||||
/obj/item/reagent_containers/food/snacks/cb01,
|
||||
/obj/item/reagent_containers/food/snacks/cb02,
|
||||
/obj/item/reagent_containers/food/snacks/cb03,
|
||||
/obj/item/reagent_containers/food/snacks/cb04,
|
||||
/obj/item/reagent_containers/food/snacks/cb05,
|
||||
/obj/item/reagent_containers/food/snacks/cb06,
|
||||
/obj/item/reagent_containers/food/snacks/cb07,
|
||||
/obj/item/reagent_containers/food/snacks/cb08,
|
||||
/obj/item/reagent_containers/food/snacks/cb09,
|
||||
/obj/item/reagent_containers/food/snacks/cb10,
|
||||
/obj/item/reagent_containers/food/snacks/reishicup,
|
||||
/obj/item/reagent_containers/food/snacks/antball,
|
||||
/obj/item/reagent_containers/food/snacks/honey_candy,
|
||||
/obj/item/storage/box/winegum,
|
||||
/obj/item/storage/box/shrimpsandbananas,
|
||||
/obj/item/clothing/mask/chewable/candy/lolli
|
||||
)
|
||||
|
||||
/obj/structure/candybowl
|
||||
name = "candy bowl"
|
||||
desc = "It's a bowl, with candy! Take only one, please."
|
||||
anchored = FALSE
|
||||
density = FALSE
|
||||
icon = 'modular_chomp/icons/obj/halloween/bowls.dmi'
|
||||
icon_state = "fullcandy"
|
||||
|
||||
var/searching = FALSE
|
||||
var/has_candy = TRUE
|
||||
|
||||
var/list/candy = list(
|
||||
/obj/item/reagent_containers/food/snacks/chocolatebar,
|
||||
/obj/item/reagent_containers/food/snacks/cb01,
|
||||
/obj/item/reagent_containers/food/snacks/cb02,
|
||||
/obj/item/reagent_containers/food/snacks/cb03,
|
||||
/obj/item/reagent_containers/food/snacks/cb04,
|
||||
/obj/item/reagent_containers/food/snacks/cb05,
|
||||
/obj/item/reagent_containers/food/snacks/cb06,
|
||||
/obj/item/reagent_containers/food/snacks/cb07,
|
||||
/obj/item/reagent_containers/food/snacks/cb08,
|
||||
/obj/item/reagent_containers/food/snacks/cb09,
|
||||
/obj/item/reagent_containers/food/snacks/cb10,
|
||||
)
|
||||
|
||||
var/list/badcandy = list(
|
||||
/obj/item/reagent_containers/food/snacks/no_raisin,
|
||||
/obj/item/reagent_containers/food/snacks/egg/rotten,
|
||||
/obj/item/reagent_containers/food/snacks/candy_corn
|
||||
)
|
||||
|
||||
var/list/treated = list()
|
||||
|
||||
/obj/structure/candybowl/attack_hand(mob/user)
|
||||
|
||||
var/thegoods
|
||||
|
||||
if(!has_candy)
|
||||
to_chat(user, span_warning("There is no candy! Someone took too many..."))
|
||||
return
|
||||
|
||||
if(searching)
|
||||
to_chat(user, span_warning("Someone is already looking through \the [src]!"))
|
||||
return
|
||||
|
||||
searching = TRUE
|
||||
|
||||
if(!do_after(user, 5 SECONDS))
|
||||
return
|
||||
|
||||
if(treated[user.ckey])
|
||||
var/choice = tgui_alert(user, "You already took one! Take more?", "Take another...", list("Reach in...", "Leave it!"))
|
||||
if(choice == "Reach in...")
|
||||
if(prob(35))
|
||||
thegoods = pick(badcandy)
|
||||
to_chat(user, span_danger("That's one too many! The bowl is empty now..."))
|
||||
empty()
|
||||
else
|
||||
thegoods = pick(candy)
|
||||
else
|
||||
thegoods = pick(candy)
|
||||
treated[user.ckey] = TRUE
|
||||
|
||||
searching = FALSE
|
||||
|
||||
var/goodie = new thegoods(src)
|
||||
user.put_in_hands(goodie)
|
||||
|
||||
/obj/structure/candybowl/attackby(obj/item/O, mob/user)
|
||||
. = ..()
|
||||
if(istype(O, /obj/item/reagent_containers/food/snacks) && !has_candy)
|
||||
to_chat(user, span_notice("You add \the [O] to the bowl."))
|
||||
if(prob(20))
|
||||
fill()
|
||||
qdel(O)
|
||||
|
||||
/obj/structure/candybowl/proc/empty()
|
||||
var/newname = "empty " + initial(name)
|
||||
name = newname
|
||||
desc = "An empty bowl! Someone took too many candies..."
|
||||
icon_state = "nocandy"
|
||||
has_candy = FALSE
|
||||
searching = FALSE
|
||||
|
||||
update_icon()
|
||||
|
||||
/obj/structure/candybowl/proc/fill()
|
||||
name = initial(name)
|
||||
desc = initial(desc)
|
||||
icon_state = "fullcandy"
|
||||
has_candy = TRUE
|
||||
|
||||
update_icon()
|
||||
|
||||
/obj/structure/candybowl/medical
|
||||
name = "medical candy bowl"
|
||||
|
||||
/obj/structure/candybowl/medical/Initialize()
|
||||
. = ..()
|
||||
candy += list(
|
||||
/obj/item/clothing/mask/chewable/candy/lolli,
|
||||
/obj/item/reagent_containers/food/snacks/organ,
|
||||
/obj/item/storage/box/shrimpsandbananas
|
||||
)
|
||||
|
||||
/obj/structure/candybowl/engineering
|
||||
name = "engineering candy bowl"
|
||||
|
||||
/obj/structure/candybowl/engineering/Initialize()
|
||||
. = ..()
|
||||
candy += list(
|
||||
/obj/item/reagent_containers/food/snacks/welders_original,
|
||||
/obj/item/reagent_containers/food/snacks/butterscotch,
|
||||
/obj/item/reagent_containers/food/snacks/chocolatepiece
|
||||
)
|
||||
|
||||
/obj/structure/candybowl/cargo
|
||||
name = "cargo candy bowl"
|
||||
|
||||
/obj/structure/candybowl/cargo/Initialize()
|
||||
. = ..()
|
||||
candy += list(
|
||||
/obj/item/reagent_containers/food/snacks/butterscotch,
|
||||
/obj/item/reagent_containers/food/snacks/honey_candy,
|
||||
/obj/item/storage/box/winegum,
|
||||
)
|
||||
|
||||
/obj/structure/candybowl/science
|
||||
name = "science candy bowl"
|
||||
|
||||
/obj/structure/candybowl/science/Initialize()
|
||||
. = ..()
|
||||
candy += list(
|
||||
/obj/item/reagent_containers/food/snacks/reishicup,
|
||||
/obj/item/reagent_containers/food/snacks/antball,
|
||||
/obj/item/storage/box/winegum,
|
||||
/obj/item/reagent_containers/food/snacks/chocolatepiece/truffle
|
||||
)
|
||||
|
||||
/obj/structure/candybowl/security
|
||||
name = "security candy bowl"
|
||||
|
||||
/obj/structure/candybowl/security/Initialize()
|
||||
. = ..()
|
||||
candy += list(
|
||||
/obj/item/reagent_containers/food/snacks/spicy_boys,
|
||||
/obj/item/reagent_containers/food/snacks/chocolatepiece/white,
|
||||
/obj/item/reagent_containers/food/snacks/candy_corn
|
||||
)
|
||||
|
||||
/obj/structure/boxpile
|
||||
name = "box pile"
|
||||
desc = "It's a bunch of costume boxes! Maybe one could fit you..."
|
||||
icon = 'modular_chomp/icons/obj/halloween/trash64x64.dmi'
|
||||
icon_state = "bigboxes"
|
||||
|
||||
anchored = TRUE
|
||||
|
||||
var/list/ckeys_that_took = list()
|
||||
var/list/costumes
|
||||
|
||||
/obj/structure/boxpile/Initialize()
|
||||
. = ..()
|
||||
|
||||
costumes = typesof(/obj/item/storage/box/halloween/)
|
||||
|
||||
/obj/structure/boxpile/attack_hand(mob/living/user)
|
||||
if(!do_after(user, 5 SECONDS, exclusive = TASK_USER_EXCLUSIVE))
|
||||
return
|
||||
if(!user.ckey)
|
||||
return
|
||||
if(ckeys_that_took[user.ckey])
|
||||
to_chat(user, span_notice("Nothing else fits you here!"))
|
||||
return
|
||||
to_chat(user, span_notice("After looking around, you found a costume that fits you!"))
|
||||
ckeys_that_took[user.ckey] = TRUE
|
||||
var/obj/item/box = pick(costumes)
|
||||
new box(loc)
|
||||
10
modular_chomp/code/modules/halloween/snacks.dm
Normal file
@@ -0,0 +1,10 @@
|
||||
/obj/item/reagent_containers/food/snacks/egg/rotten
|
||||
name = "rotten egg"
|
||||
desc = "A rotten egg. It stinks!"
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/egg/Initialize()
|
||||
. = ..()
|
||||
reagents.add_reagent("toxin", 3)
|
||||
|
||||
/obj/item/storage/fancy/egg_box/rotten
|
||||
starts_with = list(/obj/item/reagent_containers/food/snacks/egg/rotten = 12)
|
||||
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 46 KiB |
BIN
modular_chomp/icons/obj/halloween/bowls.dmi
Normal file
|
After Width: | Height: | Size: 705 B |
BIN
modular_chomp/icons/obj/halloween/trash.dmi
Normal file
|
After Width: | Height: | Size: 391 B |
BIN
modular_chomp/icons/obj/halloween/trash64x64.dmi
Normal file
|
After Width: | Height: | Size: 521 B |
@@ -4835,6 +4835,7 @@
|
||||
#include "modular_chomp\code\modules\clothing\glasses\glasses.dm"
|
||||
#include "modular_chomp\code\modules\clothing\head\jobs.dm"
|
||||
#include "modular_chomp\code\modules\clothing\masks\hailer.dm"
|
||||
#include "modular_chomp\code\modules\clothing\masks\miscellaneous.dm"
|
||||
#include "modular_chomp\code\modules\clothing\rings\rings_ch.dm"
|
||||
#include "modular_chomp\code\modules\clothing\shoes\miscellaneous.dm"
|
||||
#include "modular_chomp\code\modules\clothing\spacesuits\rig\.behemoth.dm"
|
||||
@@ -4877,6 +4878,9 @@
|
||||
#include "modular_chomp\code\modules\food\food\drinks\bottle.dm"
|
||||
#include "modular_chomp\code\modules\food\food\snacks\meat.dm"
|
||||
#include "modular_chomp\code\modules\food\glass\bottle.dm"
|
||||
#include "modular_chomp\code\modules\halloween\costumeboxes.dm"
|
||||
#include "modular_chomp\code\modules\halloween\items.dm"
|
||||
#include "modular_chomp\code\modules\halloween\snacks.dm"
|
||||
#include "modular_chomp\code\modules\hydro\plants.dm"
|
||||
#include "modular_chomp\code\modules\hydro\plantsstorage.dm"
|
||||
#include "modular_chomp\code\modules\living\carbon\human\ai_controlled\ai_controlled.dm"
|
||||
|
||||