Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions modular_darkpack/modules/jobs/code/tremere/gargoyle.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 [owner.name]"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO this shouldnt get the name of the mob since its now an object. Should be something generic like "statue"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just did "Statue of a Gargoyle" since gargoyle statues are something IRL

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 ..()
Loading