diff --git a/modular_darkpack/modules/jobs/code/tremere/gargoyle.dm b/modular_darkpack/modules/jobs/code/tremere/gargoyle.dm index cbdebb121b58..e4063e029936 100644 --- a/modular_darkpack/modules/jobs/code/tremere/gargoyle.dm +++ b/modular_darkpack/modules/jobs/code/tremere/gargoyle.dm @@ -14,7 +14,7 @@ ) display_order = JOB_DISPLAY_ORDER_GARGOYLE - description = "An agent of the Chantry, you are a Tremere Gargoyle who was made legally having existed before their creation was banned. Serve the Regent well!" + description = "You serve the local Chantry as either a guard dog, enforcer, or scout, a shock troop for the Mages of Clan Tremere. You serve the Tremere still, despise most of your kind being freed long ago, whether thats out of duty, mental enslavement, or having nowhere else to go. Among your Masters you are a second class citizen - yet you remain. Guard the Chantry and the Masters as your people always have." minimal_masquerade = 3 allowed_splats = list(SPLAT_KINDRED) allowed_clans = list(VAMPIRE_CLAN_GARGOYLE) @@ -23,7 +23,6 @@ /datum/outfit/job/vampire/gargoyle name = "Chantry Gargoyle" jobtype = /datum/job/vampire/gargoyle - id = /obj/item/card/archive glasses = /obj/item/clothing/glasses/vampire/red shoes = /obj/item/clothing/shoes/vampire diff --git a/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clans/gargoyle.dm b/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clans/gargoyle.dm index 35a58180f285..eb974a9216d5 100644 --- a/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clans/gargoyle.dm +++ b/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clans/gargoyle.dm @@ -51,3 +51,56 @@ H.overlays_standing[BODY_ADJ_LAYER] = acc_overlay H.apply_overlay(BODY_ADJ_LAYER) ADD_TRAIT(H, TRAIT_WEAK_TO_DOMINATE, VAMPIRE_CLAN_GARGOYLE) + var/datum/action/gargoyle_statue_form/statue_action = new() + statue_action.Grant(H) + +/datum/action/gargoyle_statue_form + name = "Statue Form" + desc = "Stand so still that your stony appearance fools passers by into thinking that you're simply a statue." + button_icon = 'modular_darkpack/master_files/icons/hud/actions.dmi' + button_icon_state = "gargoyle" + var/active = FALSE + var/original_name + +/datum/action/gargoyle_statue_form/Trigger(trigger_flags) + if(!owner) + return + + if(active) + deactivate_statue() + else + activate_statue() + +/datum/action/gargoyle_statue_form/proc/activate_statue() + if(!owner || active) + return + original_name = owner.name + active = TRUE + ADD_TRAIT(owner, TRAIT_IMMOBILIZED, "statue_form") + ADD_TRAIT(owner, TRAIT_MUTE, "statue_form") + REMOVE_TRAIT(owner, TRAIT_MASQUERADE_VIOLATING_FACE, CLAN_TRAIT) + owner.name = "Statue of a Gargoyle" + var/newcolor = list(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0)) + owner.add_atom_colour(newcolor, FIXED_COLOUR_PRIORITY) + + to_chat(owner, span_notice("You transform into a stone statue, becoming immobile and silent.")) + +/datum/action/gargoyle_statue_form/proc/deactivate_statue() + if(!owner || !active) + return + + active = FALSE + + REMOVE_TRAIT(owner, TRAIT_IMMOBILIZED, "statue_form") + REMOVE_TRAIT(owner, TRAIT_MUTE, "statue_form") + ADD_TRAIT(owner, TRAIT_MASQUERADE_VIOLATING_FACE, CLAN_TRAIT) + + owner.remove_atom_colour(FIXED_COLOUR_PRIORITY) + owner.name = original_name + + to_chat(owner, span_notice("You return to your normal form.")) + +/datum/action/gargoyle_statue_form/Remove(mob/remove_from) + if(active) + deactivate_statue() + return ..()