mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-10 14:44:05 +01:00
Grille Repairing (#15570)
This commit is contained in:
@@ -117,28 +117,28 @@
|
||||
var/atom/movable/mover = caller
|
||||
. = . || mover.checkpass(PASSGRILLE)
|
||||
|
||||
/obj/structure/grille/attackby(obj/item/W, mob/user, params)
|
||||
/obj/structure/grille/attackby(obj/item/I, mob/user, params)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
add_fingerprint(user)
|
||||
if(istype(W, /obj/item/stack/rods) && broken)
|
||||
var/obj/item/stack/rods/R = W
|
||||
if(!shock(user, 90))
|
||||
user.visible_message("<span class='notice'>[user] rebuilds the broken grille.</span>", \
|
||||
"<span class='notice'>You rebuild the broken grille.</span>")
|
||||
new grille_type(loc)
|
||||
R.use(1)
|
||||
qdel(src)
|
||||
return
|
||||
if(istype(I, /obj/item/stack/rods) && broken)
|
||||
repair(user, I)
|
||||
|
||||
//window placing begin
|
||||
else if(is_glass_sheet(W))
|
||||
build_window(W, user)
|
||||
else if(is_glass_sheet(I))
|
||||
build_window(I, user)
|
||||
return
|
||||
//window placing end
|
||||
|
||||
else if(istype(W, /obj/item/shard) || !shock(user, 70))
|
||||
else if(istype(I, /obj/item/shard) || !shock(user, 70))
|
||||
return ..()
|
||||
|
||||
/obj/structure/grille/proc/repair(mob/user, obj/item/stack/rods/R)
|
||||
user.visible_message("<span class='notice'>[user] rebuilds the broken grille.</span>",
|
||||
"<span class='notice'>You rebuild the broken grille.</span>")
|
||||
new grille_type(loc)
|
||||
R.use(1)
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/grille/wirecutter_act(mob/user, obj/item/I)
|
||||
. = TRUE
|
||||
if(shock(user, 100))
|
||||
|
||||
@@ -166,7 +166,15 @@
|
||||
return 1 //skip the afterattack
|
||||
|
||||
add_fingerprint(user)
|
||||
if(istype(I, /obj/item/grab) && get_dist(src, user) < 2)
|
||||
if(istype(I, /obj/item/stack/rods) && user.a_intent == INTENT_HELP)
|
||||
for(var/obj/structure/grille/G in get_turf(src))
|
||||
if(!G.broken)
|
||||
continue
|
||||
to_chat(user, "<span class='notice'>You start rebuilding the broken grille.</span>")
|
||||
if(do_after(user, 4 SECONDS, FALSE, G))
|
||||
G.repair(user, I)
|
||||
|
||||
else if(istype(I, /obj/item/grab) && get_dist(src, user) < 2)
|
||||
var/obj/item/grab/G = I
|
||||
if(isliving(G.affecting))
|
||||
var/mob/living/M = G.affecting
|
||||
@@ -193,8 +201,8 @@
|
||||
M.Weaken(5)
|
||||
M.apply_damage(30)
|
||||
take_damage(75)
|
||||
return
|
||||
return ..()
|
||||
else
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/structure/window/crowbar_act(mob/user, obj/item/I)
|
||||
|
||||
Reference in New Issue
Block a user