From 173387eefccfdda3406f0489aa13d7cf122f5ac6 Mon Sep 17 00:00:00 2001 From: Bjorn Neergaard Date: Tue, 9 Feb 2016 14:53:37 -0600 Subject: [PATCH 1/2] Remove borg jetpack, give them ion thrusters instead Also clean up jetpack human movement because wow that code was messy Its still bad but its better (tm) --- code/_onclick/hud/_defines.dm | 1 + code/_onclick/hud/robot.dm | 21 ++- .../objects/items/robot/robot_upgrades.dm | 133 ++++++++++-------- .../objects/items/weapons/tanks/jetpack.dm | 18 +-- .../mob/living/carbon/human/human_movement.dm | 27 ++-- .../mob/living/carbon/human/species.dm | 80 +++++------ code/modules/mob/living/silicon/robot/life.dm | 3 +- .../modules/mob/living/silicon/robot/robot.dm | 124 ++++++++-------- .../mob/living/silicon/robot/robot_modules.dm | 16 --- .../living/silicon/robot/robot_movement.dm | 11 +- .../designs/mechfabricator_designs.dm | 20 +-- icons/mob/screen_cyborg.dmi | Bin 18199 -> 20046 bytes 12 files changed, 219 insertions(+), 235 deletions(-) diff --git a/code/_onclick/hud/_defines.dm b/code/_onclick/hud/_defines.dm index b6f7e260ef0..29eea4900da 100644 --- a/code/_onclick/hud/_defines.dm +++ b/code/_onclick/hud/_defines.dm @@ -39,6 +39,7 @@ #define ui_borg_sensor "CENTER-3:16, SOUTH:5" //borgs #define ui_borg_lamp "CENTER-4:16, SOUTH:5" //borgies +#define ui_borg_thrusters "CENTER-5:16, SOUTH:5"//borgies #define ui_inv1 "CENTER-2:16,SOUTH:5" //borgs #define ui_inv2 "CENTER-1 :16,SOUTH:5" //borgs #define ui_inv3 "CENTER :16,SOUTH:5" //borgs diff --git a/code/_onclick/hud/robot.dm b/code/_onclick/hud/robot.dm index 6497dc38cf4..b13623a9bfd 100644 --- a/code/_onclick/hud/robot.dm +++ b/code/_onclick/hud/robot.dm @@ -36,14 +36,13 @@ var/mob/living/silicon/robot/R = usr R.toggle_module(3) - /obj/screen/robot/radio name = "radio" icon_state = "radio" /obj/screen/robot/radio/Click() var/mob/living/silicon/robot/R = usr - R.radio_menu() + R.radio.interact(R) /obj/screen/robot/store name = "store" @@ -61,9 +60,17 @@ var/mob/living/silicon/robot/R = usr R.control_headlamp() +/obj/screen/robot/thrusters + name = "ion thrusters" + icon_state = "ionpulse0" + +/obj/screen/robot/thrusters/Click() + var/mob/living/silicon/robot/R = usr + R.toggle_ionpulse() /datum/hud/robot/New(mob/owner) ..() + var/mob/living/silicon/robot/mymobR = mymob var/obj/screen/using //Radio @@ -72,9 +79,6 @@ static_inventory += using //Module select - - var/mob/living/silicon/robot/mymobR = mymob - using = new /obj/screen/robot/module1() using.screen_loc = ui_inv1 static_inventory += using @@ -93,7 +97,6 @@ //End of module select //Photography stuff - using = new /obj/screen/ai/image_take() using.screen_loc = ui_borg_camera static_inventory += using @@ -113,6 +116,12 @@ static_inventory += using mymobR.lamp_button = using +//Thrusters + using = new /obj/screen/robot/thrusters() + using.screen_loc = ui_borg_thrusters + static_inventory += using + mymobR.thruster_button = using + //Intent using = new /obj/screen/act_intent/robot() using.icon_state = mymob.a_intent diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index fa5c0c83b28..a891a8c9350 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -1,4 +1,4 @@ - // robot_upgrades.dm +// robot_upgrades.dm // Contains various borg upgrades. /obj/item/borg/upgrade @@ -8,8 +8,8 @@ icon_state = "cyborg_upgrade" origin_tech = "programming=4" var/locked = 0 - var/require_module = 0 var/installed = 0 + var/require_module = 0 var/module_type = null /obj/item/borg/upgrade/proc/action(mob/living/silicon/robot/R) @@ -20,7 +20,6 @@ R << "Upgrade mounting error! No suitable hardpoint detected!" usr << "There's no mounting point for the module!" return 1 - return 0 /obj/item/borg/upgrade/reset name = "cyborg module reset board" @@ -29,24 +28,32 @@ require_module = 1 /obj/item/borg/upgrade/reset/action(mob/living/silicon/robot/R) - if(..()) return 0 + if(..()) + return + + R.notify_ai(2) + R.uneq_all() R.hands.icon_state = "nomod" R.icon_state = "robot" qdel(R.module) R.module = null + R.modtype = "robot" - R.updatename("Default") - R.status_flags |= CANPUSH R.designation = "Default" - R.notify_ai(2) + R.updatename("Default") + R.update_icons() R.update_headlamp() - R.magpulse = 0 + + R.speed = 0 // Remove upgrades. + R.ionpulse = FALSE + R.magpulse = FALSE + + R.status_flags |= CANPUSH return 1 - /obj/item/borg/upgrade/rename name = "cyborg reclassification board" desc = "Used to rename a cyborg." @@ -57,12 +64,10 @@ heldname = stripped_input(user, "Enter new robot name", "Cyborg Reclassification", heldname, MAX_NAME_LEN) /obj/item/borg/upgrade/rename/action(mob/living/silicon/robot/R) - if(..()) return 0 - R.notify_ai(3, R.name, heldname) - R.name = heldname - R.real_name = heldname - R.camera.c_tag = heldname - R.custom_name = heldname //Required or else if the cyborg's module changes, their name is lost. + if(..()) + return + + R.fully_replace_character_name(R.name, heldname) return 1 @@ -82,17 +87,18 @@ if(ghost.mind && ghost.mind.current == R) R.key = ghost.key + R.notify_ai(1) + R.stat = UNCONSCIOUS R.update_stat() if(R.camera && !R.wires.is_cut(WIRE_CAMERA)) R.camera.toggle_cam(R,0) + dead_mob_list -= R //please never forget this ever kthx living_mob_list += R - R.notify_ai(1) return 1 - /obj/item/borg/upgrade/vtec name = "cyborg VTEC module" desc = "Used to kick in a cyborg's VTEC systems, increasing their speed." @@ -101,15 +107,17 @@ origin_tech = "engineering=4;materials=5" /obj/item/borg/upgrade/vtec/action(mob/living/silicon/robot/R) - if(..()) return 0 + if(..()) + return + if(R.speed < 0) + R << "A VTEC unit is already installed!" + usr << "There's no room for another VTEC unit!" + return - if(R.speed == -1) - return 0 + R.speed = -2 // Gotta go fast. - R.speed-- return 1 - /obj/item/borg/upgrade/disablercooler name = "cyborg rapid disabler cooling module" desc = "Used to cool a mounted disabler, increasing the potential current in it and thus its recharge rate." @@ -119,47 +127,39 @@ origin_tech = "engineering=4;powerstorage=4" /obj/item/borg/upgrade/disablercooler/action(mob/living/silicon/robot/R) - if(..()) return 0 + if(..()) + return - var/obj/item/weapon/gun/energy/disabler/cyborg/T = locate() in R.module + var/obj/item/weapon/gun/energy/disabler/cyborg/T = locate() in R.module.modules if(!T) - T = locate() in R.module.contents - if(!T) - T = locate() in R.module.modules - if(!T) - usr << "This cyborg has had its disabler removed!" - return 0 - + usr << "There's no disabler in this unit!" + return if(T.charge_delay <= 2) - R << "Maximum cooling achieved for this hardpoint!" - usr << "There's no room for another cooling unit!" - return 0 + R << "A cooling unit is already installed!" + usr << "There's no room for another cooling unit!" + return - else - T.charge_delay = max(2 , T.charge_delay - 4) + T.charge_delay = max(2 , T.charge_delay - 4) return 1 - -/obj/item/borg/upgrade/jetpack - name = "mining cyborg jetpack" - desc = "A carbon dioxide jetpack suitable for low-gravity mining operations." +/obj/item/borg/upgrade/thrusters + name = "ion thruster upgrade" + desc = "A energy-operated thruster system for cyborgs." icon_state = "cyborg_upgrade3" - require_module = 1 - module_type = /obj/item/weapon/robot_module/miner origin_tech = "engineering=4;powerstorage=4" -/obj/item/borg/upgrade/jetpack/action(mob/living/silicon/robot/R) - if(..()) return 0 +/obj/item/borg/upgrade/thrusters/action(mob/living/silicon/robot/R) + if(..()) + return - R.module.modules += new/obj/item/weapon/tank/jetpack/carbondioxide(R.module) - for(var/obj/item/weapon/tank/jetpack/carbondioxide in R.module.modules) - R.internal = src - R.jetpackoverlay = 1 - R.module.rebuild() + if(R.ionpulse) + usr << "This unit already has ion thrusters installed!" + return + + R.ionpulse = TRUE return 1 - /obj/item/borg/upgrade/ddrill name = "mining cyborg diamond drill" desc = "A diamond drill replacement for the mining module's standard drill." @@ -169,16 +169,18 @@ origin_tech = "engineering=5;materials=5" /obj/item/borg/upgrade/ddrill/action(mob/living/silicon/robot/R) - if(..()) return 0 + if(..()) + return for(var/obj/item/weapon/pickaxe/drill/cyborg/D in R.module.modules) qdel(D) for(var/obj/item/weapon/shovel/S in R.module.modules) qdel(S) + R.module.modules += new /obj/item/weapon/pickaxe/drill/cyborg/diamond(R.module) R.module.rebuild() - return 1 + return 1 /obj/item/borg/upgrade/soh name = "mining cyborg satchel of holding" @@ -189,14 +191,16 @@ origin_tech = "engineering=5;materials=5;bluespace=3" /obj/item/borg/upgrade/soh/action(mob/living/silicon/robot/R) - if(..()) return 0 + if(..()) + return for(var/obj/item/weapon/storage/bag/ore/cyborg/S in R.module.modules) qdel(S) + R.module.modules += new /obj/item/weapon/storage/bag/ore/holding(R.module) R.module.rebuild() - return 1 + return 1 /obj/item/borg/upgrade/syndicate name = "illegal equipment module" @@ -206,12 +210,14 @@ origin_tech = "combat=4;syndicate=2" /obj/item/borg/upgrade/syndicate/action(mob/living/silicon/robot/R) - if(..()) return 0 + if(..()) + return - if(R.emagged == 1) - return 0 + if(R.emagged) + return R.SetEmagged(1) + return 1 /obj/item/borg/upgrade/selfrepair @@ -228,14 +234,17 @@ /obj/item/borg/upgrade/selfrepair/action(mob/living/silicon/robot/R) if(..()) - return 0 + return + var/obj/item/borg/upgrade/selfrepair/U = locate() in R if(U) usr << "This unit is already equipped with a self-repair module." return 0 + cyborg = R icon_state = "selfrepair_off" action_button_name = "Toggle Self-Repair" + return 1 /obj/item/borg/upgrade/selfrepair/ui_action_click() @@ -256,7 +265,7 @@ /obj/item/borg/upgrade/selfrepair/proc/deactivate() SSobj.processing -= src - on = 0 + on = FALSE update_icon() /obj/item/borg/upgrade/selfrepair/process() @@ -264,8 +273,8 @@ repair_tick = 1 return - if( cyborg && (cyborg.stat != DEAD) && on) - if(cyborg.cell.charge < powercost*2) + if(cyborg && (cyborg.stat != DEAD) && on) + if(cyborg.cell.charge < powercost * 2) cyborg << "Self-repair module deactivated. Please recharge." deactivate() return @@ -285,7 +294,7 @@ cyborg.cell.use(5) repair_tick = 0 - if( (world.time - 2000) > msg_cooldown ) + if((world.time - 2000) > msg_cooldown ) var/msgmode = "standby" if(cyborg.health < 0) msgmode = "critical" diff --git a/code/game/objects/items/weapons/tanks/jetpack.dm b/code/game/objects/items/weapons/tanks/jetpack.dm index 76bf8a97fe2..9fde058f0e9 100644 --- a/code/game/objects/items/weapons/tanks/jetpack.dm +++ b/code/game/objects/items/weapons/tanks/jetpack.dm @@ -33,8 +33,8 @@ w_class = 4 distribute_pressure = ONE_ATMOSPHERE * O2STANDARD var/gas_type = "o2" - var/on = 0 - var/stabilization_on = 0 + var/on = FALSE + var/turbo = FALSE var/datum/effect_system/trail_follow/ion/ion_trail @@ -63,16 +63,16 @@ if(user.incapacitated()) return - if(!on && !stabilization_on) + if(!on) turn_on() user << "You turn the thrusters on." - else if(on && !stabilization_on) - stabilization_on = TRUE - user << "You turn the stabilizers on." - else if(on && stabilization_on) + else if(!turbo) + turbo = TRUE + user << "You engage turbo mode." + else turn_off() - stabilization_on = FALSE - user << "You turn the thrusters and stabilizers off." + turbo = FALSE + user << "You turn jetpack off." /obj/item/weapon/tank/jetpack/proc/turn_on() on = TRUE diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index ea16885f05f..ab3fc2b9cf9 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -1,39 +1,32 @@ /mob/living/carbon/human/movement_delay() - . += dna.species.movement_delay(src) - . += ..() . += config.human_delay /mob/living/carbon/human/Process_Spacemove(movement_dir = 0) - if(..()) return 1 + if(!isturf(loc)) // In a mecha? A locker? Who knows! + return 0 - //Do we have a working jetpack - if(istype(back, /obj/item/weapon/tank/jetpack) && isturf(loc)) //Second check is so you can't use a jetpack in a mech - var/obj/item/weapon/tank/jetpack/J = back - if((movement_dir || J.stabilization_on) && J.allow_thrust(0.01, src)) - return 1 - if(istype(wear_suit, /obj/item/clothing/suit/space/hardsuit) && isturf(loc)) //Second check is so you can't use a jetpack in a mech + // Do we have a jetpack (and is it on)? + var/obj/item/weapon/tank/jetpack/J = back + if(!istype(J)) var/obj/item/clothing/suit/space/hardsuit/C = wear_suit - if(C.jetpack) - if((movement_dir || C.jetpack.stabilization_on) && C.jetpack.allow_thrust(0.01, src)) - return 1 - - return 0 - + J = C.jetpack + if(istype(J) && J.allow_thrust(0.01, src)) + return 1 /mob/living/carbon/human/slip(s_amount, w_amount, obj/O, lube) if(isobj(shoes) && (shoes.flags&NOSLIP) && !(lube&GALOSHES_DONT_HELP)) return 0 - .=..() + return ..() /mob/living/carbon/human/experience_pressure_difference() playsound(src, 'sound/effects/space_wind.ogg', 50, 1) if(shoes && shoes.flags&NOSLIP) return 0 - . = ..() + return ..() /mob/living/carbon/human/mob_has_gravity() . = ..() diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index c8c8faffbc4..99b6cbb675e 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -749,61 +749,47 @@ /datum/species/proc/movement_delay(mob/living/carbon/human/H) . = 0 + if(H.status_flags & GOTTAGOFAST) + . -= 1 + if(H.status_flags & GOTTAGOREALLYFAST) + . -= 2 + if(!(H.status_flags & IGNORESLOWDOWN)) - - var/grav = has_gravity(H) - var/hasjetpack = 0 - if(!grav) - var/obj/item/weapon/tank/jetpack/J - var/obj/item/weapon/tank/jetpack/P - - if(istype(H.back, /obj/item/weapon/tank/jetpack)) - J = H.back - if(istype(H.wear_suit,/obj/item/clothing/suit/space/hardsuit)) //copypasta but faster implementation currently + if(!has_gravity(H)) + // If there's no gravity we have the option of sanic speed. + var/obj/item/weapon/tank/jetpack/J = H.back + if(!istype(J)) var/obj/item/clothing/suit/space/hardsuit/C = H.wear_suit - P = C.jetpack - if(J) - if(J.allow_thrust(0.01, H)) - hasjetpack = 1 - else if(P) - if(P.allow_thrust(0.01, H)) - hasjetpack = 1 + J = C.jetpack - . = -1 - hasjetpack + if(istype(J) && J.turbo && J.allow_thrust(0.01, H)) + return -2 // Turbo mode. Gotta go fast. - if(grav || !hasjetpack) - var/health_deficiency = (100 - H.health + H.staminaloss) - if(health_deficiency >= 40) - . += (health_deficiency / 25) + var/health_deficiency = (100 - H.health + H.staminaloss) + if(health_deficiency >= 40) + . += (health_deficiency / 25) - var/hungry = (500 - H.nutrition) / 5 //So overeat would be 100 and default level would be 80 - if(hungry >= 70) - . += hungry / 50 + var/hungry = (500 - H.nutrition) / 5 // So overeat would be 100 and default level would be 80 + if(hungry >= 70) + . += hungry / 50 - if(H.wear_suit) - . += H.wear_suit.slowdown - if(H.shoes) - . += H.shoes.slowdown - if(H.back) - . += H.back.slowdown - if(H.l_hand && (H.l_hand.flags & HANDSLOW)) - . += H.l_hand.slowdown - if(H.r_hand && (H.r_hand.flags & HANDSLOW)) - . += H.r_hand.slowdown + if(H.wear_suit) + . += H.wear_suit.slowdown + if(H.shoes) + . += H.shoes.slowdown + if(H.back) + . += H.back.slowdown + if(H.l_hand && (H.l_hand.flags & HANDSLOW)) + . += H.l_hand.slowdown + if(H.r_hand && (H.r_hand.flags & HANDSLOW)) + . += H.r_hand.slowdown - if((H.disabilities & FAT)) - . += 1.5 - if(H.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT) - . += (BODYTEMP_COLD_DAMAGE_LIMIT - H.bodytemperature) / COLD_SLOWDOWN_FACTOR + if((H.disabilities & FAT)) + . += 1.5 + if(H.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT) + . += (BODYTEMP_COLD_DAMAGE_LIMIT - H.bodytemperature) / COLD_SLOWDOWN_FACTOR - . += speedmod - - if(grav) - if(H.status_flags & GOTTAGOFAST) - . -= 1 - - if(H.status_flags & GOTTAGOREALLYFAST) - . -= 2 + . += speedmod ////////////////// // ATTACK PROCS // diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index 67c36e0cc5e..7ddc810833c 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -31,13 +31,12 @@ diag_hud_set_borgcell() /mob/living/silicon/robot/handle_regular_hud_updates() - if(!client) return update_cell_hud_icon() - if (syndicate) + if(syndicate) if(ticker.mode.name == "traitor") for(var/datum/mind/tra in ticker.mode.traitors) if(tra.current) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 720bbe1fcef..d8e33db8a7b 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -8,11 +8,14 @@ macro_default = "robot-default" macro_hotkeys = "robot-hotkeys" bubble_icon = "robot" - var/sight_mode = 0 - var/custom_name = "" designation = "Default" //used for displaying the prefix & getting the current module of cyborg has_limbs = 1 - var/magpulse = 0 + + var/custom_name = "" + var/braintype = "Cyborg" + var/modtype = "robot" + var/obj/item/robot_parts/robot_suit/robot_suit = null //Used for deconstruction to remember what the borg was constructed out of.. + var/obj/item/device/mmi/mmi = null //Hud stuff @@ -20,6 +23,7 @@ var/obj/screen/inv2 = null var/obj/screen/inv3 = null var/obj/screen/lamp_button = null + var/obj/screen/thruster_button = null var/shown_robot_modules = 0 //Used to determine whether they have the module menu shown or not var/obj/screen/robot_modules_background @@ -35,40 +39,39 @@ var/obj/item/weapon/stock_parts/cell/cell = null var/obj/machinery/camera/camera = null - var/obj/item/device/mmi/mmi = null - var/opened = 0 var/emagged = 0 var/emag_cooldown = 0 var/wiresexposed = 0 + + var/ident = 0 var/locked = 1 var/list/req_access = list(access_robotics) - var/ident = 0 - //var/list/laws = list() + var/alarms = list("Motion"=list(), "Fire"=list(), "Atmosphere"=list(), "Power"=list(), "Camera"=list(), "Burglar"=list()) var/viewalerts = 0 - var/modtype = "robot" - var/jetpack = 0 - var/datum/effect_system/trail_follow/ion/ion_trail = null - var/datum/effect_system/spark_spread/spark_system//So they can initialize sparks whenever/N - var/jeton = 0 + + var/speed = 0 // VTEC speed boost. + var/magpulse = FALSE // Magboot-like effect. + var/ionpulse = FALSE // Jetpack-like effect. + var/ionpulse_on = FALSE // Jetpack-like effect. + var/datum/effect_system/trail_follow/ion/ion_trail // Ionpulse effect. + var/low_power_mode = 0 //whether the robot has no charge left. + var/datum/effect_system/spark_spread/spark_system // So they can initialize sparks whenever/N var/lawupdate = 1 //Cyborgs will sync their laws with their AI by default - var/lockcharge //Boolean of whether the borg is locked down or not - var/speed = 0 //Cause sec borgs gotta go fast //No they dont! var/scrambledcodes = 0 // Used to determine if a borg shows up on the robotics console. Setting to one hides them. + var/lockcharge //Boolean of whether the borg is locked down or not - var/obj/item/weapon/tank/internal = null //Hatred. Used if a borg has a jetpack. - var/obj/item/robot_parts/robot_suit/robot_suit = null //Used for deconstruction to remember what the borg was constructed out of.. var/toner = 0 var/tonermax = 40 - var/jetpackoverlay = 0 - var/braintype = "Cyborg" + var/lamp_max = 10 //Maximum brightness of a borg lamp. Set as a var for easy adjusting. var/lamp_intensity = 0 //Luminosity of the headlamp. 0 is off. Higher settings than the minimum require power. var/lamp_recharging = 0 //Flag for if the lamp is on cooldown after being forcibly disabled. + var/sight_mode = 0 var/updating = 0 //portable camera camerachunk update hud_possible = list(ANTAG_HUD, DIAG_STAT_HUD, DIAG_HUD, DIAG_BATT_HUD) @@ -159,11 +162,15 @@ /mob/living/silicon/robot/proc/pick_module() if(module) return + designation = input("Please, select a module!", "Robot", null, null) in list("Standard", "Engineering", "Medical", "Miner", "Janitor","Service", "Security") - var/animation_length=0 + var/animation_length = 0 + if(module) return + updatename() + switch(designation) if("Standard") module = new /obj/item/weapon/robot_module/standard(src) @@ -239,9 +246,11 @@ feedback_inc("cyborg_janitor",1) transform_animation(animation_length) + notify_ai(2) update_icons() update_headlamp() + SetEmagged(emagged) // Update emag status and give/take emag modules. /mob/living/silicon/robot/proc/transform_animation(animation_length) @@ -256,7 +265,6 @@ icon = 'icons/mob/robots.dmi' /mob/living/silicon/robot/proc/updatename() - var/changed_name = "" if(custom_name) changed_name = custom_name @@ -267,7 +275,6 @@ if(camera) camera.c_tag = real_name //update the camera name too - /mob/living/silicon/robot/verb/cmd_robot_alerts() set category = "Robot Commands" set name = "Show Alerts" @@ -286,7 +293,6 @@ set hidden = 1 uneq_active() - /mob/living/silicon/robot/proc/robot_alerts() var/dat = "Current Station Alerts\n" dat += "Close

