TG: Tonnes of stuff, please check the changelog.

In short: massive updates to security, the library, hydroponics, the kitchen and
the bar, by Flazeo and Ikarrus
Massive updates to the PA, with Invisty's new sprites, done by Sieve
New sprites for field gens too, also by Invisty
Borg and battery updates by Sieve
Fake gloves by Sieve
I messed around with some pressure_resistance stuff on Dumpdavidson's suggestion
(only in paperwork)

PROBABLY A BUNCH OF OTHER SHIT
Revision: r3505
Author: 	 petethegoat
This commit is contained in:
Erthilo
2012-05-06 18:26:41 +01:00
parent 7685e6bef9
commit f2777aa65f
39 changed files with 776 additions and 165 deletions

View File

@@ -481,6 +481,9 @@ proc/process_ghost_teleport_locs()
//PRISON //PRISON
/area/prison
name = "Brig Prison Wing"
icon_state = "brig"
/area/prison/arrival_airlock /area/prison/arrival_airlock
name = "Prison Station Airlock" name = "Prison Station Airlock"
@@ -1032,7 +1035,7 @@ proc/process_ghost_teleport_locs()
//Security //Security
/area/security/main /area/security/main
name = "Security" name = "Security Office"
icon_state = "security" icon_state = "security"
/area/security/lobby /area/security/lobby

View File

@@ -258,10 +258,9 @@
/obj/machinery/driver_button /obj/machinery/driver_button
name = "mass driver button" name = "mass driver button"
desc = "FIRE AWAY!"
icon = 'objects.dmi' icon = 'objects.dmi'
icon_state = "launcherbtt" icon_state = "launcherbtt"
desc = "A remote control switch for a Mass Driver." desc = "A remote control switch for a mass driver."
var/id = null var/id = null
var/active = 0 var/active = 0
anchored = 1.0 anchored = 1.0
@@ -271,7 +270,6 @@
/obj/machinery/ignition_switch /obj/machinery/ignition_switch
name = "ignition switch" name = "ignition switch"
desc = "It activates an igniter."
icon = 'objects.dmi' icon = 'objects.dmi'
icon_state = "launcherbtt" icon_state = "launcherbtt"
desc = "A remote control switch for a mounted igniter." desc = "A remote control switch for a mounted igniter."
@@ -282,6 +280,18 @@
idle_power_usage = 2 idle_power_usage = 2
active_power_usage = 4 active_power_usage = 4
/obj/machinery/flasher_button
name = "flasher button"
desc = "A remote control switch for a mounted flasher."
icon = 'objects.dmi'
icon_state = "launcherbtt"
var/id = null
var/active = 0
anchored = 1.0
use_power = 1
idle_power_usage = 2
active_power_usage = 4
/obj/machinery/teleport /obj/machinery/teleport
name = "teleport" name = "teleport"
icon = 'stationobjs.dmi' icon = 'stationobjs.dmi'

View File

@@ -1205,6 +1205,8 @@ eternal248: Found broken and buggy Z-levels 7-12, ended up leading to my discove
g_amt = 50 g_amt = 50
var/rigged = 0 // true if rigged to explode var/rigged = 0 // true if rigged to explode
var/minor_fault = 0 //If not 100% reliable, it will build up faults. var/minor_fault = 0 //If not 100% reliable, it will build up faults.
var/construction_cost = list("metal"=750,"glass"=75)
var/construction_time=100
/obj/item/weapon/cell/crap /obj/item/weapon/cell/crap
name = "\improper NanoTrasen Brand Rechargable AA Battery" name = "\improper NanoTrasen Brand Rechargable AA Battery"
@@ -1222,23 +1224,29 @@ eternal248: Found broken and buggy Z-levels 7-12, ended up leading to my discove
/obj/item/weapon/cell/high /obj/item/weapon/cell/high
name = "high-capacity power cell" name = "high-capacity power cell"
origin_tech = "powerstorage=2" origin_tech = "powerstorage=2"
icon_state = "hcell"
maxcharge = 10000 maxcharge = 10000
g_amt = 60 g_amt = 60
/obj/item/weapon/cell/super /obj/item/weapon/cell/super
name = "super-capacity power cell" name = "super-capacity power cell"
origin_tech = "powerstorage=5" origin_tech = "powerstorage=5"
icon_state = "scell"
maxcharge = 20000 maxcharge = 20000
g_amt = 70 g_amt = 70
construction_cost = list("metal"=750,"glass"=100)
/obj/item/weapon/cell/hyper /obj/item/weapon/cell/hyper
name = "hyper-capacity power cell" name = "hyper-capacity power cell"
origin_tech = "powerstorage=6" origin_tech = "powerstorage=6"
icon_state = "hpcell"
maxcharge = 30000 maxcharge = 30000
g_amt = 80 g_amt = 80
construction_cost = list("metal"=500,"glass"=150,"gold"=200,"silver"=200)
/obj/item/weapon/cell/infinite /obj/item/weapon/cell/infinite
name = "infinite-capacity power cell!" name = "infinite-capacity power cell!"
icon_state = "icell"
origin_tech = null origin_tech = null
maxcharge = 30000 maxcharge = 30000
g_amt = 80 g_amt = 80
@@ -1891,6 +1899,13 @@ eternal248: Found broken and buggy Z-levels 7-12, ended up leading to my discove
icon = 'wizard.dmi' icon = 'wizard.dmi'
icon_state = "ectoplasm" icon_state = "ectoplasm"
/obj/item/weapon/research//Makes testing much less of a pain -Sieve
name = "research"
icon = 'stock_parts.dmi'
icon_state = "capacitor"
desc = "A debug item for research."
origin_tech = "materials=8;programming=8;magnets=8;powerstorage=8;bluespace=8;combat=8;biotech=8;syndicate=8"
/obj/item/weapon/appendix /obj/item/weapon/appendix
name = "appendix" name = "appendix"
desc = "An appendix which looks perfectly healthy." desc = "An appendix which looks perfectly healthy."

View File

@@ -22,6 +22,7 @@ var/datum/roundinfo/roundinfo = new()
var/Bible_icon_state // icon_state the chaplain has chosen for his bible var/Bible_icon_state // icon_state the chaplain has chosen for his bible
var/Bible_item_state // item_state the chaplain has chosen for his bible var/Bible_item_state // item_state the chaplain has chosen for his bible
var/Bible_name // name of the bible var/Bible_name // name of the bible
var/Bible_deity_name
var/random_players = 0 // if set to nonzero, ALL players who latejoin or declare-ready join will have random appearances/genders var/random_players = 0 // if set to nonzero, ALL players who latejoin or declare-ready join will have random appearances/genders

View File

@@ -145,6 +145,7 @@
ticker.Bible_icon_state = B.icon_state ticker.Bible_icon_state = B.icon_state
ticker.Bible_item_state = B.item_state ticker.Bible_item_state = B.item_state
ticker.Bible_name = B.name ticker.Bible_name = B.name
ticker.Bible_deity_name = B.deity_name
// feedback_set_details("religion_deity","[new_deity]") // feedback_set_details("religion_deity","[new_deity]")
// feedback_set_details("religion_book","[new_book_style]") // feedback_set_details("religion_book","[new_book_style]")
return 1 return 1

View File

@@ -171,6 +171,20 @@
src.health -= W.force src.health -= W.force
src.add_fingerprint(user) src.add_fingerprint(user)
healthcheck() healthcheck()
if(istype(user, /mob/living/silicon/robot) && istype(W, /obj/item/weapon/tank/jetpack))
var/datum/gas_mixture/thejetpack = W:air_contents
var/env_pressure = thejetpack.return_pressure()
var/pressure_delta = min(10*ONE_ATMOSPHERE - env_pressure, (air_contents.return_pressure() - env_pressure)/2)
//Can not have a pressure delta that would cause environment pressure > tank pressure
var/transfer_moles = 0
if((air_contents.temperature > 0) && (pressure_delta > 0))
transfer_moles = pressure_delta*thejetpack.volume/(air_contents.temperature * R_IDEAL_GAS_EQUATION)//Actually transfer the gas
var/datum/gas_mixture/removed = air_contents.remove(transfer_moles)
thejetpack.merge(removed)
user << "You pulse-pressurize your jetpack from the tank."
return
..() ..()
/obj/machinery/portable_atmospherics/canister/attack_ai(var/mob/user as mob) /obj/machinery/portable_atmospherics/canister/attack_ai(var/mob/user as mob)

View File

