// All Christmas Props, now UNIFIED in one place. Merry Christmas ~KingOfThePing // Things in your HAND /obj/item/toy/xmas_cracker name = "xmas cracker" icon = 'icons/holidays/christmas/items.dmi' icon_state = "cracker" desc = "Directions for use: Requires two people, one to pull each end." var/cracked = 0 /obj/item/toy/xmas_cracker/attack(mob/living/target_mob, mob/living/user, target_zone) if( !cracked && istype(target_mob,/mob/living/carbon/human) && (target_mob.stat == CONSCIOUS) && !target_mob.get_active_hand() ) target_mob.visible_message(SPAN_NOTICE("[user] and [target_mob] pop \an [src]! *pop*"), SPAN_NOTICE("You pull \an [src] with [target_mob]! *pop*"), SPAN_NOTICE("You hear a *pop*.")) var/obj/item/paper/Joke = new /obj/item/paper(user.loc) var/title = "[pick("awful","terrible","unfunny")] joke" var/content = pick("What did one snowman say to the other?\n\n'Is it me or can you smell carrots?'", "Why couldn't the snowman get laid?\n\nHe was frigid!", "Where are santa's helpers educated?\n\nNowhere, they're ELF-taught.", "What happened to the man who stole advent calanders?\n\nHe got 25 days.", "What does Santa get when he gets stuck in a chimney?\n\nClaus-trophobia.", "Where do you find chili beans?\n\nThe north pole.", "What do you get from eating tree decorations?\n\nTinsilitis!", "What do snowmen wear on their heads?\n\nIce caps!", "Why is Christmas just like life in NanoTrasen?\n\nYou do all the work and the fat guy gets all the credit.", "Why doesn't Santa have any children?\n\nBecause he only comes down the chimney.") Joke.set_content_unsafe(title, content) new /obj/item/clothing/head/festive(target_mob.loc) user.update_icon() cracked = 1 icon_state = "cracker1" var/obj/item/toy/xmas_cracker/other_half = new /obj/item/toy/xmas_cracker(target_mob) other_half.cracked = 1 other_half.icon_state = "cracker2" target_mob.put_in_active_hand(other_half) playsound(user, 'sound/effects/snap.ogg', 50, 1) return 1 return ..() /* * Gifts */ /obj/item/a_gift name = "gift" desc = "PRESENTS!!!! eek!" icon = 'icons/holidays/christmas/presents.dmi' icon_state = "gift1" item_state = "gift1" drop_sound = 'sound/items/drop/cardboardbox.ogg' pickup_sound = 'sound/items/pickup/cardboardbox.ogg' /obj/item/a_gift/New() ..() pixel_x = rand(-10,10) pixel_y = rand(-10,10) if(w_class > 0 && w_class < WEIGHT_CLASS_BULKY) icon_state = "gift[w_class]" else icon_state = "gift[pick(1, 2, 3)]" return /obj/item/gift/attack_self(mob/user as mob) user.drop_item() playsound(src.loc, 'sound/items/package_unwrap.ogg', 50,1) if(src.gift) user.put_in_hands(gift) src.gift.add_fingerprint(user) else to_chat(user, SPAN_WARNING("The gift was empty!")) qdel(src) return /obj/item/a_gift/ex_act(var/severity = 2.0) qdel(src) return /obj/effect/spresent/relaymove(mob/living/user, direction) . = ..() if (user.stat) return to_chat(user, SPAN_WARNING("You can't move.")) /obj/effect/spresent/attackby(obj/item/attacking_item, mob/user) ..() if (attacking_item.tool_behaviour != TOOL_WIRECUTTER) to_chat(user, SPAN_WARNING("I need wirecutters for that.")) return to_chat(user, SPAN_NOTICE("You cut open the present.")) for(var/mob/M in src) //Should only be one but whatever. M.forceMove(src.loc) if (M.client) M.client.eye = M.client.mob M.client.perspective = MOB_PERSPECTIVE qdel(src) /obj/item/a_gift/attack_self(mob/M as mob) var/gift_type = pick( /obj/item/storage/wallet, /obj/item/storage/photo_album, /obj/item/storage/box/unique/snappops, /obj/item/storage/box/fancy/crayons, /obj/item/storage/belt/champion, /obj/item/soap/deluxe, /obj/item/pickaxe/silver, /obj/item/pen/invisible, /obj/item/lipstick/random, /obj/item/grenade/smokebomb, /obj/item/corncob, /obj/item/contraband/poster, /obj/item/book/manual/barman_recipes, /obj/item/book/manual/chef_recipes, /obj/item/bikehorn, /obj/item/beach_ball, /obj/item/beach_ball/holoball, /obj/item/toy/waterballoon, /obj/item/toy/blink, /obj/item/toy/crossbow, /obj/item/gun/projectile/revolver/capgun, /obj/item/toy/katana, /obj/item/toy/mech/deathripley, /obj/item/toy/mech/durand, /obj/item/toy/mech/fireripley, /obj/item/toy/mech/gygax, /obj/item/toy/mech/honk, /obj/item/toy/mech/marauder, /obj/item/toy/mech/mauler, /obj/item/toy/mech/odysseus, /obj/item/toy/mech/phazon, /obj/item/toy/mech/ripley, /obj/item/toy/mech/seraph, /obj/item/toy/spinningtoy, /obj/item/toy/sword, /obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, /obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, /obj/item/paicard, /obj/item/synthesized_instrument/violin, /obj/item/storage/belt/utility/full, /obj/item/clothing/accessory/horrible) if(!ispath(gift_type,/obj/item)) return var/obj/item/I = new gift_type(M) M.remove_from_mob(src) M.put_in_hands(I) I.add_fingerprint(M) qdel(src) return /* * Xmas Gifts */ /obj/item/xmasgift name = "christmas gift" desc = "PRESENTS!!!! eek!" icon = 'icons/holidays/christmas/presents.dmi' icon_state = "gift1" item_state = "gift" w_class = WEIGHT_CLASS_TINY randpixel = 12 var/gift_type /obj/item/xmasgift/Initialize() . = ..() randpixel_xy() var/gift_benefactor = pick("the NanoTrasen Department of Christmas Affairs", "Miranda Trasen", "Joseph Dorne", "Isaac Asimov", "Baal D. Griffon", "the Sol Alliance (Sorry about the blockade!)", "Hephaestus Industries", "Idris Incorporated", "Glorsh Omega II", "the Nralakk Federation", "the People's Republic of Adhomai", "the Adhomai Liberation Army", "the Izweski Hegemony", "the Zo'ra Hive","the Coalition of Colonies", "Digital Dingo", "Optimum Jeffrey", "Lemmy and the Clockworks", "President Hadii", "King Azunja","Supreme Commander Nated'Hakhan", "Lord-Regent Not'zar","Jesus Christ","Santa Claus","Mrs. Claus","Sandy Claws","Buddha","Gary","Jesus Christ!","the True Queen of Biesel, God-Lady Seon-rin von Illdenberg, First of Her Name", "Admiral Frost","Pirate King Frost", "The Secret NanoTrasen Cabal of Duty Officers", "The Society for the Preservation of Rats", "Officer Beepsky","Lieutenant Columbo","Crew of the NSS Upsilon","Runtime", "Bones","Chauncey","Ian","Pun Pun","Nup Nup","Waldo","Odlaw","Crew of the NSS Exodus", "Custodial Staff of the NTCC Odin","ERT Phoenix","grey slime (357)","Bob the Blob","People for the Ethical Treatment of Bluespace Bears", "Mr. Clown and Mrs. Mime from New Puerto Rico","the Grinch","the Krampus","Satan","Mega-Satan","Bluespace Cat","Union of Bluespace Technicians Tau Ceti","the New Kingdom of Adhomai", "Ginny", "Boleslaw Keesler", "The Queen in Blue", "Cuban Pete", "Ceres' Lance", "the real Odin Killer (Still out here, guys!)", "the K'lax Hive", "the C'thur Hive") var/pick_emotion = pick("love","platonic admiration","approval","love (not in a sexual way or anything, though)","apathy", "schadenfreude","love","God's blessing","Santa's blessing","Non-demoninational deity's blessing","love","compassion","appreciation", "respect","begrudging respect","love", "seasonal obligation") desc = "To: The [station_name()]
From: [gift_benefactor], with [pick_emotion]" if(!gift_type) gift_type = get_gift_type() if(ispath(gift_type, /mob/living/simple_animal)) if(ispath(gift_type, /mob/living/simple_animal/schlorrgo)) icon_state = "strangeschlorrgo" else icon_state = "strangepet" return /obj/item/xmasgift/proc/get_gift_type() var/picked_gift_type = pick( /obj/random/action_figure, /obj/random/coin, /obj/random/spacecash, /obj/random/glowstick, /obj/random/gloves, /obj/random/wizard_dressup, /obj/item/storage/wallet, /obj/item/storage/photo_album, /obj/item/storage/box/unique/snappops, /obj/item/storage/box/fancy/crayons, /obj/item/soap/deluxe, /obj/item/pen/invisible, /obj/item/clothing/wrists/watch, /obj/item/lipstick/random, /obj/item/clothing/shoes/slippers/carp, /obj/item/bikehorn, /obj/item/toy/waterballoon, /obj/item/toy/blink, /obj/item/gun/projectile/revolver/capgun, /obj/item/toy/mech/deathripley, /obj/item/toy/mech/durand, /obj/item/toy/mech/fireripley, /obj/item/toy/mech/gygax, /obj/item/toy/mech/honk, /obj/item/toy/mech/marauder, /obj/item/toy/mech/mauler, /obj/item/toy/mech/odysseus, /obj/item/toy/mech/phazon, /obj/item/toy/mech/ripley, /obj/item/toy/mech/seraph, /obj/item/paicard, /obj/item/clothing/accessory/horrible, /obj/item/camera, /obj/item/bluespace_crystal, /obj/item/flame/lighter/zippo, /obj/item/taperecorder, /obj/item/storage/box/fancy/cigarettes/dromedaryco, /obj/item/toy/bosunwhistle, /obj/item/clothing/mask/fakemoustache, /obj/item/clothing/mask/gas/mime, /obj/item/clothing/head/festive/santa, /obj/item/stack/material/animalhide/lizard, /obj/item/stack/material/animalhide/cat, /obj/item/stack/material/animalhide/corgi, /obj/item/stack/material/animalhide/human, /obj/item/stack/material/animalhide/monkey, /obj/item/xmasgift/medium, /obj/item/toy/balloon/syndicate, /obj/item/toy/xmastree, /obj/item/bluespace_crystal, /obj/item/gun/energy/mousegun, /obj/item/gun/energy/wand/toy, /obj/item/mirror, /obj/item/ore/coal, /obj/item/ore/coal, /obj/item/ore/coal, /obj/item/stamp/clown, /obj/item/organ/internal/heart/skrell, /obj/item/toy/balloon/color, /obj/item/storage/box/partypopper) return picked_gift_type /obj/item/xmasgift/ex_act(var/severity = 2.0) qdel(src) return /obj/item/xmasgift/attack_self(mob/user) var/atom/movable/I = new gift_type(get_turf(user)) user.remove_from_mob(src) user.put_in_hands(I) to_chat(user, SPAN_NOTICE("You open the gift, revealing your new [I.name]! Just what you always wanted!")) qdel(src) return /obj/item/xmasgift/medium icon_state = "gift2" w_class = WEIGHT_CLASS_SMALL /obj/item/xmasgift/medium/get_gift_type() var/picked_gift_type = pick( /obj/random/booze, /obj/random/random_flag, /obj/item/storage/belt/champion, /obj/item/pickaxe/silver, /obj/item/grenade/smokebomb, /obj/item/contraband/poster, /obj/item/book/manual/barman_recipes, /obj/item/book/manual/chef_recipes, /obj/item/banhammer, /obj/item/clothing/shoes/cowboy, /obj/item/toy/crossbow, /obj/item/toy/katana, /obj/item/toy/spinningtoy, /obj/item/toy/sword, /obj/item/reagent_containers/food/snacks/grown/ambrosiadeus, /obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris, /obj/item/paicard, /obj/item/clothing/accessory/horrible, /obj/item/clothing/shoes/heels, /obj/item/storage/box/unique/donkpockets, /obj/item/reagent_containers/glass/beaker/teapot, /obj/item/flashlight/lantern, /obj/item/clothing/mask/balaclava, /obj/item/clothing/accessory/badge/old, /obj/item/clothing/mask/gas/mime, /obj/item/clothing/shoes/galoshes, /mob/living/simple_animal/lizard, /mob/living/simple_animal/rat/brown, /mob/living/simple_animal/rat/gray, /mob/living/simple_animal/rat/white, /obj/item/xmasgift, /obj/item/tank/jetpack/void, /obj/item/xmasgift/large, /obj/item/reagent_containers/food/snacks/pudding, /obj/item/contraband/poster, /obj/item/clothing/head/hardhat/atmos, /mob/living/bot/cleanbot, /obj/item/binoculars, /obj/item/camera, /obj/item/gps, /obj/item/uv_light, /obj/random/loot, /obj/random/contraband, /obj/item/autochisel, /obj/item/ore/coal, /obj/item/ore/coal, /obj/item/ore/coal, /obj/item/phone, /obj/item/dociler, /obj/item/flashlight/maglight, /obj/item/megaphone, /obj/item/synthesized_instrument/violin, /obj/item/synthesized_instrument/guitar, /obj/item/synthesized_instrument/trumpet) return picked_gift_type /obj/item/xmasgift/large icon_state = "gift3" w_class = WEIGHT_CLASS_NORMAL /obj/item/xmasgift/large/get_gift_type() var/picked_gift_type = pick( /obj/random/plushie, /obj/random/backpack, /obj/item/inflatable_duck, /obj/item/beach_ball, /obj/item/clothing/under/syndicate/tracksuit, /obj/item/clothing/under/rank/sol/marine, /obj/item/clothing/under/rank/sol/dress/marine, /obj/random/hoodie, /mob/living/simple_animal/cat/kitten, /mob/living/simple_animal/chick, /mob/living/simple_animal/corgi/puppy, /mob/living/simple_animal/mushroom, /mob/living/simple_animal/ice_tunneler, /mob/living/simple_animal/carp/baby, /mob/living/simple_animal/schlorrgo, /mob/living/carbon/human/monkey/nupnup, /obj/item/xmasgift/medium, /obj/item/tank/jetpack, /obj/item/toy/plushie/drone, /obj/item/toy/plushie/ivancarp, /obj/item/ore/coal, /obj/item/ore/coal, /obj/item/ore/coal, /obj/item/mass_driver_diy, /mob/living/simple_animal/crab, /mob/living/simple_animal/parrot, /mob/living/simple_animal/hostile/commanded/dog/pug, /obj/item/target/alien, /obj/item/storage/box/large/candy) return picked_gift_type /obj/item/xmasgift/schlorrgo gift_type = /mob/living/simple_animal/schlorrgo w_class = WEIGHT_CLASS_NORMAL /obj/item/xmasgift/viscerator gift_type = /mob/living/simple_animal/hostile/viscerator w_class = WEIGHT_CLASS_NORMAL // Things on your HEAD /obj/item/clothing/head/festive name = "festive paper hat" icon_state = "xmashat" desc = "A crappy paper hat that you are REQUIRED to wear." flags_inv = 0 body_parts_covered = 0 armor = null /obj/item/clothing/head/festive/santa name = "santa hat" icon_state = "santahat" desc = "A cheap fabric santa hat." /obj/item/clothing/head/festive/santa/beard desc = "A cheap fabric santa hat, this one with a beard." body_parts_covered = HEAD icon_state = "santahat_alt" // Things at your PLACE /obj/structure/sign/christmas/lights name = "christmas lights" desc = "Flashy." icon = 'icons/holidays/christmas/items.dmi' icon_state = "xmaslights" layer = 4.9 /obj/structure/sign/christmas/wreath name = "wreath" desc = "Prickly and very festive." icon = 'icons/holidays/christmas/items.dmi' icon_state = "doorwreath" layer = 5 /obj/structure/sign/christmas/garland name = "festive garland" desc = "Very festive lights. How nice." icon = 'icons/holidays/christmas/props.dmi' icon_state = "garland_on" layer = 4.9 /obj/structure/sign/christmas/tinsel name = "tinsel" desc = "There used to be more tinsel." icon = 'icons/holidays/christmas/props.dmi' icon_state = "tinsel_g" layer = 5 /obj/structure/sign/christmas/tinsel/red name = "red tinsel" icon_state = "tinsel_r" /obj/structure/sign/christmas/tinsel/yellow name = "yellow tinsel" icon_state = "tinsel_y" /obj/structure/sign/christmas/tinsel/white name = "white tinsel" icon_state = "tinsel_w" /obj/structure/sign/christmas/snowman name = "snowman sticker" desc = "A cheaply made adhesive sticker, looking like a snowman. At least it doesn't melt." icon = 'icons/holidays/christmas/props.dmi' icon_state = "snowman_s" /obj/structure/sign/christmas/snowman/hat name = "hat snowman sticker" desc = "A cheaply made adhesive sticker, looking like a snowman, but wearing a hat. At least it doesn't melt." icon_state = "snowman_hat" /obj/structure/sign/christmas/snowflakes name = "snowflake stickers" desc = "Adhesive stickers, sticking really everywhere and looking like a stylized snowflake. Just like the one you are." icon = 'icons/holidays/christmas/props.dmi' icon_state = "snowflakes_1" /obj/structure/sign/christmas/snowflakes/alt icon_state = "snowflakes_2" /obj/structure/sign/christmas/snowflakes/alt_2 icon_state = "snowflakes_3" /obj/structure/sign/christmas/snowflakes/alt_3 icon_state = "snowflakes_4" /obj/item/toy/xmastree name = "miniature Christmas tree" desc = "Now with 99% less pine needles." icon = 'icons/holidays/christmas/items.dmi' icon_state = "tinyxmastree" w_class = WEIGHT_CLASS_TINY force = 1 throwforce = 1 drop_sound = 'sound/items/drop/cardboardbox.ogg' pickup_sound = 'sound/items/pickup/cardboardbox.ogg' /obj/item/toy/balloon/xmastree name = "giant christmas tree balloon" desc = "Mandatory at inter-generational christmas gatherings and office parties." desc_extended = "There's a tag that reads: \"On behalf of employee relations, the CCIA Department wishes you a happy non-denominational holiday season.\"" icon = 'icons/holidays/christmas/items.dmi' icon_state = "xmastreeballoon" /obj/item/toy/balloon/candycane name = "giant candy cane balloon" desc = "Kris Kringle ain't got nothing on this candied confection." desc_extended = "There's a tag that reads: \"On behalf of employee relations, the CCIA Department wishes you a happy non-denominational holiday season.\"" icon = 'icons/holidays/christmas/items.dmi' icon_state = "candycaneballoon"