Porting components updates and fixing phantom thief component.

This commit is contained in:
Ghommie
2019-10-23 13:01:31 +02:00
parent 432a7dba5d
commit fc1f10c97f
41 changed files with 271 additions and 253 deletions
@@ -1,49 +0,0 @@
//This component applies a customizable drop_shadow filter to its wearer when they toggle combat mode on or off. This can stack.
/datum/component/phantomthief
dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS
var/filter_x
var/filter_y
var/filter_size
var/filter_border
var/filter_color
var/datum/component/redirect/combattoggle_redir
/datum/component/phantomthief/Initialize(_x = -2, _y = 0, _size = 0, _border = 0, _color = "#E62111")
filter_x = _x
filter_y = _y
filter_size = _size
filter_border = _border
filter_color = _color
RegisterSignal(parent, COMSIG_COMBAT_TOGGLED, .proc/handlefilterstuff)
RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/OnEquipped)
RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/OnDropped)
/datum/component/phantomthief/proc/handlefilterstuff(mob/user, combatmodestate)
if(istype(user))
var/thefilter = filter(type = "drop_shadow", x = filter_x, y = filter_y, size = filter_size, border = filter_border, color = filter_color)
if(!combatmodestate)
user.filters -= thefilter
else
user.filters += thefilter
/datum/component/phantomthief/proc/stripdesiredfilter(mob/user)
if(istype(user))
var/thefilter = filter(type = "drop_shadow", x = filter_x, y = filter_y, size = filter_size, border = filter_border, color = filter_color)
user.filters -= thefilter
/datum/component/phantomthief/proc/OnEquipped(mob/user, slot)
if(!istype(user))
return
if(!combattoggle_redir)
combattoggle_redir = user.AddComponent(/datum/component/redirect, list(COMSIG_COMBAT_TOGGLED = CALLBACK(src, .proc/handlefilterstuff)))
/datum/component/phantomthief/proc/OnDropped(mob/user)
if(!istype(user))
return
if(combattoggle_redir)
QDEL_NULL(combattoggle_redir)
stripdesiredfilter(user)
@@ -6,30 +6,28 @@
icon_state = "s-ninja"
item_state = "s-ninja"
/obj/item/clothing/glasses/phantomthief/Initialize()
/obj/item/clothing/glasses/phantomthief/ComponentInitialize()
. = ..()
AddComponent(/datum/component/phantomthief)
AddComponent(/datum/component/wearertargeting/phantomthief)
/obj/item/clothing/glasses/phantomthief/syndicate
name = "suspicious plastic mask"
desc = "A cheap, bulky, Syndicate-branded plastic face mask. You have to break in to break out."
var/nextadrenalinepop
var/datum/component/redirect/combattoggle_redir
/obj/item/clothing/glasses/phantomthief/syndicate/examine(user)
/obj/item/clothing/glasses/phantomthief/syndicate/examine(mob/user)
. = ..()
if(combattoggle_redir)
if(user.get_item_by_slot(SLOT_GLASSES) == src)
if(world.time >= nextadrenalinepop)
to_chat(user, "<span class='notice'>The built-in adrenaline injector is ready for use.</span>")
else
to_chat(user, "<span class='notice'>[DisplayTimeText(nextadrenalinepop - world.time)] left before the adrenaline injector can be used again.")
/obj/item/clothing/glasses/phantomthief/syndicate/proc/injectadrenaline(mob/user, combatmodestate)
if(istype(user))
if(combatmodestate && world.time >= nextadrenalinepop)
nextadrenalinepop = world.time + 5 MINUTES
user.reagents.add_reagent("syndicateadrenals", 5)
user.playsound_local(user, 'modular_citadel/sound/misc/adrenalinject.ogg', 100, 0, pressure_affected = FALSE)
if(istype(user) && combatmodestate && world.time >= nextadrenalinepop)
nextadrenalinepop = world.time + 5 MINUTES
user.reagents.add_reagent("syndicateadrenals", 5)
user.playsound_local(user, 'modular_citadel/sound/misc/adrenalinject.ogg', 100, 0, pressure_affected = FALSE)
/obj/item/clothing/glasses/phantomthief/syndicate/equipped(mob/user, slot)
. = ..()
@@ -37,12 +35,10 @@
return
if(slot != SLOT_GLASSES)
return
if(!combattoggle_redir)
combattoggle_redir = user.AddComponent(/datum/component/redirect, list(COMSIG_COMBAT_TOGGLED = CALLBACK(src, .proc/injectadrenaline)))
RegisterSignal(user, COMSIG_COMBAT_TOGGLED, .proc/injectadrenaline)
/obj/item/clothing/glasses/phantomthief/syndicate/dropped(mob/user)
. = ..()
if(!istype(user))
return
if(combattoggle_redir)
QDEL_NULL(combattoggle_redir)
UnregisterSignal(user, COMSIG_COMBAT_TOGGLED)