@@ -113,3 +113,36 @@
else if (src.anchored) else if (src.anchored)
user.show_message(text("\red [src] is now secured.")) user.show_message(text("\red [src] is now secured."))
src.overlays += "[base_state]-s" src.overlays += "[base_state]-s"
/obj/machinery/flasher_button/attack_ai(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/flasher_button/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/flasher_button/attackby(obj/item/weapon/W, mob/user as mob)
return src.attack_hand(user)
/obj/machinery/flasher_button/attack_hand(mob/user as mob)
if(stat & (NOPOWER|BROKEN))
return
if(active)
return
use_power(5)
active = 1
icon_state = "launcheract"
for(var/obj/machinery/flasher/M in world)
if(M.id == src.id)
spawn()
M.flash()
sleep(50)
icon_state = "launcherbtt"
active = 0
return

View File

@@ -757,6 +757,7 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f
B.icon_state = ticker.Bible_icon_state B.icon_state = ticker.Bible_icon_state
B.item_state = ticker.Bible_item_state B.item_state = ticker.Bible_item_state
B.name = ticker.Bible_name B.name = ticker.Bible_name
B.deity_name = ticker.Bible_deity_name
bibledelay = 60 bibledelay = 60
spawn(0) spawn(0)

View File

@@ -94,13 +94,13 @@
/obj/item/mecha_parts/part/honker_right_leg /obj/item/mecha_parts/part/honker_right_leg
), ),
"Exosuit Equipment"=list( "Exosuit Equipment"=list(
/obj/item/mecha_parts/chassis/firefighter,
/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp, /obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,
/obj/item/mecha_parts/mecha_equipment/tool/drill, /obj/item/mecha_parts/mecha_equipment/tool/drill,
/obj/item/mecha_parts/mecha_equipment/tool/extinguisher, /obj/item/mecha_parts/mecha_equipment/tool/extinguisher,
/obj/item/mecha_parts/mecha_equipment/tool/cable_layer, /obj/item/mecha_parts/mecha_equipment/tool/cable_layer,
/obj/item/mecha_parts/mecha_equipment/tool/sleeper, /obj/item/mecha_parts/mecha_equipment/tool/sleeper,
/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun, /obj/item/mecha_parts/mecha_equipment/tool/syringe_gun,
/obj/item/mecha_parts/chassis/firefighter,
///obj/item/mecha_parts/mecha_equipment/repair_droid, ///obj/item/mecha_parts/mecha_equipment/repair_droid,
/obj/item/mecha_parts/mecha_equipment/generator, /obj/item/mecha_parts/mecha_equipment/generator,
///obj/item/mecha_parts/mecha_equipment/jetpack, //TODO MECHA JETPACK SPRITE MISSING ///obj/item/mecha_parts/mecha_equipment/jetpack, //TODO MECHA JETPACK SPRITE MISSING
@@ -114,8 +114,9 @@
"Cyborg Upgrade Modules" = list( "Cyborg Upgrade Modules" = list(
/obj/item/borg/upgrade/reset, /obj/item/borg/upgrade/reset,
/obj/item/borg/upgrade/restart, /obj/item/borg/upgrade/restart,
/obj/item/borg/upgrade/vtec /obj/item/borg/upgrade/vtec,
///obj/item/borg/upgrade/tasercooler /obj/item/borg/upgrade/tasercooler,
/obj/item/borg/upgrade/jetpack
///obj/item/borg/upgrade/flashproof ///obj/item/borg/upgrade/flashproof
@@ -316,7 +317,8 @@
return return
proc/check_resources(var/obj/item/mecha_parts/part) proc/check_resources(var/obj/item/mecha_parts/part)
if(istype(part, /obj/item/robot_parts) || istype(part, /obj/item/mecha_parts) || istype(part,/obj/item/borg/upgrade)) // if(istype(part, /obj/item/robot_parts) || istype(part, /obj/item/mecha_parts) || istype(part,/obj/item/borg/upgrade))
if(part.construction_time!=null && part.construction_cost!=null)//Much more efficient way to check the item, since it won't have those vars if it isn't meant to go through the mechfabs -Sieve
for(var/resource in part.construction_cost) for(var/resource in part.construction_cost)
if(resource in src.resources) if(resource in src.resources)
if(src.resources[resource] < get_resource_cost_w_coeff(part,resource)) if(src.resources[resource] < get_resource_cost_w_coeff(part,resource))
@@ -429,12 +431,12 @@
proc/sync(silent=null) proc/sync(silent=null)
if(queue.len) /* if(queue.len)
if(!silent) if(!silent)
temp = "Error. Please clear processing queue before updating!" temp = "Error. Please clear processing queue before updating!"
src.updateUsrDialog() src.updateUsrDialog()
return return //This POS doesn't work, simplifying -Sieve
*/
if(!silent) if(!silent)
temp = "Updating local R&D database..." temp = "Updating local R&D database..."
src.updateUsrDialog() src.updateUsrDialog()
@@ -578,7 +580,9 @@
queue = list() queue = list()
return update_queue_on_page() return update_queue_on_page()
if(href_list["sync"]) if(href_list["sync"])
queue = list()
src.sync() src.sync()
return update_queue_on_page()
if(href_list["auto_sync"]) if(href_list["auto_sync"])
src.sync = !src.sync src.sync = !src.sync
//pr_auto_sync.toggle() //pr_auto_sync.toggle()

View File

@@ -89,8 +89,8 @@
spawn_result() spawn_result()
var/obj/item/mecha_parts/chassis/const_holder = holder var/obj/item/mecha_parts/chassis/const_holder = holder
const_holder.construct = new /datum/construction/reversible/mecha/ripley(const_holder) const_holder.construct = new /datum/construction/reversible/mecha/ripley(const_holder)
const_holder.icon = 'ripley_construct.dmi' const_holder.icon = 'mech_construction.dmi'
const_holder.icon_state = "ripley_step_14" const_holder.icon_state = "ripley0"
const_holder.density = 1 const_holder.density = 1
const_holder.overlays.len = 0 const_holder.overlays.len = 0
spawn() spawn()
@@ -169,105 +169,107 @@
switch(index) switch(index)
if(14) if(14)
user.visible_message("[user] connects [holder] hydraulic systems", "You connect [holder] hydraulic systems.") user.visible_message("[user] connects [holder] hydraulic systems", "You connect [holder] hydraulic systems.")
holder.icon_state = "ripley_step_13" holder.icon_state = "ripley1"
if(13) if(13)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] activates [holder] hydraulic systems.", "You activate [holder] hydraulic systems.") user.visible_message("[user] activates [holder] hydraulic systems.", "You activate [holder] hydraulic systems.")
holder.icon_state = "ripley_step_12" holder.icon_state = "ripley2"
else else
user.visible_message("[user] disconnects [holder] hydraulic systems", "You disconnect [holder] hydraulic systems.") user.visible_message("[user] disconnects [holder] hydraulic systems", "You disconnect [holder] hydraulic systems.")
holder.icon_state = "ripley_step_14" holder.icon_state = "ripley0"
if(12) if(12)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] adds the wiring to [holder].", "You add the wiring to [holder].") user.visible_message("[user] adds the wiring to [holder].", "You add the wiring to [holder].")
holder.icon_state = "ripley_step_11" holder.icon_state = "ripley3"
else else
user.visible_message("[user] deactivates [holder] hydraulic systems.", "You deactivate [holder] hydraulic systems.") user.visible_message("[user] deactivates [holder] hydraulic systems.", "You deactivate [holder] hydraulic systems.")
holder.icon_state = "ripley_step_13" holder.icon_state = "ripley1"
if(11) if(11)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] adjusts the wiring of [holder].", "You adjust the wiring of [holder].") user.visible_message("[user] adjusts the wiring of [holder].", "You adjust the wiring of [holder].")
holder.icon_state = "ripley_step_10" holder.icon_state = "ripley4"
else else
user.visible_message("[user] removes the wiring from [holder].", "You remove the wiring from [holder].") user.visible_message("[user] removes the wiring from [holder].", "You remove the wiring from [holder].")
var/obj/item/weapon/cable_coil/coil = new /obj/item/weapon/cable_coil(get_turf(holder)) var/obj/item/weapon/cable_coil/coil = new /obj/item/weapon/cable_coil(get_turf(holder))
coil.amount = 4 coil.amount = 4
holder.icon_state = "ripley_step_12" holder.icon_state = "ripley2"
if(10) if(10)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] installs the central control module into [holder].", "You install the central computer mainboard into [holder].") user.visible_message("[user] installs the central control module into [holder].", "You install the central computer mainboard into [holder].")
del used_atom del used_atom
holder.icon_state = "ripley_step_9" holder.icon_state = "ripley5"
else else
user.visible_message("[user] disconnects the wiring of [holder].", "You disconnect the wiring of [holder].") user.visible_message("[user] disconnects the wiring of [holder].", "You disconnect the wiring of [holder].")
holder.icon_state = "ripley_step_11" holder.icon_state = "ripley3"
if(9) if(9)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] secures the mainboard.", "You secure the mainboard.") user.visible_message("[user] secures the mainboard.", "You secure the mainboard.")
holder.icon_state = "ripley_step_8" holder.icon_state = "ripley6"
else else
user.visible_message("[user] removes the central control module from [holder].", "You remove the central computer mainboard from [holder].") user.visible_message("[user] removes the central control module from [holder].", "You remove the central computer mainboard from [holder].")
new /obj/item/weapon/circuitboard/mecha/ripley/main(get_turf(holder)) new /obj/item/weapon/circuitboard/mecha/ripley/main(get_turf(holder))
holder.icon_state = "ripley_step_10" holder.icon_state = "ripley4"
if(8) if(8)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] installs the peripherals control module into [holder].", "You install the peripherals control module into [holder].") user.visible_message("[user] installs the peripherals control module into [holder].", "You install the peripherals control module into [holder].")
del used_atom del used_atom
holder.icon_state = "ripley_step_7" holder.icon_state = "ripley7"
else else
user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.") user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.")
holder.icon_state = "ripley_step_9" holder.icon_state = "ripley5"
if(7) if(7)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.") user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.")
holder.icon_state = "ripley_step_6" holder.icon_state = "ripley8"
else else
user.visible_message("[user] removes the peripherals control module from [holder].", "You remove the peripherals control module from [holder].") user.visible_message("[user] removes the peripherals control module from [holder].", "You remove the peripherals control module from [holder].")
new /obj/item/weapon/circuitboard/mecha/ripley/peripherals(get_turf(holder)) new /obj/item/weapon/circuitboard/mecha/ripley/peripherals(get_turf(holder))
holder.icon_state = "ripley_step_8" holder.icon_state = "ripley6"
if(6) if(6)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] installs internal armor layer to [holder].", "You install internal armor layer to [holder].") user.visible_message("[user] installs internal armor layer to [holder].", "You install internal armor layer to [holder].")
holder.icon_state = "ripley_step_5" holder.icon_state = "ripley9"
else else
user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.") user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.")
holder.icon_state = "ripley_step_7" holder.icon_state = "ripley7"
if(5) if(5)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] secures internal armor layer.", "You secure internal armor layer.") user.visible_message("[user] secures internal armor layer.", "You secure internal armor layer.")
holder.icon_state = "ripley_step_4" holder.icon_state = "ripley10"
else else
user.visible_message("[user] pries internal armor layer from [holder].", "You prie internal armor layer from [holder].") user.visible_message("[user] pries internal armor layer from [holder].", "You prie internal armor layer from [holder].")
var/obj/item/stack/sheet/metal/MS = new /obj/item/stack/sheet/metal(get_turf(holder)) var/obj/item/stack/sheet/metal/MS = new /obj/item/stack/sheet/metal(get_turf(holder))
MS.amount = 5 MS.amount = 5
holder.icon_state = "ripley_step_6" holder.icon_state = "ripley8"
if(4) if(4)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] welds internal armor layer to [holder].", "You weld the internal armor layer to [holder].") user.visible_message("[user] welds internal armor layer to [holder].", "You weld the internal armor layer to [holder].")
holder.icon_state = "ripley_step_3" holder.icon_state = "ripley11"
flick("ripley_step_3active",holder)
else else
user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.") user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.")
holder.icon_state = "ripley_step_5" holder.icon_state = "ripley9"
if(3) if(3)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] installs external reinforced armor layer to [holder].", "You install external reinforced armor layer to [holder].") user.visible_message("[user] installs external reinforced armor layer to [holder].", "You install external reinforced armor layer to [holder].")
holder.icon_state = "ripley12"
else else
user.visible_message("[user] cuts internal armor layer from [holder].", "You cut the internal armor layer from [holder].") user.visible_message("[user] cuts internal armor layer from [holder].", "You cut the internal armor layer from [holder].")
holder.icon_state = "ripley_step_4" holder.icon_state = "ripley10"
flick("ripley_step_3active",holder)
if(2) if(2)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] secures external armor layer.", "You secure external reinforced armor layer.") user.visible_message("[user] secures external armor layer.", "You secure external reinforced armor layer.")
holder.icon_state = "ripley13"
else else
user.visible_message("[user] pries external armor layer from [holder].", "You prie external armor layer from [holder].") user.visible_message("[user] pries external armor layer from [holder].", "You prie external armor layer from [holder].")
var/obj/item/stack/sheet/plasteel/MS = new /obj/item/stack/sheet/plasteel(get_turf(holder)) var/obj/item/stack/sheet/plasteel/MS = new /obj/item/stack/sheet/plasteel(get_turf(holder))
MS.amount = 5 MS.amount = 5
holder.icon_state = "ripley11"
if(1) if(1)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] welds external armor layer to [holder].", "You weld external armor layer to [holder].") user.visible_message("[user] welds external armor layer to [holder].", "You weld external armor layer to [holder].")
else else
user.visible_message("[user] unfastens the external armor layer.", "You unfasten the external armor layer.") user.visible_message("[user] unfastens the external armor layer.", "You unfasten the external armor layer.")
holder.icon_state = "ripley12"
return 1 return 1
spawn_result() spawn_result()
@@ -298,6 +300,8 @@
spawn_result() spawn_result()
var/obj/item/mecha_parts/chassis/const_holder = holder var/obj/item/mecha_parts/chassis/const_holder = holder
const_holder.construct = new /datum/construction/reversible/mecha/gygax(const_holder) const_holder.construct = new /datum/construction/reversible/mecha/gygax(const_holder)
const_holder.icon = 'mech_construction.dmi'
const_holder.icon_state = "gygax0"
const_holder.density = 1 const_holder.density = 1
spawn() spawn()
del src del src
@@ -338,11 +342,11 @@
//8 //8
list("key"=/obj/item/weapon/stock_parts/capacitor/adv, list("key"=/obj/item/weapon/stock_parts/capacitor/adv,
"backkey"=/obj/item/weapon/screwdriver, "backkey"=/obj/item/weapon/screwdriver,
"desc"="Advanced scanning module is secured"), "desc"="Advanced scanner module is secured"),
//9 //9
list("key"=/obj/item/weapon/screwdriver, list("key"=/obj/item/weapon/screwdriver,
"backkey"=/obj/item/weapon/crowbar, "backkey"=/obj/item/weapon/crowbar,
"desc"="Advanced scanning module is installed"), "desc"="Advanced scanner module is installed"),
//10 //10
list("key"=/obj/item/weapon/stock_parts/scanning_module/adv, list("key"=/obj/item/weapon/stock_parts/scanning_module/adv,
"backkey"=/obj/item/weapon/screwdriver, "backkey"=/obj/item/weapon/screwdriver,
@@ -399,118 +403,155 @@
switch(index) switch(index)
if(20) if(20)
user.visible_message("[user] connects [holder] hydraulic systems", "You connect [holder] hydraulic systems.") user.visible_message("[user] connects [holder] hydraulic systems", "You connect [holder] hydraulic systems.")
holder.icon_state = "gygax1"
if(19) if(19)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] activates [holder] hydraulic systems.", "You activate [holder] hydraulic systems.") user.visible_message("[user] activates [holder] hydraulic systems.", "You activate [holder] hydraulic systems.")
holder.icon_state = "gygax2"
else else
user.visible_message("[user] disconnects [holder] hydraulic systems", "You disconnect [holder] hydraulic systems.") user.visible_message("[user] disconnects [holder] hydraulic systems", "You disconnect [holder] hydraulic systems.")
holder.icon_state = "gygax0"
if(18) if(18)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] adds the wiring to [holder].", "You add the wiring to [holder].") user.visible_message("[user] adds the wiring to [holder].", "You add the wiring to [holder].")
holder.icon_state = "gygax3"
else else
user.visible_message("[user] deactivates [holder] hydraulic systems.", "You deactivate [holder] hydraulic systems.") user.visible_message("[user] deactivates [holder] hydraulic systems.", "You deactivate [holder] hydraulic systems.")
holder.icon_state = "gygax1"
if(17) if(17)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] adjusts the wiring of [holder].", "You adjust the wiring of [holder].") user.visible_message("[user] adjusts the wiring of [holder].", "You adjust the wiring of [holder].")
holder.icon_state = "gygax4"
else else
user.visible_message("[user] removes the wiring from [holder].", "You remove the wiring from [holder].") user.visible_message("[user] removes the wiring from [holder].", "You remove the wiring from [holder].")
var/obj/item/weapon/cable_coil/coil = new /obj/item/weapon/cable_coil(get_turf(holder)) var/obj/item/weapon/cable_coil/coil = new /obj/item/weapon/cable_coil(get_turf(holder))
coil.amount = 4 coil.amount = 4
holder.icon_state = "gygax2"
if(16) if(16)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] installs the central control module into [holder].", "You install the central computer mainboard into [holder].") user.visible_message("[user] installs the central control module into [holder].", "You install the central computer mainboard into [holder].")
del used_atom del used_atom
holder.icon_state = "gygax5"
else else
user.visible_message("[user] disconnects the wiring of [holder].", "You disconnect the wiring of [holder].") user.visible_message("[user] disconnects the wiring of [holder].", "You disconnect the wiring of [holder].")
holder.icon_state = "gygax3"
if(15) if(15)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] secures the mainboard.", "You secure the mainboard.") user.visible_message("[user] secures the mainboard.", "You secure the mainboard.")
holder.icon_state = "gygax6"
else else
user.visible_message("[user] removes the central control module from [holder].", "You remove the central computer mainboard from [holder].") user.visible_message("[user] removes the central control module from [holder].", "You remove the central computer mainboard from [holder].")
new /obj/item/weapon/circuitboard/mecha/gygax/main(get_turf(holder)) new /obj/item/weapon/circuitboard/mecha/gygax/main(get_turf(holder))
holder.icon_state = "gygax4"
if(14) if(14)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] installs the peripherals control module into [holder].", "You install the peripherals control module into [holder].") user.visible_message("[user] installs the peripherals control module into [holder].", "You install the peripherals control module into [holder].")
del used_atom del used_atom
holder.icon_state = "gygax7"
else else
user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.") user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.")
holder.icon_state = "gygax5"
if(13) if(13)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.") user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.")
holder.icon_state = "gygax8"
else else
user.visible_message("[user] removes the peripherals control module from [holder].", "You remove the peripherals control module from [holder].") user.visible_message("[user] removes the peripherals control module from [holder].", "You remove the peripherals control module from [holder].")
new /obj/item/weapon/circuitboard/mecha/gygax/peripherals(get_turf(holder)) new /obj/item/weapon/circuitboard/mecha/gygax/peripherals(get_turf(holder))
holder.icon_state = "gygax6"
if(12) if(12)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] installs the weapon control module into [holder].", "You install the weapon control module into [holder].") user.visible_message("[user] installs the weapon control module into [holder].", "You install the weapon control module into [holder].")
del used_atom del used_atom
holder.icon_state = "gygax9"
else else
user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.") user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.")
holder.icon_state = "gygax7"
if(11) if(11)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] secures the weapon control module.", "You secure the weapon control module.") user.visible_message("[user] secures the weapon control module.", "You secure the weapon control module.")
holder.icon_state = "gygax10"
else else
user.visible_message("[user] removes the weapon control module from [holder].", "You remove the weapon control module from [holder].") user.visible_message("[user] removes the weapon control module from [holder].", "You remove the weapon control module from [holder].")
new /obj/item/weapon/circuitboard/mecha/gygax/targeting(get_turf(holder)) new /obj/item/weapon/circuitboard/mecha/gygax/targeting(get_turf(holder))
holder.icon_state = "gygax8"
if(10) if(10)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] installs advanced scanning module to [holder].", "You install advanced scanning module to [holder].") user.visible_message("[user] installs advanced scanner module to [holder].", "You install advanced scanner module to [holder].")
del used_atom del used_atom
holder.icon_state = "gygax11"
else else
user.visible_message("[user] unfastens the weapon control module.", "You unfasten the weapon control module.") user.visible_message("[user] unfastens the weapon control module.", "You unfasten the weapon control module.")
holder.icon_state = "gygax9"
if(9) if(9)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] secures the advanced scanning module.", "You secure the advanced scanning module.") user.visible_message("[user] secures the advanced scanner module.", "You secure the advanced scanner module.")
holder.icon_state = "gygax12"
else else
user.visible_message("[user] removes the advanced scanning module from [holder].", "You remove the advanced scanning module from [holder].") user.visible_message("[user] removes the advanced scanner module from [holder].", "You remove the advanced scanner module from [holder].")
new /obj/item/weapon/stock_parts/scanning_module/adv(get_turf(holder)) new /obj/item/weapon/stock_parts/scanning_module/adv(get_turf(holder))
holder.icon_state = "gygax10"
if(8) if(8)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] installs advanced capacitor to [holder].", "You install advanced capacitor to [holder].") user.visible_message("[user] installs advanced capacitor to [holder].", "You install advanced capacitor to [holder].")
del used_atom del used_atom
holder.icon_state = "gygax13"
else else
user.visible_message("[user] unfastens the advanced scanning module.", "You unfasten the advanced scanning module.") user.visible_message("[user] unfastens the advanced scanner module.", "You unfasten the advanced scanner module.")
holder.icon_state = "gygax11"
if(7) if(7)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] secures the advanced capacitor.", "You secure the advanced capacitor.") user.visible_message("[user] secures the advanced capacitor.", "You secure the advanced capacitor.")
holder.icon_state = "gygax14"
else else
user.visible_message("[user] removes the advanced capacitor from [holder].", "You remove the advanced capacitor from [holder].") user.visible_message("[user] removes the advanced capacitor from [holder].", "You remove the advanced capacitor from [holder].")
new /obj/item/weapon/stock_parts/capacitor/adv(get_turf(holder)) new /obj/item/weapon/stock_parts/capacitor/adv(get_turf(holder))
holder.icon_state = "gygax12"
if(6) if(6)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] installs internal armor layer to [holder].", "You install internal armor layer to [holder].") user.visible_message("[user] installs internal armor layer to [holder].", "You install internal armor layer to [holder].")
holder.icon_state = "gygax15"
else else
user.visible_message("[user] unfastens the advanced capacitor.", "You unfasten the advanced capacitor.") user.visible_message("[user] unfastens the advanced capacitor.", "You unfasten the advanced capacitor.")
holder.icon_state = "gygax13"
if(5) if(5)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] secures internal armor layer.", "You secure internal armor layer.") user.visible_message("[user] secures internal armor layer.", "You secure internal armor layer.")
holder.icon_state = "gygax16"
else else
user.visible_message("[user] pries internal armor layer from [holder].", "You prie internal armor layer from [holder].") user.visible_message("[user] pries internal armor layer from [holder].", "You prie internal armor layer from [holder].")
var/obj/item/stack/sheet/metal/MS = new /obj/item/stack/sheet/metal(get_turf(holder)) var/obj/item/stack/sheet/metal/MS = new /obj/item/stack/sheet/metal(get_turf(holder))
MS.amount = 5 MS.amount = 5
holder.icon_state = "gygax14"
if(4) if(4)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] welds internal armor layer to [holder].", "You weld the internal armor layer to [holder].") user.visible_message("[user] welds internal armor layer to [holder].", "You weld the internal armor layer to [holder].")
holder.icon_state = "gygax17"
else else
user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.") user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.")
holder.icon_state = "gygax15"
if(3) if(3)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] installs Gygax Armour Plates to [holder].", "You install Gygax Armour Plates to [holder].") user.visible_message("[user] installs Gygax Armour Plates to [holder].", "You install Gygax Armour Plates to [holder].")
holder.overlays += used_atom.icon_state
del used_atom del used_atom
holder.icon_state = "gygax18"
else else
user.visible_message("[user] cuts internal armor layer from [holder].", "You cut the internal armor layer from [holder].") user.visible_message("[user] cuts internal armor layer from [holder].", "You cut the internal armor layer from [holder].")
holder.icon_state = "gygax16"
if(2) if(2)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] secures Gygax Armour Plates.", "You secure Gygax Armour Plates.") user.visible_message("[user] secures Gygax Armour Plates.", "You secure Gygax Armour Plates.")
holder.icon_state = "gygax19"
else else
user.visible_message("[user] pries Gygax Armour Plates from [holder].", "You prie Gygax Armour Plates from [holder].") user.visible_message("[user] pries Gygax Armour Plates from [holder].", "You prie Gygax Armour Plates from [holder].")
new /obj/item/mecha_parts/part/gygax_armour(get_turf(holder)) new /obj/item/mecha_parts/part/gygax_armour(get_turf(holder))
holder.icon_state = "gygax17"
if(1) if(1)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] welds Gygax Armour Plates to [holder].", "You weld Gygax Armour Plates to [holder].") user.visible_message("[user] welds Gygax Armour Plates to [holder].", "You weld Gygax Armour Plates to [holder].")
else else
user.visible_message("[user] unfastens Gygax Armour Plates.", "You unfasten Gygax Armour Plates.") user.visible_message("[user] unfastens Gygax Armour Plates.", "You unfasten Gygax Armour Plates.")
holder.icon_state = "gygax18"
return 1 return 1
spawn_result() spawn_result()
@@ -539,6 +580,8 @@
spawn_result() spawn_result()
var/obj/item/mecha_parts/chassis/const_holder = holder var/obj/item/mecha_parts/chassis/const_holder = holder
const_holder.construct = new /datum/construction/reversible/mecha/firefighter(const_holder) const_holder.construct = new /datum/construction/reversible/mecha/firefighter(const_holder)
const_holder.icon = 'mech_construction.dmi'
const_holder.icon_state = "fireripley0"
const_holder.density = 1 const_holder.density = 1
spawn() spawn()
del src del src
@@ -621,89 +664,117 @@
switch(index) switch(index)
if(15) if(15)
user.visible_message("[user] connects [holder] hydraulic systems", "You connect [holder] hydraulic systems.") user.visible_message("[user] connects [holder] hydraulic systems", "You connect [holder] hydraulic systems.")
holder.icon_state = "fireripley1"
if(14) if(14)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] activates [holder] hydraulic systems.", "You activate [holder] hydraulic systems.") user.visible_message("[user] activates [holder] hydraulic systems.", "You activate [holder] hydraulic systems.")
holder.icon_state = "fireripley2"
else else
user.visible_message("[user] disconnects [holder] hydraulic systems", "You disconnect [holder] hydraulic systems.") user.visible_message("[user] disconnects [holder] hydraulic systems", "You disconnect [holder] hydraulic systems.")
holder.icon_state = "fireripley0"
if(13) if(13)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] adds the wiring to [holder].", "You add the wiring to [holder].") user.visible_message("[user] adds the wiring to [holder].", "You add the wiring to [holder].")
holder.icon_state = "fireripley3"
else else
user.visible_message("[user] deactivates [holder] hydraulic systems.", "You deactivate [holder] hydraulic systems.") user.visible_message("[user] deactivates [holder] hydraulic systems.", "You deactivate [holder] hydraulic systems.")
holder.icon_state = "fireripley1"
if(12) if(12)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] adjusts the wiring of [holder].", "You adjust the wiring of [holder].") user.visible_message("[user] adjusts the wiring of [holder].", "You adjust the wiring of [holder].")
holder.icon_state = "fireripley4"
else else
user.visible_message("[user] removes the wiring from [holder].", "You remove the wiring from [holder].") user.visible_message("[user] removes the wiring from [holder].", "You remove the wiring from [holder].")
var/obj/item/weapon/cable_coil/coil = new /obj/item/weapon/cable_coil(get_turf(holder)) var/obj/item/weapon/cable_coil/coil = new /obj/item/weapon/cable_coil(get_turf(holder))
coil.amount = 4 coil.amount = 4
holder.icon_state = "fireripley2"
if(11) if(11)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] installs the central control module into [holder].", "You install the central computer mainboard into [holder].") user.visible_message("[user] installs the central control module into [holder].", "You install the central computer mainboard into [holder].")
del used_atom del used_atom
holder.icon_state = "fireripley5"
else else
user.visible_message("[user] disconnects the wiring of [holder].", "You disconnect the wiring of [holder].") user.visible_message("[user] disconnects the wiring of [holder].", "You disconnect the wiring of [holder].")
holder.icon_state = "fireripley3"
if(10) if(10)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] secures the mainboard.", "You secure the mainboard.") user.visible_message("[user] secures the mainboard.", "You secure the mainboard.")
holder.icon_state = "fireripley6"
else else
user.visible_message("[user] removes the central control module from [holder].", "You remove the central computer mainboard from [holder].") user.visible_message("[user] removes the central control module from [holder].", "You remove the central computer mainboard from [holder].")
new /obj/item/weapon/circuitboard/mecha/ripley/main(get_turf(holder)) new /obj/item/weapon/circuitboard/mecha/ripley/main(get_turf(holder))
holder.icon_state = "fireripley4"
if(9) if(9)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] installs the peripherals control module into [holder].", "You install the peripherals control module into [holder].") user.visible_message("[user] installs the peripherals control module into [holder].", "You install the peripherals control module into [holder].")
del used_atom del used_atom
holder.icon_state = "fireripley7"
else else
user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.") user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.")
holder.icon_state = "fireripley5"
if(8) if(8)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.") user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.")
holder.icon_state = "fireripley8"
else else
user.visible_message("[user] removes the peripherals control module from [holder].", "You remove the peripherals control module from [holder].") user.visible_message("[user] removes the peripherals control module from [holder].", "You remove the peripherals control module from [holder].")
new /obj/item/weapon/circuitboard/mecha/ripley/peripherals(get_turf(holder)) new /obj/item/weapon/circuitboard/mecha/ripley/peripherals(get_turf(holder))
holder.icon_state = "fireripley6"
if(7) if(7)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] installs internal armor layer to [holder].", "You install internal armor layer to [holder].") user.visible_message("[user] installs internal armor layer to [holder].", "You install internal armor layer to [holder].")
holder.icon_state = "fireripley9"
else else
user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.") user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.")
holder.icon_state = "fireripley7"
if(6) if(6)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] secures internal armor layer.", "You secure internal armor layer.") user.visible_message("[user] secures internal armor layer.", "You secure internal armor layer.")
holder.icon_state = "fireripley10"
else else
user.visible_message("[user] pries internal armor layer from [holder].", "You prie internal armor layer from [holder].") user.visible_message("[user] pries internal armor layer from [holder].", "You prie internal armor layer from [holder].")
var/obj/item/stack/sheet/plasteel/MS = new /obj/item/stack/sheet/plasteel(get_turf(holder)) var/obj/item/stack/sheet/plasteel/MS = new /obj/item/stack/sheet/plasteel(get_turf(holder))
MS.amount = 5 MS.amount = 5
holder.icon_state = "fireripley8"
if(5) if(5)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] welds internal armor layer to [holder].", "You weld the internal armor layer to [holder].") user.visible_message("[user] welds internal armor layer to [holder].", "You weld the internal armor layer to [holder].")
holder.icon_state = "fireripley11"
else else
user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.") user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.")
holder.icon_state = "fireripley9"
if(4) if(4)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] starts to install the external armor layer to [holder].", "You start to install the external armor layer to [holder].") user.visible_message("[user] starts to install the external armor layer to [holder].", "You start to install the external armor layer to [holder].")
holder.icon_state = "fireripley12"
else else
user.visible_message("[user] cuts internal armor layer from [holder].", "You cut the internal armor layer from [holder].") user.visible_message("[user] cuts internal armor layer from [holder].", "You cut the internal armor layer from [holder].")
holder.icon_state = "fireripley10"
if(3) if(3)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] installs external reinforced armor layer to [holder].", "You install external reinforced armor layer to [holder].") user.visible_message("[user] installs external reinforced armor layer to [holder].", "You install external reinforced armor layer to [holder].")
holder.icon_state = "fireripley13"
else else
user.visible_message("[user] removes the external armor from [holder].", "You remove the external armor from [holder].") user.visible_message("[user] removes the external armor from [holder].", "You remove the external armor from [holder].")
var/obj/item/stack/sheet/plasteel/MS = new /obj/item/stack/sheet/plasteel(get_turf(holder)) var/obj/item/stack/sheet/plasteel/MS = new /obj/item/stack/sheet/plasteel(get_turf(holder))
MS.amount = 5 MS.amount = 5
holder.icon_state = "fireripley11"
if(2) if(2)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] secures external armor layer.", "You secure external reinforced armor layer.") user.visible_message("[user] secures external armor layer.", "You secure external reinforced armor layer.")
holder.icon_state = "fireripley14"
else else
user.visible_message("[user] pries external armor layer from [holder].", "You prie external armor layer from [holder].") user.visible_message("[user] pries external armor layer from [holder].", "You prie external armor layer from [holder].")
var/obj/item/stack/sheet/plasteel/MS = new /obj/item/stack/sheet/plasteel(get_turf(holder)) var/obj/item/stack/sheet/plasteel/MS = new /obj/item/stack/sheet/plasteel(get_turf(holder))
MS.amount = 5 MS.amount = 5
holder.icon_state = "fireripley12"
if(1) if(1)
if(diff==FORWARD) if(diff==FORWARD)
user.visible_message("[user] welds external armor layer to [holder].", "You weld external armor layer to [holder].") user.visible_message("[user] welds external armor layer to [holder].", "You weld external armor layer to [holder].")
else else
user.visible_message("[user] unfastens the external armor layer.", "You unfasten the external armor layer.") user.visible_message("[user] unfastens the external armor layer.", "You unfasten the external armor layer.")
holder.icon_state = "fireripley13"
return 1 return 1
spawn_result() spawn_result()
@@ -810,92 +881,259 @@
spawn_result() spawn_result()
var/obj/item/mecha_parts/chassis/const_holder = holder var/obj/item/mecha_parts/chassis/const_holder = holder
const_holder.construct = new /datum/construction/mecha/durand(const_holder) const_holder.construct = new /datum/construction/reversible/mecha/durand(const_holder)
const_holder.icon = 'mech_construction.dmi'
const_holder.icon_state = "durand0"
const_holder.density = 1 const_holder.density = 1
spawn() spawn()
del src del src
return return
/datum/construction/mecha/durand /datum/construction/reversible/mecha/durand
result = "/obj/mecha/combat/durand" result = "/obj/mecha/combat/durand"
steps = list(list("key"=/obj/item/weapon/weldingtool),//1 steps = list(
list("key"=/obj/item/weapon/wrench),//2 //1
list("key"=/obj/item/mecha_parts/part/durand_armour),//3 list("key"=/obj/item/weapon/weldingtool,
list("key"=/obj/item/weapon/weldingtool),//4 "backkey"=/obj/item/weapon/wrench,
list("key"=/obj/item/weapon/wrench),//5 "desc"="External armor is wrenched."),
list("key"=/obj/item/stack/sheet/metal),//6 //2
list("key"=/obj/item/weapon/screwdriver),//7 list("key"=/obj/item/weapon/wrench,
list("key"=/obj/item/weapon/stock_parts/capacitor/adv),//8 "backkey"=/obj/item/weapon/crowbar,
list("key"=/obj/item/weapon/screwdriver),//9 "desc"="External armor is installed."),
list("key"=/obj/item/weapon/stock_parts/scanning_module/adv),//10 //3
list("key"=/obj/item/weapon/screwdriver),//11 list("key"=/obj/item/mecha_parts/part/durand_armour,
list("key"=/obj/item/weapon/circuitboard/mecha/durand/targeting),//12 "backkey"=/obj/item/weapon/weldingtool,
list("key"=/obj/item/weapon/screwdriver),//13 "desc"="Internal armor is welded."),
list("key"=/obj/item/weapon/circuitboard/mecha/durand/peripherals),//14 //4
list("key"=/obj/item/weapon/screwdriver),//15 list("key"=/obj/item/weapon/weldingtool,
list("key"=/obj/item/weapon/circuitboard/mecha/durand/main),//16 "backkey"=/obj/item/weapon/wrench,
list("key"=/obj/item/weapon/wirecutters),//17 "desc"="Internal armor is wrenched"),
list("key"=/obj/item/weapon/cable_coil),//18 //5
list("key"=/obj/item/weapon/screwdriver),//19 list("key"=/obj/item/weapon/wrench,
list("key"=/obj/item/weapon/wrench)//20 "backkey"=/obj/item/weapon/crowbar,
"desc"="Internal armor is installed"),
//6
list("key"=/obj/item/stack/sheet/metal,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="Advanced capacitor is secured"),
//7
list("key"=/obj/item/weapon/screwdriver,
"backkey"=/obj/item/weapon/crowbar,
"desc"="Advanced capacitor is installed"),
//8
list("key"=/obj/item/weapon/stock_parts/capacitor/adv,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="Advanced scanner module is secured"),
//9
list("key"=/obj/item/weapon/screwdriver,
"backkey"=/obj/item/weapon/crowbar,
"desc"="Advanced scanner module is installed"),
//10
list("key"=/obj/item/weapon/stock_parts/scanning_module/adv,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="Targeting module is secured"),
//11
list("key"=/obj/item/weapon/screwdriver,
"backkey"=/obj/item/weapon/crowbar,
"desc"="Targeting module is installed"),
//12
list("key"=/obj/item/weapon/circuitboard/mecha/durand/targeting,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="Peripherals control module is secured"),
//13
list("key"=/obj/item/weapon/screwdriver,
"backkey"=/obj/item/weapon/crowbar,
"desc"="Peripherals control module is installed"),
//14
list("key"=/obj/item/weapon/circuitboard/mecha/durand/peripherals,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="Central control module is secured"),
//15
list("key"=/obj/item/weapon/screwdriver,
"backkey"=/obj/item/weapon/crowbar,
"desc"="Central control module is installed"),
//16
list("key"=/obj/item/weapon/circuitboard/mecha/durand/main,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="The wiring is adjusted"),
//17
list("key"=/obj/item/weapon/wirecutters,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="The wiring is added"),
//18
list("key"=/obj/item/weapon/cable_coil,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="The hydraulic systems are active."),
//19
list("key"=/obj/item/weapon/screwdriver,
"backkey"=/obj/item/weapon/wrench,
"desc"="The hydraulic systems are connected."),
//20
list("key"=/obj/item/weapon/wrench,
"desc"="The hydraulic systems are disconnected.")
) )
action(atom/used_atom,mob/user as mob) action(atom/used_atom,mob/user as mob)
return check_step(used_atom,user) return check_step(used_atom,user)
custom_action(step, atom/used_atom, mob/user) custom_action(index, diff, atom/used_atom, mob/user)
if(!..()) if(!..())
return 0 return 0
//TODO: better messages. //TODO: better messages.
switch(step) switch(index)
if(20) if(20)
user.visible_message("[user] connects [holder] hydraulic systems", "You connect [holder] hydraulic systems.") user.visible_message("[user] connects [holder] hydraulic systems", "You connect [holder] hydraulic systems.")
holder.icon_state = "durand1"
if(19) if(19)
user.visible_message("[user] adjusts [holder] hydraulic systems.", "You adjust [holder] hydraulic systems.") if(diff==FORWARD)
user.visible_message("[user] activates [holder] hydraulic systems.", "You activate [holder] hydraulic systems.")
holder.icon_state = "durand2"
else
user.visible_message("[user] disconnects [holder] hydraulic systems", "You disconnect [holder] hydraulic systems.")
holder.icon_state = "durand0"
if(18) if(18)
if(diff==FORWARD)
user.visible_message("[user] adds the wiring to [holder].", "You add the wiring to [holder].") user.visible_message("[user] adds the wiring to [holder].", "You add the wiring to [holder].")
holder.icon_state = "durand3"
else
user.visible_message("[user] deactivates [holder] hydraulic systems.", "You deactivate [holder] hydraulic systems.")
holder.icon_state = "durand1"
if(17) if(17)
if(diff==FORWARD)
user.visible_message("[user] adjusts the wiring of [holder].", "You adjust the wiring of [holder].") user.visible_message("[user] adjusts the wiring of [holder].", "You adjust the wiring of [holder].")
holder.icon_state = "durand4"
else
user.visible_message("[user] removes the wiring from [holder].", "You remove the wiring from [holder].")
var/obj/item/weapon/cable_coil/coil = new /obj/item/weapon/cable_coil(get_turf(holder))
coil.amount = 4
holder.icon_state = "durand2"
if(16) if(16)
if(diff==FORWARD)
user.visible_message("[user] installs the central control module into [holder].", "You install the central computer mainboard into [holder].") user.visible_message("[user] installs the central control module into [holder].", "You install the central computer mainboard into [holder].")
del used_atom del used_atom
holder.icon_state = "durand5"
else
user.visible_message("[user] disconnects the wiring of [holder].", "You disconnect the wiring of [holder].")
holder.icon_state = "durand3"
if(15) if(15)
if(diff==FORWARD)
user.visible_message("[user] secures the mainboard.", "You secure the mainboard.") user.visible_message("[user] secures the mainboard.", "You secure the mainboard.")
holder.icon_state = "durand6"
else
user.visible_message("[user] removes the central control module from [holder].", "You remove the central computer mainboard from [holder].")
new /obj/item/weapon/circuitboard/mecha/durand/main(get_turf(holder))
holder.icon_state = "durand4"
if(14) if(14)
if(diff==FORWARD)
user.visible_message("[user] installs the peripherals control module into [holder].", "You install the peripherals control module into [holder].") user.visible_message("[user] installs the peripherals control module into [holder].", "You install the peripherals control module into [holder].")
del used_atom del used_atom
holder.icon_state = "durand7"
else
user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.")
holder.icon_state = "durand5"
if(13) if(13)
if(diff==FORWARD)
user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.") user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.")
holder.icon_state = "durand8"
else
user.visible_message("[user] removes the peripherals control module from [holder].", "You remove the peripherals control module from [holder].")
new /obj/item/weapon/circuitboard/mecha/durand/peripherals(get_turf(holder))
holder.icon_state = "durand6"
if(12) if(12)
if(diff==FORWARD)
user.visible_message("[user] installs the weapon control module into [holder].", "You install the weapon control module into [holder].") user.visible_message("[user] installs the weapon control module into [holder].", "You install the weapon control module into [holder].")
del used_atom del used_atom
holder.icon_state = "durand9"
else
user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.")
holder.icon_state = "durand7"
if(11) if(11)
if(diff==FORWARD)
user.visible_message("[user] secures the weapon control module.", "You secure the weapon control module.") user.visible_message("[user] secures the weapon control module.", "You secure the weapon control module.")
holder.icon_state = "durand10"
else
user.visible_message("[user] removes the weapon control module from [holder].", "You remove the weapon control module from [holder].")
new /obj/item/weapon/circuitboard/mecha/durand/targeting(get_turf(holder))
holder.icon_state = "durand8"
if(10) if(10)
user.visible_message("[user] installs advanced scanning module to [holder].", "You install advanced scanning module to [holder].") if(diff==FORWARD)
user.visible_message("[user] installs advanced scanner module to [holder].", "You install advanced scanner module to [holder].")
del used_atom del used_atom
holder.icon_state = "durand11"
else
user.visible_message("[user] unfastens the weapon control module.", "You unfasten the weapon control module.")
holder.icon_state = "durand9"
if(9) if(9)
user.visible_message("[user] secures the advanced scanning module.", "You secure the advanced scanning module.") if(diff==FORWARD)
user.visible_message("[user] secures the advanced scanner module.", "You secure the advanced scanner module.")
holder.icon_state = "durand12"
else
user.visible_message("[user] removes the advanced scanner module from [holder].", "You remove the advanced scanner module from [holder].")
new /obj/item/weapon/stock_parts/scanning_module/adv(get_turf(holder))
holder.icon_state = "durand10"
if(8) if(8)
if(diff==FORWARD)
user.visible_message("[user] installs advanced capacitor to [holder].", "You install advanced capacitor to [holder].") user.visible_message("[user] installs advanced capacitor to [holder].", "You install advanced capacitor to [holder].")
del used_atom del used_atom
holder.icon_state = "durand13"
else
user.visible_message("[user] unfastens the advanced scanner module.", "You unfasten the advanced scanner module.")
holder.icon_state = "durand11"
if(7) if(7)
if(diff==FORWARD)
user.visible_message("[user] secures the advanced capacitor.", "You secure the advanced capacitor.") user.visible_message("[user] secures the advanced capacitor.", "You secure the advanced capacitor.")
holder.icon_state = "durand14"
else
user.visible_message("[user] removes the advanced capacitor from [holder].", "You remove the advanced capacitor from [holder].")
new /obj/item/weapon/stock_parts/capacitor/adv(get_turf(holder))
holder.icon_state = "durand12"
if(6) if(6)
if(diff==FORWARD)
user.visible_message("[user] installs internal armor layer to [holder].", "You install internal armor layer to [holder].") user.visible_message("[user] installs internal armor layer to [holder].", "You install internal armor layer to [holder].")
holder.icon_state = "durand15"
else
user.visible_message("[user] unfastens the advanced capacitor.", "You unfasten the advanced capacitor.")
holder.icon_state = "durand13"
if(5) if(5)
if(diff==FORWARD)
user.visible_message("[user] secures internal armor layer.", "You secure internal armor layer.") user.visible_message("[user] secures internal armor layer.", "You secure internal armor layer.")
holder.icon_state = "durand16"
else
user.visible_message("[user] pries internal armor layer from [holder].", "You prie internal armor layer from [holder].")
var/obj/item/stack/sheet/metal/MS = new /obj/item/stack/sheet/metal(get_turf(holder))
MS.amount = 5
holder.icon_state = "durand14"
if(4) if(4)
if(diff==FORWARD)
user.visible_message("[user] welds internal armor layer to [holder].", "You weld the internal armor layer to [holder].") user.visible_message("[user] welds internal armor layer to [holder].", "You weld the internal armor layer to [holder].")
holder.icon_state = "durand17"
else
user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.")
holder.icon_state = "durand15"
if(3) if(3)
if(diff==FORWARD)
user.visible_message("[user] installs Durand Armour Plates to [holder].", "You install Durand Armour Plates to [holder].") user.visible_message("[user] installs Durand Armour Plates to [holder].", "You install Durand Armour Plates to [holder].")
holder.overlays += used_atom.icon_state
del used_atom del used_atom
holder.icon_state = "durand18"
else
user.visible_message("[user] cuts internal armor layer from [holder].", "You cut the internal armor layer from [holder].")
holder.icon_state = "durand16"
if(2) if(2)
if(diff==FORWARD)
user.visible_message("[user] secures Durand Armour Plates.", "You secure Durand Armour Plates.") user.visible_message("[user] secures Durand Armour Plates.", "You secure Durand Armour Plates.")
holder.icon_state = "durand19"
else
user.visible_message("[user] pries Durand Armour Plates from [holder].", "You prie Durand Armour Plates from [holder].")
new /obj/item/mecha_parts/part/durand_armour(get_turf(holder))
holder.icon_state = "durand17"
if(1) if(1)
if(diff==FORWARD)
user.visible_message("[user] welds Durand Armour Plates to [holder].", "You weld Durand Armour Plates to [holder].") user.visible_message("[user] welds Durand Armour Plates to [holder].", "You weld Durand Armour Plates to [holder].")
else
user.visible_message("[user] unfastens Durand Armour Plates.", "You unfasten Durand Armour Plates.")
holder.icon_state = "durand18"
return 1 return 1
spawn_result() spawn_result()

