mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-19 19:13:30 +01:00
@@ -14,3 +14,7 @@
|
||||
while(prob(60) && counter < 3)
|
||||
new /obj/item/clothing/mask/breath(src)
|
||||
counter++
|
||||
|
||||
/obj/structure/closet/emcloset/legacy/New()
|
||||
new /obj/item/weapon/tank/oxygen(src)
|
||||
new /obj/item/clothing/mask/gas(src)
|
||||
@@ -85,12 +85,13 @@
|
||||
/obj/structure/closet/secure_closet/warden
|
||||
name = "Warden's Locker"
|
||||
req_access = list(access_armory)
|
||||
icon_state = "hossecure1"
|
||||
icon_closed = "hossecure"
|
||||
icon_locked = "hossecure1"
|
||||
icon_opened = "hossecureopen"
|
||||
icon_broken = "hossecurebroken"
|
||||
icon_off = "hossecureoff"
|
||||
icon_state = "wardensecure1"
|
||||
icon_closed = "wardensecure"
|
||||
icon_locked = "wardensecure1"
|
||||
icon_opened = "wardensecureopen"
|
||||
icon_broken = "wardensecurebroken"
|
||||
icon_off = "wardensecureoff"
|
||||
|
||||
|
||||
New()
|
||||
..()
|
||||
|
||||
@@ -515,8 +515,9 @@ Code:
|
||||
for (var/obj/item/weapon/mop/M in world)
|
||||
var/turf/ml = get_turf(M)
|
||||
|
||||
if (ml.z != cl.z)
|
||||
continue
|
||||
if(ml)
|
||||
if (ml.z != cl.z)
|
||||
continue
|
||||
|
||||
ldat += "Mop - <b>\[[ml.x],[ml.y]\]</b> - [M.reagents.total_volume ? "Wet" : "Dry"]<br>"
|
||||
|
||||
|
||||
@@ -93,6 +93,7 @@ FLASHBANG
|
||||
var
|
||||
active = 0
|
||||
det_time = 30
|
||||
banglet = 0
|
||||
proc
|
||||
bang(var/turf/T , var/mob/living/carbon/M)
|
||||
prime()
|
||||
@@ -206,14 +207,16 @@ FLASHBANG
|
||||
if (M.eye_stat >= 20)
|
||||
M << "\red Your eyes start to burn badly!"
|
||||
M.disabilities |= 1
|
||||
if (prob(M.eye_stat - 20 + 1))
|
||||
M << "\red You can't see anything!"
|
||||
M.disabilities |= 128
|
||||
if(!banglet && !(istype(src , /obj/item/weapon/flashbang/clusterbang)))
|
||||
if (prob(M.eye_stat - 20 + 1))
|
||||
M << "\red You can't see anything!"
|
||||
M.disabilities |= 128
|
||||
if (M.ear_damage >= 15)
|
||||
M << "\red Your ears start to ring badly!"
|
||||
if (prob(M.ear_damage - 10 + 5))
|
||||
M << "\red You can't hear anything!"
|
||||
M.disabilities |= 32
|
||||
if(!banglet && !(istype(src , /obj/item/weapon/flashbang/clusterbang)))
|
||||
if (prob(M.ear_damage - 10 + 5))
|
||||
M << "\red You can't hear anything!"
|
||||
M.disabilities |= 32
|
||||
else
|
||||
if (M.ear_damage >= 5)
|
||||
M << "\red Your ears start to ring!"
|
||||
@@ -232,9 +235,7 @@ FLASHBANG
|
||||
for(var/mob/living/carbon/M in viewers(T, null))
|
||||
bang(T, M)
|
||||
|
||||
|
||||
//Blob damage here
|
||||
for(var/obj/effect/blob/B in view(8,T))
|
||||
for(var/obj/effect/blob/B in view(8,T)) //Blob damage here
|
||||
var/damage = round(30/(get_dist(B,T)+1))
|
||||
B.health -= damage
|
||||
B.update()
|
||||
@@ -255,6 +256,12 @@ FLASHBANG
|
||||
return
|
||||
|
||||
|
||||
attack_hand()
|
||||
walk(src, null, null)
|
||||
..()
|
||||
return
|
||||
|
||||
|
||||
clown_check(var/mob/living/user)
|
||||
if ((user.mutations & CLUMSY) && prob(50))
|
||||
user << "\red Huh? How does this thing work?!"
|
||||
@@ -266,12 +273,80 @@ FLASHBANG
|
||||
return 0
|
||||
return 1
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/flashbang/clusterbang
|
||||
desc = "Use of this weapon may constiute a war crime in your area, consult your local captain."
|
||||
name = "Clusterbang"
|
||||
icon = 'grenade.dmi'
|
||||
icon_state = "clusterbang"
|
||||
var/child = 0
|
||||
|
||||
attack_self(mob/user as mob)
|
||||
if(!active)
|
||||
//world << "cluster attack self"
|
||||
user << "\red You prime the clusterbang! [det_time/10] seconds!"
|
||||
src.active = 1
|
||||
src.icon_state = "clusterbang1"
|
||||
playsound(src.loc, 'armbomb.ogg', 75, 1, -3)
|
||||
spawn(src.det_time)
|
||||
arm(user)
|
||||
return
|
||||
|
||||
afterattack(atom/target as mob|obj|turf|area, mob/user as mob)
|
||||
if (istype(target, /obj/item/weapon/storage)) return ..() // Trying to put it in a full container
|
||||
if (istype(target, /obj/item/weapon/gun/grenadelauncher)) return ..()
|
||||
if((user.equipped() == src)&&(!active))
|
||||
//world << "cluster after attack"
|
||||
arm(user)
|
||||
user.dir = get_dir(user, target)
|
||||
user.drop_item()
|
||||
var/t = (isturf(target) ? target : target.loc)
|
||||
walk_towards(src, t, 3)
|
||||
return
|
||||
|
||||
/obj/item/weapon/flashbang/clusterbang/proc/arm(mob/user as mob)
|
||||
|
||||
//world << "Armed!"
|
||||
var/numspawned = rand(4,8)
|
||||
// world << numspawned
|
||||
var/again = 0
|
||||
if(!child)
|
||||
for(var/more = numspawned,more > 0,more--)
|
||||
if(prob(35))
|
||||
again++
|
||||
numspawned --
|
||||
|
||||
for(,numspawned > 0, numspawned--)
|
||||
//world << "Spawned Flashbang!"
|
||||
spawn(0)
|
||||
var/obj/item/weapon/flashbang/F = new /obj/item/weapon/flashbang(src)
|
||||
F.loc = src.loc
|
||||
F.icon_state = "flashbang1"
|
||||
playsound(src.loc, 'armbomb.ogg', 75, 1, -3)
|
||||
F.active = 1
|
||||
F.banglet = 1
|
||||
var/stepdist = rand(1,3)
|
||||
walk_away(F,src,stepdist)
|
||||
var/dettime = rand(15,60)
|
||||
spawn(dettime)
|
||||
F.prime()
|
||||
|
||||
for(,again > 0, again--)
|
||||
//world << "Spawned CFlashbang!"
|
||||
spawn(0)
|
||||
var/obj/item/weapon/flashbang/clusterbang/F = new /obj/item/weapon/flashbang/clusterbang(src)
|
||||
F.loc = src.loc
|
||||
F.active = 1
|
||||
F.child = 1
|
||||
F.icon_state = "clusterbang1"
|
||||
var/stepdist = rand(1,4)
|
||||
walk_away(F,src,stepdist)
|
||||
spawn(30)
|
||||
F.arm()
|
||||
|
||||
spawn(70)
|
||||
prime()
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -906,6 +906,7 @@ CIRCULAR SAW
|
||||
else
|
||||
M.take_organ_damage(15)
|
||||
M.disabilities &= ~128
|
||||
M.eye_stat = 0
|
||||
M:eye_op_stage = 0.0
|
||||
return
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
var/l_hacking = 0
|
||||
var/emagged = 0
|
||||
var/open = 0
|
||||
var/internalstorage = 3
|
||||
w_class = 3.0
|
||||
|
||||
/obj/item/weapon/secstorage/examine()
|
||||
@@ -116,7 +117,7 @@
|
||||
else
|
||||
user << "You short out the lock on [src]."
|
||||
return
|
||||
if ((W.w_class > 3 || istype(W, /obj/item/weapon/secstorage)))
|
||||
if ((W.w_class > internalstorage || istype(W, /obj/item/weapon/secstorage)))
|
||||
return
|
||||
if ((istype(W, /obj/item/weapon/screwdriver)) && (src.locked == 1))
|
||||
sleep(6)
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
icon_sparking = "safespark"
|
||||
flags = FPRINT | TABLEPASS
|
||||
force = 8.0
|
||||
w_class = 4.0
|
||||
w_class = 8.0
|
||||
internalstorage = 8
|
||||
anchored = 1.0
|
||||
density = 0
|
||||
|
||||
@@ -16,5 +17,9 @@
|
||||
new /obj/item/weapon/paper(src)
|
||||
new /obj/item/weapon/pen(src)
|
||||
|
||||
/obj/item/weapon/secstorage/ssafe/HoS/New()
|
||||
..()
|
||||
new /obj/item/weapon/storage/lockbox/clusterbang(src)
|
||||
|
||||
/obj/item/weapon/secstorage/ssafe/attack_hand(mob/user as mob)
|
||||
return attack_self(user)
|
||||
@@ -1,5 +1,5 @@
|
||||
/obj/item/weapon/storage/lockbox
|
||||
name = "Lockbox"
|
||||
name = "lockbox"
|
||||
desc = "A locked box."
|
||||
icon_state = "lockbox+l"
|
||||
item_state = "syringe_kit"
|
||||
@@ -80,4 +80,14 @@
|
||||
new /obj/item/weapon/implantcase/loyalty(src)
|
||||
new /obj/item/weapon/implantcase/loyalty(src)
|
||||
new /obj/item/weapon/implantcase/loyalty(src)
|
||||
new /obj/item/weapon/implanter/loyalty(src)
|
||||
new /obj/item/weapon/implanter/loyalty(src)
|
||||
|
||||
|
||||
/obj/item/weapon/storage/lockbox/clusterbang
|
||||
name = "lockbox (clusterbang)"
|
||||
desc = "You have a bad feeling about opening this."
|
||||
req_access = list(access_security)
|
||||
|
||||
New()
|
||||
..()
|
||||
new /obj/item/weapon/flashbang/clusterbang(src)
|
||||
@@ -84,7 +84,9 @@ obj/structure
|
||||
Tsrc.ReplaceWithWall()
|
||||
for(var/obj/machinery/atmospherics/pipe/P in Tsrc)
|
||||
P.layer = 1
|
||||
W:use(2)
|
||||
for(var/turf/simulated/wall/X in Tsrc.loc)
|
||||
if(X) X.add_hiddenprint(usr)
|
||||
if (W) W:use(2)
|
||||
del(src)
|
||||
return
|
||||
|
||||
@@ -99,6 +101,8 @@ obj/structure
|
||||
Tsrc.ReplaceWithRWall()
|
||||
for(var/obj/machinery/atmospherics/pipe/P in Tsrc)
|
||||
P.layer = 1
|
||||
for(var/turf/simulated/wall/r_wall/X in Tsrc.loc)
|
||||
if(X) X.add_hiddenprint(usr)
|
||||
if (W)
|
||||
W:use(1)
|
||||
del(src)
|
||||
|
||||
Reference in New Issue
Block a user