mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 21:18:37 +01:00
Adding fingerprints to actions:
-breaking windoors -wrenching/unwrenching pipe dispensers -locking/unlocking crates -breaking grilles -smashing windows -deconning walls
This commit is contained in:
@@ -150,10 +150,14 @@
|
||||
/obj/machinery/door/window/proc/take_damage(var/damage)
|
||||
src.health = max(0, src.health - damage)
|
||||
if (src.health <= 0)
|
||||
new /obj/item/weapon/shard(src.loc)
|
||||
new /obj/item/weapon/shard(src.loc)
|
||||
new /obj/item/stack/rods(src.loc, 2)
|
||||
new /obj/item/stack/cable_coil(src.loc, 2)
|
||||
var/debris = list(
|
||||
new /obj/item/weapon/shard(src.loc),
|
||||
new /obj/item/weapon/shard(src.loc),
|
||||
new /obj/item/stack/rods(src.loc, 2),
|
||||
new /obj/item/stack/cable_coil(src.loc, 2)
|
||||
)
|
||||
for(var/obj/fragment in debris)
|
||||
transfer_fingerprints_to(fragment)
|
||||
src.density = 0
|
||||
qdel(src)
|
||||
return
|
||||
@@ -223,6 +227,8 @@
|
||||
if (src.operating)
|
||||
return
|
||||
|
||||
add_fingerprint(user)
|
||||
|
||||
//Emags and ninja swords? You may pass.
|
||||
if (src.density && (istype(I, /obj/item/weapon/card/emag)||istype(I, /obj/item/weapon/melee/energy/blade)))
|
||||
src.operating = -1
|
||||
@@ -241,7 +247,7 @@
|
||||
open()
|
||||
emagged = 1
|
||||
return 1
|
||||
|
||||
|
||||
//If windoor is unpowered, crowbar, fireaxe and armblade can force it.
|
||||
if(istype(I, /obj/item/weapon/crowbar) || istype(I, /obj/item/weapon/twohanded/fireaxe) || istype(I, /obj/item/weapon/melee/arm_blade) )
|
||||
if(stat & NOPOWER)
|
||||
@@ -260,8 +266,7 @@
|
||||
if(I.damtype == BURN || I.damtype == BRUTE)
|
||||
take_damage(aforce)
|
||||
return
|
||||
|
||||
src.add_fingerprint(user)
|
||||
|
||||
if (!src.requiresID())
|
||||
//don't care who they are or what they have, act as if they're NOTHING
|
||||
user = null
|
||||
|
||||
@@ -82,6 +82,7 @@
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
user << "<span class='notice'>You begin to fasten \the [src] to the floor...</span>"
|
||||
if (do_after(user, 40))
|
||||
add_fingerprint(user)
|
||||
user.visible_message( \
|
||||
"[user] fastens \the [src].", \
|
||||
"<span class='notice'>You have fastened \the [src]. Now it can dispense pipes.</span>", \
|
||||
@@ -94,6 +95,7 @@
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
user << "<span class='notice'>You begin to unfasten \the [src] from the floor...</span>"
|
||||
if (do_after(user, 20))
|
||||
add_fingerprint(user)
|
||||
user.visible_message( \
|
||||
"[user] unfastens \the [src].", \
|
||||
"<span class='notice'>You have unfastened \the [src]. Now it can be pulled somewhere else.</span>", \
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
/obj/structure/closet/secure_closet/proc/togglelock(mob/user as mob)
|
||||
if(src.allowed(user))
|
||||
src.locked = !src.locked
|
||||
add_fingerprint(user)
|
||||
for(var/mob/O in viewers(user, 3))
|
||||
if((O.client && !( O.blinded )))
|
||||
O << "<span class='notice'>The locker has been [locked ? null : "un"]locked by [user].</span>"
|
||||
|
||||
@@ -290,6 +290,7 @@
|
||||
src.locked = 0
|
||||
overlays.Cut()
|
||||
overlays += greenlight
|
||||
add_fingerprint(user)
|
||||
return
|
||||
else
|
||||
user << "<span class='notice'>[src] is locked.</span>"
|
||||
@@ -303,6 +304,7 @@
|
||||
src.locked = 1
|
||||
overlays.Cut()
|
||||
overlays += redlight
|
||||
add_fingerprint(user)
|
||||
return
|
||||
else if ( (istype(W, /obj/item/weapon/card/emag)||istype(W, /obj/item/weapon/melee/energy/blade)) && locked &&!broken)
|
||||
overlays.Cut()
|
||||
@@ -313,6 +315,7 @@
|
||||
src.locked = 0
|
||||
src.broken = 1
|
||||
user << "<span class='notice'>You unlock \the [src].</span>"
|
||||
add_fingerprint(user)
|
||||
return
|
||||
|
||||
return ..()
|
||||
|
||||
@@ -101,14 +101,14 @@
|
||||
|
||||
/obj/structure/grille/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
user.changeNext_move(8)
|
||||
add_fingerprint(user)
|
||||
if(istype(W, /obj/item/weapon/wirecutters))
|
||||
if(!shock(user, 100))
|
||||
playsound(loc, 'sound/items/Wirecutter.ogg', 100, 1)
|
||||
if(destroyed)
|
||||
new /obj/item/stack/rods(loc)
|
||||
else
|
||||
new /obj/item/stack/rods(loc)
|
||||
new /obj/item/stack/rods(loc)
|
||||
var/obj/item/stack/rods/newrods = new(loc)
|
||||
transfer_fingerprints_to(newrods)
|
||||
if(!destroyed)
|
||||
newrods.amount = 2
|
||||
qdel(src)
|
||||
else if((istype(W, /obj/item/weapon/screwdriver)) && (istype(loc, /turf/simulated) || anchored))
|
||||
if(!shock(user, 90))
|
||||
@@ -181,15 +181,16 @@
|
||||
|
||||
/obj/structure/grille/proc/healthcheck()
|
||||
if(health <= 0)
|
||||
var/obj/item/stack/rods/newrods = new(loc)
|
||||
transfer_fingerprints_to(newrods)
|
||||
|
||||
if(!destroyed)
|
||||
icon_state = "brokengrille"
|
||||
density = 0
|
||||
destroyed = 1
|
||||
new /obj/item/stack/rods(loc)
|
||||
|
||||
else
|
||||
if(health <= -6)
|
||||
new /obj/item/stack/rods(loc)
|
||||
qdel(src)
|
||||
return
|
||||
return
|
||||
|
||||
@@ -220,15 +220,19 @@
|
||||
var/index = null
|
||||
index = 0
|
||||
while(index < 2)
|
||||
new /obj/item/weapon/shard(loc)
|
||||
if(reinf) new /obj/item/stack/rods(loc)
|
||||
spawnfragments()
|
||||
index++
|
||||
else
|
||||
new /obj/item/weapon/shard(loc)
|
||||
if(reinf) new /obj/item/stack/rods(loc)
|
||||
spawnfragments()
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
/obj/structure/window/proc/spawnfragments()
|
||||
var/newshard = new /obj/item/weapon/shard(loc)
|
||||
transfer_fingerprints_to(newshard)
|
||||
if(reinf)
|
||||
var/newrods = new /obj/item/stack/rods(loc)
|
||||
transfer_fingerprints_to(newrods)
|
||||
|
||||
/obj/structure/window/verb/rotate()
|
||||
set name = "Rotate Window Counter-Clockwise"
|
||||
|
||||
@@ -14,10 +14,11 @@
|
||||
var/hardness = 40 //lower numbers are harder. Used to determine the probability of a hulk smashing through.
|
||||
|
||||
/turf/simulated/wall/proc/dismantle_wall(devastated=0, explode=0)
|
||||
var/newgirder = null
|
||||
if(istype(src,/turf/simulated/wall/r_wall))
|
||||
if(!devastated)
|
||||
playsound(src, 'sound/items/Welder.ogg', 100, 1)
|
||||
new /obj/structure/girder/reinforced(src)
|
||||
newgirder = new /obj/structure/girder/reinforced(src)
|
||||
new /obj/item/stack/sheet/plasteel( src )
|
||||
else
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
@@ -35,7 +36,7 @@
|
||||
else
|
||||
if(!devastated)
|
||||
playsound(src, 'sound/items/Welder.ogg', 100, 1)
|
||||
new /obj/structure/girder(src)
|
||||
newgirder = new /obj/structure/girder(src)
|
||||
if (mineral == "metal")
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
@@ -54,6 +55,9 @@
|
||||
new M( src )
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
|
||||
if(newgirder)
|
||||
transfer_fingerprints_to(newgirder)
|
||||
|
||||
for(var/obj/O in src.contents) //Eject contents!
|
||||
if(istype(O,/obj/structure/sign/poster))
|
||||
var/obj/structure/sign/poster/P = O
|
||||
@@ -175,6 +179,8 @@
|
||||
var/turf/T = user.loc //get user's location for delay checks
|
||||
|
||||
//DECONSTRUCTION
|
||||
add_fingerprint(user)
|
||||
|
||||
if( istype(W, /obj/item/weapon/weldingtool) )
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if( WT.remove_fuel(0,user) )
|
||||
|
||||
Reference in New Issue
Block a user