[MIRROR] adds a propeller hat, rainbow bowtie, and a swirl lollipop [MDB IGNORE] (#25448)
* adds a propeller hat, rainbow bowtie, and a swirl lollipop (#80034) ## About The Pull Request Says it on the tin, adds a propeller hat and large rainbow bowtie which can both be bought from the costume vendor. It also adds a comically large swirl lollipop which can be bought from the premium section of the snack vendors. Propeller hats makes you happy by giving you a small positive moodlet because they fill you with whimsical joy. spinning propeller hat and bowtie showcase https://github.com/tgstation/tgstation/assets/58376695/5617026e-6e43-4505-9911-b9ca1325e0f1  comically large lollipop  ## Why It's Good For The Game All of these things are iconic, funny, and I don't know why we don't already have them.  ## Changelog 🆑 add: adds propeller hats, rainbow bowties, and swirl lollipops /🆑 --------- Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com> * adds a propeller hat, rainbow bowtie, and a swirl lollipop --------- Co-authored-by: die_amond <58376695+dieamond13@users.noreply.github.com> Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 109 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |