Skip to content
Open
Show file tree
Hide file tree
Changes from all 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 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 ..()