mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-02 13:42:32 +00:00
Added large crates, for dense objects. Currently they're only used for water and fuel tanks, and mulebots. Removed uterus.dmm and tgstation.2.0.8.dmm from the repo, as they were unused and outdated. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3884 316c924e-a436-60f5-8080-3fe189b3f50e
73 lines
2.2 KiB
Plaintext
73 lines
2.2 KiB
Plaintext
/obj/structure/ladder
|
|
name = "ladder"
|
|
desc = "A sturdy metal ladder."
|
|
icon = 'structures.dmi'
|
|
icon_state = "ladder11"
|
|
var/id = null
|
|
var/height = 0 //the 'height' of the ladder. higher numbers are considered physically higher
|
|
var/obj/structure/ladder/down = null //the ladder below this one
|
|
var/obj/structure/ladder/up = null //the ladder above this one
|
|
|
|
/obj/structure/ladder/New()
|
|
spawn(8)
|
|
for(var/obj/structure/ladder/L in world)
|
|
if(L.id == id)
|
|
if(L.height == (height - 1))
|
|
down = L
|
|
continue
|
|
if(L.height == (height + 1))
|
|
up = L
|
|
continue
|
|
|
|
if(up && down) //if both our connections are filled
|
|
break
|
|
update_icon()
|
|
|
|
/obj/structure/ladder/update_icon()
|
|
if(up && down)
|
|
icon_state = "ladder11"
|
|
|
|
else if(up)
|
|
icon_state = "ladder10"
|
|
|
|
else if(down)
|
|
icon_state = "ladder01"
|
|
|
|
else //wtf make your ladders properly assholes
|
|
icon_state = "ladder00"
|
|
|
|
/obj/structure/ladder/attack_hand(mob/user as mob)
|
|
if(up && down)
|
|
switch( alert("Go up or down the ladder?", "Ladder", "Up", "Down", "Cancel") )
|
|
if("Up")
|
|
user.visible_message("<span class='notice'>[user] climbs up \the [src]!</span>", \
|
|
"<span class='notice'>You climb up \the [src]!</span>")
|
|
user.loc = get_turf(up)
|
|
up.add_fingerprint(user)
|
|
if("Down")
|
|
user.visible_message("<span class='notice'>[user] climbs down \the [src]!</span>", \
|
|
"<span class='notice'>You climb down \the [src]!</span>")
|
|
user.loc = get_turf(down)
|
|
down.add_fingerprint(user)
|
|
if("Cancel")
|
|
return
|
|
|
|
else if(up)
|
|
user.visible_message("<span class='notice'>[user] climbs up \the [src]!</span>", \
|
|
"<span class='notice'>You climb up \the [src]!</span>")
|
|
user.loc = get_turf(up)
|
|
up.add_fingerprint(user)
|
|
|
|
else if(down)
|
|
user.visible_message("<span class='notice'>[user] climbs down \the [src]!</span>", \
|
|
"<span class='notice'>You climb up \the [src]!</span>")
|
|
user.loc = get_turf(down)
|
|
down.add_fingerprint(user)
|
|
|
|
add_fingerprint(user)
|
|
|
|
/obj/structure/ladder/attack_paw(mob/user as mob)
|
|
return attack_hand(user)
|
|
|
|
/obj/structure/ladder/attackby(obj/item/weapon/W, mob/user as mob)
|
|
return attack_hand(user) |