View File

@@ -192,3 +192,25 @@
for(var/mob/O in viewers(M, null)) for(var/mob/O in viewers(M, null))
O.show_message("<span class='disarm'>[M] is blinded by the flash!</span>") O.show_message("<span class='disarm'>[M] is blinded by the flash!</span>")
..() ..()
/obj/item/device/flash/synthetic
name = "synthetic flash"
desc = "When a problem arises, SCIENCE is the solution."
icon_state = "sflash"
origin_tech = "magnets=2;combat=1"
var/construction_cost = list("metal"=750,"glass"=750)
var/construction_time=100
/obj/item/device/flash/synthetic/attack(mob/living/M as mob, mob/user as mob)
..()
if(!broken)
broken = 1
user << "\red The bulb has burnt out!"
icon_state = "flashburnt"
/obj/item/device/flash/synthetic/attack_self(mob/living/carbon/user as mob, flag = 0, emp = 0)
..()
if(!broken)
broken = 1
user << "\red The bulb has burnt out!"
icon_state = "flashburnt"

View File

@@ -9,7 +9,7 @@
datum/effect/effect/system/ion_trail_follow/ion_trail datum/effect/effect/system/ion_trail_follow/ion_trail
on = 0.0 on = 0.0
stabilization_on = 0 stabilization_on = 0
volume_rate = 500 //Needed for borg jetpack transfer
New() New()
..() ..()
@@ -101,3 +101,11 @@
src.ion_trail.set_up(src) src.ion_trail.set_up(src)
src.air_contents.carbon_dioxide = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) src.air_contents.carbon_dioxide = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
return return
examine()
set src in usr
..()
if(air_contents.carbon_dioxide < 10)
usr << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>")
playsound(usr, 'alert.ogg', 50, 1)
return

