diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 57d59b310e..bafa2efaaa 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -1185,8 +1185,8 @@ name = "gift" desc = "PRESENTS!!!! eek!" icon = 'icons/obj/items.dmi' - icon_state = "gift" - item_state = "gift" + icon_state = "gift1" + item_state = "gift1" pressure_resistance = 70 /obj/item/weapon/a_gift/New() diff --git a/code/game/gamemodes/events/holidays/Christmas.dm b/code/game/gamemodes/events/holidays/Christmas.dm index 4c023b26d4..2ee79e7c65 100644 --- a/code/game/gamemodes/events/holidays/Christmas.dm +++ b/code/game/gamemodes/events/holidays/Christmas.dm @@ -1,17 +1,63 @@ /proc/Christmas_Game_Start() - for(var/obj/structure/flora/tree/pine/xmas_tree in world) - if(xmas_tree.z != 1) continue - for(var/turf/simulated/floor/T in orange(1,xmas_tree)) + for(var/obj/structure/flora/tree/pine/xmas in world) + if(xmas.z != 1) continue + for(var/turf/simulated/floor/T in orange(1,xmas)) for(var/i=1,i<=rand(1,5),i++) new /obj/item/weapon/a_gift(T) for(var/mob/living/simple_animal/corgi/Ian/Ian in mob_list) Ian.place_on_head(new /obj/item/clothing/head/helmet/space/santahat(Ian)) /proc/ChristmasEvent() - for(var/obj/structure/flora/tree/pine/xmas_tree in world) - var/mob/living/simple_animal/hostile/tree/evil_tree = new /mob/living/simple_animal/hostile/tree(xmas_tree.loc) - evil_tree.icon_state = xmas_tree.icon_state + for(var/obj/structure/flora/tree/pine/xmas in world) + var/mob/living/simple_animal/hostile/tree/evil_tree = new /mob/living/simple_animal/hostile/tree(xmas.loc) + evil_tree.icon_state = xmas.icon_state evil_tree.icon_living = evil_tree.icon_state evil_tree.icon_dead = evil_tree.icon_state evil_tree.icon_gib = evil_tree.icon_state - del(xmas_tree) \ No newline at end of file + del(xmas) + +/obj/item/weapon/toy/xmas_cracker + name = "xmas cracker" + icon = 'icons/obj/christmas.dmi' + icon_state = "cracker" + desc = "Directions for use: Requires two people, one to pull each end." + var/cracked = 0 + +/obj/item/weapon/toy/xmas_cracker/New() + ..() + +/obj/item/weapon/toy/xmas_cracker/attack(mob/target, mob/user) + if( !cracked && istype(target,/mob/living/carbon/human) && (target.stat == CONSCIOUS) && !target.get_active_hand() ) + target.visible_message("[user] and [target] pop \an [src]! *pop*", "You pull \an [src] with [target]! *pop*", "You hear a *pop*.") + var/obj/item/weapon/paper/Joke = new /obj/item/weapon/paper(user.loc) + Joke.name = "[pick("awful","terrible","unfunny")] joke" + Joke.info = 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 on ss13?\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.") + new /obj/item/clothing/head/festive(target.loc) + user.update_icons() + cracked = 1 + icon_state = "cracker1" + var/obj/item/weapon/toy/xmas_cracker/other_half = new /obj/item/weapon/toy/xmas_cracker(target) + other_half.cracked = 1 + other_half.icon_state = "cracker2" + target.put_in_active_hand(other_half) + playsound(user, 'sound/effects/snap.ogg', 50, 1) + return 1 + return ..() + +/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 + flags = FPRINT|TABLEPASS + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm index 45a7f661ab..442ab99a10 100644 --- a/code/game/objects/items/weapons/gift_wrappaper.dm +++ b/code/game/objects/items/weapons/gift_wrappaper.dm @@ -7,6 +7,12 @@ /* * Gifts */ + + +/obj/item/weapon/a_gift/New() + ..() + icon_state = "gift[pick("1", "2", "3")]" + /obj/item/weapon/gift/attack_self(mob/user as mob) user.drop_item() if(src.gift) @@ -21,7 +27,6 @@ del(src) return - /obj/effect/spresent/relaymove(mob/user as mob) if (user.stat) return diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm index 369e5e0a22..bc9192f236 100644 --- a/code/game/objects/structures/flora.dm +++ b/code/game/objects/structures/flora.dm @@ -21,8 +21,8 @@ icon_state = "pine_c" /obj/structure/flora/tree/pine/New() - icon_state = "pine_c" ..() + icon_state = "pine_c" /obj/structure/flora/tree/dead icon = 'icons/obj/flora/deadtrees.dmi' diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index a7308e9f14..4e660e33dc 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/obj/christmas.dmi b/icons/obj/christmas.dmi new file mode 100644 index 0000000000..a42d14ecff Binary files /dev/null and b/icons/obj/christmas.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index b8c1bd2379..d680b619a3 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