diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index bbc2c15d1b0..739867c9c7a 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -167,6 +167,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_NIGHT_VISION "night_vision" #define TRAIT_LIGHT_STEP "light_step" #define TRAIT_SPIRITUAL "spiritual" +#define TRAIT_FAN_CLOWN "fan_clown" +#define TRAIT_FAN_MIME "fan_mime" #define TRAIT_VORACIOUS "voracious" #define TRAIT_SELF_AWARE "self_aware" #define TRAIT_FREERUNNING "freerunning" diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm index d512ce2ebd0..b4d29ef7594 100644 --- a/code/controllers/subsystem/processing/quirks.dm +++ b/code/controllers/subsystem/processing/quirks.dm @@ -17,7 +17,7 @@ PROCESSING_SUBSYSTEM_DEF(quirks) if(!quirks.len) SetupQuirks() - quirk_blacklist = list(list("Blind","Nearsighted"),list("Jolly","Depression","Apathetic","Hypersensitive"),list("Ageusia","Vegetarian","Deviant Tastes"),list("Ananas Affinity","Ananas Aversion"),list("Alcohol Tolerance","Light Drinker")) + quirk_blacklist = list(list("Blind","Nearsighted"),list("Jolly","Depression","Apathetic","Hypersensitive"),list("Ageusia","Vegetarian","Deviant Tastes"),list("Ananas Affinity","Ananas Aversion"),list("Alcohol Tolerance","Light Drinker"),list("Clown Fan","Mime Fan")) return ..() /datum/controller/subsystem/processing/quirks/proc/SetupQuirks() diff --git a/code/datums/mood_events/generic_positive_events.dm b/code/datums/mood_events/generic_positive_events.dm index 88de466349b..189e41c5061 100644 --- a/code/datums/mood_events/generic_positive_events.dm +++ b/code/datums/mood_events/generic_positive_events.dm @@ -100,6 +100,14 @@ description = "My family heirloom is safe with me.\n" mood_change = 1 +/datum/mood_event/fan_clown_pin + description = "I love showing off my clown pin!\n" + mood_change = 1 + +/datum/mood_event/fan_mime_pin + description = "I love showing off my mime pin!\n" + mood_change = 1 + /datum/mood_event/goodmusic description = "There is something soothing about this music.\n" mood_change = 3 diff --git a/code/datums/traits/good.dm b/code/datums/traits/good.dm index 65a3430ae6d..7c283aa0b59 100644 --- a/code/datums/traits/good.dm +++ b/code/datums/traits/good.dm @@ -59,6 +59,42 @@ lose_text = "You feel isolated from others." medical_record_text = "Patient is highly perceptive of and sensitive to social cues, or may possibly have ESP. Further testing needed." +datum/quirk/fan_clown + name = "Clown Fan" + desc = "You enjoy the clown's antics and get a mood boost when you see them." + value = 1 + mob_trait = TRAIT_FAN_CLOWN + gain_text = "You are a big fan of the Clown." + lose_text = "The clown doesn't seem so great." + medical_record_text = "Patient reports being a big fan of the Clown." + +/datum/quirk/fan_clown/on_spawn() + var/mob/living/carbon/human/H = quirk_holder + var/obj/item/clothing/accessory/fan_clown_pin/B = new(get_turf(H)) + var/list/slots = list ( + "backpack" = SLOT_IN_BACKPACK, + "hands" = SLOT_HANDS, + ) + H.equip_in_one_of_slots(B, slots , qdel_on_fail = TRUE) + +datum/quirk/fan_mime + name = "Mime Fan" + desc = "You enjoy the Mime's antics and get a mood boost when you see them." + value = 1 + mob_trait = TRAIT_FAN_MIME + gain_text = "You are a big fan of the Mime." + lose_text = "The mime doesn't seem so great." + medical_record_text = "Patient reports being a big fan of the Mime." + +/datum/quirk/fan_mime/on_spawn() + var/mob/living/carbon/human/H = quirk_holder + var/obj/item/clothing/accessory/fan_mime_pin/B = new(get_turf(H)) + var/list/slots = list ( + "backpack" = SLOT_IN_BACKPACK, + "hands" = SLOT_HANDS, + ) + H.equip_in_one_of_slots(B, slots , qdel_on_fail = TRUE) + /datum/quirk/freerunning name = "Freerunning" desc = "You're great at quick moves! You can climb tables more quickly." diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index ec843c7c33d..7d6662a6876 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -23,7 +23,7 @@ /atom/movable/MouseDrop_T(mob/living/M, mob/living/user) . = ..() return mouse_buckle_handling(M, user) - + /atom/movable/proc/mouse_buckle_handling(mob/living/M, mob/living/user) if(can_buckle && istype(M) && istype(user)) if(user_buckle_mob(M, user)) diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm index 4f8e65f444b..d7287e4575a 100755 --- a/code/modules/clothing/under/accessories.dm +++ b/code/modules/clothing/under/accessories.dm @@ -314,6 +314,46 @@ for(var/i in 1 to 3) new /obj/item/lipstick/random(src) +//////////////// +//REAL BIG FAN// +//////////////// + +/obj/item/clothing/accessory/fan_clown_pin + name = "Clown Pin" + desc = "A pin to show off your appreciation for clowns and clowning" + icon_state = "fan_clown_pin" + above_suit = TRUE + minimize_when_attached = TRUE + attachment_slot = CHEST + +/obj/item/clothing/accessory/fan_clown_pin/on_uniform_equip(obj/item/clothing/under/U, user) + var/mob/living/L = user + if(HAS_TRAIT(L, TRAIT_FAN_CLOWN)) + SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "fan_clown_pin", /datum/mood_event/fan_clown_pin) + +/obj/item/clothing/accessory/fan_clown_pin/on_uniform_dropped(obj/item/clothing/under/U, user) + var/mob/living/L = user + if(HAS_TRAIT(L, TRAIT_FAN_CLOWN)) + SEND_SIGNAL(L, COMSIG_CLEAR_MOOD_EVENT, "fan_clown_pin") + +/obj/item/clothing/accessory/fan_mime_pin + name = "Mime Pin" + desc = "A pin to show off your appreciation for mimes and miming" + icon_state = "fan_mime_pin" + above_suit = TRUE + minimize_when_attached = TRUE + attachment_slot = CHEST + +/obj/item/clothing/accessory/fan_clown_pin/on_uniform_equip(obj/item/clothing/under/U, user) + var/mob/living/L = user + if(HAS_TRAIT(L, TRAIT_FAN_MIME)) + SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "fan_mime_pin", /datum/mood_event/fan_mime_pin) + +/obj/item/clothing/accessory/fan_clown_pin/on_uniform_dropped(obj/item/clothing/under/U, user) + var/mob/living/L = user + if(HAS_TRAIT(L, TRAIT_FAN_MIME)) + SEND_SIGNAL(L, COMSIG_CLEAR_MOOD_EVENT, "fan_clown_pin") + //////////////// //OONGA BOONGA// //////////////// diff --git a/icons/mob/clothing/accessories.dmi b/icons/mob/clothing/accessories.dmi index 0bcffe2026d..9c5cf7639dd 100644 Binary files a/icons/mob/clothing/accessories.dmi and b/icons/mob/clothing/accessories.dmi differ diff --git a/icons/obj/clothing/accessories.dmi b/icons/obj/clothing/accessories.dmi index 5da31a3a4f3..6df1ec96f5b 100644 Binary files a/icons/obj/clothing/accessories.dmi and b/icons/obj/clothing/accessories.dmi differ