View File

@@ -152,6 +152,21 @@
heat_transfer_coefficient = 0.01 heat_transfer_coefficient = 0.01
color="yellow" color="yellow"
/obj/item/clothing/gloves/fyellow //Cheap Chinese Crap
desc = "These gloves are cheap copies of the coveted gloves, no way this can end badly."
name = "fake insulated gloves"
icon_state = "yellow"
item_state = "ygloves"
siemens_coefficient = 1 //Set to a default of 1, gets overridden in New()
permeability_coefficient = 0.05
protective_temperature = 800
heat_transfer_coefficient = null
color="yellow"
New()
siemens_coefficient = pick(0,0,0.25,0.25,0.5,0.5,1)
heat_transfer_coefficient = pick(0.01,0.1,0.25,0.25,0.5)
/obj/item/clothing/gloves/captain /obj/item/clothing/gloves/captain
desc = "Regal blue gloves, with a nice gold trim. Swanky." desc = "Regal blue gloves, with a nice gold trim. Swanky."
name = "captain's gloves" name = "captain's gloves"

View File

@@ -224,6 +224,13 @@ proc/move_mining_shuttle()
origin_tech = "materials=6;powerstorage=4;engineering=5" origin_tech = "materials=6;powerstorage=4;engineering=5"
desc = "Yours is the drill that will pierce the heavens!" desc = "Yours is the drill that will pierce the heavens!"
borgdrill
name = "Cyborg Mining Drill"
icon_state = "diamonddrill"
item_state = "jackhammer"
digspeed = 15
desc = ""
/*****************************Shovel********************************/ /*****************************Shovel********************************/
/obj/item/weapon/shovel /obj/item/weapon/shovel

