mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 19:17:50 +01:00
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:
@@ -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
|
||||
..()
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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.")
|
||||
|
||||
Reference in New Issue
Block a user