" @@ -310,6 +316,35 @@ viewalerts = 1 src << browse(dat, "window=robotalerts&can_close=0") +/mob/living/silicon/robot/proc/ionpulse() + if(!ionpulse_on) + return + + if(cell.charge < 0) + toggle_ionpulse() + return + + cell.charge -= 50 // 500 steps on a default cell. + return 1 + +/mob/living/silicon/robot/proc/toggle_ionpulse() + if(!ionpulse) + src << "No thrusters are installed!" + return + + if(!ion_trail) + ion_trail = new + ion_trail.set_up(src) + + ionpulse_on = !ionpulse_on + src << "You [ionpulse_on ? null :"de"]activate your ion thrusters." + if(ionpulse_on) + ion_trail.start() + else + ion_trail.stop() + if(thruster_button) + thruster_button.icon_state = "ionpulse[ionpulse_on]" + /mob/living/silicon/robot/blob_act() if (stat != 2) adjustBruteLoss(60) @@ -330,10 +365,6 @@ stat("Station Time:", worldtime2text()) if(module) - internal = locate(/obj/item/weapon/tank/jetpack) in module.modules - if(internal) - stat("Internal Atmosphere Info:", internal.name) - stat("Tank Pressure:", internal.air_contents.return_pressure()) for(var/datum/robot_energy_storage/st in module.storages) stat("[st.name]:", "[st.energy]/[st.max_energy]") if(connected_ai) @@ -342,7 +373,6 @@ /mob/living/silicon/robot/restrained() return 0 - /mob/living/silicon/robot/ex_act(severity, target) switch(severity) if(1) @@ -358,7 +388,6 @@ return - /mob/living/silicon/robot/bullet_act(var/obj/item/projectile/Proj) ..(Proj) updatehealth() @@ -368,7 +397,7 @@ /mob/living/silicon/robot/triggerAlarm(class, area/A, O, obj/alarmsource) if(alarmsource.z != z) return - if (stat == 2) + if(stat == DEAD) return 1 var/list/L = alarms[class] for (var/I in L) @@ -391,7 +420,6 @@ // if (viewalerts) robot_alerts() return 1 - /mob/living/silicon/robot/cancelAlarm(class, area/A, obj/origin) var/list/L = alarms[class] var/cleared = 0 @@ -409,12 +437,11 @@ // if (viewalerts) robot_alerts() return !cleared - /mob/living/silicon/robot/attackby(obj/item/weapon/W, mob/user, params) - if (istype(W, /obj/item/weapon/restraints/handcuffs)) // fuck i don't even know why isrobot() in handcuff code isn't working so this will have to do + if(istype(W, /obj/item/weapon/restraints/handcuffs)) // fuck i don't even know why isrobot() in handcuff code isn't working so this will have to do return - if (istype(W, /obj/item/weapon/weldingtool) && (user.a_intent != "harm" || user == src)) + if(istype(W, /obj/item/weapon/weldingtool) && (user.a_intent != "harm" || user == src)) user.changeNext_move(CLICK_CD_MELEE) var/obj/item/weapon/weldingtool/WT = W if (!getBruteLoss()) @@ -674,8 +701,6 @@ ..() return - - /mob/living/silicon/robot/attack_slime(mob/living/simple_animal/slime/M) if(..()) //successful slime shock flash_eyes() @@ -695,11 +720,8 @@ return - /mob/living/silicon/robot/attack_hand(mob/living/carbon/human/user) - add_fingerprint(user) - if(opened && !wiresexposed && (!istype(user, /mob/living/silicon))) if(cell) cell.updateicon() @@ -718,7 +740,6 @@ sleep(3) step_away(src,user,15) - /mob/living/silicon/robot/proc/allowed(mob/M) //check if it doesn't require any access at all if(check_access(null)) @@ -793,8 +814,6 @@ else overlays += "ov-opencover -c" - if(jetpackoverlay) - overlays += "minerjetpack" update_fire() /mob/living/silicon/robot/proc/installed_modules() @@ -838,7 +857,6 @@ popup.set_content(dat) popup.open() - /mob/living/silicon/robot/Topic(href, href_list) ..() if(usr && (src != usr)) @@ -882,11 +900,6 @@ src << "Module isn't activated" installed_modules() - return - -/mob/living/silicon/robot/proc/radio_menu() - radio.interact(src)//Just use the radio's Topic() instead of bullshit special-snowflake code - #define BORG_CAMERA_BUFFER 30 /mob/living/silicon/robot/Move(a, b, flag) var/oldLoc = src.loc @@ -951,7 +964,7 @@ return /mob/living/silicon/robot/proc/UnlinkSelf() - if (src.connected_ai) + if(src.connected_ai) src.connected_ai = null lawupdate = 0 lockcharge = 0 @@ -966,11 +979,10 @@ // to have to check if every camera is null or not before doing anything, to prevent runtime errors. // I could change the network to null but I don't know what would happen, and it seems too hacky for me. - /mob/living/silicon/robot/proc/ResetSecurityCodes() set category = "Robot Commands" set name = "Reset Identity Codes" - set desc = "Scrambles your security and identification codes and resets your current buffers. Unlocks you and but permenantly severs you from your AI and the robotics console and will deactivate your camera system." + set desc = "Scrambles your security and identification codes and resets your current buffers. Unlocks you and permenantly severs you from your AI and the robotics console and will deactivate your camera system." var/mob/living/silicon/robot/R = src @@ -985,7 +997,7 @@ set src = usr var/obj/item/W = get_active_hand() - if (W) + if(W) W.attack_self(src) return @@ -1061,8 +1073,6 @@ update_icons() - - /mob/living/silicon/robot/proc/deconstruct() var/turf/T = get_turf(src) if (robot_suit) @@ -1108,13 +1118,14 @@ /mob/living/silicon/robot/syndicate icon_state = "syndie_bloodhound" - lawupdate = 0 - scrambledcodes = 1 modtype = "Synd" faction = list("syndicate") bubble_icon = "syndibot" designation = "Syndicate Assault" req_access = list(access_syndicate) + lawupdate = FALSE + scrambledcodes = TRUE // These are rogue borgs. + ionpulse = TRUE var/playstyle_string = "You are a Syndicate assault cyborg!
\ You are armed with powerful offensive tools to aid you in your mission: help the operatives secure the nuclear authentication disk. \ Your cyborg LMG will slowly produce ammunition from your power supply, and your operative pinpointer will find and locate fellow nuclear operatives. \ @@ -1178,7 +1189,6 @@ diag_hud_set_status() update_health_hud() - /mob/living/silicon/robot/update_sight() if(!client) return @@ -1254,7 +1264,7 @@ else clear_fullscreen("remote_view", 0) -/mob/living/silicon/robot/fully_replace_character_name(oldname,newname) +/mob/living/silicon/robot/fully_replace_character_name(oldname, newname) ..() if(oldname != real_name) notify_ai(3, oldname, newname) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 72a48a63fe2..1cd5dba11a2 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -84,7 +84,6 @@ emag.name = "Placeholder Emag Item" return - /obj/item/weapon/robot_module/proc/respawn_consumable(mob/living/silicon/robot/R, coeff = 1) for(var/datum/robot_energy_storage/st in storages) st.energy = min(st.max_energy, st.energy + coeff * st.recharge_rate) @@ -99,10 +98,6 @@ var/obj/item/weapon/melee/baton/B = I if(B.bcell) B.bcell.charge = B.bcell.maxcharge - if(istype(I, /obj/item/weapon/tank/jetpack)) - var/obj/item/weapon/tank/jetpack/J = I - J.air_contents.assert_gas("co2") - J.air_contents.gases["co2"][MOLES] = (6 * ONE_ATMOSPHERE) * J.volume / (R_IDEAL_GAS_EQUATION * T20C) R.toner = R.tonermax @@ -125,7 +120,6 @@ /obj/item/weapon/robot_module/proc/on_emag() return - /obj/item/weapon/robot_module/standard name = "standard robot module" @@ -209,8 +203,6 @@ fix_modules() - - /obj/item/weapon/robot_module/security name = "security robot module" @@ -234,8 +226,6 @@ else T.charge_tick = 0 - - /obj/item/weapon/robot_module/janitor name = "janitorial robot module" var/obj/item/weapon/reagent_containers/spray/drying_agent @@ -312,8 +302,6 @@ modules += new /obj/item/weapon/gun/energy/kinetic_accelerator(src) fix_modules() - - /obj/item/weapon/robot_module/syndicate name = "syndicate assault robot module" @@ -323,7 +311,6 @@ modules += new /obj/item/weapon/gun/energy/printer(src) modules += new /obj/item/weapon/gun/projectile/revolver/grenadelauncher/cyborg(src) modules += new /obj/item/weapon/card/emag(src) - modules += new /obj/item/weapon/tank/jetpack/carbondioxide(src) modules += new /obj/item/weapon/crowbar/red(src) modules += new /obj/item/weapon/pinpointer/operative(src) emag = null @@ -345,14 +332,11 @@ modules += new /obj/item/weapon/melee/energy/sword/cyborg/saw(src) //Energy saw -- primary weapon modules += new /obj/item/roller/robo(src) modules += new /obj/item/weapon/card/emag(src) - modules += new /obj/item/weapon/tank/jetpack/carbondioxide(src) modules += new /obj/item/weapon/crowbar(src) modules += new /obj/item/weapon/pinpointer/operative(src) emag = null - add_module(new /obj/item/stack/medical/gauze/cyborg()) - fix_modules() /datum/robot_energy_storage diff --git a/code/modules/mob/living/silicon/robot/robot_movement.dm b/code/modules/mob/living/silicon/robot/robot_movement.dm index 336db3581f8..63d76801c78 100644 --- a/code/modules/mob/living/silicon/robot/robot_movement.dm +++ b/code/modules/mob/living/silicon/robot/robot_movement.dm @@ -1,18 +1,11 @@ /mob/living/silicon/robot/Process_Spacemove(movement_dir = 0) - if(module) - for(var/obj/item/weapon/tank/jetpack/J in module.modules) - if(J && istype(J, /obj/item/weapon/tank/jetpack)) - if(J.allow_thrust(0.01)) - return 1 - if(..()) + if(ionpulse()) return 1 - return 0 + return ..() /mob/living/silicon/robot/movement_delay() . = ..() - . += speed - . += config.robot_delay /mob/living/silicon/robot/mob_negates_gravity() diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index 4d8e250b7ce..688557649a8 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -608,6 +608,16 @@ construction_time = 120 category = list("Cyborg Upgrade Modules") +/datum/design/borg_upgrade_thrusters + name = "Cyborg Upgrade (Ion Thrusters)" + id = "borg_upgrade_thrusters" + build_type = MECHFAB + build_path = /obj/item/borg/upgrade/thrusters + req_tech = list("engineering" = 4, "powerstorage" = 4) + materials = list(MAT_METAL=10000, MAT_PLASMA=5000, MAT_URANIUM = 6000) + construction_time = 120 + category = list("Cyborg Upgrade Modules") + /datum/design/borg_upgrade_disablercooler name = "Cyborg Upgrade (Rapid Disabler Cooling Module)" id = "borg_upgrade_disablercooler" @@ -618,16 +628,6 @@ construction_time = 120 category = list("Cyborg Upgrade Modules") -/datum/design/borg_upgrade_jetpack - name = "Cyborg Upgrade (Mining Jetpack)" - id = "borg_upgrade_jetpack" - build_type = MECHFAB - build_path = /obj/item/borg/upgrade/jetpack - req_tech = list("engineering" = 4, "powerstorage" = 4) - materials = list(MAT_METAL=10000, MAT_PLASMA=5000, MAT_URANIUM = 6000) - construction_time = 120 - category = list("Cyborg Upgrade Modules") - /datum/design/borg_upgrade_diamonddrill name = "Cyborg Upgrade (Diamond Drill)" id = "borg_upgrade_diamonddrill" diff --git a/icons/mob/screen_cyborg.dmi b/icons/mob/screen_cyborg.dmi index b929a8c2395df3ca900c49ba3f86373506cbcdbc..2c2a5b8f684fec36d11b23a74322285269d011ac 100644 GIT binary patch literal 20046 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 literal 18199 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 Ar2qf` From 4b455f5ed32e276c8238c03939c4b4d26e9bc126 Mon Sep 17 00:00:00 2001 From: Bjorn Neergaard Date: Tue, 9 Feb 2016 17:36:18 -0600 Subject: [PATCH 2/2] Actual sprites --- .../modules/mob/living/silicon/robot/robot.dm | 2 +- .../designs/mechfabricator_designs.dm | 3 +-- icons/mob/screen_cyborg.dmi | Bin 20046 -> 18704 bytes 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index d8e33db8a7b..4c70239a2b2 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -320,7 +320,7 @@ if(!ionpulse_on) return - if(cell.charge < 0) + if(cell.charge <= 50) toggle_ionpulse() return diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index 688557649a8..90553541fd2 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -649,8 +649,7 @@ category = list("Cyborg Upgrade Modules") /datum/design/borg_syndicate_module - name = "Cyborg Illegal Upgrades Module" - desc = "Allows for the construction of restricted upgrades for cyborgs" + name = "Cyborg Upgrade (Illegal Modules)" id = "borg_syndicate_module" build_type = MECHFAB req_tech = list("combat" = 4, "syndicate" = 3) diff --git a/icons/mob/screen_cyborg.dmi b/icons/mob/screen_cyborg.dmi index 2c2a5b8f684fec36d11b23a74322285269d011ac..fc236ac7e2e3594bd10ef71e2743c33d8afad0c9 100644 GIT binary patch literal 18704 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 i?W&-F#a@B&AVOK)Mm>j-k6G1O=o^q-%fy-kI;c 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