View File

@@ -34,6 +34,12 @@
if(0) if(0)
usr << "The satchel now picks up one ore at a time." usr << "The satchel now picks up one ore at a time."
/obj/item/weapon/satchel/borg
icon = 'mining.dmi'
icon_state = "satchel"
name = "Cyborg Mining Satchel"
mode = 1; //0 = pick one at a time, 1 = pick all on tile
capacity = 200; //the number of ore pieces it can carry.
/**********************Ore box**************************/ /**********************Ore box**************************/

View File

@@ -265,6 +265,11 @@
else else
stat(null, text("No Cell Inserted!")) stat(null, text("No Cell Inserted!"))
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())
/mob/living/silicon/robot/restrained() /mob/living/silicon/robot/restrained()
return 0 return 0

View File

@@ -8,6 +8,7 @@
var var
list/modules = list() list/modules = list()
obj/item/emag = null obj/item/emag = null
obj/item/borg/upgrade/jetpack = null
emp_act(severity) emp_act(severity)
@@ -24,6 +25,8 @@
src.modules += new /obj/item/device/flash(src) src.modules += new /obj/item/device/flash(src)
src.emag = new /obj/item/toy/sword(src) src.emag = new /obj/item/toy/sword(src)
src.emag.name = "Placeholder Emag Item" src.emag.name = "Placeholder Emag Item"
// src.jetpack = new /obj/item/toy/sword(src)
// src.jetpack.name = "Placeholder Upgrade Item"
return return
@@ -152,7 +155,7 @@
src.modules += new /obj/item/weapon/handcuffs/cyborg(src) src.modules += new /obj/item/weapon/handcuffs/cyborg(src)
src.modules += new /obj/item/weapon/melee/baton(src) src.modules += new /obj/item/weapon/melee/baton(src)
src.modules += new /obj/item/weapon/gun/energy/taser/cyborg(src) src.modules += new /obj/item/weapon/gun/energy/taser/cyborg(src)
// src.emag = new /obj/item/weapon/gun/energy/laser/cyborg(src) src.emag = new /obj/item/weapon/gun/energy/laser/cyborg(src)
return return
@@ -217,9 +220,10 @@
..() ..()
src.modules += new /obj/item/borg/sight/meson(src) src.modules += new /obj/item/borg/sight/meson(src)
src.emag = new /obj/item/borg/stun(src) src.emag = new /obj/item/borg/stun(src)
src.modules += new /obj/item/weapon/satchel(src) src.modules += new /obj/item/weapon/satchel/borg(src)
src.modules += new /obj/item/weapon/pickaxe/jackhammer(src) src.modules += new /obj/item/weapon/pickaxe/borgdrill(src)
src.modules += new /obj/item/weapon/shovel(src) // src.modules += new /obj/item/weapon/shovel(src) Uneeded due to buffed drill
// src.jetpack += new/obj/item/weapon/tank/jetpack/carbondioxide(src)
return return
@@ -231,5 +235,4 @@
src.modules += new /obj/item/weapon/melee/energy/sword(src) src.modules += new /obj/item/weapon/melee/energy/sword(src)
src.modules += new /obj/item/weapon/gun/energy/pulse_rifle/destroyer(src) src.modules += new /obj/item/weapon/gun/energy/pulse_rifle/destroyer(src)
src.modules += new /obj/item/weapon/card/emag(src) src.modules += new /obj/item/weapon/card/emag(src)
src.modules += new /obj/item/weapon/tank/jetpack/oxygen(src)
return return

