mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 11:37:40 +01:00
migrate /mob/living/silicon to Initialize() (#31934)
* migrate /mob/living/silicon to Initialize() * fix some arg calls for spawning borgs * remove even more args from robot Initialize
This commit is contained in:
@@ -184,7 +184,8 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
|
||||
remove_verb(src, GLOB.ai_verbs_default)
|
||||
remove_verb(src, silicon_subsystems)
|
||||
|
||||
/mob/living/silicon/ai/New(loc, datum/ai_laws/L, obj/item/mmi/B, safety = 0)
|
||||
/mob/living/silicon/ai/Initialize(mapload, datum/ai_laws/L, obj/item/mmi/B, safety = 0)
|
||||
. = ..()
|
||||
announcer = new(config_type = /datum/announcement_configuration/ai)
|
||||
announcer.author = name
|
||||
|
||||
@@ -266,8 +267,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
|
||||
|
||||
on_mob_init()
|
||||
|
||||
spawn(5)
|
||||
new /obj/machinery/ai_powersupply(src)
|
||||
addtimer(CALLBACK(src, PROC_REF(create_power_supply)), 5 DECISECONDS)
|
||||
|
||||
eyeobj = new /mob/camera/eye/ai(loc, name, src, src)
|
||||
|
||||
@@ -283,12 +283,11 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
|
||||
for(var/I in 1 to 4)
|
||||
stored_locations += "unset" //This is checked in ai_keybinds.dm.
|
||||
|
||||
..()
|
||||
|
||||
/mob/living/silicon/ai/Initialize(mapload)
|
||||
. = ..()
|
||||
REMOVE_TRAIT(src, TRAIT_CAN_STRIP, TRAIT_GENERIC)
|
||||
|
||||
/mob/living/silicon/ai/proc/create_power_supply()
|
||||
new /obj/machinery/ai_powersupply(src)
|
||||
|
||||
/mob/living/silicon/ai/Destroy()
|
||||
GLOB.ai_list -= src
|
||||
GLOB.shuttle_caller_list -= src
|
||||
|
||||
@@ -57,8 +57,8 @@
|
||||
/mob/living/silicon/proc/subsystem_power_monitor)
|
||||
|
||||
|
||||
/mob/living/silicon/robot/drone/New()
|
||||
..()
|
||||
/mob/living/silicon/robot/drone/Initialize(mapload, connect_to_AI, mob/living/silicon/ai/ai_to_sync_to)
|
||||
. = ..()
|
||||
|
||||
remove_language("Robot Talk")
|
||||
remove_language("Galactic Common")
|
||||
@@ -112,7 +112,7 @@
|
||||
// Drones have laws to not attack people
|
||||
ADD_TRAIT(src, TRAIT_PACIFISM, INNATE_TRAIT)
|
||||
|
||||
/mob/living/silicon/robot/drone/init(alien = FALSE, mob/living/silicon/ai/ai_to_sync_to = null)
|
||||
/mob/living/silicon/robot/drone/init(mob/living/silicon/ai/ai_to_sync_to = null)
|
||||
laws = new /datum/ai_laws/drone()
|
||||
set_connected_ai(null)
|
||||
|
||||
|
||||
@@ -169,7 +169,8 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
|
||||
/mob/living/silicon/robot/get_cell()
|
||||
return cell
|
||||
|
||||
/mob/living/silicon/robot/New(loc, syndie = FALSE, unfinished = FALSE, alien = FALSE, connect_to_AI = TRUE, mob/living/silicon/ai/ai_to_sync_to = null)
|
||||
/mob/living/silicon/robot/Initialize(mapload, connect_to_AI = TRUE, mob/living/silicon/ai/ai_to_sync_to = null)
|
||||
. = ..()
|
||||
spark_system = new /datum/effect_system/spark_spread()
|
||||
spark_system.set_up(5, 0, src)
|
||||
spark_system.attach(src)
|
||||
@@ -203,8 +204,6 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
|
||||
var/datum/robot_component/C = components[V]
|
||||
C.install(new C.external_type, FALSE)
|
||||
|
||||
..()
|
||||
|
||||
add_robot_verbs()
|
||||
|
||||
// Remove inherited verbs that effectively do nothing for cyborgs, or lead to unintended behaviour.
|
||||
@@ -216,7 +215,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
|
||||
var/obj/item/stock_parts/cell/C = cell || new default_cell_type(src)
|
||||
cell_component.install(C)
|
||||
|
||||
init(alien, connect_to_AI, ai_to_sync_to)
|
||||
init(connect_to_AI, ai_to_sync_to)
|
||||
|
||||
diag_hud_set_borgcell()
|
||||
scanner = new(src)
|
||||
@@ -234,7 +233,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
|
||||
if(!has_gravity(T))
|
||||
new /obj/effect/particle_effect/ion_trails(T, _dir)
|
||||
|
||||
/mob/living/silicon/robot/proc/init(alien, connect_to_AI = TRUE, mob/living/silicon/ai/ai_to_sync_to = null)
|
||||
/mob/living/silicon/robot/proc/init(connect_to_AI = TRUE, mob/living/silicon/ai/ai_to_sync_to = null)
|
||||
aiCamera = new/obj/item/camera/siliconcam/robot_camera(src)
|
||||
make_laws()
|
||||
additional_law_channels["Binary"] = ":b "
|
||||
@@ -1738,7 +1737,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
|
||||
default_cell_type = /obj/item/stock_parts/cell/bluespace
|
||||
has_advanced_reagent_vision = TRUE
|
||||
|
||||
/mob/living/silicon/robot/deathsquad/init(alien = FALSE, connect_to_AI = TRUE, mob/living/silicon/ai/ai_to_sync_to = null)
|
||||
/mob/living/silicon/robot/deathsquad/init(connect_to_AI = TRUE, mob/living/silicon/ai/ai_to_sync_to = null)
|
||||
laws = new /datum/ai_laws/deathsquad
|
||||
module = new /obj/item/robot_module/deathsquad(src)
|
||||
module.add_languages(src)
|
||||
@@ -1772,14 +1771,14 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
|
||||
has_advanced_reagent_vision = TRUE
|
||||
|
||||
|
||||
/mob/living/silicon/robot/ert/init(alien = FALSE, connect_to_AI = TRUE, mob/living/silicon/ai/ai_to_sync_to = null)
|
||||
/mob/living/silicon/robot/ert/init(connect_to_AI = TRUE, mob/living/silicon/ai/ai_to_sync_to = null)
|
||||
laws = new /datum/ai_laws/ert_override
|
||||
radio = new /obj/item/radio/borg/ert(src)
|
||||
radio.recalculateChannels()
|
||||
aiCamera = new/obj/item/camera/siliconcam/robot_camera(src)
|
||||
|
||||
/mob/living/silicon/robot/ert/New(loc)
|
||||
..(loc)
|
||||
/mob/living/silicon/robot/ert/Initialize(mapload, connect_to_AI, mob/living/silicon/ai/ai_to_sync_to)
|
||||
. = ..()
|
||||
var/rnum = rand(1,1000)
|
||||
var/borgname = "[eprefix] ERT [rnum]"
|
||||
name = borgname
|
||||
@@ -1826,7 +1825,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
|
||||
default_cell_type = /obj/item/stock_parts/cell/bluespace
|
||||
has_advanced_reagent_vision = TRUE
|
||||
|
||||
/mob/living/silicon/robot/destroyer/init(alien = FALSE, connect_to_AI = TRUE, mob/living/silicon/ai/ai_to_sync_to = null)
|
||||
/mob/living/silicon/robot/destroyer/init(connect_to_AI = TRUE, mob/living/silicon/ai/ai_to_sync_to = null)
|
||||
aiCamera = new/obj/item/camera/siliconcam/robot_camera(src)
|
||||
additional_law_channels["Binary"] = ":b "
|
||||
laws = new /datum/ai_laws/deathsquad
|
||||
|
||||
@@ -22,11 +22,11 @@
|
||||
Your cyborg LMG will slowly produce ammunition from your power supply, and your operative pinpointer will find and locate fellow nuclear operatives. \
|
||||
<i>Help the operatives secure the disk at all costs!</i></b>"
|
||||
|
||||
/mob/living/silicon/robot/syndicate/New(loc)
|
||||
..()
|
||||
/mob/living/silicon/robot/syndicate/Initialize(mapload, connect_to_AI, mob/living/silicon/ai/ai_to_sync_to)
|
||||
. = ..()
|
||||
cell = new /obj/item/stock_parts/cell/bluespace(src)
|
||||
|
||||
/mob/living/silicon/robot/syndicate/init(alien = FALSE, mob/living/silicon/ai/ai_to_sync_to = null)
|
||||
/mob/living/silicon/robot/syndicate/init(mob/living/silicon/ai/ai_to_sync_to = null)
|
||||
laws = new /datum/ai_laws/syndicate_override
|
||||
module = new /obj/item/robot_module/syndicate(src)
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
Your energy saw functions as a circular saw, but can be activated to deal more damage, and your operative pinpointer will find and locate fellow nuclear operatives. \
|
||||
<i>Help the operatives secure the disk at all costs!</i></b>"
|
||||
|
||||
/mob/living/silicon/robot/syndicate/medical/init(alien = FALSE, mob/living/silicon/ai/ai_to_sync_to = null)
|
||||
/mob/living/silicon/robot/syndicate/medical/init(mob/living/silicon/ai/ai_to_sync_to = null)
|
||||
..()
|
||||
module = new /obj/item/robot_module/syndicate_medical(src)
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
Be aware that physical contact or taking damage will break your disguise. \
|
||||
<i>Help the operatives secure the disk at all costs!</i></b>"
|
||||
|
||||
/mob/living/silicon/robot/syndicate/saboteur/init(alien = FALSE, mob/living/silicon/ai/ai_to_sync_to = null)
|
||||
/mob/living/silicon/robot/syndicate/saboteur/init(mob/living/silicon/ai/ai_to_sync_to = null)
|
||||
..()
|
||||
module = new /obj/item/robot_module/syndicate_saboteur(src)
|
||||
|
||||
|
||||
@@ -83,16 +83,9 @@
|
||||
/// The delay used when toggling door bolts or electrification
|
||||
var/door_bolt_delay = 3 SECONDS
|
||||
|
||||
/mob/living/silicon/New()
|
||||
GLOB.silicon_mob_list |= src
|
||||
..()
|
||||
add_language("Galactic Common")
|
||||
init_subsystems()
|
||||
RegisterSignal(GLOB.alarm_manager, COMSIG_TRIGGERED_ALARM, PROC_REF(alarm_triggered))
|
||||
RegisterSignal(GLOB.alarm_manager, COMSIG_CANCELLED_ALARM, PROC_REF(alarm_cancelled))
|
||||
|
||||
/mob/living/silicon/Initialize(mapload)
|
||||
. = ..()
|
||||
GLOB.silicon_mob_list |= src
|
||||
for(var/hud_key, hud in GLOB.huds)
|
||||
var/datum/atom_hud/data/diagnostic/diag_hud = hud
|
||||
if(!istype(diag_hud))
|
||||
@@ -108,6 +101,10 @@
|
||||
stack_trace("Invalid type [armor.type] found in .armor during /obj Initialize()")
|
||||
regenerate_icons()
|
||||
|
||||
add_language("Galactic Common")
|
||||
init_subsystems()
|
||||
RegisterSignal(GLOB.alarm_manager, COMSIG_TRIGGERED_ALARM, PROC_REF(alarm_triggered))
|
||||
RegisterSignal(GLOB.alarm_manager, COMSIG_CANCELLED_ALARM, PROC_REF(alarm_cancelled))
|
||||
|
||||
/mob/living/silicon/med_hud_set_health()
|
||||
return //we use a different hud
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
invisibility = 101
|
||||
|
||||
// Creating a new borg here will connect them to a default AI and notify that AI, if `connect_to_default_AI` is TRUE.
|
||||
var/mob/living/silicon/robot/O = new /mob/living/silicon/robot(loc, connect_to_AI = connect_to_default_AI)
|
||||
var/mob/living/silicon/robot/O = new /mob/living/silicon/robot(loc, connect_to_default_AI)
|
||||
|
||||
// If `AI` is passed in, we want to connect to that AI specifically.
|
||||
if(AI)
|
||||
|
||||
Reference in New Issue
Block a user