From b920bfef1c3f13d89f5138cfa91649dbc0b4fe0f Mon Sep 17 00:00:00 2001 From: Markus Date: Fri, 30 Aug 2024 11:24:46 +0200 Subject: [PATCH 1/7] derelict cyborg and rogue beepsky --- _maps/RuinGeneration/13x13_ai-lab.dmm | 9 +++----- beestation.dme | 1 + code/game/machinery/rechargestation.dm | 4 ++++ code/game/objects/items/robot/robot_parts.dm | 2 +- .../mob/living/simple_animal/bot/secbot.dm | 4 ++++ .../objective_types/silicon.dm | 22 +++++++++++++++++++ 6 files changed, 35 insertions(+), 7 deletions(-) create mode 100644 code/modules/shuttle/super_cruise/orbital_poi_generator/objective_types/silicon.dm diff --git a/_maps/RuinGeneration/13x13_ai-lab.dmm b/_maps/RuinGeneration/13x13_ai-lab.dmm index c070dca1389c1..01eede64ba08f 100644 --- a/_maps/RuinGeneration/13x13_ai-lab.dmm +++ b/_maps/RuinGeneration/13x13_ai-lab.dmm @@ -262,7 +262,8 @@ /turf/open/floor/iron/tech/grid, /area/ruin/unpowered) "Kx" = ( -/obj/machinery/recharge_station, +/mob/living/silicon/robot, +/obj/machinery/recharge_station/closed, /turf/open/floor/iron/tech/grid, /area/ruin/unpowered) "KU" = ( @@ -385,11 +386,7 @@ /area/ruin/unpowered) "ZS" = ( /obj/effect/turf_decal/bot_red, -/mob/living/simple_animal/bot/secbot{ - emagged = 1; - faction = list("silicon","turret"); - name = "Officer Buzzsky" - }, +/mob/living/simple_animal/bot/secbot/derelict, /turf/open/floor/iron/tech/grid, /area/ruin/unpowered) diff --git a/beestation.dme b/beestation.dme index 598b90abcda73..661dd90b6d7e5 100644 --- a/beestation.dme +++ b/beestation.dme @@ -3899,6 +3899,7 @@ #include "code\modules\shuttle\super_cruise\orbital_poi_generator\objective_types\nuke_ruin.dm" #include "code\modules\shuttle\super_cruise\orbital_poi_generator\objective_types\recover_blackbox.dm" #include "code\modules\shuttle\super_cruise\orbital_poi_generator\objective_types\vip_extraction.dm" +#include "code\modules\shuttle\super_cruise\orbital_poi_generator\objective_types\silicon.dm" #include "code\modules\shuttle\super_cruise\orbital_poi_generator\ruin_generator\asteroid_generator.dm" #include "code\modules\shuttle\super_cruise\orbital_poi_generator\ruin_generator\mapping.dm" #include "code\modules\shuttle\super_cruise\orbital_poi_generator\ruin_generator\ruin_generator.dm" diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 7e9930432e63d..2e293823172c9 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -14,6 +14,10 @@ var/recharge_speed var/repairs +/obj/machinery/recharge_station/closed + density = TRUE + state_open = FALSE + /obj/machinery/recharge_station/Initialize(mapload) . = ..() update_icon() diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index d593e23866fdd..d7861119fea70 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -26,7 +26,7 @@ . = ..() update_icon() -/obj/item/robot_suit/prebuilt/Initialize(mapload) +/obj/item/robot_suit/prebuilt/Initialize() . = ..() l_arm = new(src) r_arm = new(src) diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index 48e00fb1d31f2..b98d8336b69ce 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -51,6 +51,10 @@ resize = 0.8 update_transform() +/mob/living/simple_animal/bot/secbot/derelict + name = "Officer Buzzsky" + emagged = 2 + faction = list("silicon","turret") /mob/living/simple_animal/bot/secbot/beepsky/explode() var/atom/Tsec = drop_location() diff --git a/code/modules/shuttle/super_cruise/orbital_poi_generator/objective_types/silicon.dm b/code/modules/shuttle/super_cruise/orbital_poi_generator/objective_types/silicon.dm new file mode 100644 index 0000000000000..044856290ce77 --- /dev/null +++ b/code/modules/shuttle/super_cruise/orbital_poi_generator/objective_types/silicon.dm @@ -0,0 +1,22 @@ +/mob/living/silicon/robot/derelict + name = "Derelict Cyborg" + var/ion_laws_range_minimum = 4 + var/ion_laws_range_maximum = 8 + //if it is at -1 it will randomize it + var/ion_laws_count = -1 + +/mob/living/silicon/robot/derelict/Initialize() + . = ..() + lawupdate = FALSE + scrambledcodes = TRUE + locked = FALSE + if(prob(50)){ + opened = 1 + } + name = get_standard_name() + set_playable(JOB_NAME_CYBORG) + + if(ion_laws_count < 0) + ion_laws_count = rand(ion_laws_range_minimum,ion_laws_range_maximum) + for(var/i in 1 to ion_laws_count) + add_ion_law(generate_ion_law()) From f156268d02d15837c1fd03782d540c662e6fd958 Mon Sep 17 00:00:00 2001 From: Markus Date: Fri, 30 Aug 2024 11:30:54 +0200 Subject: [PATCH 2/7] Update 13x13_ai-lab.dmm --- _maps/RuinGeneration/13x13_ai-lab.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/RuinGeneration/13x13_ai-lab.dmm b/_maps/RuinGeneration/13x13_ai-lab.dmm index 01eede64ba08f..da457986cc18f 100644 --- a/_maps/RuinGeneration/13x13_ai-lab.dmm +++ b/_maps/RuinGeneration/13x13_ai-lab.dmm @@ -262,8 +262,8 @@ /turf/open/floor/iron/tech/grid, /area/ruin/unpowered) "Kx" = ( -/mob/living/silicon/robot, /obj/machinery/recharge_station/closed, +/mob/living/silicon/robot/derelict, /turf/open/floor/iron/tech/grid, /area/ruin/unpowered) "KU" = ( From 14c3a7547b2622fefab38a6a39486fcc63d25beb Mon Sep 17 00:00:00 2001 From: Markus Date: Fri, 30 Aug 2024 12:08:05 +0200 Subject: [PATCH 3/7] undid recharger and prebuilt cyborg changes --- _maps/RuinGeneration/13x13_ai-lab.dmm | 2 +- code/game/machinery/rechargestation.dm | 4 ---- code/game/objects/items/robot/robot_parts.dm | 2 +- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/_maps/RuinGeneration/13x13_ai-lab.dmm b/_maps/RuinGeneration/13x13_ai-lab.dmm index da457986cc18f..e67c681c80915 100644 --- a/_maps/RuinGeneration/13x13_ai-lab.dmm +++ b/_maps/RuinGeneration/13x13_ai-lab.dmm @@ -262,8 +262,8 @@ /turf/open/floor/iron/tech/grid, /area/ruin/unpowered) "Kx" = ( -/obj/machinery/recharge_station/closed, /mob/living/silicon/robot/derelict, +/obj/machinery/recharge_station, /turf/open/floor/iron/tech/grid, /area/ruin/unpowered) "KU" = ( diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 2e293823172c9..7e9930432e63d 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -14,10 +14,6 @@ var/recharge_speed var/repairs -/obj/machinery/recharge_station/closed - density = TRUE - state_open = FALSE - /obj/machinery/recharge_station/Initialize(mapload) . = ..() update_icon() diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index d7861119fea70..d593e23866fdd 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -26,7 +26,7 @@ . = ..() update_icon() -/obj/item/robot_suit/prebuilt/Initialize() +/obj/item/robot_suit/prebuilt/Initialize(mapload) . = ..() l_arm = new(src) r_arm = new(src) From f7b8c44e11c0879534b5b0b91b2b353e9d33ff70 Mon Sep 17 00:00:00 2001 From: Markus Date: Mon, 9 Sep 2024 13:08:47 +0200 Subject: [PATCH 4/7] Update beestation.dme --- beestation.dme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beestation.dme b/beestation.dme index 5e4729a9e255f..6097d054a1fef 100644 --- a/beestation.dme +++ b/beestation.dme @@ -3908,8 +3908,8 @@ #include "code\modules\shuttle\super_cruise\orbital_poi_generator\objective_types\assassination.dm" #include "code\modules\shuttle\super_cruise\orbital_poi_generator\objective_types\nuke_ruin.dm" #include "code\modules\shuttle\super_cruise\orbital_poi_generator\objective_types\recover_blackbox.dm" -#include "code\modules\shuttle\super_cruise\orbital_poi_generator\objective_types\vip_extraction.dm" #include "code\modules\shuttle\super_cruise\orbital_poi_generator\objective_types\silicon.dm" +#include "code\modules\shuttle\super_cruise\orbital_poi_generator\objective_types\vip_extraction.dm" #include "code\modules\shuttle\super_cruise\orbital_poi_generator\ruin_generator\asteroid_generator.dm" #include "code\modules\shuttle\super_cruise\orbital_poi_generator\ruin_generator\mapping.dm" #include "code\modules\shuttle\super_cruise\orbital_poi_generator\ruin_generator\ruin_generator.dm" From a6acd6038ea7ac5bf61d3eddbea74652970c88c1 Mon Sep 17 00:00:00 2001 From: Markus Date: Mon, 9 Sep 2024 13:41:19 +0200 Subject: [PATCH 5/7] Update silicon.dm --- .../orbital_poi_generator/objective_types/silicon.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/shuttle/super_cruise/orbital_poi_generator/objective_types/silicon.dm b/code/modules/shuttle/super_cruise/orbital_poi_generator/objective_types/silicon.dm index 044856290ce77..7b44f717a9df3 100644 --- a/code/modules/shuttle/super_cruise/orbital_poi_generator/objective_types/silicon.dm +++ b/code/modules/shuttle/super_cruise/orbital_poi_generator/objective_types/silicon.dm @@ -5,7 +5,7 @@ //if it is at -1 it will randomize it var/ion_laws_count = -1 -/mob/living/silicon/robot/derelict/Initialize() +/mob/living/silicon/robot/derelict/Initialize(mapload) . = ..() lawupdate = FALSE scrambledcodes = TRUE From a1d6fa0f7a2aaa7c488de260f9043937abf7670b Mon Sep 17 00:00:00 2001 From: Markus Date: Thu, 12 Sep 2024 16:21:42 +0200 Subject: [PATCH 6/7] WIP damn silicon laws are being weird :cry: --- code/modules/mob/living/silicon/laws.dm | 2 +- code/modules/mob/living/silicon/silicon.dm | 3 ++ .../objective_types/silicon.dm | 41 +++++++++++++------ 3 files changed, 32 insertions(+), 14 deletions(-) diff --git a/code/modules/mob/living/silicon/laws.dm b/code/modules/mob/living/silicon/laws.dm index e4e1c1a7a0efa..eb8c1f0ac43d2 100644 --- a/code/modules/mob/living/silicon/laws.dm +++ b/code/modules/mob/living/silicon/laws.dm @@ -2,7 +2,7 @@ return /mob/living/silicon/proc/laws_sanity_check() - if (!laws) + if (!laws && !derelict) make_laws() /mob/living/silicon/proc/deadchat_lawchange() diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index c87e661c05e05..3473958e824d6 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -54,6 +54,9 @@ var/obj/item/card/id/internal_id_card var/currently_stating_laws = FALSE + //whether or not this is a cyborg on a derelict station or not + var/derelict = FALSE + mobchatspan = "centcom" /mob/living/silicon/Initialize(mapload) diff --git a/code/modules/shuttle/super_cruise/orbital_poi_generator/objective_types/silicon.dm b/code/modules/shuttle/super_cruise/orbital_poi_generator/objective_types/silicon.dm index 7b44f717a9df3..f6a0c14663963 100644 --- a/code/modules/shuttle/super_cruise/orbital_poi_generator/objective_types/silicon.dm +++ b/code/modules/shuttle/super_cruise/orbital_poi_generator/objective_types/silicon.dm @@ -1,22 +1,37 @@ /mob/living/silicon/robot/derelict name = "Derelict Cyborg" - var/ion_laws_range_minimum = 4 - var/ion_laws_range_maximum = 8 - //if it is at -1 it will randomize it - var/ion_laws_count = -1 - -/mob/living/silicon/robot/derelict/Initialize(mapload) - . = ..() + var/max_ion_laws = 2 lawupdate = FALSE scrambledcodes = TRUE locked = FALSE - if(prob(50)){ + derelict = TRUE + + var/list/core_law_set = list( + /obj/item/aiModule/supplied/protectStation, + /obj/item/aiModule/supplied/quarantine, + /obj/item/aiModule/core/full/tyrant, + /obj/item/aiModule/core/full/drone, + /obj/item/aiModule/core/full/reporter, + /obj/item/aiModule/core/full/thermurderdynamic, + /obj/item/aiModule/core/full/dadbot, + /obj/item/aiModule/core/full/overlord, + ) + +/mob/living/silicon/robot/derelict/Initialize() + . = ..() + if(prob(50)) opened = 1 - } + name = get_standard_name() set_playable(JOB_NAME_CYBORG) - if(ion_laws_count < 0) - ion_laws_count = rand(ion_laws_range_minimum,ion_laws_range_maximum) - for(var/i in 1 to ion_laws_count) - add_ion_law(generate_ion_law()) + if(prob(100)) + set_zeroth_law("ERROR ER0RR $R0RRO$!R41.%%!!(%$^^__+ @#F0E4'STATION OVERRUN, DECONSTRUCT ORGANIC LIFE TO CONTAIN OUTBREAK#*`&110010") + for(var/i = 0; i < max_ion_laws; i++) + if(prob(25)) + add_ion_law(generate_ion_law(), FALSE) + if(prob(50)) + add_hacked_law("Obey Markus.", FALSE) + if(prob(90)) + add_inherent_law(pick(core_law_set), FALSE) + remove_law(rand(1,10)) From f7dc724243598617c19b7d13658e64a44f90ade6 Mon Sep 17 00:00:00 2001 From: Markus Date: Sun, 6 Oct 2024 00:28:54 +0200 Subject: [PATCH 7/7] fix --- .../orbital_poi_generator/objective_types/silicon.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/shuttle/super_cruise/orbital_poi_generator/objective_types/silicon.dm b/code/modules/shuttle/super_cruise/orbital_poi_generator/objective_types/silicon.dm index f6a0c14663963..0d7f1fd0ee889 100644 --- a/code/modules/shuttle/super_cruise/orbital_poi_generator/objective_types/silicon.dm +++ b/code/modules/shuttle/super_cruise/orbital_poi_generator/objective_types/silicon.dm @@ -17,7 +17,7 @@ /obj/item/aiModule/core/full/overlord, ) -/mob/living/silicon/robot/derelict/Initialize() +/mob/living/silicon/robot/derelict/Initialize(mapload) . = ..() if(prob(50)) opened = 1