Exoskeletons Release!

It's here! IT'S CLOSER THAN YOU THINK!
This commit is contained in:
Dalekfodder
2014-04-13 02:33:25 +03:00
parent 53daf9f42d
commit 80a2a1f2e6
11 changed files with 191 additions and 298 deletions
+1 -3
View File
@@ -478,9 +478,7 @@
#include "code\game\mecha\equipment\tools\medical_tools.dm"
#include "code\game\mecha\equipment\tools\tools.dm"
#include "code\game\mecha\equipment\weapons\weapons.dm"
#include "code\game\mecha\exo\exo.dm"
#include "code\game\mecha\exo\exobase.dm"
#include "code\game\mecha\exo\exoert.dm"
#include "code\game\mecha\exo\exoskeleton.dm"
#include "code\game\mecha\medical\medical.dm"
#include "code\game\mecha\medical\odysseus.dm"
#include "code\game\mecha\working\ripley.dm"
+113 -4
View File
@@ -11,10 +11,13 @@
var/fire_volume = 50 //How loud it is played.
var/auto_rearm = 0 //Does the weapon reload itself after each shot?
/obj/item/mecha_parts/mecha_equipment/weapon/can_attach(var/obj/mecha/combat/M as obj)
if(!istype(M))
/obj/item/mecha_parts/mecha_equipment/weapon/can_attach(var/obj/mecha/combat/M)
if(istype(M))
return ..()
else
return 0
return ..()
/obj/item/mecha_parts/mecha_equipment/weapon/action_checks(atom/target)
if(projectiles <= 0)
@@ -324,10 +327,116 @@
projectile = /obj/item/projectile/energy/electrode
fire_sound = 'sound/weapons/Taser.ogg'
can_attach(var/obj/mecha/combat/exoskeleton/M as obj)
if(!istype(M))
return 0
else
return ..()
/obj/item/mecha_parts/mecha_equipment/weapon/energy/laserexo
equip_cooldown = 8
name = "Exoskeleton Immolater Weapon"
icon_state = "mecha_laser"
energy_drain = 30
projectile = /obj/item/projectile/beam
fire_sound = 'sound/weapons/Laser.ogg'
fire_sound = 'sound/weapons/Laser.ogg'
can_attach(var/obj/mecha/combat/exoskeleton/M as obj)
if(!istype(M))
return 0
else
return ..()
/obj/item/mecha_parts/mecha_equipment/handcuffs
name = "handcuffs"
desc = "Use this to keep prisoners in line."
gender = PLURAL
icon = 'icons/obj/items.dmi'
icon_state = "handcuff"
flags = FPRINT | TABLEPASS | CONDUCT
slot_flags = SLOT_BELT
throwforce = 5
w_class = 2.0
throw_speed = 2
throw_range = 5
m_amt = 500
origin_tech = "materials=1"
var/dispenser = 0
var/breakouttime = 1200 //Deciseconds = 120s = 2 minutes
/obj/item/weapon/handcuffs/attack(mob/living/carbon/C as mob, mob/user as mob)
if(istype(src, /obj/item/weapon/handcuffs/cyborg) && isrobot(user))
if(!C.handcuffed)
var/turf/p_loc = user.loc
var/turf/p_loc_m = C.loc
playsound(src.loc, 'sound/weapons/handcuffs.ogg', 30, 1, -2)
for(var/mob/O in viewers(user, null))
O.show_message("\red <B>[user] is trying to put handcuffs on [C]!</B>", 1)
spawn(30)
if(!C) return
if(p_loc == user.loc && p_loc_m == C.loc)
C.handcuffed = new /obj/item/weapon/handcuffs(C)
C.update_inv_handcuffed()
else
if ((CLUMSY in usr.mutations) && prob(50))
usr << "\red Uh ... how do those things work?!"
if (istype(C, /mob/living/carbon/human))
if(!C.handcuffed)
var/obj/effect/equip_e/human/O = new /obj/effect/equip_e/human( )
O.source = user
O.target = user
O.item = user.get_active_hand()
O.s_loc = user.loc
O.t_loc = user.loc
O.place = "handcuff"
C.requests += O
spawn( 0 )
O.process()
return
return
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
usr << "\red You don't have the dexterity to do this!"
return
if (istype(C, /mob/living/carbon/human))
if(!C.handcuffed)
C.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been handcuffed (attempt) by [user.name] ([user.ckey])</font>")
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Attempted to handcuff [C.name] ([C.ckey])</font>")
log_attack("[user.name] ([user.ckey]) Attempted to handcuff [C.name] ([C.ckey])")
var/obj/effect/equip_e/human/O = new /obj/effect/equip_e/human( )
O.source = user
O.target = C
O.item = user.get_active_hand()
O.s_loc = user.loc
O.t_loc = C.loc
O.place = "handcuff"
C.requests += O
spawn( 0 )
if(istype(src, /obj/item/weapon/handcuffs/cable))
feedback_add_details("handcuffs","C")
playsound(src.loc, 'sound/weapons/cablecuff.ogg', 30, 1, -2)
else
feedback_add_details("handcuffs","H")
playsound(src.loc, 'sound/weapons/handcuffs.ogg', 30, 1, -2)
O.process()
return
else
if(!C.handcuffed)
var/obj/effect/equip_e/monkey/O = new /obj/effect/equip_e/monkey( )
O.source = user
O.target = C
O.item = user.get_active_hand()
O.s_loc = user.loc
O.t_loc = C.loc
O.place = "handcuff"
C.requests += O
spawn( 0 )
if(istype(src, /obj/item/weapon/handcuffs/cable))
playsound(src.loc, 'sound/weapons/cablecuff.ogg', 30, 1, -2)
else
playsound(src.loc, 'sound/weapons/handcuffs.ogg', 30, 1, -2)
O.process()
return
return
-100
View File
@@ -1,100 +0,0 @@
/obj/mecha/exoskeleton/exoskeletonother
name = "Exoskeleton Mk. I"
desc = "A prototype currently in development for special response and other purposes."
icon_state = "exosuit" // need this
initial_icon = "exosuit" // need this
step_in = 2
max_temperature = 20000 // DON'T FORGET TO TEST THIS
health = 300
wreckage = /obj/effect/decal/mecha_wreckage/ripley
internal_damage_threshold = 25
deflect_chance = 50
step_energy_drain = 8
var/obj/item/clothing/glasses/hud/security/mech/hud
New()
..()
hud = new /obj/item/clothing/glasses/hud/security/mech(src)
return
moved_inside(var/mob/living/carbon/human/H as mob)
if(..())
if(H.glasses)
occupant_message("<font color='red'>[H.glasses] prevent you from using [src] [hud]</font>")
else
H.glasses = hud
return 1
else
return 0
go_out()
if(ishuman(occupant))
var/mob/living/carbon/human/H = occupant
if(H.glasses == hud)
H.glasses = null
..()
return
/obj/item/clothing/glasses/hud/security/mech
name = "Integrated Security Hud"
/obj/item/clothing/glasses/hud/security/mech/process_hud(var/mob/M)
if(!M) return
if(!M.client) return
var/client/C = M.client
var/image/holder
for(var/mob/living/carbon/human/perp in view(get_turf(M)))
if(M.see_invisible < perp.invisibility)
continue
if(!C) continue
var/perpname = perp.name
holder = perp.hud_list[ID_HUD]
if(perp.wear_id)
var/obj/item/weapon/card/id/I = perp.wear_id.GetID()
if(I)
perpname = I.registered_name
holder.icon_state = "hud[ckey(I.GetJobName())]"
C.images += holder
else
perpname = perp.name
holder.icon_state = "hudunknown"
C.images += holder
else
perpname = perp.name
holder.icon_state = "hudunknown"
C.images += holder
for(var/datum/data/record/E in data_core.general)
if(E.fields["name"] == perpname)
holder = perp.hud_list[WANTED_HUD]
for (var/datum/data/record/R in data_core.security)
if((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "*Arrest*"))
holder.icon_state = "hudwanted"
C.images += holder
break
else if((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "Incarcerated"))
holder.icon_state = "hudprisoner"
C.images += holder
break
else if((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "Parolled"))
holder.icon_state = "hudparolled"
C.images += holder
break
else if((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "Released"))
holder.icon_state = "hudreleased"
C.images += holder
break
for(var/obj/item/weapon/implant/I in perp)
if(I.implanted)
if(istype(I,/obj/item/weapon/implant/tracking))
holder = perp.hud_list[IMPTRACK_HUD]
holder.icon_state = "hud_imp_tracking"
C.images += holder
if(istype(I,/obj/item/weapon/implant/loyalty))
holder = perp.hud_list[IMPLOYAL_HUD]
holder.icon_state = "hud_imp_loyal"
C.images += holder
if(istype(I,/obj/item/weapon/implant/chem))
holder = perp.hud_list[IMPCHEM_HUD]
holder.icon_state = "hud_imp_chem"
C.images += holder
-100
View File
@@ -1,100 +0,0 @@
/obj/mecha/exoskeleton/exoskeletonert
name = ""
desc = ""
icon_state = "" // need this
initial_icon = "" // need this
step_in = 2
max_temperature = 20000 // DON'T FORGET TO TEST THIS
health = 300
// wreckage = // need icon
internal_damage_threshold = 25
deflect_chance = 50
step_energy_drain = 8
var/obj/item/clothing/glasses/hud/security/mech/hud
New()
..()
hud = new /obj/item/clothing/glasses/hud/security/mech(src)
return
moved_inside(var/mob/living/carbon/human/H as mob)
if(..())
if(H.glasses)
occupant_message("<font color='red'>[H.glasses] prevent you from using [src] [hud]</font>")
else
H.glasses = hud
return 1
else
return 0
go_out()
if(ishuman(occupant))
var/mob/living/carbon/human/H = occupant
if(H.glasses == hud)
H.glasses = null
..()
return
/obj/item/clothing/glasses/hud/security/mech
name = "Integrated Security Hud"
/obj/item/clothing/glasses/hud/security/mech/process_hud(var/mob/M)
if(!M) return
if(!M.client) return
var/client/C = M.client
var/image/holder
for(var/mob/living/carbon/human/perp in view(get_turf(M)))
if(M.see_invisible < perp.invisibility)
continue
if(!C) continue
var/perpname = perp.name
holder = perp.hud_list[ID_HUD]
if(perp.wear_id)
var/obj/item/weapon/card/id/I = perp.wear_id.GetID()
if(I)
perpname = I.registered_name
holder.icon_state = "hud[ckey(I.GetJobName())]"
C.images += holder
else
perpname = perp.name
holder.icon_state = "hudunknown"
C.images += holder
else
perpname = perp.name
holder.icon_state = "hudunknown"
C.images += holder
for(var/datum/data/record/E in data_core.general)
if(E.fields["name"] == perpname)
holder = perp.hud_list[WANTED_HUD]
for (var/datum/data/record/R in data_core.security)
if((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "*Arrest*"))
holder.icon_state = "hudwanted"
C.images += holder
break
else if((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "Incarcerated"))
holder.icon_state = "hudprisoner"
C.images += holder
break
else if((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "Parolled"))
holder.icon_state = "hudparolled"
C.images += holder
break
else if((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "Released"))
holder.icon_state = "hudreleased"
C.images += holder
break
for(var/obj/item/weapon/implant/I in perp)
if(I.implanted)
if(istype(I,/obj/item/weapon/implant/tracking))
holder = perp.hud_list[IMPTRACK_HUD]
holder.icon_state = "hud_imp_tracking"
C.images += holder
if(istype(I,/obj/item/weapon/implant/loyalty))
holder = perp.hud_list[IMPLOYAL_HUD]
holder.icon_state = "hud_imp_loyal"
C.images += holder
if(istype(I,/obj/item/weapon/implant/chem))
holder = perp.hud_list[IMPCHEM_HUD]
holder.icon_state = "hud_imp_chem"
C.images += holder
@@ -1,16 +1,17 @@
/obj/mecha/exoskeleton/exoskeleton
name = "exoskeleton"
desc = ""
icon_state = "ripley" // need this
initial_icon = "ripley" // need this
/obj/mecha/combat/exoskeleton
name = "Exoskeleton Mk. I"
desc = "A prototype currently in development for special response and other purposes."
icon_state = "exosuit" // need this
initial_icon = "exosuit" // need this
step_in = 2
max_temperature = 7000 // DON'T FORGET TO TEST THIS
health = 200
wreckage = /obj/effect/decal/mecha_wreckage/ripley
wreckage = /obj/effect/decal/mecha_wreckage/exoskeleton
internal_damage_threshold = 35
deflect_chance = 25
step_energy_drain = 4
var/obj/item/clothing/glasses/hud/security/mech/hud
max_equip = 3
New()
..()
@@ -99,7 +100,7 @@
holder.icon_state = "hud_imp_chem"
C.images += holder
/obj/mecha/exoskeleton/exoskeleton/melee_action(target as obj|mob|turf)
/*/obj/mecha/exoskeleton/exoskeleton/melee_action(target as obj|mob|turf)
force = 30
var/melee_cooldown2 = 10
var/melee_can_hit2 = 1
@@ -179,12 +180,12 @@
melee_can_hit2 = 1
return
else
/* else
if(damtype == "brute")
for(var/target_type in src.destroyable_obj)
if(istype(target, target_type) && hascall(target, "attackby"))
src.occupant_message("You hit [target].")
src.visible_message("<font color='red'><b>[src.name] hits [target]</b></font>")
src.visible_message("<font color='red'><b>[src.name] hits [target] for no damage.</b></font>")
if(!istype(target, /turf/simulated/wall))
target:attackby(src,src.occupant)
/* else if(prob(5))
@@ -196,4 +197,4 @@
if(do_after(melee_cooldown2))
melee_can_hit2 = 1
break
return
return */ */
+1
View File
@@ -93,6 +93,7 @@
"Exoskeleton"=list(
/obj/item/mecha_parts/chassis/exoskeleton,
/obj/item/mecha_parts/part/exoskeletonarmor,
/obj/item/mecha_parts/part/hydraulicspack,
/obj/item/mecha_parts/part/electricalpack
+51 -75
View File
@@ -586,7 +586,7 @@
const_holder.density = 1
spawn()
del src
return
return 0
/datum/construction/reversible/mecha/firefighter
@@ -888,7 +888,7 @@
const_holder.density = 1
spawn()
del src
return
return 0
/datum/construction/reversible/mecha/durand
result = "/obj/mecha/combat/durand"
@@ -1391,9 +1391,9 @@
spawn_result()
var/obj/item/mecha_parts/chassis/const_holder = holder
const_holder.construct = new /datum/construction/reversible/mecha/odysseus(const_holder)
const_holder.construct = new /datum/construction/reversible/mecha/exoskeleton(const_holder)
const_holder.icon = 'icons/mecha/mech_construction.dmi'
const_holder.icon_state = "odysseus0"
const_holder.icon_state = "exoskeleton0"
const_holder.density = 1
spawn()
del src
@@ -1401,7 +1401,7 @@
/datum/construction/reversible/mecha/exoskeleton
result = "/obj/mecha/working/exoskeleton"
result = "/obj/mecha/combat/exoskeleton"
steps = list(
//1
list("key"=/obj/item/weapon/weldingtool,
@@ -1412,52 +1412,41 @@
"backkey"=/obj/item/weapon/crowbar,
"desc"="External armor is installed."),
//3
list("key"=/obj/item/mecha_parts/part/exoskeletonarmor,
"backkey"=/obj/item/weapon/weldingtool,
"desc"="Internal armor is welded."),
//4
list("key"=/obj/item/weapon/weldingtool,
"backkey"=/obj/item/weapon/wrench,
"desc"="Internal armor is wrenched"),
//5
//4
list("key"=/obj/item/weapon/wrench,
"backkey"=/obj/item/weapon/crowbar,
"desc"="Internal armor is installed"),
//6
//5
list("key"=/obj/item/stack/sheet/metal,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="Central control module is secured"),
//7
//6
list("key"=/obj/item/weapon/screwdriver,
"backkey"=/obj/item/weapon/crowbar,
"desc"="Central control module is installed"),
//8
//7
list("key"=/obj/item/weapon/circuitboard/mecha/exoskeleton/main,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="The wiring is adjusted"),
//9
list("key"=/obj/item/mecha_parts/part/electricalpack,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="Electrical Pack"),
//10
//8
list("key"=/obj/item/weapon/wirecutters,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="The wiring is added"),
//11
//9
list("key"=/obj/item/weapon/cable_coil,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="The hydraulic systems are active."),
//12
//11
list("key"=/obj/item/weapon/screwdriver,
"backkey"=/obj/item/weapon/wrench,
"desc"="The hydraulic systems are connected."),
//13
//12
list("key"=/obj/item/weapon/wrench,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="The hydraulic systems are disconnected."),
//14
list("key"=/obj/item/mecha_parts/part/hydraulicspack,
"desc"="Hydraulic pack disconnected."),
"desc"="The hydraulic systems are disconnected.")
)
action(atom/used_atom,mob/user as mob)
@@ -1469,106 +1458,93 @@
//TODO: better messages.
switch(index)
if(14)
user.visible_message("[user] installs [holder] hydraulics pack", "You install [holder] hydraulics pack.")
if(13)
if(diff==FORWARD)
user.visible_message("[user] connects [holder] hydraulic systems", "You connect [holder] hydraulic systems.")
holder.icon_state = ""
else
user.visible_message("[user] removes [holder] hydraulics pack", "You remove [holder] hydraulics pack.")
holder.icon_state = ""
if(12)
if(diff==FORWARD)
user.visible_message("[user] activates [holder] hydraulic systems.", "You activate [holder] hydraulic systems.")
holder.icon_state = ""
else
user.visible_message("[user] disconnects [holder] hydraulic systems", "You disconnect [holder] hydraulic systems.")
holder.icon_state = ""
user.visible_message("[user] installs [holder] hydraulics pack", "You install [holder] hydraulics pack.")
holder.icon_state = "exoskeleton1"
if(11)
if(diff==FORWARD)
user.visible_message("[user] adds the wiring to [holder].", "You add the wiring to [holder].")
holder.icon_state = ""
user.visible_message("[user] connects [holder] hydraulic systems", "You connect [holder] hydraulic systems.")
holder.icon_state = "exoskeleton2"
else
user.visible_message("[user] deactivates [holder] hydraulic systems.", "You deactivate [holder] hydraulic systems.")
holder.icon_state = ""
user.visible_message("[user] removes [holder] hydraulics pack", "You remove [holder] hydraulics pack.")
holder.icon_state = "exoskeleton0"
if(10)
if(diff==FORWARD)
user.visible_message("[user] activates [holder] hydraulic systems.", "You activate [holder] hydraulic systems.")
holder.icon_state = "exoskeleton3"
else
user.visible_message("[user] disconnects [holder] hydraulic systems", "You disconnect [holder] hydraulic systems.")
holder.icon_state = "exoskeleton1"
if(9)
if(diff==FORWARD)
user.visible_message("[user] adds the wiring to [holder].", "You add the wiring to [holder].")
holder.icon_state = "exoskeleton4"
else
user.visible_message("[user] deactivates [holder] hydraulic systems.", "You deactivate [holder] hydraulic systems.")
holder.icon_state = "exoskeleton2"
if(8)
if(diff==FORWARD)
user.visible_message("[user] adjusts the wiring of [holder].", "You adjust the wiring of [holder].")
holder.icon_state = ""
holder.icon_state = "exoskeleton5"
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 = ""
if(9)
if(diff==FORWARD)
user.visible_message("[user] install [holder] electrical systems", "You install [holder] electrical systems.")
holder.icon_state = ""
else
user.visible_message("[user] unfastens [holder] wiring", "You unfasten [holder] wiring systems.")
holder.icon_state = ""
if(8)
holder.icon_state = "exoskeleton3"
if(7)
if(diff==FORWARD)
user.visible_message("[user] installs the central control module into [holder].", "You install the central computer mainboard into [holder].")
del used_atom
holder.icon_state = ""
holder.icon_state = "exoskeleton7"
else
user.visible_message("[user] disconnects the wiring of [holder].", "You disconnect the wiring of [holder].")
holder.icon_state = ""
if(7)
holder.icon_state = "exoskeleton5"
if(6)
if(diff==FORWARD)
user.visible_message("[user] secures the mainboard.", "You secure the mainboard.")
holder.icon_state = ""
holder.icon_state = "exoskeleton8"
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/ripley/main(get_turf(holder))
holder.icon_state = ""
if(6)
if(diff==FORWARD)
user.visible_message("[user] installs internal armor layer to [holder].", "You install internal armor layer to [holder].")
holder.icon_state = ""
else
user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.")
holder.icon_state = ""
holder.icon_state = "exoskeleton6"
if(5)
if(diff==FORWARD)
user.visible_message("[user] secures internal armor layer.", "You secure internal armor layer.")
holder.icon_state = ""
holder.icon_state = "exoskeleton10"
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 = ""
holder.icon_state = "exoskeleton8"
if(4)
if(diff==FORWARD)
user.visible_message("[user] welds internal armor layer to [holder].", "You weld the internal armor layer to [holder].")
holder.icon_state = ""
holder.icon_state = "exoskeleton11"
else
user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.")
holder.icon_state = ""
holder.icon_state = "exoskeleton9"
if(3)
if(diff==FORWARD)
user.visible_message("[user] installs external reinforced armor layer to [holder].", "You install external reinforced armor layer to [holder].")
holder.icon_state = ""
holder.icon_state = "exoskeleton12"
else
user.visible_message("[user] cuts internal armor layer from [holder].", "You cut the internal armor layer from [holder].")
holder.icon_state = ""
holder.icon_state = "exoskeleton10"
if(2)
if(diff==FORWARD)
user.visible_message("[user] secures armor layer.", "You secure the reinforced armor layer.")
holder.icon_state = ""
holder.icon_state = "exoskeleton13"
else
user.visible_message("[user] pries the armor layer from [holder].", "You prie the armor layer from [holder].")
var/obj/item/stack/sheet/plasteel/MS = new /obj/item/stack/sheet/plasteel(get_turf(holder))
MS.amount = 5
holder.icon_state = ""
holder.icon_state = "exoskeleton11"
if(1)
if(diff==FORWARD)
user.visible_message("[user] welds the armor layer to [holder].", "You weld the armor layer to [holder].")
else
user.visible_message("[user] unfastens the armor layer.", "You unfasten the armor layer.")
holder.icon_state = ""
holder.icon_state = "exoskeleton12"
return 1
spawn_result()
+9 -5
View File
@@ -397,9 +397,10 @@
///////// Exoskeleton
/obj/item/mecha_parts/chassis/exoskeleton
name = "Exoskeleton Chassis"
icon = 'icons/mecha/mech_construction.dmi'
icon_state = "exoskeleton0"
New()
..()
@@ -407,14 +408,16 @@
/obj/item/mecha_parts/part/exoskeletonarmor
name="Exoskeleton Armor"
icon_state = ""
icon = 'icons/obj/clothing/suits.dmi'
icon_state = "riot"
construction_time = 120
construction_cost = list("metal"=30000)
origin_tech = "programming=3;materials=2"
/obj/item/mecha_parts/part/hydraulicspack
name="Exoskeleton Hydraulics Pack"
icon_state = ""
icon = 'icons/obj/device.dmi'
icon_state = "modkit"
construction_time = 90
construction_cost = list("metal"=20000,"glass"=6000)
origin_tech = "programming=3;materials=2;engineering=2"
@@ -422,7 +425,8 @@
/obj/item/mecha_parts/part/electricalpack
name="Exoskeleton Power Generator Pack"
desc="Contains power unit and processing core for modifications."
icon_state = ""
icon = 'icons/obj/device.dmi'
icon_state = "modkit"
origin_tech = "programming=3;materials=2;engineering=2"
construction_time = 90
construction_cost = list("metal"=25000)
@@ -448,7 +452,7 @@
exoskeleton/main
name = "Exoskeleton Circuit Board"
icon_state = "" // put something here.
icon_state = "mainboard" // put something here.
ripley
origin_tech = "programming=3"
+5 -1
View File
@@ -217,4 +217,8 @@
var/part = pick(parts)
welder_salvage += part
parts -= part
return
return
/obj/effect/decal/mecha_wreckage/exoskeleton
name = "Useless Exoskeleton"
icon_state = "exosuit-broken"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 KiB

After

Width:  |  Height:  |  Size: 157 KiB