mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-17 04:27:39 +00:00
Replaces Holodamage with Stamina damage, if your stamina damage exceeds your current health, you get weaken(5)'d. Stamina heals itself slowly over time. Makes the hallucination enemies deal more stamina damage than they did holodamage, but stamina damage heals now so it's mostly for just seeming threatening at the moment. Adds the Disabler, a gun that does stamina damage. It has a range of your screen, but no more. Adds a disabler crate to cargo (security lock) Fixes Lasertag ED209's because they were busted as shit Reduces ED209's view range to 9 from 12, which was several times longer than your screen view, now is only a little bit more Lastertag now does stamina damage instead of an instant stun for that GRITTY LASERTAG EXPERIENCE
101 lines
2.5 KiB
Plaintext
101 lines
2.5 KiB
Plaintext
/obj/structure/displaycase
|
|
name = "display case"
|
|
icon = 'icons/obj/stationobjs.dmi'
|
|
icon_state = "glassbox1"
|
|
desc = "A display case for prized possessions. It taunts you to kick it."
|
|
density = 1
|
|
anchored = 1
|
|
unacidable = 1//Dissolving the case would also delete the gun.
|
|
var/health = 30
|
|
var/occupied = 1
|
|
var/destroyed = 0
|
|
|
|
/obj/structure/displaycase/ex_act(severity)
|
|
switch(severity)
|
|
if (1)
|
|
new /obj/item/weapon/shard( src.loc )
|
|
if (occupied)
|
|
new /obj/item/weapon/gun/energy/laser/captain( src.loc )
|
|
occupied = 0
|
|
del(src)
|
|
if (2)
|
|
if (prob(50))
|
|
src.health -= 15
|
|
src.healthcheck()
|
|
if (3)
|
|
if (prob(50))
|
|
src.health -= 5
|
|
src.healthcheck()
|
|
|
|
|
|
/obj/structure/displaycase/bullet_act(var/obj/item/projectile/Proj)
|
|
if((Proj.damage_type == BRUTE || Proj.damage_type == BURN))
|
|
health -= Proj.damage
|
|
..()
|
|
src.healthcheck()
|
|
return
|
|
|
|
|
|
/obj/structure/displaycase/blob_act()
|
|
if (prob(75))
|
|
new /obj/item/weapon/shard( src.loc )
|
|
if (occupied)
|
|
new /obj/item/weapon/gun/energy/laser/captain( src.loc )
|
|
occupied = 0
|
|
del(src)
|
|
|
|
|
|
/obj/structure/displaycase/meteorhit(obj/O as obj)
|
|
new /obj/item/weapon/shard( src.loc )
|
|
new /obj/item/weapon/gun/energy/laser/captain( src.loc )
|
|
del(src)
|
|
|
|
|
|
/obj/structure/displaycase/proc/healthcheck()
|
|
if (src.health <= 0)
|
|
if (!( src.destroyed ))
|
|
src.density = 0
|
|
src.destroyed = 1
|
|
new /obj/item/weapon/shard( src.loc )
|
|
playsound(src, "shatter", 70, 1)
|
|
update_icon()
|
|
else
|
|
playsound(src.loc, 'sound/effects/Glasshit.ogg', 75, 1)
|
|
return
|
|
|
|
/obj/structure/displaycase/update_icon()
|
|
if(src.destroyed)
|
|
src.icon_state = "glassboxb[src.occupied]"
|
|
else
|
|
src.icon_state = "glassbox[src.occupied]"
|
|
return
|
|
|
|
|
|
/obj/structure/displaycase/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
|
src.health -= W.force
|
|
src.healthcheck()
|
|
..()
|
|
return
|
|
|
|
/obj/structure/displaycase/attack_paw(mob/user as mob)
|
|
return src.attack_hand(user)
|
|
|
|
/obj/structure/displaycase/attack_hand(mob/user as mob)
|
|
if (src.destroyed && src.occupied)
|
|
new /obj/item/weapon/gun/energy/laser/captain( src.loc )
|
|
user << "\b You deactivate the hover field built into the case."
|
|
src.occupied = 0
|
|
src.add_fingerprint(user)
|
|
update_icon()
|
|
return
|
|
else
|
|
usr << text("\blue You kick the display case.")
|
|
for(var/mob/O in oviewers())
|
|
if ((O.client && !( O.blinded )))
|
|
O << text("\red [] kicks the display case.", usr)
|
|
src.health -= 2
|
|
healthcheck()
|
|
return
|
|
|
|
|