[MIRROR] Completely removes proc_holders from existence. Refactors all wizard, xeno, spider, and genetics powers to be actions. Also refactors and sorts ton of accompanying code. [MDB IGNORE] (#14666)

* Completely removes `proc_holders` from existence. Refactors all wizard, xeno, spider, and genetics powers to be actions. Also refactors and sorts ton of accompanying code.

* our changes

* yes

* 0

* Update blackmesa.dmm

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
This commit is contained in:
SkyratBot
2022-07-01 21:33:30 +02:00
committed by GitHub
parent f507824ee7
commit c68fea7cba
405 changed files with 12842 additions and 11487 deletions
+1 -4
View File
@@ -556,9 +556,6 @@
new_module.on_install()
if(wearer)
new_module.on_equip()
var/datum/action/item_action/mod/pinned_module/action = new_module.pinned_to[REF(wearer)]
if(action)
action.Grant(wearer)
// SKYRAT EDIT START - pAIs in MODsuits
if(mod_pai)
var/datum/action/item_action/mod/pinned_module/action = new_module.pinned_to[ref(mod_pai)]
@@ -577,7 +574,7 @@
if(old_module.active)
old_module.on_deactivation(display_message = !deleting, deleting = deleting)
old_module.on_uninstall(deleting = deleting)
QDEL_LIST(old_module.pinned_to)
QDEL_LIST_ASSOC_VAL(old_module.pinned_to)
old_module.mod = null
/obj/item/mod/control/proc/update_access(mob/user, obj/item/card/id/card)
+7 -6
View File
@@ -303,12 +303,13 @@
/// Pins the module to the user's action buttons
/obj/item/mod/module/proc/pin(mob/user)
var/datum/action/item_action/mod/pinned_module/action = pinned_to[REF(user)]
if(action)
qdel(action)
else
action = new(mod, src, user)
action.Grant(user)
var/datum/action/item_action/mod/pinned_module/existing_action = pinned_to[REF(user)]
if(existing_action)
mod.remove_item_action(existing_action)
return
var/datum/action/item_action/mod/pinned_module/new_action = new(mod, src, user)
mod.add_item_action(new_action)
/// On drop key, concels a device item.
/obj/item/mod/module/proc/dropkey(mob/living/user)
+3 -3
View File
@@ -174,12 +174,12 @@
mod.visible_message(span_warning("[mod.wearer] leaps out of the timeline!"))
mod.wearer.SetAllImmobility(0)
mod.wearer.setStaminaLoss(0, 0)
phased_mob = new(get_turf(mod.wearer.loc))
mod.wearer.forceMove(phased_mob)
phased_mob = new(get_turf(mod.wearer.loc), mod.wearer)
RegisterSignal(mod, COMSIG_MOD_ACTIVATE, .proc/on_activate_block)
else
//phasing in
QDEL_NULL(phased_mob)
phased_mob.eject_jaunter()
phased_mob = null
UnregisterSignal(mod, COMSIG_MOD_ACTIVATE)
mod.visible_message(span_warning("[mod.wearer] drops into the timeline!"))