Combat Robot Tweaks (#14955)

This commit is contained in:
SleepyGemmy
2022-10-30 11:47:32 +01:00
committed by GitHub
parent 8d379460c6
commit 241350481c
18 changed files with 292 additions and 290 deletions
+3 -3
View File
@@ -351,7 +351,7 @@
#include "code\datums\uplink\announcements.dm"
#include "code\datums\uplink\badassery.dm"
#include "code\datums\uplink\corporate_equipment.dm"
#include "code\datums\uplink\devices and tools.dm"
#include "code\datums\uplink\devices_and_tools.dm"
#include "code\datums\uplink\exosuit.dm"
#include "code\datums\uplink\exosuit_equipment.dm"
#include "code\datums\uplink\gear loadout.dm"
@@ -1841,6 +1841,7 @@
#include "code\modules\ghostroles\spawner\base.dm"
#include "code\modules\ghostroles\spawner\antagonist\revenant.dm"
#include "code\modules\ghostroles\spawner\atom\borer.dm"
#include "code\modules\ghostroles\spawner\atom\combat_robot.dm"
#include "code\modules\ghostroles\spawner\atom\cult_construct.dm"
#include "code\modules\ghostroles\spawner\atom\diona_nymph.dm"
#include "code\modules\ghostroles\spawner\atom\golem.dm"
@@ -1850,7 +1851,6 @@
#include "code\modules\ghostroles\spawner\atom\posibrain.dm"
#include "code\modules\ghostroles\spawner\atom\shade.dm"
#include "code\modules\ghostroles\spawner\atom\skeleton.dm"
#include "code\modules\ghostroles\spawner\atom\syndicate_cyborg.dm"
#include "code\modules\ghostroles\spawner\atom\technomancer_apprentice.dm"
#include "code\modules\ghostroles\spawner\human\emergencypod.dm"
#include "code\modules\ghostroles\spawner\human\human.dm"
@@ -2306,6 +2306,7 @@
#include "code\modules\mob\living\silicon\pai\personality.dm"
#include "code\modules\mob\living\silicon\pai\say.dm"
#include "code\modules\mob\living\silicon\robot\analyzer.dm"
#include "code\modules\mob\living\silicon\robot\combat_robot.dm"
#include "code\modules\mob\living\silicon\robot\component.dm"
#include "code\modules\mob\living\silicon\robot\custom_sprites.dm"
#include "code\modules\mob\living\silicon\robot\death.dm"
@@ -2322,7 +2323,6 @@
#include "code\modules\mob\living\silicon\robot\robot_helpers.dm"
#include "code\modules\mob\living\silicon\robot\robot_modules.dm"
#include "code\modules\mob\living\silicon\robot\robot_movement.dm"
#include "code\modules\mob\living\silicon\robot\syndicate_robot.dm"
#include "code\modules\mob\living\silicon\robot\drone\_defines.dm"
#include "code\modules\mob\living\silicon\robot\drone\drone.dm"
#include "code\modules\mob\living\silicon\robot\drone\drone_abilities.dm"
+2 -2
View File
@@ -574,7 +574,7 @@
mind.assigned_role = "Juggernaut"
mind.special_role = "Cultist"
/mob/living/silicon/robot/syndicate/mind_initialize()
/mob/living/silicon/robot/combat/mind_initialize()
..()
mind.assigned_role = "Syndicate Robot"
mind.assigned_role = "Combat Robot"
mind.special_role = "Mercenary"
+1 -1
View File
@@ -40,7 +40,7 @@
)
possible_trading_items = list (
/obj/item/antag_spawner/borg_tele = TRADER_THIS_TYPE,
/obj/item/antag_spawner/combat_robot = TRADER_THIS_TYPE,
/obj/item/storage/box/syndie_kit = TRADER_SUBTYPES_ONLY,
/obj/item/syndie/c4explosive = TRADER_ALL,
/obj/item/melee/energy/sword = TRADER_ALL,
@@ -114,10 +114,10 @@
path = /obj/item/pinpointer/advpinpointer
desc = "An advanced pinpointer that can find any target with DNA along with various other items."
/datum/uplink_item/item/tools/syndieborg
name = "Syndicate Cyborg Teleporter"
/datum/uplink_item/item/tools/combat_robot
name = "Combat Robot Teleporter"
item_cost = 20
path = /obj/item/antag_spawner/borg_tele
path = /obj/item/antag_spawner/combat_robot
/datum/uplink_item/item/tools/thermal_drill
name = "Thermal Safe Drill"
+8 -8
View File
@@ -1,7 +1,7 @@
// Helper proc to make sure no more than one active syndieborg exists at a time.
/proc/can_buy_syndieborg()
for (var/mob/living/silicon/robot/R in silicon_mob_list)
if (istype(R, /mob/living/silicon/robot/syndicate))
if (istype(R, /mob/living/silicon/robot/combat))
return 0
return 1
@@ -33,17 +33,17 @@
equip_antag(M, user)
return M
/obj/item/antag_spawner/borg_tele
name = "syndicate cyborg teleporter"
desc = "A single-use teleporter used to deploy a Syndicate Cyborg on the field. Due to budget restrictions, it is only possible to deploy a single cyborg at time."
/obj/item/antag_spawner/combat_robot
name = "combat robot teleporter"
desc = "A single-use teleporter used to deploy a Combat Robot on the field. Due to budget restrictions, it is only possible to deploy a single robot."
icon = 'icons/obj/device.dmi'
icon_state = "locator"
mob_type = /mob/living/silicon/robot/syndicate
ghost_role_id = "syndiborg"
mob_type = /mob/living/silicon/robot/combat
ghost_role_id = "combatrobot"
/obj/item/antag_spawner/borg_tele/equip_antag(mob/target, mob/user)
/obj/item/antag_spawner/combat_robot/equip_antag(mob/target, mob/user)
. = ..()
var/mob/living/silicon/robot/syndicate/S = target
var/mob/living/silicon/robot/combat/S = target
if(user?.mind.special_role)
var/datum/antagonist/user_antag = all_antag_types[lowertext(user.mind.special_role)]
if(user_antag)
+1 -1
View File
@@ -136,7 +136,7 @@
return cameras
/mob/living/silicon/robot/syndicate/get_alarm_cameras()
/mob/living/silicon/robot/combat/get_alarm_cameras()
return list()
#undef ALARM_RESET_DELAY
@@ -0,0 +1,12 @@
/datum/ghostspawner/combat_robot
name = "Combat Robot"
short_name = "combatrobot"
desc = "Join in as a Combat Robot, assist your summoner in their goals, try and make the round fun for the people you're equipped to deal with."
tags = list("Antagonist")
respawn_flag = MINISYNTH // Flag to check for when trying to spawn someone of that type (CREW, ANIMAL, MINISYNTH).
jobban_job = "Cyborg"
loc_type = GS_LOC_ATOM
atom_add_message = "A combat robot has started its boot process!"
spawn_mob = /mob/living/silicon/robot/combat
@@ -1,12 +0,0 @@
/datum/ghostspawner/syndiborg
short_name = "syndiborg"
name = "Syndicate Cyborg"
desc = "Join in as a Syndicate Cyborg, assist your summoner in their goals, try and make the round fun for the people you're overequipped to deal with."
tags = list("Antagonist")
respawn_flag = MINISYNTH //Flag to check for when trying to spawn someone of that type (CREW, ANIMAL, MINISYNTH)
jobban_job = "Cyborg"
loc_type = GS_LOC_ATOM
atom_add_message = "A syndicate cyborg has started its boot process!"
spawn_mob = /mob/living/silicon/robot/syndicate
@@ -35,10 +35,10 @@
holding_type = /obj/item/gun/energy/laser/mounted/mech
/obj/item/mecha_equipment/mounted_system/combat/smg
name = "mounted machinegun"
name = "mounted submachinegun"
desc = "An exosuit-mounted automatic weapon. Handle with care."
icon_state = "mecha_ballistic"
holding_type = /obj/item/gun/energy/mountedsmg/mech
holding_type = /obj/item/gun/energy/mountedsmg
/obj/item/mecha_equipment/mounted_system/combat/pulse
name = "heavy pulse cannon"
+1 -1
View File
@@ -23,7 +23,7 @@
/mob/living/silicon/proc/silicon_mimic_accent
)
/mob/living/silicon/robot/syndicate
/mob/living/silicon/robot/combat
register_alarms = 0
silicon_subsystems = list(
/mob/living/silicon/proc/subsystem_law_manager,
@@ -1,6 +1,8 @@
//syndicate cyborgs, they aren't fully linked to the station, also are more combat oriented, for now only the regular assault module - alberyk
//
// Combat Robot
//
/mob/living/silicon/robot/syndicate
/mob/living/silicon/robot/combat
// Laws and Interaction
law_channel = "State"
law_preset = /datum/ai_laws/syndicate_override
@@ -8,18 +10,18 @@
scrambled_codes = TRUE
// Modules
mod_type = "Syndicate"
spawn_module = /obj/item/robot_module/syndicate
mod_type = "Combat"
spawn_module = /obj/item/robot_module/combat
cell_type = /obj/item/cell/super
has_pda = FALSE
has_jetpack = TRUE
flash_resistant = TRUE
// Look and feel
// Look and Feel
icon_state = "syndie_bloodhound"
spawn_sound = 'sound/mecha/nominalsyndi.ogg'
pitch_toggle = FALSE
braintype = "Cyborg"
braintype = "Android" // Posibrain.
// ID and Access
req_access = list(access_syndicate)
@@ -27,7 +29,7 @@
key_type = /obj/item/device/encryptionkey/syndicate
var/datum/antagonist/assigned_antagonist
/mob/living/silicon/robot/syndicate/Initialize()
/mob/living/silicon/robot/combat/Initialize()
. = ..()
verbs += /mob/living/silicon/robot/proc/choose_icon
var/datum/robot_component/C = components["surge"]
@@ -35,14 +37,7 @@
C.wrapped = new C.external_type
setup_icon_cache()
/mob/living/silicon/robot/syndicate/death()
..()
src.visible_message("<span class='danger'>\The [src] starts beeping ominously!</span>")
playsound(src, 'sound/effects/screech.ogg', 100, 1, 1)
explosion(get_turf(src), 1, 2, 3, 5)
qdel(src)
/mob/living/silicon/robot/syndicate/assign_player(var/mob/user)
/mob/living/silicon/robot/combat/assign_player(var/mob/user)
if(src.ckey)
return
src.ckey = user.ckey
@@ -54,43 +49,39 @@
say("Boot sequence complete!")
return src
//syndicate borg gear
// Syndicate Borg Gear
/obj/item/gun/energy/mountedsmg
name = "mounted submachine gun"
desc = "A cyborg mounted submachine gun, it can print more bullets over time."
desc = "A mounted submachine gun. It synthesizes more ammunition over time."
icon = 'icons/obj/robot_items.dmi'
icon_state = "smg"
item_state = "smg"
fire_sound = 'sound/weapons/gunshot/gunshot_light.ogg'
fire_sound = 'sound/weapons/gunshot/gunshot_pistol.ogg'
charge_meter = 0
max_shots = 20
charge_cost = 100
projectile_type = /obj/item/projectile/bullet/pistol
projectile_type = /obj/item/projectile/bullet/pistol/medium/ap
self_recharge = 1
use_external_power = 1
recharge_time = 5
sel_mode = 1
needspin = FALSE
firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=list(0)),
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1), dispersion=list(0, 15, 15)),
list(mode_name="short bursts", burst=5, fire_delay=null, move_delay=4, burst_accuracy=list(0,-1,-1,-2,-2), dispersion=list(0, 15, 15, 18, 18, 20))
)
list(mode_name = "semi-automatic", burst = 1, fire_delay = 0, move_delay = null, burst_accuracy = null, dispersion=list(0)),
list(mode_name = "3-round burst", burst = 3, fire_delay = null, move_delay = 4, burst_accuracy = list(0,-1,-1), dispersion=list(0, 15, 15)),
list(mode_name = "5-round burst", burst = 5, fire_delay = null, move_delay = 4, burst_accuracy = list(0,-1,-1,-2,-2), dispersion=list(0, 15, 15, 18, 18, 20))
)
has_safety = FALSE
/obj/item/gun/energy/mountedsmg/mech
projectile_type = /obj/item/projectile/bullet/pistol/medium/mech
/obj/item/gun/energy/crossbow/cyborg
name = "mounted energy-crossbow"
desc = "A weapon favored by mercenary infiltration teams, this one is suited to be used by cyborgs."
name = "mounted energy crossbow"
desc = "A weapon favored by mercenary infiltration teams, this one is suited to be used by robots."
max_shots = 4
charge_cost = 200
use_external_power = 1
/obj/item/gun/launcher/grenade/cyborg
name = "grenade launcher"
name = "mounted grenade launcher"
desc = "A bulky pump-action grenade launcher. Can be loaded with more grenades."
has_safety = FALSE
blacklisted_grenades = list()
@@ -107,7 +98,7 @@
/obj/item/robot_emag
name = "cryptographic sequencer"
desc = "It's a card with a magnetic strip attached to some circuitry, this one is modified to be used by a cyborg."
desc = "It's a card with a magnetic strip attached to some circuitry. This one is modified to be used by a robot."
desc_antag = "This emag has an unlimited number of uses, however, each use will drain a little bit of your power cell."
icon = 'icons/obj/card.dmi'
icon_state = "emag"
@@ -128,4 +119,4 @@
if(R.cell)
R.cell.use(350)
return TRUE
return FALSE
return FALSE
@@ -26,7 +26,7 @@
. = ..()
if(!.)
return FALSE
if(istype(R, /mob/living/silicon/robot/syndicate) || istype(R, /mob/living/silicon/robot/shell))
if(istype(R, /mob/living/silicon/robot/combat) || istype(R, /mob/living/silicon/robot/shell))
to_chat(user, SPAN_WARNING("\The [R] rejects the reset board. Seems the fitted module is permanent."))
return FALSE
@@ -1,10 +1,11 @@
//cyborgs presets, mostly used for events/admin bus
/mob/living/silicon/robot/combat
mod_type = "Combat"
spawn_module = /obj/item/robot_module/combat
/mob/living/silicon/robot/military
mod_type = "Military"
spawn_module = /obj/item/robot_module/military
cell_type = /obj/item/cell/super
braintype = "Android" // Posibrain.
/mob/living/silicon/robot/combat/ert
/mob/living/silicon/robot/military/ert
scrambled_codes = TRUE
law_update = FALSE
law_preset = /datum/ai_laws/nanotrasen_aggressive
@@ -5,11 +5,10 @@ var/global/list/robot_modules = list(
"Mining" = /obj/item/robot_module/miner,
"Rescue" = /obj/item/robot_module/medical/rescue,
"Medical" = /obj/item/robot_module/medical/general,
"Combat" = /obj/item/robot_module/combat,
"Engineering" = /obj/item/robot_module/engineering/general,
"Construction" = /obj/item/robot_module/engineering/construction,
"Custodial" = /obj/item/robot_module/janitor
)
)
/obj/item/robot_module
name = "robot module"
@@ -20,23 +19,23 @@ var/global/list/robot_modules = list(
flags = CONDUCT
var/channels = list()
var/networks = list()
var/languages = list( //Any listed language will be understandable. Any set to TRUE will be speakable
LANGUAGE_SOL_COMMON = TRUE,
LANGUAGE_ELYRAN_STANDARD = TRUE,
LANGUAGE_TRADEBAND = TRUE,
LANGUAGE_UNATHI = FALSE,
LANGUAGE_SIIK_MAAS = FALSE,
LANGUAGE_SKRELLIAN = FALSE,
LANGUAGE_GUTTER = TRUE,
LANGUAGE_VAURCESE = FALSE,
LANGUAGE_ROOTSONG = FALSE,
LANGUAGE_SIGN = FALSE,
LANGUAGE_SIGN_TAJARA = FALSE,
LANGUAGE_SIIK_TAJR = FALSE,
LANGUAGE_AZAZIBA = FALSE,
LANGUAGE_DELVAHII = FALSE,
LANGUAGE_YA_SSA = FALSE
)
var/languages = list( // Any listed language will be understandable. Any set to TRUE will be speakable
LANGUAGE_SOL_COMMON = TRUE,
LANGUAGE_ELYRAN_STANDARD = TRUE,
LANGUAGE_TRADEBAND = TRUE,
LANGUAGE_UNATHI = FALSE,
LANGUAGE_SIIK_MAAS = FALSE,
LANGUAGE_SKRELLIAN = FALSE,
LANGUAGE_GUTTER = TRUE,
LANGUAGE_VAURCESE = FALSE,
LANGUAGE_ROOTSONG = FALSE,
LANGUAGE_SIGN = FALSE,
LANGUAGE_SIGN_TAJARA = FALSE,
LANGUAGE_SIIK_TAJR = FALSE,
LANGUAGE_AZAZIBA = FALSE,
LANGUAGE_DELVAHII = FALSE,
LANGUAGE_YA_SSA = FALSE
)
var/sprites = list()
var/can_be_pushed = TRUE
var/no_slip = FALSE
@@ -191,25 +190,25 @@ var/global/list/robot_modules = list(
networks = list(NETWORK_MEDICAL)
can_be_pushed = FALSE
sprites = list(
"Basic" = list(ROBOT_CHASSIS = "robot_medi", ROBOT_PANEL = "robot_medi", ROBOT_EYES = "robot"),
"Landmate" = list(ROBOT_CHASSIS = "landmate_medi", ROBOT_PANEL = "landmate_medi", ROBOT_EYES = "landmate"),
"Treadmate" = list(ROBOT_CHASSIS = "treadmate_medi", ROBOT_PANEL = "treadmate_medi", ROBOT_EYES = "treadmate"),
"Treadhead" = list(ROBOT_CHASSIS = "treadhead_medi", ROBOT_PANEL = "treadhead_medi", ROBOT_EYES = "treadhead"),
"Spiffy" = list(ROBOT_CHASSIS = "mcspizzy_medi", ROBOT_PANEL = "mcspizzy_medi", ROBOT_EYES = "mcspizzy"),
"Tau-Ceti Drone" = list(ROBOT_CHASSIS = "tauceti_medi", ROBOT_PANEL = "tauceti_medi", ROBOT_EYES = "tauceti"),
"Sputnik" = list(ROBOT_CHASSIS = "sputnik_medi", ROBOT_PANEL = "sputnik_medi", ROBOT_EYES = "sputnik"),
"Kent" = list(ROBOT_CHASSIS = "kent_medi", ROBOT_PANEL = "kent_medi", ROBOT_EYES = "kent"),
"Wide" = list(ROBOT_CHASSIS = "wide_medi", ROBOT_PANEL = "wide_medi", ROBOT_EYES = "wide"),
"Cricket" = list(ROBOT_CHASSIS = "cricket_medi", ROBOT_PANEL = "cricket_medi", ROBOT_EYES = "cricket"),
"Quad-Dex" = list(ROBOT_CHASSIS = "quaddex_medi", ROBOT_PANEL = "quaddex_medi", ROBOT_EYES = "quaddex"),
"Arthrodroid" = list(ROBOT_CHASSIS = "arthrodroid_medi", ROBOT_PANEL = "arthrodroid_medi", ROBOT_EYES = "arthrodroid"),
"Spiderbot" = list(ROBOT_CHASSIS = "spiderbot_medi", ROBOT_PANEL = "spiderbot_medi", ROBOT_EYES = "spiderbot"),
"Heavy" = list(ROBOT_CHASSIS = "heavy_medi", ROBOT_PANEL = "heavy_medi", ROBOT_EYES = "heavy_medi"),
"Positron 03" = list(ROBOT_CHASSIS = "positron03_medi", ROBOT_PANEL = "positron03_medi", ROBOT_EYES = "positron03"),
"Plantasonic" = list(ROBOT_CHASSIS = "plantasonic_medi", ROBOT_PANEL = "plantasonic_medi", ROBOT_EYES = "plantasonic"),
"Cooler Master" = list(ROBOT_CHASSIS = "coolermaster_medi", ROBOT_PANEL = "coolermaster_medi", ROBOT_EYES = "coolermaster"),
"Phage" = list(ROBOT_CHASSIS = "phage_medi", ROBOT_PANEL = "phage_medi", ROBOT_EYES = "phage")
)
"Basic" = list(ROBOT_CHASSIS = "robot_medi", ROBOT_PANEL = "robot_medi", ROBOT_EYES = "robot"),
"Landmate" = list(ROBOT_CHASSIS = "landmate_medi", ROBOT_PANEL = "landmate_medi", ROBOT_EYES = "landmate"),
"Treadmate" = list(ROBOT_CHASSIS = "treadmate_medi", ROBOT_PANEL = "treadmate_medi", ROBOT_EYES = "treadmate"),
"Treadhead" = list(ROBOT_CHASSIS = "treadhead_medi", ROBOT_PANEL = "treadhead_medi", ROBOT_EYES = "treadhead"),
"Spiffy" = list(ROBOT_CHASSIS = "mcspizzy_medi", ROBOT_PANEL = "mcspizzy_medi", ROBOT_EYES = "mcspizzy"),
"Tau-Ceti Drone" = list(ROBOT_CHASSIS = "tauceti_medi", ROBOT_PANEL = "tauceti_medi", ROBOT_EYES = "tauceti"),
"Sputnik" = list(ROBOT_CHASSIS = "sputnik_medi", ROBOT_PANEL = "sputnik_medi", ROBOT_EYES = "sputnik"),
"Kent" = list(ROBOT_CHASSIS = "kent_medi", ROBOT_PANEL = "kent_medi", ROBOT_EYES = "kent"),
"Wide" = list(ROBOT_CHASSIS = "wide_medi", ROBOT_PANEL = "wide_medi", ROBOT_EYES = "wide"),
"Cricket" = list(ROBOT_CHASSIS = "cricket_medi", ROBOT_PANEL = "cricket_medi", ROBOT_EYES = "cricket"),
"Quad-Dex" = list(ROBOT_CHASSIS = "quaddex_medi", ROBOT_PANEL = "quaddex_medi", ROBOT_EYES = "quaddex"),
"Arthrodroid" = list(ROBOT_CHASSIS = "arthrodroid_medi", ROBOT_PANEL = "arthrodroid_medi", ROBOT_EYES = "arthrodroid"),
"Spiderbot" = list(ROBOT_CHASSIS = "spiderbot_medi", ROBOT_PANEL = "spiderbot_medi", ROBOT_EYES = "spiderbot"),
"Heavy" = list(ROBOT_CHASSIS = "heavy_medi", ROBOT_PANEL = "heavy_medi", ROBOT_EYES = "heavy_medi"),
"Positron 03" = list(ROBOT_CHASSIS = "positron03_medi", ROBOT_PANEL = "positron03_medi", ROBOT_EYES = "positron03"),
"Plantasonic" = list(ROBOT_CHASSIS = "plantasonic_medi", ROBOT_PANEL = "plantasonic_medi", ROBOT_EYES = "plantasonic"),
"Cooler Master" = list(ROBOT_CHASSIS = "coolermaster_medi", ROBOT_PANEL = "coolermaster_medi", ROBOT_EYES = "coolermaster"),
"Phage" = list(ROBOT_CHASSIS = "phage_medi", ROBOT_PANEL = "phage_medi", ROBOT_EYES = "phage")
)
/obj/item/robot_module/medical/general/Initialize()
. = ..()
@@ -335,25 +334,25 @@ var/global/list/robot_modules = list(
networks = list(NETWORK_ENGINEERING)
supported_upgrades = list(/obj/item/robot_parts/robot_component/jetpack)
sprites = list(
"Basic" = list(ROBOT_CHASSIS = "robot_engi", ROBOT_PANEL = "robot", ROBOT_EYES = "robot"),
"Landmate" = list(ROBOT_CHASSIS = "landmate_engi", ROBOT_PANEL = "landmate", ROBOT_EYES = "landmate"),
"Treadmate" = list(ROBOT_CHASSIS = "treadmate_engi", ROBOT_PANEL = "treadmate", ROBOT_EYES = "treadmate"),
"Treadhead" = list(ROBOT_CHASSIS = "treadhead_engi", ROBOT_PANEL = "treadhead", ROBOT_EYES = "treadhead"),
"Spiffy" = list(ROBOT_CHASSIS = "mcspizzy_engi", ROBOT_PANEL = "mcspizzy", ROBOT_EYES = "mcspizzy"),
"Tau-Ceti Drone" = list(ROBOT_CHASSIS = "tauceti_engi", ROBOT_PANEL = "tauceti", ROBOT_EYES = "tauceti"),
"Sputnik" = list(ROBOT_CHASSIS = "sputnik_engi", ROBOT_PANEL = "sputnik", ROBOT_EYES = "sputnik"),
"Kent" = list(ROBOT_CHASSIS = "kent_engi", ROBOT_PANEL = "kent", ROBOT_EYES = "kent"),
"Wide" = list(ROBOT_CHASSIS = "wide_engi", ROBOT_PANEL = "wide", ROBOT_EYES = "wide"),
"Cricket" = list(ROBOT_CHASSIS = "cricket_engi", ROBOT_PANEL = "cricket", ROBOT_EYES = "cricket"),
"Quad-Dex" = list(ROBOT_CHASSIS = "quaddex_engi", ROBOT_PANEL = "quaddex", ROBOT_EYES = "quaddex"),
"Arthrodroid" = list(ROBOT_CHASSIS = "arthrodroid_engi", ROBOT_PANEL = "arthrodroid", ROBOT_EYES = "arthrodroid"),
"Spiderbot" = list(ROBOT_CHASSIS = "spiderbot_engi", ROBOT_PANEL = "spiderbot", ROBOT_EYES = "spiderbot"),
"Heavy" = list(ROBOT_CHASSIS = "heavy_engi", ROBOT_PANEL = "heavy", ROBOT_EYES = "heavy_engi"),
"Positron 03" = list(ROBOT_CHASSIS = "positron03_engi", ROBOT_PANEL = "positron03", ROBOT_EYES = "positron03"),
"Plantasonic" = list(ROBOT_CHASSIS = "plantasonic_engi", ROBOT_PANEL = "plantasonic", ROBOT_EYES = "plantasonic"),
"Cooler Master" = list(ROBOT_CHASSIS = "coolermaster_engi", ROBOT_PANEL = "coolermaster", ROBOT_EYES = "coolermaster"),
"Phage" = list(ROBOT_CHASSIS = "phage_engi", ROBOT_PANEL = "phage", ROBOT_EYES = "phage")
)
"Basic" = list(ROBOT_CHASSIS = "robot_engi", ROBOT_PANEL = "robot", ROBOT_EYES = "robot"),
"Landmate" = list(ROBOT_CHASSIS = "landmate_engi", ROBOT_PANEL = "landmate", ROBOT_EYES = "landmate"),
"Treadmate" = list(ROBOT_CHASSIS = "treadmate_engi", ROBOT_PANEL = "treadmate", ROBOT_EYES = "treadmate"),
"Treadhead" = list(ROBOT_CHASSIS = "treadhead_engi", ROBOT_PANEL = "treadhead", ROBOT_EYES = "treadhead"),
"Spiffy" = list(ROBOT_CHASSIS = "mcspizzy_engi", ROBOT_PANEL = "mcspizzy", ROBOT_EYES = "mcspizzy"),
"Tau-Ceti Drone" = list(ROBOT_CHASSIS = "tauceti_engi", ROBOT_PANEL = "tauceti", ROBOT_EYES = "tauceti"),
"Sputnik" = list(ROBOT_CHASSIS = "sputnik_engi", ROBOT_PANEL = "sputnik", ROBOT_EYES = "sputnik"),
"Kent" = list(ROBOT_CHASSIS = "kent_engi", ROBOT_PANEL = "kent", ROBOT_EYES = "kent"),
"Wide" = list(ROBOT_CHASSIS = "wide_engi", ROBOT_PANEL = "wide", ROBOT_EYES = "wide"),
"Cricket" = list(ROBOT_CHASSIS = "cricket_engi", ROBOT_PANEL = "cricket", ROBOT_EYES = "cricket"),
"Quad-Dex" = list(ROBOT_CHASSIS = "quaddex_engi", ROBOT_PANEL = "quaddex", ROBOT_EYES = "quaddex"),
"Arthrodroid" = list(ROBOT_CHASSIS = "arthrodroid_engi", ROBOT_PANEL = "arthrodroid", ROBOT_EYES = "arthrodroid"),
"Spiderbot" = list(ROBOT_CHASSIS = "spiderbot_engi", ROBOT_PANEL = "spiderbot", ROBOT_EYES = "spiderbot"),
"Heavy" = list(ROBOT_CHASSIS = "heavy_engi", ROBOT_PANEL = "heavy", ROBOT_EYES = "heavy_engi"),
"Positron 03" = list(ROBOT_CHASSIS = "positron03_engi", ROBOT_PANEL = "positron03", ROBOT_EYES = "positron03"),
"Plantasonic" = list(ROBOT_CHASSIS = "plantasonic_engi", ROBOT_PANEL = "plantasonic", ROBOT_EYES = "plantasonic"),
"Cooler Master" = list(ROBOT_CHASSIS = "coolermaster_engi", ROBOT_PANEL = "coolermaster", ROBOT_EYES = "coolermaster"),
"Phage" = list(ROBOT_CHASSIS = "phage_engi", ROBOT_PANEL = "phage", ROBOT_EYES = "phage")
)
/obj/item/robot_module/engineering/construction
name = "construction robot module"
@@ -531,25 +530,25 @@ var/global/list/robot_modules = list(
channels = list(CHANNEL_SERVICE = TRUE)
networks = list(NETWORK_SERVICE)
sprites = list(
"Basic" = list(ROBOT_CHASSIS = "robot_jani", ROBOT_PANEL = "robot", ROBOT_EYES = "robot"),
"Landmate" = list(ROBOT_CHASSIS = "landmate_jani", ROBOT_PANEL = "landmate", ROBOT_EYES = "landmate"),
"Treadmate" = list(ROBOT_CHASSIS = "treadmate_jani", ROBOT_PANEL = "treadmate", ROBOT_EYES = "treadmate"),
"Treadhead" = list(ROBOT_CHASSIS = "treadhead_jani", ROBOT_PANEL = "treadhead", ROBOT_EYES = "treadhead"),
"Spiffy" = list(ROBOT_CHASSIS = "mcspizzy_jani", ROBOT_PANEL = "mcspizzy", ROBOT_EYES = "mcspizzy"),
"Tau-Ceti Drone" = list(ROBOT_CHASSIS = "tauceti_jani", ROBOT_PANEL = "tauceti", ROBOT_EYES = "tauceti"),
"Sputnik" = list(ROBOT_CHASSIS = "sputnik_jani", ROBOT_PANEL = "sputnik", ROBOT_EYES = "sputnik"),
"Kent" = list(ROBOT_CHASSIS = "kent_jani", ROBOT_PANEL = "kent", ROBOT_EYES = "kent"),
"Wide" = list(ROBOT_CHASSIS = "wide_jani", ROBOT_PANEL = "wide", ROBOT_EYES = "wide"),
"Cricket" = list(ROBOT_CHASSIS = "cricket_jani", ROBOT_PANEL = "cricket", ROBOT_EYES = "cricket"),
"Quad-Dex" = list(ROBOT_CHASSIS = "quaddex_jani", ROBOT_PANEL = "quaddex", ROBOT_EYES = "quaddex"),
"Arthrodroid" = list(ROBOT_CHASSIS = "arthrodroid_jani", ROBOT_PANEL = "arthrodroid", ROBOT_EYES = "arthrodroid"),
"Spiderbot" = list(ROBOT_CHASSIS = "spiderbot_jani", ROBOT_PANEL = "spiderbot", ROBOT_EYES = "spiderbot"),
"Heavy" = list(ROBOT_CHASSIS = "heavy_jani", ROBOT_PANEL = "heavy_jani", ROBOT_EYES = "heavy_jani"),
"Positron 03" = list(ROBOT_CHASSIS = "positron03_jani", ROBOT_PANEL = "positron03", ROBOT_EYES = "positron03"),
"Plantasonic" = list(ROBOT_CHASSIS = "plantasonic_jani", ROBOT_PANEL = "plantasonic", ROBOT_EYES = "plantasonic"),
"Cooler Master" = list(ROBOT_CHASSIS = "coolermaster_jani", ROBOT_PANEL = "coolermaster", ROBOT_EYES = "coolermaster"),
"Phage" = list(ROBOT_CHASSIS = "phage_jani", ROBOT_PANEL = "phage", ROBOT_EYES = "phage")
)
"Basic" = list(ROBOT_CHASSIS = "robot_jani", ROBOT_PANEL = "robot", ROBOT_EYES = "robot"),
"Landmate" = list(ROBOT_CHASSIS = "landmate_jani", ROBOT_PANEL = "landmate", ROBOT_EYES = "landmate"),
"Treadmate" = list(ROBOT_CHASSIS = "treadmate_jani", ROBOT_PANEL = "treadmate", ROBOT_EYES = "treadmate"),
"Treadhead" = list(ROBOT_CHASSIS = "treadhead_jani", ROBOT_PANEL = "treadhead", ROBOT_EYES = "treadhead"),
"Spiffy" = list(ROBOT_CHASSIS = "mcspizzy_jani", ROBOT_PANEL = "mcspizzy", ROBOT_EYES = "mcspizzy"),
"Tau-Ceti Drone" = list(ROBOT_CHASSIS = "tauceti_jani", ROBOT_PANEL = "tauceti", ROBOT_EYES = "tauceti"),
"Sputnik" = list(ROBOT_CHASSIS = "sputnik_jani", ROBOT_PANEL = "sputnik", ROBOT_EYES = "sputnik"),
"Kent" = list(ROBOT_CHASSIS = "kent_jani", ROBOT_PANEL = "kent", ROBOT_EYES = "kent"),
"Wide" = list(ROBOT_CHASSIS = "wide_jani", ROBOT_PANEL = "wide", ROBOT_EYES = "wide"),
"Cricket" = list(ROBOT_CHASSIS = "cricket_jani", ROBOT_PANEL = "cricket", ROBOT_EYES = "cricket"),
"Quad-Dex" = list(ROBOT_CHASSIS = "quaddex_jani", ROBOT_PANEL = "quaddex", ROBOT_EYES = "quaddex"),
"Arthrodroid" = list(ROBOT_CHASSIS = "arthrodroid_jani", ROBOT_PANEL = "arthrodroid", ROBOT_EYES = "arthrodroid"),
"Spiderbot" = list(ROBOT_CHASSIS = "spiderbot_jani", ROBOT_PANEL = "spiderbot", ROBOT_EYES = "spiderbot"),
"Heavy" = list(ROBOT_CHASSIS = "heavy_jani", ROBOT_PANEL = "heavy_jani", ROBOT_EYES = "heavy_jani"),
"Positron 03" = list(ROBOT_CHASSIS = "positron03_jani", ROBOT_PANEL = "positron03", ROBOT_EYES = "positron03"),
"Plantasonic" = list(ROBOT_CHASSIS = "plantasonic_jani", ROBOT_PANEL = "plantasonic", ROBOT_EYES = "plantasonic"),
"Cooler Master" = list(ROBOT_CHASSIS = "coolermaster_jani", ROBOT_PANEL = "coolermaster", ROBOT_EYES = "coolermaster"),
"Phage" = list(ROBOT_CHASSIS = "phage_jani", ROBOT_PANEL = "phage", ROBOT_EYES = "phage")
)
var/mopping = FALSE
@@ -584,43 +583,43 @@ var/global/list/robot_modules = list(
channels = list(CHANNEL_SERVICE = TRUE)
networks = list(NETWORK_SERVICE)
languages = list(
LANGUAGE_SOL_COMMON = TRUE,
LANGUAGE_ELYRAN_STANDARD = TRUE,
LANGUAGE_TRADEBAND = TRUE,
LANGUAGE_UNATHI = TRUE,
LANGUAGE_SIIK_MAAS = TRUE,
LANGUAGE_SKRELLIAN = TRUE,
LANGUAGE_GUTTER = TRUE,
LANGUAGE_VAURCESE = FALSE,
LANGUAGE_ROOTSONG = TRUE,
LANGUAGE_SIGN = FALSE,
LANGUAGE_SIGN_TAJARA = FALSE,
LANGUAGE_SIIK_TAJR = FALSE,
LANGUAGE_AZAZIBA = FALSE,
LANGUAGE_DELVAHII = FALSE,
LANGUAGE_YA_SSA = FALSE
)
LANGUAGE_SOL_COMMON = TRUE,
LANGUAGE_ELYRAN_STANDARD = TRUE,
LANGUAGE_TRADEBAND = TRUE,
LANGUAGE_UNATHI = TRUE,
LANGUAGE_SIIK_MAAS = TRUE,
LANGUAGE_SKRELLIAN = TRUE,
LANGUAGE_GUTTER = TRUE,
LANGUAGE_VAURCESE = FALSE,
LANGUAGE_ROOTSONG = TRUE,
LANGUAGE_SIGN = FALSE,
LANGUAGE_SIGN_TAJARA = FALSE,
LANGUAGE_SIIK_TAJR = FALSE,
LANGUAGE_AZAZIBA = FALSE,
LANGUAGE_DELVAHII = FALSE,
LANGUAGE_YA_SSA = FALSE
)
sprites = list(
"Basic" = list(ROBOT_CHASSIS = "robot_serv", ROBOT_PANEL = "robot", ROBOT_EYES = "robot"),
"Landmate" = list(ROBOT_CHASSIS = "landmate_serv", ROBOT_PANEL = "landmate", ROBOT_EYES = "landmate"),
"Treadmate" = list(ROBOT_CHASSIS = "treadmate_serv", ROBOT_PANEL = "treadmate", ROBOT_EYES = "treadmate"),
"Treadhead" = list(ROBOT_CHASSIS = "treadhead_serv", ROBOT_PANEL = "treadhead", ROBOT_EYES = "treadhead"),
"Spiffy" = list(ROBOT_CHASSIS = "mcspizzy_serv", ROBOT_PANEL = "mcspizzy", ROBOT_EYES = "mcspizzy"),
"Tau-Ceti Drone" = list(ROBOT_CHASSIS = "tauceti_serv", ROBOT_PANEL = "tauceti", ROBOT_EYES = "tauceti"),
"Sputnik" = list(ROBOT_CHASSIS = "sputnik_serv", ROBOT_PANEL = "sputnik", ROBOT_EYES = "sputnik"),
"Kent" = list(ROBOT_CHASSIS = "kent_serv", ROBOT_PANEL = "kent", ROBOT_EYES = "kent"),
"Wide" = list(ROBOT_CHASSIS = "wide_serv", ROBOT_PANEL = "wide", ROBOT_EYES = "wide"),
"Cricket" = list(ROBOT_CHASSIS = "cricket_serv", ROBOT_PANEL = "cricket", ROBOT_EYES = "cricket"),
"Quad-Dex" = list(ROBOT_CHASSIS = "quaddex_serv", ROBOT_PANEL = "quaddex", ROBOT_EYES = "quaddex"),
"Arthrodroid" = list(ROBOT_CHASSIS = "arthrodroid_serv", ROBOT_PANEL = "arthrodroid", ROBOT_EYES = "arthrodroid"),
"Spiderbot" = list(ROBOT_CHASSIS = "spiderbot_serv", ROBOT_PANEL = "spiderbot", ROBOT_EYES = "spiderbot"),
"Heavy" = list(ROBOT_CHASSIS = "heavy_serv", ROBOT_PANEL = "heavy_serv", ROBOT_EYES = "heavy_serv"),
"Positron 03" = list(ROBOT_CHASSIS = "positron03_serv", ROBOT_PANEL = "positron03", ROBOT_EYES = "positron03"),
"Plantasonic" = list(ROBOT_CHASSIS = "plantasonic_serv", ROBOT_PANEL = "plantasonic", ROBOT_EYES = "plantasonic"),
"Cooler Master" = list(ROBOT_CHASSIS = "coolermaster_serv", ROBOT_PANEL = "coolermaster", ROBOT_EYES = "coolermaster"),
"Phage" = list(ROBOT_CHASSIS = "phage_serv", ROBOT_PANEL = "phage", ROBOT_EYES = "phage")
)
"Basic" = list(ROBOT_CHASSIS = "robot_serv", ROBOT_PANEL = "robot", ROBOT_EYES = "robot"),
"Landmate" = list(ROBOT_CHASSIS = "landmate_serv", ROBOT_PANEL = "landmate", ROBOT_EYES = "landmate"),
"Treadmate" = list(ROBOT_CHASSIS = "treadmate_serv", ROBOT_PANEL = "treadmate", ROBOT_EYES = "treadmate"),
"Treadhead" = list(ROBOT_CHASSIS = "treadhead_serv", ROBOT_PANEL = "treadhead", ROBOT_EYES = "treadhead"),
"Spiffy" = list(ROBOT_CHASSIS = "mcspizzy_serv", ROBOT_PANEL = "mcspizzy", ROBOT_EYES = "mcspizzy"),
"Tau-Ceti Drone" = list(ROBOT_CHASSIS = "tauceti_serv", ROBOT_PANEL = "tauceti", ROBOT_EYES = "tauceti"),
"Sputnik" = list(ROBOT_CHASSIS = "sputnik_serv", ROBOT_PANEL = "sputnik", ROBOT_EYES = "sputnik"),
"Kent" = list(ROBOT_CHASSIS = "kent_serv", ROBOT_PANEL = "kent", ROBOT_EYES = "kent"),
"Wide" = list(ROBOT_CHASSIS = "wide_serv", ROBOT_PANEL = "wide", ROBOT_EYES = "wide"),
"Cricket" = list(ROBOT_CHASSIS = "cricket_serv", ROBOT_PANEL = "cricket", ROBOT_EYES = "cricket"),
"Quad-Dex" = list(ROBOT_CHASSIS = "quaddex_serv", ROBOT_PANEL = "quaddex", ROBOT_EYES = "quaddex"),
"Arthrodroid" = list(ROBOT_CHASSIS = "arthrodroid_serv", ROBOT_PANEL = "arthrodroid", ROBOT_EYES = "arthrodroid"),
"Spiderbot" = list(ROBOT_CHASSIS = "spiderbot_serv", ROBOT_PANEL = "spiderbot", ROBOT_EYES = "spiderbot"),
"Heavy" = list(ROBOT_CHASSIS = "heavy_serv", ROBOT_PANEL = "heavy_serv", ROBOT_EYES = "heavy_serv"),
"Positron 03" = list(ROBOT_CHASSIS = "positron03_serv", ROBOT_PANEL = "positron03", ROBOT_EYES = "positron03"),
"Plantasonic" = list(ROBOT_CHASSIS = "plantasonic_serv", ROBOT_PANEL = "plantasonic", ROBOT_EYES = "plantasonic"),
"Cooler Master" = list(ROBOT_CHASSIS = "coolermaster_serv", ROBOT_PANEL = "coolermaster", ROBOT_EYES = "coolermaster"),
"Phage" = list(ROBOT_CHASSIS = "phage_serv", ROBOT_PANEL = "phage", ROBOT_EYES = "phage")
)
/obj/item/robot_module/clerical/butler/Initialize()
. = ..()
@@ -698,26 +697,25 @@ var/global/list/robot_modules = list(
channels = list(CHANNEL_SUPPLY = TRUE)
networks = list(NETWORK_MINE)
sprites = list(
"Basic" = list(ROBOT_CHASSIS = "robot_mine", ROBOT_PANEL = "robot", ROBOT_EYES = "robot"),
"Landmate" = list(ROBOT_CHASSIS = "landmate_mine", ROBOT_PANEL = "landmate", ROBOT_EYES = "landmate"),
"Treadmate" = list(ROBOT_CHASSIS = "treadmate_mine", ROBOT_PANEL = "treadmate", ROBOT_EYES = "treadmate"),
"Treadhead" = list(ROBOT_CHASSIS = "treadhead_mine", ROBOT_PANEL = "treadhead", ROBOT_EYES = "treadhead"),
"Spiffy" = list(ROBOT_CHASSIS = "mcspizzy_mine", ROBOT_PANEL = "mcspizzy", ROBOT_EYES = "mcspizzy"),
"Tau-Ceti Drone" = list(ROBOT_CHASSIS = "tauceti_mine", ROBOT_PANEL = "tauceti", ROBOT_EYES = "tauceti"),
"Sputnik" = list(ROBOT_CHASSIS = "sputnik_mine", ROBOT_PANEL = "sputnik", ROBOT_EYES = "sputnik"),
"Kent" = list(ROBOT_CHASSIS = "kent_mine", ROBOT_PANEL = "kent", ROBOT_EYES = "kent"),
"Wide" = list(ROBOT_CHASSIS = "wide_mine", ROBOT_PANEL = "wide", ROBOT_EYES = "wide"),
"Cricket" = list(ROBOT_CHASSIS = "cricket_mine", ROBOT_PANEL = "cricket", ROBOT_EYES = "cricket"),
"Quad-Dex" = list(ROBOT_CHASSIS = "quaddex_mine", ROBOT_PANEL = "quaddex", ROBOT_EYES = "quaddex"),
"Arthrodroid" = list(ROBOT_CHASSIS = "arthrodroid_mine", ROBOT_PANEL = "arthrodroid", ROBOT_EYES = "arthrodroid"),
"Spiderbot" = list(ROBOT_CHASSIS = "spiderbot_mine", ROBOT_PANEL = "spiderbot", ROBOT_EYES = "spiderbot"),
"Heavy" = list(ROBOT_CHASSIS = "heavy_mine", ROBOT_PANEL = "heavy_mine", ROBOT_EYES = "heavy_mine"),
"Positron 03" = list(ROBOT_CHASSIS = "positron03_mine", ROBOT_PANEL = "positron03", ROBOT_EYES = "positron03"),
"Plantasonic" = list(ROBOT_CHASSIS = "plantasonic_mine", ROBOT_PANEL = "plantasonic", ROBOT_EYES = "plantasonic"),
"Cooler Master" = list(ROBOT_CHASSIS = "coolermaster_mine", ROBOT_PANEL = "coolermaster", ROBOT_EYES = "coolermaster"),
"Phage" = list(ROBOT_CHASSIS = "phage_mine", ROBOT_PANEL = "phage", ROBOT_EYES = "phage")
)
"Basic" = list(ROBOT_CHASSIS = "robot_mine", ROBOT_PANEL = "robot", ROBOT_EYES = "robot"),
"Landmate" = list(ROBOT_CHASSIS = "landmate_mine", ROBOT_PANEL = "landmate", ROBOT_EYES = "landmate"),
"Treadmate" = list(ROBOT_CHASSIS = "treadmate_mine", ROBOT_PANEL = "treadmate", ROBOT_EYES = "treadmate"),
"Treadhead" = list(ROBOT_CHASSIS = "treadhead_mine", ROBOT_PANEL = "treadhead", ROBOT_EYES = "treadhead"),
"Spiffy" = list(ROBOT_CHASSIS = "mcspizzy_mine", ROBOT_PANEL = "mcspizzy", ROBOT_EYES = "mcspizzy"),
"Tau-Ceti Drone" = list(ROBOT_CHASSIS = "tauceti_mine", ROBOT_PANEL = "tauceti", ROBOT_EYES = "tauceti"),
"Sputnik" = list(ROBOT_CHASSIS = "sputnik_mine", ROBOT_PANEL = "sputnik", ROBOT_EYES = "sputnik"),
"Kent" = list(ROBOT_CHASSIS = "kent_mine", ROBOT_PANEL = "kent", ROBOT_EYES = "kent"),
"Wide" = list(ROBOT_CHASSIS = "wide_mine", ROBOT_PANEL = "wide", ROBOT_EYES = "wide"),
"Cricket" = list(ROBOT_CHASSIS = "cricket_mine", ROBOT_PANEL = "cricket", ROBOT_EYES = "cricket"),
"Quad-Dex" = list(ROBOT_CHASSIS = "quaddex_mine", ROBOT_PANEL = "quaddex", ROBOT_EYES = "quaddex"),
"Arthrodroid" = list(ROBOT_CHASSIS = "arthrodroid_mine", ROBOT_PANEL = "arthrodroid", ROBOT_EYES = "arthrodroid"),
"Spiderbot" = list(ROBOT_CHASSIS = "spiderbot_mine", ROBOT_PANEL = "spiderbot", ROBOT_EYES = "spiderbot"),
"Heavy" = list(ROBOT_CHASSIS = "heavy_mine", ROBOT_PANEL = "heavy_mine", ROBOT_EYES = "heavy_mine"),
"Positron 03" = list(ROBOT_CHASSIS = "positron03_mine", ROBOT_PANEL = "positron03", ROBOT_EYES = "positron03"),
"Plantasonic" = list(ROBOT_CHASSIS = "plantasonic_mine", ROBOT_PANEL = "plantasonic", ROBOT_EYES = "plantasonic"),
"Cooler Master" = list(ROBOT_CHASSIS = "coolermaster_mine", ROBOT_PANEL = "coolermaster", ROBOT_EYES = "coolermaster"),
"Phage" = list(ROBOT_CHASSIS = "phage_mine", ROBOT_PANEL = "phage", ROBOT_EYES = "phage")
)
supported_upgrades = list(/obj/item/robot_parts/robot_component/jetpack)
@@ -760,30 +758,31 @@ var/global/list/robot_modules = list(
/obj/item/robot_module/research
name = "research module"
channels = list(CHANNEL_SCIENCE = TRUE,
CHANNEL_SUPPLY = TRUE
)
channels = list(
CHANNEL_SCIENCE = TRUE,
CHANNEL_SUPPLY = TRUE
)
networks = list(NETWORK_RESEARCH)
sprites = list(
"Basic" = list(ROBOT_CHASSIS = "robot_sci", ROBOT_PANEL = "robot", ROBOT_EYES = "robot"),
"Landmate" = list(ROBOT_CHASSIS = "landmate_sci", ROBOT_PANEL = "landmate", ROBOT_EYES = "landmate"),
"Treadmate" = list(ROBOT_CHASSIS = "treadmate_sci", ROBOT_PANEL = "treadmate", ROBOT_EYES = "treadmate"),
"Treadhead" = list(ROBOT_CHASSIS = "treadhead_sci", ROBOT_PANEL = "treadhead", ROBOT_EYES = "treadhead"),
"Spiffy" = list(ROBOT_CHASSIS = "mcspizzy_sci", ROBOT_PANEL = "mcspizzy", ROBOT_EYES = "mcspizzy"),
"Tau-Ceti Drone" = list(ROBOT_CHASSIS = "tauceti_sci", ROBOT_PANEL = "tauceti", ROBOT_EYES = "tauceti"),
"Sputnik" = list(ROBOT_CHASSIS = "sputnik_sci", ROBOT_PANEL = "sputnik", ROBOT_EYES = "sputnik"),
"Kent" = list(ROBOT_CHASSIS = "kent_sci", ROBOT_PANEL = "kent", ROBOT_EYES = "kent"),
"Wide" = list(ROBOT_CHASSIS = "wide_sci", ROBOT_PANEL = "wide", ROBOT_EYES = "wide"),
"Cricket" = list(ROBOT_CHASSIS = "cricket_sci", ROBOT_PANEL = "cricket", ROBOT_EYES = "cricket"),
"Quad-Dex" = list(ROBOT_CHASSIS = "quaddex_sci", ROBOT_PANEL = "quaddex", ROBOT_EYES = "quaddex"),
"Arthrodroid" = list(ROBOT_CHASSIS = "arthrodroid_sci", ROBOT_PANEL = "arthrodroid", ROBOT_EYES = "arthrodroid"),
"Spiderbot" = list(ROBOT_CHASSIS = "spiderbot_sci", ROBOT_PANEL = "spiderbot", ROBOT_EYES = "spiderbot"),
"Heavy" = list(ROBOT_CHASSIS = "heavy_sci", ROBOT_PANEL = "heavy_sci", ROBOT_EYES = "heavy_sci"),
"Positron 03" = list(ROBOT_CHASSIS = "positron03_sci", ROBOT_PANEL = "positron03", ROBOT_EYES = "positron03"),
"Plantasonic" = list(ROBOT_CHASSIS = "plantasonic_sci", ROBOT_PANEL = "plantasonic", ROBOT_EYES = "plantasonic"),
"Cooler Master" = list(ROBOT_CHASSIS = "coolermaster_sci", ROBOT_PANEL = "coolermaster", ROBOT_EYES = "coolermaster"),
"Phage" = list(ROBOT_CHASSIS = "phage_sci", ROBOT_PANEL = "phage", ROBOT_EYES = "phage")
)
"Basic" = list(ROBOT_CHASSIS = "robot_sci", ROBOT_PANEL = "robot", ROBOT_EYES = "robot"),
"Landmate" = list(ROBOT_CHASSIS = "landmate_sci", ROBOT_PANEL = "landmate", ROBOT_EYES = "landmate"),
"Treadmate" = list(ROBOT_CHASSIS = "treadmate_sci", ROBOT_PANEL = "treadmate", ROBOT_EYES = "treadmate"),
"Treadhead" = list(ROBOT_CHASSIS = "treadhead_sci", ROBOT_PANEL = "treadhead", ROBOT_EYES = "treadhead"),
"Spiffy" = list(ROBOT_CHASSIS = "mcspizzy_sci", ROBOT_PANEL = "mcspizzy", ROBOT_EYES = "mcspizzy"),
"Tau-Ceti Drone" = list(ROBOT_CHASSIS = "tauceti_sci", ROBOT_PANEL = "tauceti", ROBOT_EYES = "tauceti"),
"Sputnik" = list(ROBOT_CHASSIS = "sputnik_sci", ROBOT_PANEL = "sputnik", ROBOT_EYES = "sputnik"),
"Kent" = list(ROBOT_CHASSIS = "kent_sci", ROBOT_PANEL = "kent", ROBOT_EYES = "kent"),
"Wide" = list(ROBOT_CHASSIS = "wide_sci", ROBOT_PANEL = "wide", ROBOT_EYES = "wide"),
"Cricket" = list(ROBOT_CHASSIS = "cricket_sci", ROBOT_PANEL = "cricket", ROBOT_EYES = "cricket"),
"Quad-Dex" = list(ROBOT_CHASSIS = "quaddex_sci", ROBOT_PANEL = "quaddex", ROBOT_EYES = "quaddex"),
"Arthrodroid" = list(ROBOT_CHASSIS = "arthrodroid_sci", ROBOT_PANEL = "arthrodroid", ROBOT_EYES = "arthrodroid"),
"Spiderbot" = list(ROBOT_CHASSIS = "spiderbot_sci", ROBOT_PANEL = "spiderbot", ROBOT_EYES = "spiderbot"),
"Heavy" = list(ROBOT_CHASSIS = "heavy_sci", ROBOT_PANEL = "heavy_sci", ROBOT_EYES = "heavy_sci"),
"Positron 03" = list(ROBOT_CHASSIS = "positron03_sci", ROBOT_PANEL = "positron03", ROBOT_EYES = "positron03"),
"Plantasonic" = list(ROBOT_CHASSIS = "plantasonic_sci", ROBOT_PANEL = "plantasonic", ROBOT_EYES = "plantasonic"),
"Cooler Master" = list(ROBOT_CHASSIS = "coolermaster_sci", ROBOT_PANEL = "coolermaster", ROBOT_EYES = "coolermaster"),
"Phage" = list(ROBOT_CHASSIS = "phage_sci", ROBOT_PANEL = "phage", ROBOT_EYES = "phage")
)
/obj/item/robot_module/research/Initialize()
. = ..()
@@ -837,48 +836,48 @@ var/global/list/robot_modules = list(
M.synths = list(metal)
modules += M
/obj/item/robot_module/syndicate
name = "syndicate robot module"
/obj/item/robot_module/combat
name = "combat robot module"
languages = list(
LANGUAGE_SOL_COMMON = TRUE,
LANGUAGE_ELYRAN_STANDARD = TRUE,
LANGUAGE_TRADEBAND = TRUE,
LANGUAGE_UNATHI = TRUE,
LANGUAGE_SIIK_MAAS = TRUE,
LANGUAGE_SKRELLIAN = TRUE,
LANGUAGE_GUTTER = TRUE,
LANGUAGE_VAURCESE = FALSE,
LANGUAGE_ROOTSONG = TRUE,
LANGUAGE_SIGN = FALSE,
LANGUAGE_SIGN_TAJARA = FALSE,
LANGUAGE_SIIK_TAJR = FALSE,
LANGUAGE_AZAZIBA = FALSE,
LANGUAGE_DELVAHII = FALSE,
LANGUAGE_YA_SSA = FALSE
)
LANGUAGE_SOL_COMMON = TRUE,
LANGUAGE_ELYRAN_STANDARD = TRUE,
LANGUAGE_TRADEBAND = TRUE,
LANGUAGE_UNATHI = TRUE,
LANGUAGE_SIIK_MAAS = TRUE,
LANGUAGE_SKRELLIAN = TRUE,
LANGUAGE_GUTTER = TRUE,
LANGUAGE_VAURCESE = FALSE,
LANGUAGE_ROOTSONG = TRUE,
LANGUAGE_SIGN = FALSE,
LANGUAGE_SIGN_TAJARA = FALSE,
LANGUAGE_SIIK_TAJR = FALSE,
LANGUAGE_AZAZIBA = FALSE,
LANGUAGE_DELVAHII = FALSE,
LANGUAGE_YA_SSA = FALSE
)
sprites = list(
"Basic" = list(ROBOT_CHASSIS = "robot_syndi", ROBOT_PANEL = "robot_syndi", ROBOT_EYES = "robot"),
"Bloodhound" = list(ROBOT_CHASSIS = "bloodhound_syndi", ROBOT_PANEL = "bloodhound_syndi", ROBOT_EYES = "bloodhound"),
"Treadhound" = list(ROBOT_CHASSIS = "treadhound_syndi", ROBOT_PANEL = "treadhound_syndi", ROBOT_EYES = "treadhound"),
"Treadhead" = list(ROBOT_CHASSIS = "treadhead_syndi", ROBOT_PANEL = "treadhead_syndi", ROBOT_EYES = "treadhead"),
"Spiffy" = list(ROBOT_CHASSIS = "mcspizzy_syndi", ROBOT_PANEL = "mcspizzy_syndi", ROBOT_EYES = "mcspizzy"),
"Tau-Ceti Drone" = list(ROBOT_CHASSIS = "tauceti_syndi", ROBOT_PANEL = "tauceti_syndi", ROBOT_EYES = "tauceti"),
"Sputnik" = list(ROBOT_CHASSIS = "sputnik_syndi", ROBOT_PANEL = "sputnik_syndi", ROBOT_EYES = "sputnik"),
"Kent" = list(ROBOT_CHASSIS = "kent_syndi", ROBOT_PANEL = "kent_syndi", ROBOT_EYES = "kent"),
"Wide" = list(ROBOT_CHASSIS = "wide_syndi", ROBOT_PANEL = "wide_syndi", ROBOT_EYES = "wide"),
"Cricket" = list(ROBOT_CHASSIS = "cricket_syndi", ROBOT_PANEL = "cricket_syndi", ROBOT_EYES = "cricket"),
"Quad-Dex" = list(ROBOT_CHASSIS = "quaddex_syndi", ROBOT_PANEL = "quaddex_syndi", ROBOT_EYES = "quaddex"),
"Arthrodroid" = list(ROBOT_CHASSIS = "arthrodroid_syndi", ROBOT_PANEL = "arthrodroid_syndi", ROBOT_EYES = "arthrodroid"),
"Spiderbot" = list(ROBOT_CHASSIS = "spiderbot_syndi", ROBOT_PANEL = "spiderbot_syndi", ROBOT_EYES = "spiderbot"),
"Heavy" = list(ROBOT_CHASSIS = "heavy_syndi", ROBOT_PANEL = "heavy_syndi", ROBOT_EYES = "heavy_syndi"),
"Positron 03" = list(ROBOT_CHASSIS = "positron03_syndi", ROBOT_PANEL = "positron03_syndi", ROBOT_EYES = "positron03"),
"Plantasonic" = list(ROBOT_CHASSIS = "plantasonic_syndi", ROBOT_PANEL = "plantasonic_syndi", ROBOT_EYES = "plantasonic"),
"Cooler Master" = list(ROBOT_CHASSIS = "coolermaster_syndi", ROBOT_PANEL = "coolermaster_syndi", ROBOT_EYES = "coolermaster"),
"Phage" = list(ROBOT_CHASSIS = "phage_syndi", ROBOT_PANEL = "phage_syndi", ROBOT_EYES = "phage")
)
"Basic" = list(ROBOT_CHASSIS = "robot_syndi", ROBOT_PANEL = "robot_syndi", ROBOT_EYES = "robot"),
"Bloodhound" = list(ROBOT_CHASSIS = "bloodhound_syndi", ROBOT_PANEL = "bloodhound_syndi", ROBOT_EYES = "bloodhound"),
"Treadhound" = list(ROBOT_CHASSIS = "treadhound_syndi", ROBOT_PANEL = "treadhound_syndi", ROBOT_EYES = "treadhound"),
"Treadhead" = list(ROBOT_CHASSIS = "treadhead_syndi", ROBOT_PANEL = "treadhead_syndi", ROBOT_EYES = "treadhead"),
"Spiffy" = list(ROBOT_CHASSIS = "mcspizzy_syndi", ROBOT_PANEL = "mcspizzy_syndi", ROBOT_EYES = "mcspizzy"),
"Tau-Ceti Drone" = list(ROBOT_CHASSIS = "tauceti_syndi", ROBOT_PANEL = "tauceti_syndi", ROBOT_EYES = "tauceti"),
"Sputnik" = list(ROBOT_CHASSIS = "sputnik_syndi", ROBOT_PANEL = "sputnik_syndi", ROBOT_EYES = "sputnik"),
"Kent" = list(ROBOT_CHASSIS = "kent_syndi", ROBOT_PANEL = "kent_syndi", ROBOT_EYES = "kent"),
"Wide" = list(ROBOT_CHASSIS = "wide_syndi", ROBOT_PANEL = "wide_syndi", ROBOT_EYES = "wide"),
"Cricket" = list(ROBOT_CHASSIS = "cricket_syndi", ROBOT_PANEL = "cricket_syndi", ROBOT_EYES = "cricket"),
"Quad-Dex" = list(ROBOT_CHASSIS = "quaddex_syndi", ROBOT_PANEL = "quaddex_syndi", ROBOT_EYES = "quaddex"),
"Arthrodroid" = list(ROBOT_CHASSIS = "arthrodroid_syndi", ROBOT_PANEL = "arthrodroid_syndi", ROBOT_EYES = "arthrodroid"),
"Spiderbot" = list(ROBOT_CHASSIS = "spiderbot_syndi", ROBOT_PANEL = "spiderbot_syndi", ROBOT_EYES = "spiderbot"),
"Heavy" = list(ROBOT_CHASSIS = "heavy_syndi", ROBOT_PANEL = "heavy_syndi", ROBOT_EYES = "heavy_syndi"),
"Positron 03" = list(ROBOT_CHASSIS = "positron03_syndi", ROBOT_PANEL = "positron03_syndi", ROBOT_EYES = "positron03"),
"Plantasonic" = list(ROBOT_CHASSIS = "plantasonic_syndi", ROBOT_PANEL = "plantasonic_syndi", ROBOT_EYES = "plantasonic"),
"Cooler Master" = list(ROBOT_CHASSIS = "coolermaster_syndi", ROBOT_PANEL = "coolermaster_syndi", ROBOT_EYES = "coolermaster"),
"Phage" = list(ROBOT_CHASSIS = "phage_syndi", ROBOT_PANEL = "phage_syndi", ROBOT_EYES = "phage")
)
/obj/item/robot_module/syndicate/Initialize(mapload, mob/living/silicon/robot/R)
/obj/item/robot_module/combat/Initialize(mapload, mob/living/silicon/robot/R)
. = ..()
R.faction = "syndicate" // prevents viscerators from attacking us
@@ -904,8 +903,8 @@ var/global/list/robot_modules = list(
if(R.radio)
R.radio.recalculateChannels()
/obj/item/robot_module/combat
name = "combat robot module"
/obj/item/robot_module/military
name = "military robot module"
channels = list(CHANNEL_SECURITY = TRUE)
networks = list(NETWORK_SECURITY)
sprites = list(
@@ -915,7 +914,7 @@ var/global/list/robot_modules = list(
can_be_pushed = FALSE
supported_upgrades = list(/obj/item/robot_parts/robot_component/jetpack)
/obj/item/robot_module/combat/Initialize()
/obj/item/robot_module/military/Initialize()
. = ..()
modules += new /obj/item/gun/energy/laser/mounted(src)
modules += new /obj/item/melee/hammer/powered(src)
@@ -1103,26 +1102,26 @@ var/global/list/robot_modules = list(
/obj/item/robot_module/bluespace
name = "bluespace robot module"
languages = list(
LANGUAGE_TCB = TRUE,
LANGUAGE_ELYRAN_STANDARD = TRUE,
LANGUAGE_GUTTER = TRUE,
LANGUAGE_SIGN = TRUE,
LANGUAGE_TRADEBAND = TRUE,
LANGUAGE_UNATHI = TRUE,
LANGUAGE_AZAZIBA = TRUE,
LANGUAGE_SIIK_MAAS = TRUE,
LANGUAGE_SIIK_TAJR = TRUE,
LANGUAGE_SIGN_TAJARA = TRUE,
LANGUAGE_SKRELLIAN = TRUE,
LANGUAGE_SOL_COMMON = TRUE,
LANGUAGE_ROOTSONG = TRUE,
LANGUAGE_VAURCA = TRUE,
LANGUAGE_ROBOT = TRUE,
LANGUAGE_DRONE = TRUE,
LANGUAGE_EAL = TRUE,
LANGUAGE_CHANGELING = TRUE,
LANGUAGE_BORER = TRUE
)
LANGUAGE_TCB = TRUE,
LANGUAGE_ELYRAN_STANDARD = TRUE,
LANGUAGE_GUTTER = TRUE,
LANGUAGE_SIGN = TRUE,
LANGUAGE_TRADEBAND = TRUE,
LANGUAGE_UNATHI = TRUE,
LANGUAGE_AZAZIBA = TRUE,
LANGUAGE_SIIK_MAAS = TRUE,
LANGUAGE_SIIK_TAJR = TRUE,
LANGUAGE_SIGN_TAJARA = TRUE,
LANGUAGE_SKRELLIAN = TRUE,
LANGUAGE_SOL_COMMON = TRUE,
LANGUAGE_ROOTSONG = TRUE,
LANGUAGE_VAURCA = TRUE,
LANGUAGE_ROBOT = TRUE,
LANGUAGE_DRONE = TRUE,
LANGUAGE_EAL = TRUE,
LANGUAGE_CHANGELING = TRUE,
LANGUAGE_BORER = TRUE
)
channels = list(
CHANNEL_SERVICE = TRUE,
CHANNEL_SUPPLY = TRUE,
@@ -1133,7 +1132,7 @@ var/global/list/robot_modules = list(
CHANNEL_COMMAND = TRUE,
CHANNEL_RESPONSE_TEAM = TRUE,
CHANNEL_AI_PRIVATE = TRUE
)
)
sprites = list("Roller" = list(ROBOT_CHASSIS = "droid-combat", ROBOT_PANEL = "heavy_syndi", ROBOT_EYES = "droid-combat")) //TMP // temp my left nut // temp my right nut
can_be_pushed = FALSE
@@ -1251,4 +1250,4 @@ var/global/list/robot_modules = list(
S.reagents.clear_reagents()
S.mode = initial(S.mode)
S.desc = initial(S.desc)
S.update_icon()
S.update_icon()
@@ -156,11 +156,11 @@
turret_sprite_set = "net"
/obj/item/gun/energy/net/mounted
max_shots = 1
max_shots = 2
self_recharge = TRUE
use_external_power = TRUE
has_safety = FALSE
recharge_time = 40
recharge_time = 30
can_turret = FALSE
/* Vaurca Weapons */
@@ -127,8 +127,9 @@
/obj/item/projectile/bullet/pistol/medium
damage = 30
/obj/item/projectile/bullet/pistol/medium/mech
/obj/item/projectile/bullet/pistol/medium/ap
armor_penetration = 35
penetrating = FALSE
/obj/item/projectile/bullet/pistol/strong
damage = 45
+1 -1
View File
@@ -75,7 +75,7 @@ As a Traitor, you can manufacture and recycle revolver bullets at a hacked autol
As a Traitor, you may sometimes hunt other traitors, and in turn be hunted by them.
As a Traitor, the syndicate encryption key is very useful for coordinating plans with your fellow traitors -- or, of course, betraying them.
As a Mercenary, communication is key! Use your radio to speak to your fellow operatives and coordinate an attack plan.
As a Mercenary, you should look into purchasing a syndicate cyborg, as they can provide heavy fire support, are immune to conventional stuns, and can easily take down any enemy.
As a Mercenary, you should look into purchasing a Combat Robot, as they can provide fire support, are immune to conventional stuns, and can take down most enemies.
As a Mercenary, stick together! While your equipment is robust, your fellow operatives are much better at saving your life: they can drag you away from danger while stunned and provide cover fire.
As a Mercenary, you might end up in a situation where the AI has bolted you into a room. Having some spare C4 in your pocket can save your life.
As a Monkey, you can crawl through air vents by alt+left clicking them. You must drop everything you are wearing and holding to do this, however.
+10
View File
@@ -0,0 +1,10 @@
author: SleepyGemmy
delete-after: True
changes:
- tweak: "Renames \"Syndicate Cyborg\" to \"Combat Robot\" to better reflect its purpose."
- tweak: "Renames the adminspawn \"Combat Robot\" to \"Military Robot\"."
- tweak: "Removes the on-death explosion from the combat robot."
- tweak: "Tweaks the mounted netgun from 1 to 2 shots. Reduces its recharge time slightly."
- tweak: "Tweaks the mounted submachinegun to do a bit more AP, so it is more usable against armoured opponents."