mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-12 11:13:16 +00:00
61 lines
1.5 KiB
Plaintext
61 lines
1.5 KiB
Plaintext
/obj/mecha/working
|
|
internal_damage_threshold = 60
|
|
var/list/cargo = new
|
|
var/cargo_capacity = 5
|
|
|
|
/obj/mecha/working/initialize()
|
|
..()
|
|
var/turf/T = get_turf(src)
|
|
if(isPlayerLevel(T.z))
|
|
new /obj/item/mecha_parts/mecha_tracking(src)
|
|
return
|
|
|
|
/obj/mecha/working/Destroy()
|
|
for(var/mob/M in src)
|
|
if(M==src.occupant)
|
|
continue
|
|
M.loc = get_turf(src)
|
|
M.loc.Entered(M)
|
|
step_rand(M)
|
|
for(var/atom/movable/A in src.cargo)
|
|
A.loc = get_turf(src)
|
|
var/turf/T = get_turf(A)
|
|
if(T)
|
|
T.Entered(A)
|
|
step_rand(A)
|
|
..()
|
|
return
|
|
|
|
/obj/mecha/working/Topic(href, href_list)
|
|
..()
|
|
if(href_list["drop_from_cargo"])
|
|
var/obj/O = locate(href_list["drop_from_cargo"])
|
|
if(O && O in src.cargo)
|
|
src.occupant_message("<span class='notice'>You unload [O].</span>")
|
|
O.loc = get_turf(src)
|
|
src.cargo -= O
|
|
var/turf/T = get_turf(O)
|
|
if(T)
|
|
T.Entered(O)
|
|
src.log_message("Unloaded [O]. Cargo compartment capacity: [cargo_capacity - src.cargo.len]")
|
|
return
|
|
|
|
/obj/mecha/working/Exit(atom/movable/O)
|
|
if(O in cargo)
|
|
return 0
|
|
return ..()
|
|
|
|
/obj/mecha/working/get_stats_part()
|
|
var/output = ..()
|
|
output += "<b>Cargo Compartment Contents:</b><div style=\"margin-left: 15px;\">"
|
|
if(src.cargo.len)
|
|
for(var/obj/O in src.cargo)
|
|
output += "<a href='?src=\ref[src];drop_from_cargo=\ref[O]'>Unload</a> : [O]<br>"
|
|
else
|
|
output += "Nothing"
|
|
output += "</div>"
|
|
return output
|
|
|
|
/obj/mecha/working/range_action(atom/target as obj|mob|turf)
|
|
return
|