View File

@@ -5,7 +5,7 @@
name = "A borg upgrade module." name = "A borg upgrade module."
desc = "Protected by FRM." desc = "Protected by FRM."
icon = 'module.dmi' icon = 'module.dmi'
icon_state = "id_mod" icon_state = "cyborg_upgrade"
var/construction_time = 120 var/construction_time = 120
var/construction_cost = list("metal"=10000) var/construction_cost = list("metal"=10000)
var/locked = 0 var/locked = 0
@@ -19,6 +19,7 @@
/obj/item/borg/upgrade/reset/ /obj/item/borg/upgrade/reset/
name = "Borg module reset board" name = "Borg module reset board"
desc = "Used to reset a borg's module. Destroys any other upgrades applied to the borg." desc = "Used to reset a borg's module. Destroys any other upgrades applied to the borg."
icon_state = "cyborg_upgrade1"
require_module = 1 require_module = 1
/obj/item/borg/upgrade/reset/action(var/mob/living/silicon/robot/R) /obj/item/borg/upgrade/reset/action(var/mob/living/silicon/robot/R)
@@ -41,6 +42,7 @@
name = "Borg Flash-Supression" name = "Borg Flash-Supression"
desc = "A highly advanced, complicated system for supressing incoming flashes directed at the borg's optical processing system." desc = "A highly advanced, complicated system for supressing incoming flashes directed at the borg's optical processing system."
construction_cost = list("metal"=10000,"gold"=2000,"silver"=3000,"glass"=2000, "diamond"=5000) construction_cost = list("metal"=10000,"gold"=2000,"silver"=3000,"glass"=2000, "diamond"=5000)
icon_state = "cyborg_upgrade4"
require_module = 1 require_module = 1
@@ -57,6 +59,7 @@
name = "Borg emergancy restart module" name = "Borg emergancy restart module"
desc = "Used to force a restart of a disabled-but-repaired borg, bringing it back online." desc = "Used to force a restart of a disabled-but-repaired borg, bringing it back online."
construction_cost = list("metal"=60000 , "glass"=5000) construction_cost = list("metal"=60000 , "glass"=5000)
icon_state = "cyborg_upgrade1"
/obj/item/borg/upgrade/restart/action(var/mob/living/silicon/robot/R) /obj/item/borg/upgrade/restart/action(var/mob/living/silicon/robot/R)
@@ -77,6 +80,7 @@
name = "Borg VTEC Module" name = "Borg VTEC Module"
desc = "Used to kick in a borgs VTEC systems, increasing their speed." desc = "Used to kick in a borgs VTEC systems, increasing their speed."
construction_cost = list("metal"=80000 , "glass"=6000 , "gold"= 5000) construction_cost = list("metal"=80000 , "glass"=6000 , "gold"= 5000)
icon_state = "cyborg_upgrade2"
require_module = 1 require_module = 1
/obj/item/borg/upgrade/vtec/action(var/mob/living/silicon/robot/R) /obj/item/borg/upgrade/vtec/action(var/mob/living/silicon/robot/R)
@@ -91,6 +95,7 @@
name = "Borg Rapid Taser Cooling Module" name = "Borg Rapid Taser Cooling Module"
desc = "Used to cool a mounted taser, increasing the potential current in it and thus its recharge rate.." desc = "Used to cool a mounted taser, increasing the potential current in it and thus its recharge rate.."
construction_cost = list("metal"=80000 , "glass"=6000 , "gold"= 2000, "diamond" = 500) construction_cost = list("metal"=80000 , "glass"=6000 , "gold"= 2000, "diamond" = 500)
icon_state = "cyborg_upgrade3"
require_module = 1 require_module = 1
@@ -118,3 +123,22 @@
T.recharge_time = max(2 , T.recharge_time - 4) T.recharge_time = max(2 , T.recharge_time - 4)
return 1 return 1
/obj/item/borg/upgrade/jetpack/
name = "Mining Borg Jetpack"
desc = "A carbon dioxide jetpack suitable for low-gravity mining operations"
construction_cost = list("metal"=10000,"plasma"=15000,"uranium" = 20000)
icon_state = "cyborg_upgrade3"
require_module = 1
/obj/item/borg/upgrade/jetpack/action(var/mob/living/silicon/robot/R)
if(!istype(R.module, /obj/item/weapon/robot_module/miner))
R << "Upgrade mounting error! No suitable hardpoint detected!"
usr << "There's no mounting point for the module!"
return 0
else
R.module.modules += new/obj/item/weapon/tank/jetpack/carbondioxide
for(var/obj/item/weapon/tank/jetpack/carbondioxide in R.module.modules)
R.internals = src
R.icon_state="Miner+j"
return 1

View File

@@ -21,7 +21,7 @@
/mob/living/simple_animal/crab/Life() /mob/living/simple_animal/crab/Life()
..() ..()
//CRAB movement //CRAB movement
if(!ckey) if(!ckey && alive)
if(isturf(src.loc) && !resting && !buckled) //This is so it only moves if it's not inside a closet, gentics machine, etc. if(isturf(src.loc) && !resting && !buckled) //This is so it only moves if it's not inside a closet, gentics machine, etc.
turns_since_move++ turns_since_move++
if(turns_since_move >= turns_per_move) if(turns_since_move >= turns_per_move)
@@ -35,3 +35,35 @@
response_help = "pets" response_help = "pets"
response_disarm = "gently pushes aside" response_disarm = "gently pushes aside"
response_harm = "stomps" response_harm = "stomps"
//LOOK AT THIS - ..()??
/mob/living/simple_animal/crab/attackby(var/obj/item/O as obj, var/mob/user as mob)
if(istype(O, /obj/item/weapon/wirecutters))
user << "\red \b This kills the crab."
health -= 20
Die()
if(istype(O, /obj/item/stack/medical))
if(alive)
var/obj/item/stack/medical/MED = O
if(health < maxHealth)
if(MED.amount >= 1)
health = min(maxHealth, health + MED.heal_brute)
MED.amount -= 1
if(MED.amount <= 0)
del(MED)
for(var/mob/M in viewers(src, null))
if ((M.client && !( M.blinded )))
M.show_message("\blue [user] applies the [MED] on [src]")
else
user << "\blue this [src] is dead, medical items won't bring it back to life."
else
if(O.force)
health -= O.force
for(var/mob/M in viewers(src, null))
if ((M.client && !( M.blinded )))
M.show_message("\red \b [src] has been attacked with the [O] by [user]. ")
else
usr << "\red This weapon is ineffective, it does no damage."
for(var/mob/M in viewers(src, null))
if ((M.client && !( M.blinded )))
M.show_message("\red [user] gently taps [src] with the [O]. ")

View File

@@ -10,6 +10,7 @@
var/obj/item/weapon/pen/haspen //The stored pen. var/obj/item/weapon/pen/haspen //The stored pen.
var/obj/item/weapon/paper/toppaper //The topmost piece of paper. var/obj/item/weapon/paper/toppaper //The topmost piece of paper.
flags = FPRINT | TABLEPASS | ONBELT flags = FPRINT | TABLEPASS | ONBELT
pressure_resistance = 10
/obj/item/weapon/clipboard/New() /obj/item/weapon/clipboard/New()
update_icon() update_icon()

View File

