migrate all /obj/item from /New() to /Initialize() (#31232)

* migrate all /obj/item from /New() to /Initialize()

* move GLOB.chemical_reagents_list creation to /world/New()

* review

* oops

* autodoc a smart var
This commit is contained in:
Toastical
2026-01-28 19:44:32 +00:00
committed by GitHub
parent a0ed4b0066
commit 4c74b78a18
89 changed files with 321 additions and 362 deletions
@@ -105,7 +105,7 @@
if(user.get_active_hand() && !user.drop_item())
to_chat(user, SPAN_WARNING("[user.get_active_hand()] is stuck to our hand, we cannot emit acid on this hand."))
return FALSE
current_hand = new hand(src)
current_hand = new hand(src, src)
user.put_in_active_hand(current_hand)
RegisterSignal(user, COMSIG_MOB_WILLINGLY_DROP, PROC_REF(remove_hand_spell))
return TRUE
@@ -130,7 +130,7 @@
throw_speed = 0
var/datum/action/changeling/biodegrade/parent_action
/obj/item/melee/changeling_corrosive_acid/New(datum/action/changeling/biodegrade/new_parent)
/obj/item/melee/changeling_corrosive_acid/Initialize(mapload, datum/action/changeling/biodegrade/new_parent)
. = ..()
parent_action = new_parent
@@ -261,7 +261,7 @@
muzzle_flash_color = null
var/obj/item/gun/magic/tentacle/gun //the item that shot it
/obj/item/ammo_casing/magic/tentacle/New(obj/item/gun/magic/tentacle/tentacle_gun)
/obj/item/ammo_casing/magic/tentacle/Initialize(mapload, obj/item/gun/magic/tentacle/tentacle_gun)
gun = tentacle_gun
..()
+4 -4
View File
@@ -49,8 +49,8 @@
update_icon()
return secured
/obj/item/assembly/infra/New()
..()
/obj/item/assembly/infra/Initialize(mapload)
. = ..()
if(!secured)
toggle_secure()
@@ -185,8 +185,8 @@
/obj/item/assembly/infra/armed/New()
..()
/obj/item/assembly/infra/armed/Initialize(mapload)
. = ..()
spawn(3)
if(holder)
if(holder.master)
+1 -1
View File
@@ -158,7 +158,7 @@
icon = 'icons/mob/screen_gen.dmi'
icon_state = "block"
/obj/item/clothing/ears/offear/New(obj/O)
/obj/item/clothing/ears/offear/Initialize(mapload, obj/O)
. = ..()
name = O.name
desc = O.desc
+1 -1
View File
@@ -4,7 +4,7 @@
/obj/item/clothing/suit/storage/Initialize(mapload)
. = ..()
pockets = new pockets(src)
pockets = new pockets(src, src)
pockets.storage_slots = 2 //two slots
pockets.max_w_class = WEIGHT_CLASS_SMALL //fit only pocket sized items
pockets.max_combined_w_class = 4
@@ -10,7 +10,7 @@
/obj/item/clothing/accessory/storage/Initialize(mapload)
. = ..()
hold = new/obj/item/storage/internal(src)
hold = new/obj/item/storage/internal(src, src)
hold.storage_slots = slots
/obj/item/clothing/accessory/storage/Destroy()
+1 -2
View File
@@ -93,10 +93,9 @@
transfer_evidence(supplied)
name = "[initial(name)] ([supplied])"
/obj/item/sample/print/New(newloc, atom/supplied)
. = ..()
if(length(evidence))
icon_state = "fingerprint1"
update_icon()
/obj/item/sample/proc/transfer_evidence(atom/supplied)
if(length(supplied.suit_fibers))
@@ -394,8 +394,8 @@ GLOBAL_LIST_EMPTY(wormhole_effect)
/obj/item/wormhole_jaunter/wormhole_weaver/get_cell()
return wcell
/obj/item/wormhole_jaunter/wormhole_weaver/New()
..()
/obj/item/wormhole_jaunter/wormhole_weaver/Initialize(mapload)
. = ..()
wcell = new(src)
/obj/item/wormhole_jaunter/wormhole_weaver/examine(mob/user)
@@ -244,7 +244,7 @@
var/timer = 0
var/banned_turfs
/obj/item/lava_staff/New()
/obj/item/lava_staff/Initialize(mapload)
. = ..()
banned_turfs = typecacheof(list(/turf/space/transit, /turf/simulated/wall, /turf/simulated/mineral))
@@ -30,8 +30,8 @@
/obj/item/shared_storage/red
/obj/item/shared_storage/red/New()
..()
/obj/item/shared_storage/red/Initialize(mapload)
. = ..()
if(!bag)
var/obj/item/storage/backpack/shared/S = new(src)
var/obj/item/shared_storage/blue = new(loc)
@@ -323,8 +323,8 @@
desc = "A mysterious red cube."
icon_state = "red_cube"
/obj/item/warp_cube/red/New()
..()
/obj/item/warp_cube/red/Initialize(mapload)
. = ..()
if(!linked)
var/obj/item/warp_cube/blue = new(src.loc)
linked = blue
@@ -92,7 +92,7 @@
icon_state = "datadisk1"
var/modkit_design
/obj/item/disk/design_disk/modkit_disk/New()
/obj/item/disk/design_disk/modkit_disk/Initialize(mapload)
. = ..()
if(modkit_design)
blueprint = new modkit_design
@@ -170,7 +170,8 @@
brainmob.emp_damage += rand(10, 20)
..()
/obj/item/mmi/robotic_brain/New()
/obj/item/mmi/robotic_brain/Initialize(mapload)
. = ..()
brainmob = new(src)
brainmob.name = "[pick("PBU", "HIU", "SINA", "ARMA", "OSI")]-[rand(100, 999)]"
brainmob.real_name = brainmob.name
@@ -183,7 +184,6 @@
brainmob.dna.ResetSE()
brainmob.dna.ResetUI()
GLOB.dead_mob_list -= brainmob
..()
/obj/item/mmi/robotic_brain/attack_ghost(mob/dead/observer/O)
if(brainmob && brainmob.key)
@@ -266,7 +266,7 @@
if(ITEM_SLOT_LEFT_EAR)
l_ear = I
// if(l_ear.slot_flags & ITEM_SLOT_LEFT_EAR) CHAP-TODO: ACTUALLY FIX OFFEARS OR REMOVE THEM COMPLETELY
// var/obj/item/clothing/ears/offear/O = new(I)
// var/obj/item/clothing/ears/offear/O = new(I, I)
// O.forceMove(src)
// r_ear = O
// O.layer = ABOVE_HUD_LAYER
@@ -275,7 +275,7 @@
if(ITEM_SLOT_RIGHT_EAR)
r_ear = I
// if(r_ear.slot_flags & ITEM_SLOT_RIGHT_EAR)
// var/obj/item/clothing/ears/offear/O = new(I)
// var/obj/item/clothing/ears/offear/O = new(I, I)
// O.forceMove(src)
// l_ear = O
// O.layer = ABOVE_HUD_LAYER
@@ -265,7 +265,7 @@
continue
var/list/organ_data = has_limbs[limb_name]
var/limb_path = organ_data["path"]
var/obj/item/organ/O = new limb_path(H)
var/obj/item/organ/O = new limb_path(H, H)
organ_data["descriptor"] = O.name
// Transfer things from the old organ to the new
if(istype(O, /obj/item/organ/external) && transfer_list[limb_name])
@@ -295,7 +295,7 @@
// not doing so (as of now) causes weird issues for some organs like posibrains, which need a mob on init or they'll qdel themselves.
// for the record: this caused every single IPC's brain to be deleted randomly throughout a round, killing them instantly.
new organ_path(H)
new organ_path(H, H)
create_mutant_organs(H)
@@ -318,7 +318,7 @@
qdel(ears)
if(mutantears && !isnull(H.bodyparts_by_name[initial(mutantears.parent_organ)]))
new mutantears(H)
new mutantears(H, H)
/datum/species/proc/breathe(mob/living/carbon/human/H)
var/datum/organ/lungs/lung = H.get_int_organ_datum(ORGAN_DATUM_LUNGS)
+1 -1
View File
@@ -316,7 +316,7 @@
add_attack_logs(user, src, "Grabbed passively", ATKLOG_ALL)
var/obj/item/grab/G = new /obj/item/grab(user, src)
var/obj/item/grab/G = new /obj/item/grab(user, user, src)
if(!G) //the grab will delete itself in New if src is anchored
return 0
user.put_in_active_hand(G)
@@ -39,8 +39,8 @@
var/module_type = "NoMod"
/obj/item/robot_module/New()
..()
/obj/item/robot_module/Initialize(mapload)
. = ..()
// Creates new objects from the type lists.
for(var/i in basic_modules)
@@ -79,6 +79,7 @@
if(I) // If it exists, add the object reference.
special_rechargables += I
special_rechargables -= path // No matter what, remove the path from the list.
module_armor = getArmor(arglist(module_armor))
// Add all the modules into the robot's inventory. Without this, their inventory will be blank.
rebuild_modules()
@@ -102,9 +103,6 @@
QDEL_LIST_CONTENTS(special_rechargables)
return ..()
/obj/item/robot_module/Initialize(mapload)
. = ..()
module_armor = getArmor(arglist(module_armor))
/**
* Searches through the various module lists for the given `item_type`, deletes and removes the item from all supplied lists, if the item is found.
*
@@ -1129,4 +1127,3 @@
statpanel_name = "Metal"
stack = /obj/item/stack/sheet/metal
add_to_storage = TRUE
@@ -358,8 +358,8 @@
var/treatment_virus = "spaceacillin"
var/robot_arm = /obj/item/robot_parts/l_arm
/obj/item/firstaid_arm_assembly/New(loc, new_skin)
..()
/obj/item/firstaid_arm_assembly/Initialize(mapload, new_skin)
. = ..()
if(new_skin)
skin = new_skin
update_icon(UPDATE_OVERLAYS)
+2 -2
View File
@@ -27,8 +27,8 @@
plane = HUD_PLANE
w_class = WEIGHT_CLASS_BULKY
/obj/item/grab/New(mob/user, mob/victim)
..()
/obj/item/grab/Initialize(mapload, mob/user, mob/victim)
. = ..()
//Okay, first off, some fucking sanity checking. No user, or no victim, or they are not mobs, no grab.
if(!istype(user) || !istype(victim))
+2 -2
View File
@@ -5,8 +5,8 @@
icon = 'icons/obj/objects.dmi'
slot_flags = ITEM_SLOT_HEAD|ITEM_SLOT_NECK
/obj/item/holder/New()
..()
/obj/item/holder/Initialize(mapload)
. = ..()
START_PROCESSING(SSobj, src)
/obj/item/holder/Destroy()
+2 -2
View File
@@ -65,8 +65,8 @@
if(msg)
to_chat(user, SPAN_NOTICE("[msg]"))
/obj/item/katana/energy/New()
..()
/obj/item/katana/energy/Initialize(mapload)
. = ..()
spark_system = new /datum/effect_system/spark_spread()
spark_system.set_up(5, 0, src)
spark_system.attach(src)
+4 -4
View File
@@ -142,8 +142,8 @@
owner = "John Doe"
default_pen = /obj/item/pen/multi/syndicate
/obj/item/pda/syndicate/New()
..()
/obj/item/pda/syndicate/Initialize(mapload)
. = ..()
var/datum/data/pda/app/messenger/M = find_program(/datum/data/pda/app/messenger)
if(M)
M.m_hidden = TRUE
@@ -207,8 +207,8 @@
icon_state = "pda-h"
default_pen = /obj/item/pen/multi/gold
/obj/item/pda/centcom/New()
..()
/obj/item/pda/centcom/Initialize(mapload)
. = ..()
var/datum/data/pda/app/messenger/M = find_program(/datum/data/pda/app/messenger)
if(M)
M.m_hidden = 1
+2 -2
View File
@@ -30,8 +30,8 @@
scatter_distance = 10
/obj/item/ammo_casing/New()
..()
/obj/item/ammo_casing/Initialize(mapload)
. = ..()
if(projectile_type)
BB = new projectile_type(src)
scatter_atom()
@@ -299,8 +299,8 @@
muzzle_flash_strength = MUZZLE_FLASH_STRENGTH_NORMAL
muzzle_flash_range = MUZZLE_FLASH_RANGE_NORMAL
/obj/item/ammo_casing/shotgun/dart/New()
..()
/obj/item/ammo_casing/shotgun/dart/Initialize(mapload)
. = ..()
create_reagents(30)
/obj/item/ammo_casing/shotgun/dart/attackby__legacy__attackchain()
@@ -309,8 +309,8 @@
/obj/item/ammo_casing/shotgun/dart/bioterror
desc = "A shotgun dart filled with deadly toxins."
/obj/item/ammo_casing/shotgun/dart/bioterror/New()
..()
/obj/item/ammo_casing/shotgun/dart/bioterror/Initialize(mapload)
. = ..()
reagents.add_reagent("neurotoxin", 6)
reagents.add_reagent("spore", 6)
reagents.add_reagent("capulettium_plus", 6) //;HELP OPS IN MAINT
@@ -163,8 +163,8 @@
fire_sound = 'sound/weapons/pulse3.ogg'
var/temp = 300
/obj/item/ammo_casing/energy/temp/New()
..()
/obj/item/ammo_casing/energy/temp/Initialize(mapload)
. = ..()
BB = null
/obj/item/ammo_casing/energy/temp/newshot()
@@ -234,7 +234,7 @@
select_name = "blue"
harmful = FALSE
/obj/item/ammo_casing/energy/wormhole/New(obj/item/gun/energy/wormhole_projector/wh)
/obj/item/ammo_casing/energy/wormhole/Initialize(mapload, obj/item/gun/energy/wormhole_projector/wh)
gun = wh
return ..()
@@ -348,8 +348,8 @@
select_name = "teleport beam"
var/teleport_target
/obj/item/ammo_casing/energy/teleport/New()
..()
/obj/item/ammo_casing/energy/teleport/Initialize(mapload)
. = ..()
BB = null
/obj/item/ammo_casing/energy/teleport/newshot()
@@ -362,8 +362,8 @@
select_name = "gun mimic"
var/mimic_type
/obj/item/ammo_casing/energy/mimic/New()
..()
/obj/item/ammo_casing/energy/mimic/Initialize(mapload)
. = ..()
BB = null
/obj/item/ammo_casing/energy/mimic/newshot()
+1 -1
View File
@@ -115,7 +115,7 @@
select = clamp(select, 1, length(ammo_type)) // If we decrease ammo types while selecting a removed one, we want to make sure it doesnt try to select an out of bounds index
for(var/i = 1, i <= length(ammo_type), i++)
var/shottype = ammo_type[i]
shot = new shottype(src)
shot = new shottype(src, src)
ammo_type[i] = shot
shot = ammo_type[select]
fire_sound = shot.fire_sound
+1 -1
View File
@@ -54,7 +54,7 @@
/obj/item/gun/magic/Initialize(mapload)
. = ..()
charges = max_charges
chambered = new ammo_type(src)
chambered = new ammo_type(src, src)
if(can_charge)
START_PROCESSING(SSobj, src)
@@ -1091,9 +1091,9 @@
var/mob/living/carbon/human/H = M
if(!H.get_int_organ(/obj/item/organ/internal/bone_tumor))
if(isslimeperson(H))
new /obj/item/organ/internal/bone_tumor/slime_tumor(H)
new /obj/item/organ/internal/bone_tumor/slime_tumor(H, H)
else
new /obj/item/organ/internal/bone_tumor(H)
new /obj/item/organ/internal/bone_tumor(H, H)
return ..()
@@ -43,13 +43,6 @@
if(temperature_maximum)
temperature_max = temperature_maximum
//I dislike having these here but map-objects are initialised before world/New() is called. >_>
if(!GLOB.chemical_reagents_list)
//Chemical Reagents - Initialises all /datum/reagent into a list indexed by reagent id
var/paths = subtypesof(/datum/reagent)
GLOB.chemical_reagents_list = list()
for(var/path in paths)
var/datum/reagent/D = new path()
GLOB.chemical_reagents_list[D.id] = D
if(!GLOB.chemical_reactions_list)
//Chemical Reactions - Initialises all /datum/chemical_reaction into a list
// It is filtered into multiple lists within a list.
+2 -2
View File
@@ -462,8 +462,8 @@ GLOBAL_LIST_EMPTY(conveyor_switches)
w_class = WEIGHT_CLASS_BULKY
var/id
/obj/item/conveyor_switch_construct/New(loc, new_id)
..(loc)
/obj/item/conveyor_switch_construct/Initialize(mapload, new_id)
. = ..()
if(new_id)
id = new_id
else
+2 -2
View File
@@ -61,8 +61,8 @@
/obj/item/assembly/signaler/anomaly/random
name = "Random anomaly core"
/obj/item/assembly/signaler/anomaly/random/New()
..()
/obj/item/assembly/signaler/anomaly/random/Initialize(mapload)
. = ..()
var/list/types = list(/obj/item/assembly/signaler/anomaly/pyro, /obj/item/assembly/signaler/anomaly/cryo, /obj/item/assembly/signaler/anomaly/grav, /obj/item/assembly/signaler/anomaly/flux, /obj/item/assembly/signaler/anomaly/bluespace, /obj/item/assembly/signaler/anomaly/vortex)
var/A = pick(types)
new A(loc)
@@ -31,8 +31,8 @@
injector_mob = user
..()
/obj/item/slime_extract/New()
..()
/obj/item/slime_extract/Initialize(mapload)
. = ..()
create_reagents(100)
/obj/item/slime_extract/grey
+6 -6
View File
@@ -15,8 +15,8 @@
// You can use this var for item path, it would be converted into an item on New()
/obj/item/organ/internal/cyberimp/arm/New()
..()
/obj/item/organ/internal/cyberimp/arm/Initialize(mapload)
. = ..()
if(ispath(holder))
holder = new holder(src)
@@ -353,8 +353,8 @@
augment_icon = "toolkit"
do_extra_render = TRUE
/obj/item/organ/internal/cyberimp/arm/flash/New()
..()
/obj/item/organ/internal/cyberimp/arm/flash/Initialize(mapload)
. = ..()
if(locate(/obj/item/flash/armimplant) in items_list)
var/obj/item/flash/armimplant/F = locate(/obj/item/flash/armimplant) in items_list
F.implant = src
@@ -374,8 +374,8 @@
origin_tech = "materials=5;combat=7;biotech=5;powerstorage=5;syndicate=6;programming=5"
stealth_level = 4 //Only surgery or a body scanner with the highest tier of stock parts can detect this.
/obj/item/organ/internal/cyberimp/arm/combat/New()
..()
/obj/item/organ/internal/cyberimp/arm/combat/Initialize(mapload)
. = ..()
if(locate(/obj/item/flash/armimplant) in items_list)
var/obj/item/flash/armimplant/F = locate(/obj/item/flash/armimplant) in items_list
F.implant = src
@@ -8,7 +8,7 @@
tough = TRUE // Immune to damage
augment_state ='icons/mob/human_races/robotic.dmi'
/obj/item/organ/internal/cyberimp/New(mob/M = null)
/obj/item/organ/internal/cyberimp/Initialize(mapload, mob/M = null)
. = ..()
if(implant_overlay)
var/mutable_appearance/overlay = mutable_appearance(icon, implant_overlay)
+2 -3
View File
@@ -5,8 +5,8 @@
destroy_on_removal = TRUE
var/tumor_size = 0 //Changed in New to be dependent on amount of osseous reagent in the system when formed, determines damage done
/obj/item/organ/internal/bone_tumor/New(mob/living/carbon/holder)
..()
/obj/item/organ/internal/bone_tumor/Initialize(mapload, mob/living/carbon/holder)
. = ..()
tumor_size = owner.reagents.get_reagent_amount("osseous_reagent")
owner.reagents.remove_all_type(/datum/reagent/medicine/osseous_reagent, tumor_size)
@@ -30,4 +30,3 @@
/obj/item/organ/internal/bone_tumor/slime_tumor
name = "crystalized slime jelly"
+2 -2
View File
@@ -58,8 +58,8 @@
/obj/item/organ/proc/update_health()
return
/obj/item/organ/New(mob/living/carbon/holder, datum/species/species_override = null)
..(holder)
/obj/item/organ/Initialize(mapload, mob/living/carbon/holder, datum/species/species_override = null)
. = ..()
if(!max_damage)
max_damage = min_broken_damage * 2
if(ishuman(holder))
@@ -119,8 +119,8 @@
return
/obj/item/organ/external/New(mob/living/carbon/holder)
..()
/obj/item/organ/external/Initialize(mapload, mob/living/carbon/holder)
. = ..()
if(ishuman(holder))
var/mob/living/carbon/human/H = holder
icobase = H.dna.species.icobase
+11 -15
View File
@@ -32,24 +32,20 @@
/// Does this organ have augmented skin to apply to the user on install? If so, apply it to the user and remove it.
var/self_augmented_skin_level = 0
/obj/item/organ/internal/New(mob/living/carbon/holder)
..()
/obj/item/organ/internal/Initialize(mapload, mob/living/carbon/holder)
. = ..()
if(organ_datums)
var/list/temp_list = organ_datums.Copy()
organ_datums = list()
for(var/path in temp_list)
var/datum/organ/organ_datum = new path(src)
if(!organ_datum.organ_tag)
stack_trace("There was an organ datum [organ_datum] ([organ_datum.type]), that had no organ tag.")
continue
organ_datums[organ_datum.organ_tag] = organ_datum
if(istype(holder))
insert(holder)
/obj/item/organ/internal/Initialize(mapload)
. = ..()
if(!organ_datums)
return
var/list/temp_list = organ_datums.Copy()
organ_datums = list()
for(var/path in temp_list)
var/datum/organ/organ_datum = new path(src)
if(!organ_datum.organ_tag)
stack_trace("There was an organ datum [organ_datum] ([organ_datum.type]), that had no organ tag.")
continue
organ_datums[organ_datum.organ_tag] = organ_datum
/obj/item/organ/internal/Destroy()
if(owner) // we have to remove BEFORE organ_datums are qdel'd, or we can just live even if our heart organ got deleted
remove(owner, TRUE)
@@ -7,8 +7,8 @@
status = ORGAN_ROBOT
emp_resistant = TRUE
/obj/item/organ/external/head/ipc/New(mob/living/carbon/holder, datum/species/species_override = null)
..(holder, /datum/species/machine) // IPC heads need to be explicitly set to this since you can print them
/obj/item/organ/external/head/ipc/Initialize(mapload, mob/living/carbon/holder, datum/species/species_override = null)
. = ..()
robotize("Morpheus Cyberkinetics")
/obj/item/organ/external/chest/ipc
@@ -16,8 +16,8 @@
status = ORGAN_ROBOT
emp_resistant = TRUE
/obj/item/organ/external/chest/ipc/New()
..()
/obj/item/organ/external/chest/ipc/Initialize(mapload)
. = ..()
robotize("Morpheus Cyberkinetics")
/obj/item/organ/external/groin/ipc
@@ -25,8 +25,8 @@
status = ORGAN_ROBOT
emp_resistant = TRUE
/obj/item/organ/external/groin/ipc/New()
..()
/obj/item/organ/external/groin/ipc/Initialize(mapload)
. = ..()
robotize("Morpheus Cyberkinetics")
/obj/item/organ/external/arm/ipc
@@ -34,8 +34,8 @@
status = ORGAN_ROBOT
emp_resistant = TRUE
/obj/item/organ/external/arm/ipc/New()
..()
/obj/item/organ/external/arm/ipc/Initialize(mapload)
. = ..()
robotize("Morpheus Cyberkinetics")
/obj/item/organ/external/arm/right/ipc
@@ -43,8 +43,8 @@
status = ORGAN_ROBOT
emp_resistant = TRUE
/obj/item/organ/external/arm/right/ipc/New()
..()
/obj/item/organ/external/arm/right/ipc/Initialize(mapload)
. = ..()
robotize("Morpheus Cyberkinetics")
/obj/item/organ/external/leg/ipc
@@ -52,8 +52,8 @@
status = ORGAN_ROBOT
emp_resistant = TRUE
/obj/item/organ/external/leg/ipc/New()
..()
/obj/item/organ/external/leg/ipc/Initialize(mapload)
. = ..()
robotize("Morpheus Cyberkinetics")
/obj/item/organ/external/leg/right/ipc
@@ -61,8 +61,8 @@
status = ORGAN_ROBOT
emp_resistant = TRUE
/obj/item/organ/external/leg/right/ipc/New()
..()
/obj/item/organ/external/leg/right/ipc/Initialize(mapload)
. = ..()
robotize("Morpheus Cyberkinetics")
/obj/item/organ/external/foot/ipc
@@ -70,8 +70,8 @@
status = ORGAN_ROBOT
emp_resistant = TRUE
/obj/item/organ/external/foot/ipc/New()
..()
/obj/item/organ/external/foot/ipc/Initialize(mapload)
. = ..()
robotize("Morpheus Cyberkinetics")
/obj/item/organ/external/foot/right/ipc
@@ -79,8 +79,8 @@
status = ORGAN_ROBOT
emp_resistant = TRUE
/obj/item/organ/external/foot/right/ipc/New()
..()
/obj/item/organ/external/foot/right/ipc/Initialize(mapload)
. = ..()
robotize("Morpheus Cyberkinetics")
/obj/item/organ/external/hand/ipc
@@ -88,8 +88,8 @@
status = ORGAN_ROBOT
emp_resistant = TRUE
/obj/item/organ/external/hand/ipc/New()
..()
/obj/item/organ/external/hand/ipc/Initialize(mapload)
. = ..()
robotize("Morpheus Cyberkinetics")
/obj/item/organ/external/hand/right/ipc
@@ -97,8 +97,8 @@
status = ORGAN_ROBOT
emp_resistant = TRUE
/obj/item/organ/external/hand/right/ipc/New()
..()
/obj/item/organ/external/hand/right/ipc/Initialize(mapload)
. = ..()
robotize("Morpheus Cyberkinetics")
/obj/item/organ/internal/cell
@@ -130,8 +130,8 @@
/obj/item/organ/internal/brain/mmi_holder/posibrain
name = "positronic brain"
/obj/item/organ/internal/brain/mmi_holder/posibrain/New()
..()
/obj/item/organ/internal/brain/mmi_holder/posibrain/Initialize(mapload)
. = ..()
stored_mmi = new /obj/item/mmi/robotic_brain/positronic(src)
if(!owner)
stored_mmi.forceMove(get_turf(src))
+1 -4
View File
@@ -27,16 +27,13 @@
/obj/item/rcs/Initialize(mapload)
. = ..()
rcell = new(src)
RegisterSignal(src, COMSIG_BIT_ATTACH, PROC_REF(add_bit))
RegisterSignal(src, COMSIG_CLICK_ALT, PROC_REF(remove_bit))
/obj/item/rcs/get_cell()
return rcell
/obj/item/rcs/New()
..()
rcell = new(src)
/obj/item/rcs/examine(mob/user)
. = ..()
. += SPAN_NOTICE("There are [round(rcell.charge/chargecost)] charge\s left.")