mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-19 20:15:47 +01:00
[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:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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!"))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user