mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-27 07:08:00 +01:00
[MODULAR][NO-GBP] (Hopefully) Fixes Hard Deletes with NIFs (#21354)
* this (should) fix things. * Update nifsofts.dm * I've been waiting for this!
This commit is contained in:
@@ -327,7 +327,7 @@
|
||||
return FALSE
|
||||
|
||||
loaded_nifsofts += loaded_nifsoft
|
||||
loaded_nifsoft.parent_nif = src
|
||||
loaded_nifsoft.parent_nif = WEAKREF(src)
|
||||
loaded_nifsoft.linked_mob = linked_mob
|
||||
rewards_points += (loaded_nifsoft.rewards_points_rate * loaded_nifsoft.purchase_price)
|
||||
|
||||
|
||||
@@ -68,18 +68,17 @@
|
||||
if(active)
|
||||
activate()
|
||||
|
||||
if(!parent_nif)
|
||||
return ..()
|
||||
linked_mob = null
|
||||
|
||||
var/obj/item/organ/internal/cyberimp/brain/nif/installed_nif = parent_nif
|
||||
installed_nif.loaded_nifsofts.Remove(src)
|
||||
parent_nif = null
|
||||
var/obj/item/organ/internal/cyberimp/brain/nif/installed_nif = parent_nif.resolve()
|
||||
if(installed_nif)
|
||||
installed_nif.loaded_nifsofts.Remove(src)
|
||||
|
||||
return ..()
|
||||
|
||||
/// Activates the parent NIFSoft
|
||||
/datum/nifsoft/proc/activate()
|
||||
var/obj/item/organ/internal/cyberimp/brain/nif/installed_nif = parent_nif
|
||||
var/obj/item/organ/internal/cyberimp/brain/nif/installed_nif = parent_nif.resolve()
|
||||
|
||||
if(installed_nif.broken)
|
||||
installed_nif.balloon_alert(installed_nif.linked_mob, "your NIF is broken")
|
||||
@@ -111,7 +110,7 @@
|
||||
|
||||
///Refunds the activation cost of a NIFSoft.
|
||||
/datum/nifsoft/proc/refund_activation_cost()
|
||||
var/obj/item/organ/internal/cyberimp/brain/nif/installed_nif = parent_nif
|
||||
var/obj/item/organ/internal/cyberimp/brain/nif/installed_nif = parent_nif.resolve()
|
||||
installed_nif.change_power_level(-activation_cost)
|
||||
|
||||
///Removes the cooldown from a NIFSoft
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
soulcatcher_action.Grant(linked_mob)
|
||||
soulcatcher_action.parent_nifsoft = WEAKREF(src)
|
||||
|
||||
var/obj/item/organ/internal/cyberimp/brain/nif/target_nif = parent_nif
|
||||
var/obj/item/organ/internal/cyberimp/brain/nif/target_nif = parent_nif.resolve()
|
||||
var/datum/component/soulcatcher/new_soulcatcher = target_nif.AddComponent(/datum/component/soulcatcher/nifsoft)
|
||||
|
||||
for(var/room in saved_soulcatcher_rooms)
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
if(ishuman(usr))
|
||||
var/mob/living/carbon/human/human_user = usr
|
||||
var/datum/nifsoft/soulcatcher/soulcatcher_nifsoft = human_user.find_nifsoft(/datum/nifsoft/soulcatcher)
|
||||
if(soulcatcher_nifsoft && (parent != soulcatcher_nifsoft.parent_nif))
|
||||
if(soulcatcher_nifsoft && (parent != soulcatcher_nifsoft.parent_nif.resolve()))
|
||||
var/datum/component/soulcatcher/nifsoft_soulcatcher = soulcatcher_nifsoft.linked_soulcatcher.resolve()
|
||||
if(istype(nifsoft_soulcatcher))
|
||||
available_rooms.Add(nifsoft_soulcatcher.soulcatcher_rooms)
|
||||
|
||||
Reference in New Issue
Block a user