From 32cded8556767907fe9dd4b62efee09e3463d895 Mon Sep 17 00:00:00 2001 From: panurgomatic Date: Sun, 29 May 2011 16:12:25 +0000 Subject: [PATCH] - Speed up for exosuits (faster walking, faster turning). - Added energy relay to exosuit fabricator. - Bugfixes. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1632 316c924e-a436-60f5-8080-3fe189b3f50e --- code/game/mecha/combat/durand.dm | 2 +- code/game/mecha/combat/gygax.dm | 2 +- code/game/mecha/combat/honker.dm | 2 +- code/game/mecha/combat/marauder.dm | 2 +- code/game/mecha/combat/phazon.dm | 10 ++++---- code/game/mecha/equipment/tools/tools.dm | 28 +++++++++++------------ code/game/mecha/mech_fabricator.dm | 23 ++++++++++--------- code/game/mecha/mecha.dm | 29 ++++++++++++------------ code/game/mecha/mecha_wreckage.dm | 2 +- code/game/mecha/working/firefighter.dm | 2 +- code/game/mecha/working/ripley.dm | 2 +- 11 files changed, 52 insertions(+), 52 deletions(-) diff --git a/code/game/mecha/combat/durand.dm b/code/game/mecha/combat/durand.dm index fb0567586c3..a7390339716 100644 --- a/code/game/mecha/combat/durand.dm +++ b/code/game/mecha/combat/durand.dm @@ -2,7 +2,7 @@ desc = "Combat exosuit." name = "Durand" icon_state = "durand" - step_in = 6 + step_in = 4 health = 400 deflect_chance = 20 max_temperature = 3000 diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm index 8833ccc62c3..7ceb6c1c0a2 100644 --- a/code/game/mecha/combat/gygax.dm +++ b/code/game/mecha/combat/gygax.dm @@ -2,7 +2,7 @@ desc = "Security exosuit." name = "Gygax" icon_state = "gygax" - step_in = 5 + step_in = 3 health = 300 deflect_chance = 15 max_temperature = 3500 diff --git a/code/game/mecha/combat/honker.dm b/code/game/mecha/combat/honker.dm index 0f136686f7b..49d64f113f0 100644 --- a/code/game/mecha/combat/honker.dm +++ b/code/game/mecha/combat/honker.dm @@ -2,7 +2,7 @@ desc = "Produced by \"Tyranny of Honk, INC\", this exosuit is designed as heavy clown-support. Used to spread the fun and joy of life. HONK!" name = "H.O.N.K" icon_state = "honker" - step_in = 4 + step_in = 2 health = 140 deflect_chance = 60 internal_damage_threshold = 60 diff --git a/code/game/mecha/combat/marauder.dm b/code/game/mecha/combat/marauder.dm index 9fcddcf0a98..63694155c58 100644 --- a/code/game/mecha/combat/marauder.dm +++ b/code/game/mecha/combat/marauder.dm @@ -2,7 +2,7 @@ desc = "Heavy duty combat exosuit." name = "Marauder" icon_state = "marauder" - step_in = 7 + step_in = 5 health = 500 deflect_chance = 25 max_temperature = 5000 diff --git a/code/game/mecha/combat/phazon.dm b/code/game/mecha/combat/phazon.dm index 22b2d9a3729..6df0ede93ae 100644 --- a/code/game/mecha/combat/phazon.dm +++ b/code/game/mecha/combat/phazon.dm @@ -2,7 +2,7 @@ desc = "An exosuit which can only be described as 'WTF?'." name = "Phazon" icon_state = "phazon" - step_in = 2 + step_in = 1 step_energy_drain = 3 health = 200 deflect_chance = 30 @@ -13,8 +13,8 @@ internal_damage_threshold = 25 force = 15 var/phasing = 0 - var/phasing_energy_drain = 300 - max_equip = 3 + var/phasing_energy_drain = 200 + max_equip = 4 /obj/mecha/combat/phazon/New() @@ -33,7 +33,7 @@ flick("phazon-phase", src) src.loc = get_step(src,src.dir) src.use_power(phasing_energy_drain) - sleep(step_in) + sleep(step_in*3) can_move = 1 else . = ..() @@ -82,5 +82,5 @@ if (href_list["phasing"]) phasing = !phasing send_byjax(src.occupant,"exosuit.browser","phasing_command","[phasing?"Dis":"En"]able phasing") - src.occupant_message() + src.occupant_message("En":"#f00\">Dis"]abled phasing.") return \ No newline at end of file diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm index f8869ea6fbf..1e560efb03a 100644 --- a/code/game/mecha/equipment/tools/tools.dm +++ b/code/game/mecha/equipment/tools/tools.dm @@ -614,7 +614,7 @@ equip_cooldown = 10 energy_drain = 0 range = 0 - construction_cost = list("metal"=10000,"gold"=5000,"silver"=5000,"glass"=2000) + construction_cost = list("metal"=10000,"gold"=2000,"silver"=3000,"glass"=2000) var/datum/global_iterator/pr_energy_relay var/coeff = 100 @@ -658,18 +658,18 @@ return output proc/dynusepower(amount) - if(equip_ready) //disabled - return chassis.dynusepower(amount) - var/area/A = get_area(chassis) - var/pow_chan - for(var/c in list(EQUIP,ENVIRON,LIGHT)) - if(A.master.powered(c)) - pow_chan = c - break - if(pow_chan) - A.master.use_power(amount*coeff, pow_chan) - return 1 - return 0 + if(!equip_ready) //enabled + var/area/A = get_area(chassis) + if(A) + var/pow_chan + for(var/c in list(EQUIP,ENVIRON,LIGHT)) + if(A.master.powered(c)) + pow_chan = c + break + if(pow_chan) + A.master.use_power(amount*coeff, pow_chan) + return 1 + return chassis.dynusepower(amount) /datum/global_iterator/mecha_energy_relay @@ -691,7 +691,7 @@ pow_chan = c break if(pow_chan) - var/delta = min(1, ER.chassis.cell.maxcharge-cur_charge) + var/delta = min(2, ER.chassis.cell.maxcharge-cur_charge) ER.chassis.give_power(delta) A.master.use_power(delta*ER.coeff, pow_chan) return diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 209cc572a62..bba539dda99 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -92,7 +92,8 @@ /obj/item/mecha_parts/mecha_equipment/weapon/honker, /obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster, /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster, - /obj/item/mecha_parts/mecha_equipment/repair_droid + /obj/item/mecha_parts/mecha_equipment/repair_droid, + /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay ), "Misc"=list(/obj/item/mecha_tracking) @@ -468,7 +469,7 @@ if(href_list["clear_queue"]) queue = list() return update_queue_on_page() - if(href_list["sync"]) //Sync the research holder with all the R&D consoles in the game that aren't sync protected. + if(href_list["sync"]) src.sync() if(href_list["auto_sync"]) src.sync = !src.sync @@ -519,15 +520,15 @@ if(src.resources[material] < res_max_amount) var/count = 0 src.overlays += "fab-load-[material]"//loading animation is now an overlay based on material type. No more spontaneous conversion of all ores to metal. -vey - spawn(10) - if(W && W.amount) - while(src.resources[material] < res_max_amount && W) - src.resources[material] += amnt - W.use(1) - count++ - src.overlays -= "fab-load-[material]" - user << "You insert [count] [name] into the fabricator." - src.updateUsrDialog() + sleep(10) + if(W && W.amount) + while(src.resources[material] < res_max_amount && W) + src.resources[material] += amnt + W.use(1) + count++ + src.overlays -= "fab-load-[material]" + user << "You insert [count] [name] into the fabricator." + src.updateUsrDialog() else user << "The fabricator cannot hold more [name]." return diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 49091986b64..a372c432080 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -97,7 +97,6 @@ ..() return -///client/var/mech_click /client/Click(object,location,control,params) var/mob/M = src.mob @@ -501,8 +500,8 @@ */ /obj/mecha/remove_air(amount) - if(src.use_internal_tank && src.internal_tank) - return src.internal_tank.air_contents.remove(amount) + if(use_internal_tank && internal_tank) + return internal_tank.air_contents.remove(amount) else var/turf/T = get_turf(src) if(T) @@ -510,18 +509,18 @@ return /obj/mecha/return_air() - if(src.internal_tank) - return src.internal_tank.return_air() + if(internal_tank) + return internal_tank.return_air() return /obj/mecha/proc/return_pressure() - if(src.internal_tank) - return src.internal_tank.return_pressure() + if(internal_tank) + return internal_tank.return_pressure() return 0 /obj/mecha/proc/return_temperature() - if(src.internal_tank) - return src.internal_tank.return_temperature() + if(internal_tank) + return internal_tank.return_temperature() return 0 @@ -539,7 +538,7 @@ /obj/mecha/proc/connect(obj/machinery/atmospherics/portables_connector/new_port) //Make sure not already connected to something else - if(src.connected_port || !new_port || new_port.connected_device) + if(connected_port || !new_port || new_port.connected_device) return 0 //Make sure are close enough for a valid connection @@ -547,14 +546,14 @@ return 0 //Perform the connection - src.connected_port = new_port - src.connected_port.connected_device = src + connected_port = new_port + connected_port.connected_device = src //Actually enforce the air sharing var/datum/pipe_network/network = connected_port.return_network(src) - if(network && !(src.return_air() in network.gases)) - network.gases += src.return_air() - src.log_message("Connected to gas port.") + if(network && !(return_air() in network.gases)) + network.gases += return_air() + log_message("Connected to gas port.") return 1 /obj/mecha/proc/disconnect() diff --git a/code/game/mecha/mecha_wreckage.dm b/code/game/mecha/mecha_wreckage.dm index a408a22c974..8015d92d23d 100644 --- a/code/game/mecha/mecha_wreckage.dm +++ b/code/game/mecha/mecha_wreckage.dm @@ -37,7 +37,7 @@ var/N = new type(get_turf(user)) user.visible_message("[user] cuts [N] from [src]", "You cut [N] from [src]", "You hear a sound of welder nearby") if(istype(N, /obj/item/mecha_parts/part)) - welder_salvage -= N + welder_salvage -= type salvage_num-- else user << "You failed to salvage anything valuable from [src]." diff --git a/code/game/mecha/working/firefighter.dm b/code/game/mecha/working/firefighter.dm index 323aedea476..7feb84bc3aa 100644 --- a/code/game/mecha/working/firefighter.dm +++ b/code/game/mecha/working/firefighter.dm @@ -2,7 +2,7 @@ desc = "Standart APLU chassis was refitted with additional thermal protection and cistern." name = "Ripley-on-Fire" icon_state = "ripley" - step_in = 8 + step_in = 6 max_temperature = 6000 health = 250 internal_damage_threshold = 40 diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index 27cd2c149a2..6774306471d 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -2,7 +2,7 @@ desc = "Autonomous Power Loader Unit." name = "APLU \"Ripley\"" icon_state = "ripley" - step_in = 8 + step_in = 6 max_temperature = 1000 health = 200 wreckage = "/obj/decal/mecha_wreckage/ripley"