@@ -8,6 +8,7 @@
throw_speed = 3 throw_speed = 3
throw_range = 15 throw_range = 15
layer = 4 layer = 4
pressure_resistance = 1
var var
info //What's actually written on the paper. info //What's actually written on the paper.

View File

@@ -7,6 +7,7 @@
w_class = 3 w_class = 3
throw_speed = 3 throw_speed = 3
throw_range = 7 throw_range = 7
pressure_resistance = 10
var var
amount = 30 //How much paper is in the bin. amount = 30 //How much paper is in the bin.
list/papers = new/list() //List of papers put in the bin for reference. list/papers = new/list() //List of papers put in the bin for reference.

View File

@@ -10,6 +10,7 @@
throw_range = 15 throw_range = 15
m_amt = 10 m_amt = 10
var/colour = "black" //what colour the ink is! var/colour = "black" //what colour the ink is!
pressure_resistance = 5
/obj/item/weapon/pen/blue /obj/item/weapon/pen/blue
desc = "It's a normal blue ink pen." desc = "It's a normal blue ink pen."

View File

@@ -11,6 +11,7 @@
throw_range = 15 throw_range = 15
m_amt = 60 m_amt = 60
var/color = "cargo" var/color = "cargo"
pressure_resistance = 5
/obj/item/weapon/stamp/captain /obj/item/weapon/stamp/captain
name = "captain's rubber stamp" name = "captain's rubber stamp"

View File

@@ -11,11 +11,14 @@
updateicon() updateicon()
/obj/item/weapon/cell/proc/updateicon() /obj/item/weapon/cell/proc/updateicon()
/*if(maxcharge < 10000)
if(maxcharge <= 2500)
icon_state = "cell" icon_state = "cell"
if(maxcharge >= 10000 && maxcharge < 20000)
icon_state = "hcell"
if(maxcharge >= 20000 && maxcharge < 30000)
icon_state = "scell"
else else
icon_state = "hpcell" icon_state = "hpcell"*/
overlays = null overlays = null
@@ -63,9 +66,9 @@
if(maxcharge <= 2500) if(maxcharge <= 2500)
usr << "[desc]\nThe manufacturer's label states this cell has a power rating of [maxcharge], and that you should not swallow it.\nThe charge meter reads [round(src.percent() )]%." usr << "[desc]\nThe manufacturer's label states this cell has a power rating of [maxcharge], and that you should not swallow it.\nThe charge meter reads [round(src.percent() )]%."
else else
usr << "This power cell has an exciting chrome finish, as it is an uber-capacity cell type! It has a power rating of [maxcharge]!!!\nThe charge meter reads [round(src.percent() )]%." usr << "This power cell has an exciting chrome finish, as it is an uber-capacity cell type! It has a power rating of [maxcharge]!\nThe charge meter reads [round(src.percent() )]%."
if(crit_fail) if(crit_fail)
usr << "\red This power cell seems to be faulty" usr << "\red This power cell seems to be faulty."
/obj/item/weapon/cell/attack_self(mob/user as mob) /obj/item/weapon/cell/attack_self(mob/user as mob)
src.add_fingerprint(user) src.add_fingerprint(user)

View File

@@ -21,42 +21,32 @@ field_generator power level display
density = 1 density = 1
use_power = 0 use_power = 0
var var
const/num_power_levels = 15 // Total number of power level icon has const/num_power_levels = 6 // Total number of power level icon has
Varedit_start = 0 Varedit_start = 0
Varpower = 0 Varpower = 0
active = 0 active = 0
power = 20 // Current amount of power power = 20 // Current amount of power
state = 0 state = 0
warming_up = 0 warming_up = 0
powerlevel = 0 // Current Power level in overlays list
list/obj/machinery/containment_field/fields list/obj/machinery/containment_field/fields
list/obj/machinery/field_generator/connected_gens list/obj/machinery/field_generator/connected_gens
clean_up = 0 clean_up = 0
update_icon() update_icon()
overlays = null
if(!active) if(!active)
//Set icon_state has not been set, set to "Field_Gen" if(warming_up)
if (icon_state != "Field_Gen") overlays += "+a[warming_up]"
icon_state = "Field_Gen" if(fields.len)
warming_up = 0 overlays += "+on"
else if (warming_up && icon_state != "Field_Gen +a[warming_up]")
icon_state = "Field_Gen +a[warming_up]"
// Power level indicator // Power level indicator
// Scale % power to % num_power_levels and truncate value // Scale % power to % num_power_levels and truncate value
var/level = round(num_power_levels * power / field_generator_max_power) var/level = round(num_power_levels * power / field_generator_max_power)
// Clamp between 0 and num_power_levels for out of range power values // Clamp between 0 and num_power_levels for out of range power values
level = between(0, level, num_power_levels) level = between(0, level, num_power_levels)
if(level)
// Do nothing unless new level is diffrent the powerlevel overlays += "+p[level]"
if (powerlevel!=level)
if (powerlevel) //Remove old powerlevel overlay from overlays
overlays -= "Field_Gen +p[powerlevel]"
powerlevel = level
// If new power level exists add it to overlays
if (powerlevel)
overlays += "Field_Gen +p[powerlevel]"
return return

View File

@@ -37,6 +37,22 @@ CC|FC|
PE|PE|PE PE|PE|PE
Icon Addemdum
Icon system is much more robust, and the icons are all variable based.
Each part has a reference string, powered, strength, and contruction values.
Using this the update_icon() proc is simplified a bit (using for absolutely was problematic with naming),
so the icon_state comes out be:
"[reference][strength]", with a switch controlling construction_states and ensuring that it doesn't
power on while being contructed, and all these variables are set by the computer through it's scan list
Essential order of the icons:
Standard - [reference]
Wrenched - [reference]
Wired - [reference]w
Closed - [reference]c
Powered - [reference]p[strength]
Strength being set by the computer and a null strength (Computer is powered off or inactive) returns a 'null', counting as empty
So, hopefully this is helpful if any more icons are to be added/changed/wondering what the hell is going on here
*/ */
/obj/structure/particle_accelerator /obj/structure/particle_accelerator
@@ -49,13 +65,59 @@ PE|PE|PE
var var
obj/machinery/particle_accelerator/control_box/master = null obj/machinery/particle_accelerator/control_box/master = null
construction_state = 0 construction_state = 0
reference = null
powered = 0
strength = null
desc_holder = null
end_cap end_cap
name = "Alpha Particle Generation Array"
desc_holder = "This is where Alpha particles are generated from \[REDACTED\]"
icon_state = "end_cap" icon_state = "end_cap"
reference = "end_cap"
/* update_icon()
switch(construction_state)
if(0)
icon_state="[reference]"
if(1)
icon_state="[reference]"
if(2)
icon_state="[reference]w"
if(3)
if(powered)
switch(strength)
if(0)
icon_state="[reference]p0"
if(1)
icon_state="[reference]p1"
if(2)
icon_state="[reference]p2"
else
icon_state="[reference]p"
else
icon_state="[reference]c"
return
*/
update_icon()
..()
return
verb/rotate() verb/rotate()
set name = "Rotate" set name = "Rotate Clockwise"
set category = "Object"
set src in oview(1)
if (src.anchored || usr:stat)
usr << "It is fastened to the floor!"
return 0
src.dir = turn(src.dir, 270)
return 1
verb/rotateccw()
set name = "Rotate Counter Clockwise"
set category = "Object" set category = "Object"
set src in oview(1) set src in oview(1)
@@ -65,18 +127,18 @@ PE|PE|PE
src.dir = turn(src.dir, 90) src.dir = turn(src.dir, 90)
return 1 return 1
examine() examine()
set src in oview(1)
switch(src.construction_state) switch(src.construction_state)
if(0) if(0)
src.desc = text("Part of a Particle Accelerator, looks like its not attached to the flooring") src.desc = text("A [name], looks like it's not attached to the flooring")
if(1) if(1)
src.desc = text("Part of a Particle Accelerator, looks like its missing some cables") src.desc = text("A [name], it is missing some cables")
if(2) if(2)
src.desc = text("Part of a Particle Accelerator, looks like its got an open panel") src.desc = text("A [name], the panel is open")
if(3) if(3)
src.desc = text("Part of a Particle Accelerator, looks like its all setup") src.desc = text("The [name] is assembled")
if(powered)
src.desc = src.desc_holder
..() ..()
return return
@@ -117,6 +179,20 @@ PE|PE|PE
del(src) del(src)
return return
update_icon()
switch(construction_state)
if(0)
icon_state="[reference]"
if(1)
icon_state="[reference]"
if(2)
icon_state="[reference]w"
if(3)
if(powered)
icon_state="[reference]p[strength]"
else
icon_state="[reference]c"
return
proc proc
update_state() update_state()
@@ -160,6 +236,7 @@ PE|PE|PE
src.anchored = 1 src.anchored = 1
user.visible_message("[user.name] secures the [src.name] to the floor.", \ user.visible_message("[user.name] secures the [src.name] to the floor.", \
"You secure the external bolts.") "You secure the external bolts.")
// icon_state = "[reference]"
temp_state++ temp_state++
if(1) if(1)
if(iswrench(O)) if(iswrench(O))
@@ -167,25 +244,30 @@ PE|PE|PE
src.anchored = 0 src.anchored = 0
user.visible_message("[user.name] detaches the [src.name] from the floor.", \ user.visible_message("[user.name] detaches the [src.name] from the floor.", \
"You remove the external bolts.") "You remove the external bolts.")
// icon_state = "[reference]"
temp_state-- temp_state--
else if(iscoil(O)) else if(iscoil(O))
if(O:use(1,user)) if(O:use(1,user))
user.visible_message("[user.name] adds wires to the [src.name].", \ user.visible_message("[user.name] adds wires to the [src.name].", \
"You add some wires.") "You add some wires.")
// icon_state = "[reference]w"
temp_state++ temp_state++
if(2) if(2)
if(iswirecutter(O))//TODO:Shock user if its on? if(iswirecutter(O))//TODO:Shock user if its on?
user.visible_message("[user.name] removes some wires from the [src.name].", \ user.visible_message("[user.name] removes some wires from the [src.name].", \
"You remove some wires.") "You remove some wires.")
// icon_state = "[reference]"
temp_state-- temp_state--
else if(isscrewdriver(O)) else if(isscrewdriver(O))
user.visible_message("[user.name] closes the [src.name]'s access panel.", \ user.visible_message("[user.name] closes the [src.name]'s access panel.", \
"You close the access panel.") "You close the access panel.")
// icon_state = "[reference]c"
temp_state++ temp_state++
if(3) if(3)
if(isscrewdriver(O)) if(isscrewdriver(O))
user.visible_message("[user.name] opens the [src.name]'s access panel.", \ user.visible_message("[user.name] opens the [src.name]'s access panel.", \
"You open the access panel.") "You open the access panel.")
// icon_state = "[reference]w"
temp_state-- temp_state--
if(temp_state == src.construction_state)//Nothing changed if(temp_state == src.construction_state)//Nothing changed
return 0 return 0
@@ -212,10 +294,25 @@ PE|PE|PE
var var
construction_state = 0 construction_state = 0
active = 0 active = 0
reference = null
powered = null
strength = 0
desc_holder = null
verb/rotate() verb/rotate()
set name = "Rotate" set name = "Rotate Clockwise"
set category = "Object"
set src in oview(1)
if (src.anchored || usr:stat)
usr << "It is fastened to the floor!"
return 0
src.dir = turn(src.dir, 270)
return 1
verb/rotateccw()
set name = "Rotate Counter-Clockwise"
set category = "Object" set category = "Object"
set src in oview(1) set src in oview(1)
@@ -225,17 +322,21 @@ PE|PE|PE
src.dir = turn(src.dir, 90) src.dir = turn(src.dir, 90)
return 1 return 1
update_icon()
return
examine() examine()
switch(src.construction_state) switch(src.construction_state)
if(0) if(0)
src.desc = text("Part of a Particle Accelerator, looks like its not attached to the flooring") src.desc = text("A [name], looks like it's not attached to the flooring")
if(1) if(1)
src.desc = text("Part of a Particle Accelerator, looks like its missing some cables") src.desc = text("A [name], it is missing some cables")
if(2) if(2)
src.desc = text("Part of a Particle Accelerator, looks like its got an open panel") src.desc = text("A [name], the panel is open")
if(3) if(3)
src.desc = text("Part of a Particle Accelerator, looks like its all setup") src.desc = text("The [name] is assembled")
if(powered)
src.desc = src.desc_holder
..() ..()
return return
@@ -294,6 +395,7 @@ PE|PE|PE
src.anchored = 1 src.anchored = 1
user.visible_message("[user.name] secures the [src.name] to the floor.", \ user.visible_message("[user.name] secures the [src.name] to the floor.", \
"You secure the external bolts.") "You secure the external bolts.")
//icon_state = "[reference]"
temp_state++ temp_state++
if(1) if(1)
if(iswrench(O)) if(iswrench(O))
@@ -301,25 +403,30 @@ PE|PE|PE
src.anchored = 0 src.anchored = 0
user.visible_message("[user.name] detaches the [src.name] from the floor.", \ user.visible_message("[user.name] detaches the [src.name] from the floor.", \
"You remove the external bolts.") "You remove the external bolts.")
//icon_state = "[reference]"
temp_state-- temp_state--
else if(iscoil(O)) else if(iscoil(O))
if(O:use(1)) if(O:use(1))
user.visible_message("[user.name] adds wires to the [src.name].", \ user.visible_message("[user.name] adds wires to the [src.name].", \
"You add some wires.") "You add some wires.")
//icon_state = "[reference]w"
temp_state++ temp_state++
if(2) if(2)
if(iswirecutter(O))//TODO:Shock user if its on? if(iswirecutter(O))//TODO:Shock user if its on?
user.visible_message("[user.name] removes some wires from the [src.name].", \ user.visible_message("[user.name] removes some wires from the [src.name].", \
"You remove some wires.") "You remove some wires.")
//icon_state = "[reference]"
temp_state-- temp_state--
else if(isscrewdriver(O)) else if(isscrewdriver(O))
user.visible_message("[user.name] closes the [src.name]'s access panel.", \ user.visible_message("[user.name] closes the [src.name]'s access panel.", \
"You close the access panel.") "You close the access panel.")
//icon_state = "[reference]c"
temp_state++ temp_state++
if(3) if(3)
if(isscrewdriver(O)) if(isscrewdriver(O))
user.visible_message("[user.name] opens the [src.name]'s access panel.", \ user.visible_message("[user.name] opens the [src.name]'s access panel.", \
"You open the access panel.") "You open the access panel.")
//icon_state = "[reference]w"
temp_state-- temp_state--
if(temp_state == src.construction_state)//Nothing changed if(temp_state == src.construction_state)//Nothing changed
return 0 return 0

