diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index c95f6a57d8a..d51405f7ade 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -129,6 +129,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_HUSK "husk" #define TRAIT_BADDNA "baddna" #define TRAIT_CLUMSY "clumsy" +#define TRAIT_CLOWNLIKE "clownlike" //for those creatures that are related to clowns, but not necessarily clumsy #define TRAIT_CHUNKYFINGERS "chunkyfingers" //means that you can't use weapons with normal trigger guards. #define TRAIT_DUMB "dumb" #define TRAIT_ADVANCEDTOOLUSER "advancedtooluser" //Whether a mob is dexterous enough to use machines and certain items or not. diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm index b398a428ee3..f68f5e39c74 100644 --- a/code/_globalvars/traits.dm +++ b/code/_globalvars/traits.dm @@ -22,6 +22,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_HUSK" = TRAIT_HUSK, "TRAIT_BADDNA" = TRAIT_BADDNA, "TRAIT_CLUMSY" = TRAIT_CLUMSY, + "TRAIT_CLOWNLIKE" = TRAIT_CLOWNLIKE, "TRAIT_CHUNKYFINGERS" = TRAIT_CHUNKYFINGERS, "TRAIT_DUMB" = TRAIT_DUMB, "TRAIT_ADVANCEDTOOLUSER" = TRAIT_ADVANCEDTOOLUSER, diff --git a/code/modules/antagonists/nukeop/clownop.dm b/code/modules/antagonists/nukeop/clownop.dm index 02b835da6a7..0c671502cc8 100644 --- a/code/modules/antagonists/nukeop/clownop.dm +++ b/code/modules/antagonists/nukeop/clownop.dm @@ -12,6 +12,16 @@ nukeop_outfit = /datum/outfit/syndicate/clownop/leader challengeitem = /obj/item/nuclear_challenge/clownops +/datum/antagonist/nukeop/clownop/apply_innate_effects(mob/living/mob_override) + var/mob/living/L = owner.current || mob_override + ADD_TRAIT(L, TRAIT_NAIVE, "clownop") + ADD_TRAIT(L, TRAIT_CLOWNLIKE, "clownop") + +/datum/antagonist/nukeop/clownop/remove_innate_effects(mob/living/mob_override) + var/mob/living/L = owner.current || mob_override + REMOVE_TRAIT(L, TRAIT_NAIVE, "clownop") + REMOVE_TRAIT(L, TRAIT_CLOWNLIKE, "clownop") + /datum/antagonist/nukeop/leader/clownop/give_alias() title = pick("Head Honker", "Slipmaster", "Clown King", "Honkbearer") if(nuke_team?.syndicate_name) diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 243ee3edc60..40bfd5d3d1b 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -99,6 +99,7 @@ pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes/clown var/enabled_waddle = TRUE lace_time = 20 SECONDS // how the hell do these laces even work?? + species_exception = list(/datum/species/golem/bananium) /obj/item/clothing/shoes/clown_shoes/Initialize() . = ..() diff --git a/code/modules/jobs/job_types/clown.dm b/code/modules/jobs/job_types/clown.dm index e20c0384c6b..244d49b00d3 100644 --- a/code/modules/jobs/job_types/clown.dm +++ b/code/modules/jobs/job_types/clown.dm @@ -55,6 +55,7 @@ H.fully_replace_character_name(H.real_name, pick(GLOB.clown_names)) //rename the mob AFTER they're equipped so their ID gets updated properly. ADD_TRAIT(H, TRAIT_NAIVE, JOB_TRAIT) + ADD_TRAIT(H, TRAIT_CLOWNLIKE, JOB_TRAIT) H.dna.add_mutation(CLOWNMUT) for(var/datum/mutation/human/clumsy/M in H.dna.mutations) M.mutadone_proof = TRUE diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index 77910a96686..62160eb5e25 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -532,6 +532,7 @@ id = "bananium golem" fixed_mut_color = "ff0" say_mod = "honks" + inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOFIRE,TRAIT_CHUNKYFINGERS, TRAIT_CLUMSY, TRAIT_CLOWNLIKE, TRAIT_RADIMMUNE,TRAIT_GENELESS,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER) punchdamagelow = 0 punchdamagehigh = 1 punchstunthreshold = 2 //Harmless and can't stun diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 1af7487fb76..77a67546dec 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -1203,7 +1203,7 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_desc = "A drink from Clown Heaven." /datum/reagent/consumable/ethanol/bananahonk/on_mob_life(mob/living/carbon/M) - if((ishuman(M) && M.job == "Clown") || ismonkey(M)) + if((ishuman(M) && HAS_TRAIT(M, TRAIT_CLOWNLIKE)) || ismonkey(M)) M.heal_bodypart_damage(1,1) . = 1 return ..() || . diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index d763de16a5c..c90dde33d7d 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -127,7 +127,7 @@ glass_desc = "The raw essence of a banana. HONK." /datum/reagent/consumable/banana/on_mob_life(mob/living/carbon/M) - if((ishuman(M) && M.job == "Clown") || ismonkey(M)) + if((ishuman(M) && HAS_TRAIT(M, TRAIT_CLOWNLIKE)) || ismonkey(M)) M.heal_bodypart_damage(1,1, 0) . = 1 ..()