diff --git a/code/datums/mood_events/generic_positive_events.dm b/code/datums/mood_events/generic_positive_events.dm index 29b414440e1..8a9512bae1c 100644 --- a/code/datums/mood_events/generic_positive_events.dm +++ b/code/datums/mood_events/generic_positive_events.dm @@ -379,3 +379,7 @@ /datum/mood_event/madness_elation description = "Madness truly is the greatest of blessings..." mood_change = 200 + +/datum/mood_event/prophat + description = "This hat fills me with whimsical joy!" + mood_change = 2 diff --git a/code/game/objects/items/food/sweets.dm b/code/game/objects/items/food/sweets.dm index 6805af35db6..98f9417811a 100644 --- a/code/game/objects/items/food/sweets.dm +++ b/code/game/objects/items/food/sweets.dm @@ -346,3 +346,24 @@ /obj/item/food/spiderlollipop/Initialize(mapload) . = ..() AddElement(/datum/element/chewable) + +/obj/item/food/swirl_lollipop + name = "swirl lollipop" + desc = "A massive rainbow swirlled lollipop. Said to contain extra sugar." + icon_state = "swirl_lollipop" + worn_icon_state = "lollipop_stick" + inhand_icon_state = "swirl_lollipop" + food_reagents = list( + /datum/reagent/consumable/sugar = 30, + /datum/reagent/drug/happiness = 5, //swirl lollipops make everyone happy! + /datum/reagent/medicine/omnizine = 2, + ) + tastes = list("whimsical joy" = 1, "sugar" = 2) + foodtypes = JUNKFOOD | SUGAR + food_flags = FOOD_FINGER_FOOD + slot_flags = ITEM_SLOT_MASK + crafting_complexity = FOOD_COMPLEXITY_1 + +/obj/item/food/swirl_lollipop/Initialize(mapload) + . = ..() + AddElement(/datum/element/chewable) diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index 08562481a44..e8338f4c95b 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -39,6 +39,7 @@ else icon_state = "[soft_type][soft_suffix]" to_chat(user, span_notice("You flip the hat back in normal position.")) + update_icon() usr.update_worn_head() //so our mob-overlays update /obj/item/clothing/head/soft/examine(mob/user) @@ -161,3 +162,41 @@ /obj/item/clothing/head/soft/fishing_hat/Initialize(mapload) . = ..() AddElement(/datum/element/skill_reward, /datum/skill/fishing) + +#define PROPHAT_MOOD "prophat" + +/obj/item/clothing/head/soft/propeller_hat + name = "propeller hat" + desc = "A colorful hat with a spinning propeller sat on top." + icon_state = "propeller_hat" + soft_type = "propeller_hat" + inhand_icon_state = "rainbow_softcap" + worn_y_offset = 1 + soft_suffix = null + actions_types = list(/datum/action/item_action/toggle) + var/enabled_waddle = TRUE + var/active = FALSE + +/obj/item/clothing/head/soft/propeller_hat/update_icon_state() + . = ..() + worn_icon_state = "[soft_type][flipped ? "_flipped" : null][active ? "_on" : null]" + +/obj/item/clothing/head/soft/propeller_hat/attack_self(mob/user) + active = !active + balloon_alert(user, (active ? "started propeller" : "stopped propeller")) + update_icon() + user.update_worn_head() + add_fingerprint(user) + +/obj/item/clothing/head/soft/propeller_hat/equipped(mob/living/user, slot) + . = ..() + if(slot & ITEM_SLOT_HEAD) + user.add_mood_event(PROPHAT_MOOD, /datum/mood_event/prophat) + +/obj/item/clothing/head/soft/propeller_hat/dropped(mob/living/user) + . = ..() + user.clear_mood_event(PROPHAT_MOOD) + active = FALSE + update_icon() + +#undef PROPHAT_MOOD diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm index cb0170691ae..b87a3f7b221 100644 --- a/code/modules/clothing/neck/_neck.dm +++ b/code/modules/clothing/neck/_neck.dm @@ -30,6 +30,14 @@ greyscale_colors = "#151516ff" flags_1 = IS_PLAYER_COLORABLE_1 +/obj/item/clothing/neck/bowtie/rainbow + name = "rainbow bow tie" + desc = "An extremely large neosilk rainbow-colored bowtie." + icon_state = "bowtie_rainbow" + greyscale_config = null + greyscale_config_worn = null + greyscale_colors = null + /obj/item/clothing/neck/tie name = "slick tie" desc = "A neosilk tie." diff --git a/code/modules/vending/autodrobe.dm b/code/modules/vending/autodrobe.dm index 02daa0ce7e7..59bd06135bb 100644 --- a/code/modules/vending/autodrobe.dm +++ b/code/modules/vending/autodrobe.dm @@ -58,6 +58,8 @@ /obj/item/clothing/glasses/eyepatch = 1, /obj/item/clothing/glasses/eyepatch/medical = 1, /obj/item/clothing/under/costume/gi = 1, + /obj/item/clothing/head/soft/propeller_hat = 1, + /obj/item/clothing/neck/bowtie/rainbow = 1, ), ), list( diff --git a/code/modules/vending/snack.dm b/code/modules/vending/snack.dm index 23b1bcf2c71..1e81679135b 100644 --- a/code/modules/vending/snack.dm +++ b/code/modules/vending/snack.dm @@ -38,6 +38,7 @@ premium = list( /obj/item/food/spacers_sidekick = 3, /obj/item/food/pistachios = 3, + /obj/item/food/swirl_lollipop = 3, ) refill_canister = /obj/item/vending_refill/snack req_access = list(ACCESS_KITCHEN) diff --git a/icons/mob/clothing/head/hats.dmi b/icons/mob/clothing/head/hats.dmi index abf2f9f18bd..b94b0d98d15 100644 Binary files a/icons/mob/clothing/head/hats.dmi and b/icons/mob/clothing/head/hats.dmi differ diff --git a/icons/mob/clothing/neck.dmi b/icons/mob/clothing/neck.dmi index 03cf6a861c1..aafab9558a3 100644 Binary files a/icons/mob/clothing/neck.dmi and b/icons/mob/clothing/neck.dmi differ diff --git a/icons/mob/inhands/items/food_lefthand.dmi b/icons/mob/inhands/items/food_lefthand.dmi index 934c2fcd045..8e2b19c4dd4 100644 Binary files a/icons/mob/inhands/items/food_lefthand.dmi and b/icons/mob/inhands/items/food_lefthand.dmi differ diff --git a/icons/mob/inhands/items/food_righthand.dmi b/icons/mob/inhands/items/food_righthand.dmi index f49835a3a7b..12063ad38a8 100644 Binary files a/icons/mob/inhands/items/food_righthand.dmi and b/icons/mob/inhands/items/food_righthand.dmi differ diff --git a/icons/obj/clothing/head/hats.dmi b/icons/obj/clothing/head/hats.dmi index 15117fa69a8..523aafd5bfc 100644 Binary files a/icons/obj/clothing/head/hats.dmi and b/icons/obj/clothing/head/hats.dmi differ diff --git a/icons/obj/clothing/neck.dmi b/icons/obj/clothing/neck.dmi index ff7e012324a..6027b0022c4 100644 Binary files a/icons/obj/clothing/neck.dmi and b/icons/obj/clothing/neck.dmi differ diff --git a/icons/obj/food/food.dmi b/icons/obj/food/food.dmi index 46d7459e0b0..e9468812b99 100644 Binary files a/icons/obj/food/food.dmi and b/icons/obj/food/food.dmi differ