Halloween stuff (#9296)

This commit is contained in:
Guti
2024-10-26 14:31:08 +02:00
committed by GitHub
parent 0da8afaaba
commit 841f869c71
10 changed files with 379 additions and 0 deletions

View File

@@ -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

View 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
)

View 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)

View 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)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 705 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 521 B

View File

@@ -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"