mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 06:57:42 +01:00
@@ -365,7 +365,7 @@
|
||||
"aha" = (/obj/machinery/computer/prisoner,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos)
|
||||
"ahb" = (/obj/machinery/computer/security,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos)
|
||||
"ahc" = (/obj/machinery/computer/secure_data,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos)
|
||||
"ahd" = (/obj/structure/table/woodentable,/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Security's Desk"; departmentType = 5; name = "Head of Security RC"; pixel_x = 0; pixel_y = 30},/obj/machinery/computer/med_data/laptop,/obj/item/weapon/storage/secure/safe/HoS{pixel_x = 36; pixel_y = 28},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos)
|
||||
"ahd" = (/obj/structure/table/woodentable,/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Security's Desk"; departmentType = 5; name = "Head of Security RC"; pixel_x = 0; pixel_y = 30},/obj/machinery/computer/med_data/laptop,/obj/item/weapon/storage/secure/safe{pixel_x = 36; pixel_y = 28},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos)
|
||||
"ahe" = (/turf/simulated/wall,/area/security/range)
|
||||
"ahf" = (/obj/machinery/alarm{pixel_y = 28},/obj/structure/rack,/obj/item/weapon/gun/energy/ionrifle,/obj/item/clothing/suit/armor/laserproof,/obj/machinery/light{dir = 1; on = 1},/turf/simulated/floor/plasteel{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/security/warden)
|
||||
"ahg" = (/obj/machinery/door/airlock/external{name = "Escape Pod Three"},/turf/simulated/floor/plating,/area/crew_quarters/fitness{name = "\improper Recreation Area"})
|
||||
|
||||
@@ -27,131 +27,132 @@
|
||||
max_w_class = 2
|
||||
max_combined_w_class = 14
|
||||
|
||||
examine(mob/user)
|
||||
if(..(user, 1))
|
||||
to_chat(user, text("The service panel is [src.open ? "open" : "closed"]."))
|
||||
/obj/item/weapon/storage/secure/examine(mob/user)
|
||||
if(..(user, 1))
|
||||
to_chat(user, text("The service panel is [open ? "open" : "closed"]."))
|
||||
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob, params)
|
||||
if(locked)
|
||||
if((istype(W, /obj/item/weapon/melee/energy/blade)) && (!src.emagged))
|
||||
emag_act(user, W)
|
||||
/obj/item/weapon/storage/secure/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
|
||||
if(locked)
|
||||
if((istype(W, /obj/item/weapon/melee/energy/blade)) && (!emagged))
|
||||
emag_act(user, W)
|
||||
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
if(do_after(user, 20, target = src))
|
||||
src.open =! src.open
|
||||
user.show_message(text("\blue You [] the service panel.", (src.open ? "open" : "close")))
|
||||
return
|
||||
if((istype(W, /obj/item/device/multitool)) && (src.open == 1)&& (!src.l_hacking))
|
||||
user.show_message(text("\red Now attempting to reset internal memory, please hold."), 1)
|
||||
src.l_hacking = 1
|
||||
if(do_after(usr, 100, target = src))
|
||||
if(prob(40))
|
||||
src.l_setshort = 1
|
||||
src.l_set = 0
|
||||
user.show_message(text("\red Internal memory reset. Please give it a few seconds to reinitialize."), 1)
|
||||
sleep(80)
|
||||
src.l_setshort = 0
|
||||
src.l_hacking = 0
|
||||
else
|
||||
user.show_message(text("\red Unable to reset internal memory."), 1)
|
||||
src.l_hacking = 0
|
||||
else src.l_hacking = 0
|
||||
return
|
||||
//At this point you have exhausted all the special things to do when locked
|
||||
// ... but it's still locked.
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
if(do_after(user, 20, target = src))
|
||||
open = !open
|
||||
user.show_message("<span class='notice'>You [open ? "open" : "close"] the service panel.</span>", 1)
|
||||
return
|
||||
|
||||
// -> storage/attackby() what with handle insertion, etc
|
||||
..()
|
||||
|
||||
emag_act(user as mob, weapon as obj)
|
||||
if(!emagged)
|
||||
emagged = 1
|
||||
src.overlays += image('icons/obj/storage.dmi', icon_sparking)
|
||||
sleep(6)
|
||||
src.overlays = null
|
||||
overlays += image('icons/obj/storage.dmi', icon_locking)
|
||||
locked = 0
|
||||
if(istype(weapon, /obj/item/weapon/melee/energy/blade))
|
||||
var/datum/effect/system/spark_spread/spark_system = new /datum/effect/system/spark_spread()
|
||||
spark_system.set_up(5, 0, src.loc)
|
||||
spark_system.start()
|
||||
playsound(src.loc, 'sound/weapons/blade1.ogg', 50, 1)
|
||||
playsound(src.loc, "sparks", 50, 1)
|
||||
to_chat(user, "You slice through the lock on [src].")
|
||||
else
|
||||
to_chat(user, "You short out the lock on [src].")
|
||||
return
|
||||
|
||||
|
||||
MouseDrop(over_object, src_location, over_location)
|
||||
if(locked)
|
||||
src.add_fingerprint(usr)
|
||||
return
|
||||
..()
|
||||
|
||||
|
||||
attack_self(mob/user as mob)
|
||||
user.set_machine(src)
|
||||
var/dat = text("<TT><B>[]</B><BR>\n\nLock Status: []",src, (src.locked ? "LOCKED" : "UNLOCKED"))
|
||||
var/message = "Code"
|
||||
if((src.l_set == 0) && (!src.emagged) && (!src.l_setshort))
|
||||
dat += text("<p>\n<b>5-DIGIT PASSCODE NOT SET.<br>ENTER NEW PASSCODE.</b>")
|
||||
if(src.emagged)
|
||||
dat += text("<p>\n<font color=red><b>LOCKING SYSTEM ERROR - 1701</b></font>")
|
||||
if(src.l_setshort)
|
||||
dat += text("<p>\n<font color=red><b>ALERT: MEMORY SYSTEM ERROR - 6040 201</b></font>")
|
||||
message = text("[]", src.code)
|
||||
if(!src.locked)
|
||||
message = "*****"
|
||||
dat += {"<HR>\n>[message]<BR>\n
|
||||
<A href='?src=[UID()];type=1'>1</A>-
|
||||
<A href='?src=[UID()];type=2'>2</A>-
|
||||
<A href='?src=[UID()];type=3'>3</A><BR>\n
|
||||
<A href='?src=[UID()];type=4'>4</A>-
|
||||
<A href='?src=[UID()];type=5'>5</A>-
|
||||
<A href='?src=[UID()];type=6'>6</A><BR>\n
|
||||
<A href='?src=[UID()];type=7'>7</A>-
|
||||
<A href='?src=[UID()];type=8'>8</A>-
|
||||
<A href='?src=[UID()];type=9'>9</A><BR>\n
|
||||
<A href='?src=[UID()];type=R'>R</A>-
|
||||
<A href='?src=[UID()];type=0'>0</A>-
|
||||
<A href='?src=[UID()];type=E'>E</A><BR>\n</TT>"}
|
||||
user << browse(dat, "window=caselock;size=300x280")
|
||||
|
||||
Topic(href, href_list)
|
||||
..()
|
||||
if((usr.stat || usr.restrained()) || (get_dist(src, usr) > 1))
|
||||
return
|
||||
if(href_list["type"])
|
||||
if(href_list["type"] == "E")
|
||||
if((src.l_set == 0) && (length(src.code) == 5) && (!src.l_setshort) && (src.code != "ERROR"))
|
||||
src.l_code = src.code
|
||||
src.l_set = 1
|
||||
else if((src.code == src.l_code) && (src.emagged == 0) && (src.l_set == 1))
|
||||
src.locked = 0
|
||||
src.overlays = null
|
||||
overlays += image('icons/obj/storage.dmi', icon_opened)
|
||||
src.code = null
|
||||
if((istype(W, /obj/item/device/multitool)) && (open == 1) && (!l_hacking))
|
||||
user.show_message("<span class='danger'>Now attempting to reset internal memory, please hold.</span>", 1)
|
||||
l_hacking = 1
|
||||
if(do_after(usr, 100, target = src))
|
||||
if(prob(40))
|
||||
l_setshort = 1
|
||||
l_set = 0
|
||||
user.show_message("<span class='danger'>Internal memory reset. Please give it a few seconds to reinitialize.</span>", 1)
|
||||
sleep(80)
|
||||
l_setshort = 0
|
||||
l_hacking = 0
|
||||
else
|
||||
src.code = "ERROR"
|
||||
else
|
||||
if((href_list["type"] == "R") && (src.emagged == 0) && (!src.l_setshort))
|
||||
src.locked = 1
|
||||
src.overlays = null
|
||||
src.code = null
|
||||
src.close(usr)
|
||||
else
|
||||
src.code += text("[]", href_list["type"])
|
||||
if(length(src.code) > 5)
|
||||
src.code = "ERROR"
|
||||
src.add_fingerprint(usr)
|
||||
for(var/mob/M in viewers(1, src.loc))
|
||||
if((M.client && M.machine == src))
|
||||
src.attack_self(M)
|
||||
return
|
||||
user.show_message("<span class='danger'>Unable to reset internal memory.</span>", 1)
|
||||
l_hacking = 0
|
||||
else
|
||||
l_hacking = 0
|
||||
return
|
||||
//At this point you have exhausted all the special things to do when locked
|
||||
// ... but it's still locked.
|
||||
return
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/storage/secure/emag_act(user as mob, weapon as obj)
|
||||
if(!emagged)
|
||||
emagged = 1
|
||||
overlays += image('icons/obj/storage.dmi', icon_sparking)
|
||||
sleep(6)
|
||||
overlays = null
|
||||
overlays += image('icons/obj/storage.dmi', icon_locking)
|
||||
locked = 0
|
||||
if(istype(weapon, /obj/item/weapon/melee/energy/blade))
|
||||
var/datum/effect/system/spark_spread/spark_system = new /datum/effect/system/spark_spread()
|
||||
spark_system.set_up(5, 0, src.loc)
|
||||
spark_system.start()
|
||||
playsound(loc, 'sound/weapons/blade1.ogg', 50, 1)
|
||||
playsound(loc, "sparks", 50, 1)
|
||||
to_chat(user, "You slice through the lock on [src].")
|
||||
else
|
||||
to_chat(user, "You short out the lock on [src].")
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/storage/secure/MouseDrop(over_object, src_location, over_location)
|
||||
if(locked)
|
||||
add_fingerprint(usr)
|
||||
to_chat(usr, "<span class='warning'>It's locked!</span>")
|
||||
return 0
|
||||
..()
|
||||
|
||||
/obj/item/weapon/storage/secure/attack_self(mob/user as mob)
|
||||
user.set_machine(src)
|
||||
var/dat = text("<TT><B>[]</B><BR>\n\nLock Status: []", src, (locked ? "LOCKED" : "UNLOCKED"))
|
||||
var/message = "Code"
|
||||
if((l_set == 0) && (!emagged) && (!l_setshort))
|
||||
dat += text("<p>\n<b>5-DIGIT PASSCODE NOT SET.<br>ENTER NEW PASSCODE.</b>")
|
||||
if(emagged)
|
||||
dat += text("<p>\n<font color=red><b>LOCKING SYSTEM ERROR - 1701</b></font>")
|
||||
if(l_setshort)
|
||||
dat += text("<p>\n<font color=red><b>ALERT: MEMORY SYSTEM ERROR - 6040 201</b></font>")
|
||||
message = text("[]", code)
|
||||
if(!locked)
|
||||
message = "*****"
|
||||
dat += {"<HR>\n>[message]<BR>\n
|
||||
<A href='?src=[UID()];type=1'>1</A>-
|
||||
<A href='?src=[UID()];type=2'>2</A>-
|
||||
<A href='?src=[UID()];type=3'>3</A><BR>\n
|
||||
<A href='?src=[UID()];type=4'>4</A>-
|
||||
<A href='?src=[UID()];type=5'>5</A>-
|
||||
<A href='?src=[UID()];type=6'>6</A><BR>\n
|
||||
<A href='?src=[UID()];type=7'>7</A>-
|
||||
<A href='?src=[UID()];type=8'>8</A>-
|
||||
<A href='?src=[UID()];type=9'>9</A><BR>\n
|
||||
<A href='?src=[UID()];type=R'>R</A>-
|
||||
<A href='?src=[UID()];type=0'>0</A>-
|
||||
<A href='?src=[UID()];type=E'>E</A><BR>\n</TT>"}
|
||||
user << browse(dat, "window=caselock;size=300x280")
|
||||
|
||||
/obj/item/weapon/storage/secure/Topic(href, href_list)
|
||||
..()
|
||||
if(usr.incapacitated() || (get_dist(src, usr) > 1))
|
||||
return
|
||||
if(href_list["type"])
|
||||
if(href_list["type"] == "E")
|
||||
if((l_set == 0) && (length(code) == 5) && (!l_setshort) && (code != "ERROR"))
|
||||
l_code = code
|
||||
l_set = 1
|
||||
else if((code == l_code) && (emagged == 0) && (l_set == 1))
|
||||
locked = 0
|
||||
overlays = null
|
||||
overlays += image('icons/obj/storage.dmi', icon_opened)
|
||||
code = null
|
||||
else
|
||||
code = "ERROR"
|
||||
else
|
||||
if((href_list["type"] == "R") && (emagged == 0) && (!l_setshort))
|
||||
locked = 1
|
||||
overlays = null
|
||||
code = null
|
||||
close(usr)
|
||||
else
|
||||
code += text("[]", href_list["type"])
|
||||
if(length(code) > 5)
|
||||
code = "ERROR"
|
||||
add_fingerprint(usr)
|
||||
for(var/mob/M in viewers(1, loc))
|
||||
if((M.client && M.machine == src))
|
||||
attack_self(M)
|
||||
return
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/secure/can_be_inserted(obj/item/W as obj, stop_messages = 0)
|
||||
if(!locked)
|
||||
return ..()
|
||||
@@ -160,8 +161,10 @@
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/storage/secure/hear_talk(mob/living/M as mob, msg)
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/secure/hear_message(mob/living/M as mob, msg)
|
||||
return
|
||||
|
||||
// -----------------------------
|
||||
// Secure Briefcase
|
||||
@@ -174,7 +177,7 @@
|
||||
item_state = "sec-case"
|
||||
flags = CONDUCT
|
||||
hitsound = "swing_hit"
|
||||
force = 8.0
|
||||
force = 8
|
||||
throw_speed = 2
|
||||
throw_range = 4
|
||||
w_class = 4
|
||||
@@ -182,36 +185,36 @@
|
||||
max_combined_w_class = 21
|
||||
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked")
|
||||
|
||||
New()
|
||||
..()
|
||||
new /obj/item/weapon/paper(src)
|
||||
new /obj/item/weapon/pen(src)
|
||||
/obj/item/weapon/storage/secure/briefcase/New()
|
||||
..()
|
||||
handle_item_insertion(new /obj/item/weapon/paper, 1)
|
||||
handle_item_insertion(new /obj/item/weapon/pen, 1)
|
||||
|
||||
attack_hand(mob/user as mob)
|
||||
if((src.loc == user) && (src.locked == 1))
|
||||
to_chat(usr, "\red [src] is locked and cannot be opened!")
|
||||
else if((src.loc == user) && (!src.locked))
|
||||
playsound(src.loc, "rustle", 50, 1, -5)
|
||||
if(user.s_active)
|
||||
user.s_active.close(user) //Close and re-open
|
||||
src.show_to(user)
|
||||
else
|
||||
..()
|
||||
for(var/mob/M in range(1))
|
||||
if(M.s_active == src)
|
||||
src.close(M)
|
||||
src.orient2hud(user)
|
||||
src.add_fingerprint(user)
|
||||
return
|
||||
/obj/item/weapon/storage/secure/briefcase/attack_hand(mob/user as mob)
|
||||
if((loc == user) && (locked == 1))
|
||||
to_chat(usr, "<span class='warning'>[src] is locked and cannot be opened!</span>")
|
||||
else if((loc == user) && !locked)
|
||||
playsound(loc, "rustle", 50, 1, -5)
|
||||
if(user.s_active)
|
||||
user.s_active.close(user) //Close and re-open
|
||||
show_to(user)
|
||||
else
|
||||
..()
|
||||
for(var/mob/M in range(1))
|
||||
if(M.s_active == src)
|
||||
close(M)
|
||||
orient2hud(user)
|
||||
add_fingerprint(user)
|
||||
return
|
||||
|
||||
//Syndie variant of Secure Briefcase. Contains space cash, slightly more robust.
|
||||
/obj/item/weapon/storage/secure/briefcase/syndie
|
||||
force = 15.0
|
||||
force = 15
|
||||
|
||||
/obj/item/weapon/storage/secure/briefcase/syndie/New()
|
||||
..()
|
||||
for(var/i = 0, i < storage_slots - 2, i++)
|
||||
new /obj/item/weapon/spacecash/c1000(src)
|
||||
return ..()
|
||||
handle_item_insertion(new /obj/item/weapon/spacecash/c1000, 1)
|
||||
|
||||
// -----------------------------
|
||||
// Secure Safe
|
||||
@@ -224,30 +227,17 @@
|
||||
icon_opened = "safe0"
|
||||
icon_locking = "safeb"
|
||||
icon_sparking = "safespark"
|
||||
force = 8.0
|
||||
force = 8
|
||||
w_class = 5
|
||||
max_w_class = 8
|
||||
anchored = 1.0
|
||||
anchored = 1
|
||||
density = 0
|
||||
cant_hold = list("/obj/item/weapon/storage/secure/briefcase")
|
||||
|
||||
New()
|
||||
..()
|
||||
new /obj/item/weapon/paper(src)
|
||||
new /obj/item/weapon/pen(src)
|
||||
|
||||
attack_hand(mob/user as mob)
|
||||
return attack_self(user)
|
||||
|
||||
// Clown planet WMD storage
|
||||
/obj/item/weapon/storage/secure/safe/clown
|
||||
name="WMD Storage"
|
||||
|
||||
/obj/item/weapon/storage/secure/safe/clown/New()
|
||||
for(var/i=0;i<10;i++)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/pie(src)
|
||||
|
||||
|
||||
/obj/item/weapon/storage/secure/safe/HoS/New()
|
||||
/obj/item/weapon/storage/secure/safe/New()
|
||||
..()
|
||||
//new /obj/item/weapon/storage/lockbox/clusterbang(src) This item is currently broken... and probably shouldnt exist to begin with (even though it's cool)
|
||||
handle_item_insertion(new /obj/item/weapon/paper, 1)
|
||||
handle_item_insertion(new /obj/item/weapon/pen, 1)
|
||||
|
||||
/obj/item/weapon/storage/secure/safe/attack_hand(mob/user as mob)
|
||||
return attack_self(user)
|
||||
|
||||
@@ -934,11 +934,11 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
for(var/obj/item/briefcase_item in sec_briefcase)
|
||||
qdel(briefcase_item)
|
||||
for(var/i=3, i>0, i--)
|
||||
sec_briefcase.contents += new /obj/item/weapon/spacecash/c1000
|
||||
sec_briefcase.contents += new /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow
|
||||
sec_briefcase.contents += new /obj/item/weapon/gun/projectile/revolver/mateba
|
||||
sec_briefcase.contents += new /obj/item/ammo_box/a357
|
||||
sec_briefcase.contents += new /obj/item/weapon/grenade/plastic/c4
|
||||
sec_briefcase.handle_item_insertion(new /obj/item/weapon/spacecash/c1000, 1)
|
||||
sec_briefcase.handle_item_insertion(new /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow, 1)
|
||||
sec_briefcase.handle_item_insertion(new /obj/item/weapon/gun/projectile/revolver/mateba, 1)
|
||||
sec_briefcase.handle_item_insertion(new /obj/item/ammo_box/a357, 1)
|
||||
sec_briefcase.handle_item_insertion(new /obj/item/weapon/grenade/plastic/c4, 1)
|
||||
// briefcase must be unlocked by setting the code.
|
||||
M.equip_to_slot_or_del(sec_briefcase, slot_l_hand)
|
||||
var/obj/item/weapon/implant/dust/DUST = new /obj/item/weapon/implant/dust(M)
|
||||
|
||||
@@ -189,15 +189,11 @@
|
||||
to_chat(H, "<span class='notice'>You deploy your hardsuit helmet, sealing you off from the world.</span>")
|
||||
H.update_inv_head()
|
||||
|
||||
/obj/item/clothing/suit/space/rig/attackby(obj/item/W as obj, mob/user as mob, params)
|
||||
/obj/item/clothing/suit/space/rig/attackby(obj/item/W, mob/user, params)
|
||||
if(!isliving(user))
|
||||
return
|
||||
|
||||
if(istype(src.loc,/mob/living))
|
||||
to_chat(user, "How do you propose to modify a hardsuit while it is being worn?")
|
||||
return
|
||||
|
||||
if(istype(W,/obj/item/weapon/screwdriver))
|
||||
if(istype(W,/obj/item/weapon/screwdriver) && can_modify(user))
|
||||
if(!helmet)
|
||||
to_chat(user, "\The [src] does not have a helmet installed.")
|
||||
else
|
||||
@@ -213,7 +209,7 @@
|
||||
boots = null
|
||||
return
|
||||
|
||||
else if(istype(W,/obj/item/clothing/head/helmet/space))
|
||||
else if(istype(W,/obj/item/clothing/head/helmet/space) && can_modify(user))
|
||||
if(!attached_helmet)
|
||||
to_chat(user, "\The [src] does not have a helmet mount.")
|
||||
return
|
||||
@@ -226,7 +222,7 @@
|
||||
src.helmet = W
|
||||
return
|
||||
|
||||
else if(istype(W,/obj/item/clothing/shoes/magboots))
|
||||
else if(istype(W,/obj/item/clothing/shoes/magboots) && can_modify(user))
|
||||
if(!attached_boots)
|
||||
to_chat(user, "\The [src] does not have boot mounts.")
|
||||
return
|
||||
@@ -242,6 +238,13 @@
|
||||
return ..()
|
||||
|
||||
..()
|
||||
|
||||
/obj/item/clothing/suit/space/rig/proc/can_modify(mob/living/user)
|
||||
if(isliving(loc))
|
||||
to_chat(user, "<span class='info'>You can not modify the hardsuit while it is being worn.</span>")
|
||||
return 0
|
||||
|
||||
return 1
|
||||
|
||||
//Engineering rig
|
||||
/obj/item/clothing/head/helmet/space/rig/engineering
|
||||
|
||||
@@ -466,6 +466,9 @@
|
||||
return
|
||||
if(istype(target, /obj/mecha/working/ripley))
|
||||
var/obj/mecha/D = target
|
||||
if(D.icon_state != "ripley-open")
|
||||
to_chat(user, "<span class='info'>You can't add armour onto the mech while someone is inside!</span>")
|
||||
return
|
||||
var/list/damage_absorption = D.damage_absorption
|
||||
if(damage_absorption["brute"] > 0.3)
|
||||
damage_absorption["brute"] = max(damage_absorption["brute"] - 0.1, 0.3)
|
||||
@@ -474,17 +477,11 @@
|
||||
damage_absorption["laser"] = damage_absorption["laser"] - 0.025
|
||||
to_chat(user, "<span class='info'>You strengthen [target], improving its resistance against melee attacks.</span>")
|
||||
qdel(src)
|
||||
if(D.icon_state == "ripley-open")
|
||||
D.overlays += image("icon"="mecha.dmi", "icon_state"="ripley-g-open")
|
||||
D.desc = "Autonomous Power Loader Unit. Its armour is enhanced with some goliath hide plates."
|
||||
else
|
||||
to_chat(user, "<span class='info'>You can't add armour onto the mech while someone is inside!</span>")
|
||||
D.overlays += image("icon"="mecha.dmi", "icon_state"="ripley-g-open")
|
||||
D.desc = "Autonomous Power Loader Unit. Its armour is enhanced with some goliath hide plates."
|
||||
if(damage_absorption.["brute"] == 0.3)
|
||||
if(D.icon_state == "ripley-open")
|
||||
D.overlays += image("icon"="mecha.dmi", "icon_state"="ripley-g-full-open")
|
||||
D.desc = "Autonomous Power Loader Unit. It's wearing a fearsome carapace entirely composed of goliath hide plates - the pilot must be an experienced monster hunter."
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You can't add armour onto the mech while someone is inside!</span>")
|
||||
D.overlays += image("icon"="mecha.dmi", "icon_state"="ripley-g-full-open")
|
||||
D.desc = "Autonomous Power Loader Unit. It's wearing a fearsome carapace entirely composed of goliath hide plates - the pilot must be an experienced monster hunter."
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You can't improve [D] any further!</span>")
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user