View File

@@ -1,5 +1,10 @@
/obj/structure/particle_accelerator/fuel_chamber /obj/structure/particle_accelerator/fuel_chamber
name = "Particle Accelerator Fuel Control" name = "EM Acceleration Chamber"
desc = "Part of a Particle Accelerator." desc_holder = "This is where the Alpha particles are accelerated to <b><i>radical speeds</i></b>."
icon = 'particle_accelerator.dmi' icon = 'particle_accelerator.dmi'
icon_state = "fuel_chamber" icon_state = "fuel_chamber"
reference = "fuel_chamber"
update_icon()
..()
return

View File

@@ -1,8 +1,9 @@
/obj/machinery/particle_accelerator/control_box /obj/machinery/particle_accelerator/control_box
name = "Particle Accelerator Control Box" name = "Particle Accelerator Control Computer"
desc = "Part of a Particle Accelerator." desc = "This controls the density of the particles."
icon = 'particle_accelerator.dmi' icon = 'particle_accelerator.dmi'
icon_state = "control_box" icon_state = "control_box"
reference = "control_box"
anchored = 0 anchored = 0
density = 1 density = 1
use_power = 0 use_power = 0
@@ -13,7 +14,7 @@
var var
list/obj/structure/particle_accelerator/connected_parts list/obj/structure/particle_accelerator/connected_parts
assembled = 0 assembled = 0
strength = 0 parts = null
New() New()
@@ -40,6 +41,28 @@
return return
update_icon()
if(active)
icon_state = "[reference]p1"
else
if(use_power)
icon_state = "[reference]p"
else
icon_state = "[reference]c"
switch(construction_state)
if(0)
icon_state = "[reference]"
if(1)
icon_state = "[reference]"
if(2)
icon_state = "[reference]w"
if(3)
icon_state = "[reference]c"
return
update_icon()
..()
return
Topic(href, href_list) Topic(href, href_list)
..() ..()
@@ -61,17 +84,30 @@
src.part_scan() src.part_scan()
if(href_list["strengthup"]) if(href_list["strengthup"])
src.strength++ src.strength++
for(var/obj/structure/particle_accelerator/part in connected_parts)
part.strength++
part.update_icon()
if(src.strength > 2) if(src.strength > 2)
src.strength = 2 src.strength = 2
message_admins("[usr] increased particle accelerator power to [strength].") message_admins("[usr] increased particle accelerator power to [strength].")
log_admin("[usr] increased particle accelerator power to [strength].") log_admin("[usr] increased particle accelerator power to [strength].")
for(var/obj/structure/particle_accelerator/part in connected_parts)
part.strength = 2
part.update_icon()
if(href_list["strengthdown"]) if(href_list["strengthdown"])
src.strength-- src.strength--
for(var/obj/structure/particle_accelerator/part in connected_parts)
part.strength--
part.update_icon()
if(src.strength < 0) if(src.strength < 0)
src.strength = 0 src.strength = 0
message_admins("[usr] decreased particle accelerator power to [strength].") message_admins("[usr] decreased particle accelerator power to [strength].")
log_admin("[usr] decreased particle accelerator power to [strength].") log_admin("[usr] decreased particle accelerator power to [strength].")
for(var/obj/structure/particle_accelerator/part in connected_parts)
part.strength = 0
part.update_icon()
src.updateDialog() src.updateDialog()
src.update_icon()
return return
@@ -80,7 +116,7 @@
if(stat & NOPOWER) if(stat & NOPOWER)
active = 0 active = 0
use_power = 0 use_power = 0
else if(!stat) else if(!stat && construction_state == 3)
use_power = 1 use_power = 1
return return
@@ -150,8 +186,16 @@
src.active = !src.active src.active = !src.active
if(src.active) if(src.active)
src.use_power = 2 src.use_power = 2
for(var/obj/structure/particle_accelerator/part in connected_parts)
part.strength = src.strength
part.powered = 1
part.update_icon()
else else
src.use_power = 1 src.use_power = 1
for(var/obj/structure/particle_accelerator/part in connected_parts)
part.strength = null
part.powered = 0
part.update_icon()
return 1 return 1

View File

@@ -1,6 +1,6 @@
/obj/structure/particle_accelerator/particle_emitter /obj/structure/particle_accelerator/particle_emitter
name = "Particle Accelerator Emitter" name = "EM Containment Grid"
desc = "Part of a Particle Accelerator, might not want to stand near this end." desc_holder = "This launchs the Alpha particles, might not want to stand near this end."
icon = 'particle_accelerator.dmi' icon = 'particle_accelerator.dmi'
icon_state = "none" icon_state = "none"
var var
@@ -9,17 +9,19 @@
center center
icon_state = "emitter_center" icon_state = "emitter_center"
reference = "emitter_center"
left left
icon_state = "emitter_left" icon_state = "emitter_left"
reference = "emitter_left"
right right
icon_state = "emitter_right" icon_state = "emitter_right"
reference = "emitter_right"
update_icon() update_icon()
return//Add overlays here ..()
return
proc proc
set_delay(var/delay) set_delay(var/delay)

View File

@@ -1,7 +1,10 @@
/obj/structure/particle_accelerator/power_box /obj/structure/particle_accelerator/power_box
name = "Particle Accelerator" name = "Particle Focusing EM Lens"
desc = "Part of a Particle Accelerator, this part seems to have a maintenance panel on it." desc_holder = "This uses electromagnetic waves to focus the Alpha-Particles."
icon = 'particle_accelerator.dmi' icon = 'particle_accelerator.dmi'
icon_state = "power_box" icon_state = "power_box"
anchored = 0 reference = "power_box"
density = 1
update_icon()
..()
return

View File

@@ -1091,7 +1091,7 @@ datum
desc = "A basic power cell that holds 1000 units of energy" desc = "A basic power cell that holds 1000 units of energy"
id = "basic_cell" id = "basic_cell"
req_tech = list("powerstorage" = 1) req_tech = list("powerstorage" = 1)
build_type = PROTOLATHE | AUTOLATHE build_type = PROTOLATHE | AUTOLATHE |MECHFAB
materials = list("$metal" = 700, "$glass" = 50) materials = list("$metal" = 700, "$glass" = 50)
build_path = "/obj/item/weapon/cell" build_path = "/obj/item/weapon/cell"
@@ -1100,7 +1100,7 @@ datum
desc = "A power cell that holds 10000 units of energy" desc = "A power cell that holds 10000 units of energy"
id = "high_cell" id = "high_cell"
req_tech = list("powerstorage" = 2) req_tech = list("powerstorage" = 2)
build_type = PROTOLATHE | AUTOLATHE build_type = PROTOLATHE | AUTOLATHE | MECHFAB
materials = list("$metal" = 700, "$glass" = 60) materials = list("$metal" = 700, "$glass" = 60)
build_path = "/obj/item/weapon/cell/high" build_path = "/obj/item/weapon/cell/high"
@@ -1110,7 +1110,7 @@ datum
id = "super_cell" id = "super_cell"
req_tech = list("powerstorage" = 3, "materials" = 2) req_tech = list("powerstorage" = 3, "materials" = 2)
reliability_base = 90 //Else these things just fail all the time, goddamn. - Erthilo reliability_base = 90 //Else these things just fail all the time, goddamn. - Erthilo
build_type = PROTOLATHE build_type = PROTOLATHE | MECHFAB
materials = list("$metal" = 700, "$glass" = 70) materials = list("$metal" = 700, "$glass" = 70)
build_path = "/obj/item/weapon/cell/super" build_path = "/obj/item/weapon/cell/super"
@@ -1120,7 +1120,7 @@ datum
id = "hyper_cell" id = "hyper_cell"
req_tech = list("powerstorage" = 5, "materials" = 4) req_tech = list("powerstorage" = 5, "materials" = 4)
reliability_base = 85 reliability_base = 85
build_type = PROTOLATHE build_type = PROTOLATHE | MECHFAB
materials = list("$metal" = 400, "$gold" = 150, "$silver" = 150, "$glass" = 70) materials = list("$metal" = 400, "$gold" = 150, "$silver" = 150, "$glass" = 70)
build_path = "/obj/item/weapon/cell/hyper" build_path = "/obj/item/weapon/cell/hyper"
@@ -1271,6 +1271,16 @@ datum
reliability_base = 74 reliability_base = 74
build_path = "/obj/item/device/mmi/radio_enabled" build_path = "/obj/item/device/mmi/radio_enabled"
synthetic_flash
name = "Synthetic Flash"
desc = "When a problem arises, SCIENCE is the solution."
id = "sflash"
req_tech = list("magnets" = 3, "combat" = 2)
build_type = MECHFAB
materials = list("$metal" = 750, "$glass" = 750)
reliability_base = 76
build_path = "/obj/item/device/flash/synthetic"
///////////////////////////////////////// /////////////////////////////////////////
/////////////////Weapons///////////////// /////////////////Weapons/////////////////
///////////////////////////////////////// /////////////////////////////////////////

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 21 KiB