mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-17 02:54:44 +01:00
Merge branch 'master' of https://github.com/tgstation/-tg-station into Socks
Conflicts: config/admins.txt
This commit is contained in:
@@ -36,7 +36,7 @@
|
||||
*/
|
||||
/obj/structure/closet/chefcloset
|
||||
name = "\proper chef's closet"
|
||||
desc = "It's a storage unit for foodservice garments."
|
||||
desc = "It's a storage unit for foodservice garments and mouse traps."
|
||||
icon_state = "black"
|
||||
icon_closed = "black"
|
||||
|
||||
@@ -48,10 +48,14 @@
|
||||
new /obj/item/device/radio/headset/headset_srv(src)
|
||||
new /obj/item/clothing/tie/waistcoat(src)
|
||||
new /obj/item/clothing/tie/waistcoat(src)
|
||||
new /obj/item/clothing/head/soft/black(src)
|
||||
new /obj/item/clothing/head/soft/black(src)
|
||||
new /obj/item/clothing/suit/apron/chef(src)
|
||||
new /obj/item/clothing/suit/apron/chef(src)
|
||||
new /obj/item/clothing/suit/apron/chef(src)
|
||||
new /obj/item/clothing/head/soft/mime(src)
|
||||
new /obj/item/clothing/head/soft/mime(src)
|
||||
new /obj/item/weapon/storage/box/mousetraps(src)
|
||||
new /obj/item/weapon/storage/box/mousetraps(src)
|
||||
new /obj/item/clothing/suit/toggle/chef(src)
|
||||
new /obj/item/clothing/under/rank/chef(src)
|
||||
new /obj/item/clothing/head/chefhat(src)
|
||||
|
||||
@@ -68,7 +72,7 @@
|
||||
..()
|
||||
new /obj/item/clothing/under/rank/janitor(src)
|
||||
new /obj/item/weapon/cartridge/janitor(src)
|
||||
new /obj/item/clothing/gloves/black(src)
|
||||
new /obj/item/clothing/gloves/color/black(src)
|
||||
new /obj/item/clothing/head/soft/purple(src)
|
||||
new /obj/item/device/flashlight(src)
|
||||
new /obj/item/weapon/caution(src)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
new /obj/item/clothing/under/rank/chief_engineer(src)
|
||||
new /obj/item/clothing/head/hardhat/white(src)
|
||||
new /obj/item/clothing/head/welding(src)
|
||||
new /obj/item/clothing/gloves/yellow(src)
|
||||
new /obj/item/clothing/gloves/color/yellow(src)
|
||||
new /obj/item/clothing/shoes/sneakers/brown(src)
|
||||
new /obj/item/weapon/cartridge/ce(src)
|
||||
new /obj/item/device/radio/headset/heads/ce(src)
|
||||
@@ -46,8 +46,8 @@
|
||||
|
||||
/obj/structure/closet/secure_closet/engineering_electrical/New()
|
||||
..()
|
||||
new /obj/item/clothing/gloves/yellow(src)
|
||||
new /obj/item/clothing/gloves/yellow(src)
|
||||
new /obj/item/clothing/gloves/color/yellow(src)
|
||||
new /obj/item/clothing/gloves/color/yellow(src)
|
||||
new /obj/item/weapon/storage/toolbox/electrical(src)
|
||||
new /obj/item/weapon/storage/toolbox/electrical(src)
|
||||
new /obj/item/weapon/storage/toolbox/electrical(src)
|
||||
|
||||
@@ -69,8 +69,8 @@
|
||||
new /obj/item/clothing/suit/toggle/labcoat(src)
|
||||
new /obj/item/clothing/shoes/sneakers/white(src)
|
||||
new /obj/item/device/radio/headset/headset_med(src)
|
||||
new /obj/item/clothing/gloves/latex(src)
|
||||
new /obj/item/weapon/defibrillator/loaded(src)
|
||||
new /obj/item/clothing/gloves/color/latex/nitrile(src)
|
||||
new /obj/item/weapon/storage/belt/medical(src)
|
||||
new /obj/item/clothing/glasses/hud/health(src)
|
||||
new /obj/item/clothing/suit/toggle/wintercoat/medical(src)
|
||||
@@ -101,8 +101,8 @@
|
||||
new /obj/item/clothing/shoes/sneakers/brown (src)
|
||||
new /obj/item/weapon/cartridge/cmo(src)
|
||||
new /obj/item/device/radio/headset/heads/cmo(src)
|
||||
new /obj/item/clothing/gloves/latex(src)
|
||||
new /obj/item/weapon/defibrillator/loaded(src)
|
||||
new /obj/item/clothing/gloves/color/latex/nitrile(src)
|
||||
new /obj/item/weapon/storage/belt/medical(src)
|
||||
new /obj/item/device/flash/handheld(src)
|
||||
new /obj/item/clothing/suit/toggle/wintercoat/medical(src)
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
new /obj/item/clothing/under/rank/research_director/turtleneck(src)
|
||||
new /obj/item/weapon/cartridge/rd(src)
|
||||
new /obj/item/clothing/shoes/sneakers/white(src)
|
||||
new /obj/item/clothing/gloves/latex(src)
|
||||
new /obj/item/clothing/gloves/color/latex(src)
|
||||
new /obj/item/device/radio/headset/heads/rd(src)
|
||||
new /obj/item/weapon/tank/air(src)
|
||||
new /obj/item/clothing/mask/gas(src)
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
src.locked = !src.locked
|
||||
add_fingerprint(user)
|
||||
for(var/mob/O in viewers(user, 3))
|
||||
if((O.client && !( O.blinded )))
|
||||
if((O.client && !( O.eye_blind )))
|
||||
O << "<span class='notice'>[user] has [locked ? null : "un"]locked the locker.</span>"
|
||||
if(src.locked)
|
||||
src.icon_state = src.icon_locked
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
new /obj/item/weapon/cartridge/captain(src)
|
||||
new /obj/item/clothing/shoes/sneakers/brown(src)
|
||||
new /obj/item/device/radio/headset/heads/captain/alt(src)
|
||||
new /obj/item/clothing/gloves/captain(src)
|
||||
new /obj/item/clothing/gloves/color/captain(src)
|
||||
new /obj/item/clothing/suit/toggle/wintercoat/captain(src)
|
||||
new /obj/item/clothing/head/santa(src)
|
||||
new /obj/item/weapon/gun/energy/gun(src)
|
||||
@@ -198,7 +198,7 @@
|
||||
new /obj/item/clothing/under/rank/det(src)
|
||||
new /obj/item/clothing/suit/det_suit(src)
|
||||
new /obj/item/clothing/head/det_hat(src)
|
||||
new /obj/item/clothing/gloves/black(src)
|
||||
new /obj/item/clothing/gloves/color/black(src)
|
||||
new /obj/item/clothing/under/rank/det/grey(src)
|
||||
new /obj/item/clothing/suit/det_suit/grey(src)
|
||||
new /obj/item/clothing/head/fedora(src)
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
L.client.perspective = EYE_PERSPECTIVE
|
||||
L.client.eye = src
|
||||
L.loc = src
|
||||
L.sdisabilities += MUTE
|
||||
L.disabilities += MUTE
|
||||
L.faction += "mimic" //Stops mimics from instaqdeling people in statues
|
||||
|
||||
health = L.health + 100 //stoning damaged mobs will result in easier to shatter statues
|
||||
@@ -79,7 +79,7 @@
|
||||
|
||||
for(var/mob/living/M in src)
|
||||
M.loc = src.loc
|
||||
M.sdisabilities -= MUTE
|
||||
M.disabilities -= MUTE
|
||||
M.take_overall_damage((M.health - health - 100),0) //any new damage the statue incurred is transfered to the mob
|
||||
M.faction -= "mimic"
|
||||
if(M.client)
|
||||
|
||||
@@ -132,7 +132,7 @@
|
||||
if(prob(20))
|
||||
new /obj/item/device/multitool(src)
|
||||
if(prob(5))
|
||||
new /obj/item/clothing/gloves/yellow(src)
|
||||
new /obj/item/clothing/gloves/color/yellow(src)
|
||||
if(prob(40))
|
||||
new /obj/item/clothing/head/hardhat(src)
|
||||
|
||||
|
||||
@@ -461,7 +461,13 @@ obj/structure/door_assembly/New()
|
||||
return
|
||||
|
||||
else if(istype(W, /obj/item/weapon/wrench) && !anchored )
|
||||
if(!locate(/obj/machinery/door) in loc)
|
||||
var/door_check = 1
|
||||
for(var/obj/machinery/door/D in loc)
|
||||
if(!D.sub_door)
|
||||
door_check = 0
|
||||
break
|
||||
|
||||
if(door_check)
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
|
||||
user.visible_message("<span class='warning'>[user] secures the airlock assembly to the floor.</span>", \
|
||||
"You start to secure the airlock assembly to the floor.", \
|
||||
|
||||
@@ -29,6 +29,12 @@
|
||||
/obj/structure/grille/attack_paw(mob/user as mob)
|
||||
attack_hand(user)
|
||||
|
||||
/obj/structure/grille/attack_hulk(mob/living/carbon/human/user)
|
||||
..(user, 1)
|
||||
shock(user, 70)
|
||||
health -= 5
|
||||
healthcheck()
|
||||
|
||||
/obj/structure/grille/attack_hand(mob/living/user as mob)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
user.do_attack_animation(src)
|
||||
@@ -39,8 +45,6 @@
|
||||
|
||||
if(shock(user, 70))
|
||||
return
|
||||
if(HULK in user.mutations)
|
||||
health -= 5
|
||||
else
|
||||
health -= rand(1,2)
|
||||
healthcheck()
|
||||
@@ -192,6 +196,8 @@
|
||||
health -= W.force * 0.1
|
||||
else if(!shock(user, 70))
|
||||
switch(W.damtype)
|
||||
if(STAMINA)
|
||||
return
|
||||
if(BURN)
|
||||
playsound(loc, 'sound/items/welder.ogg', 80, 1)
|
||||
else
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/obj/structure/lattice
|
||||
desc = "A lightweight support lattice."
|
||||
name = "lattice"
|
||||
desc = "A lightweight support lattice."
|
||||
icon = 'icons/obj/structures.dmi'
|
||||
icon_state = "latticefull"
|
||||
density = 0
|
||||
@@ -18,7 +18,6 @@
|
||||
qdel(LAT)
|
||||
stored = new/obj/item/stack/rods(src)
|
||||
icon = 'icons/obj/smoothlattice.dmi'
|
||||
icon_state = "latticeblank"
|
||||
updateOverlays()
|
||||
for (var/dir in cardinal)
|
||||
var/obj/structure/lattice/L
|
||||
@@ -52,15 +51,15 @@
|
||||
return
|
||||
|
||||
/obj/structure/lattice/attackby(obj/item/C as obj, mob/user as mob)
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
if (istype(C, /obj/item/stack/tile/plasteel))
|
||||
var/turf/T = get_turf(src)
|
||||
T.attackby(C, user) //BubbleWrap - hand this off to the underlying turf instead
|
||||
return
|
||||
T.attackby(C, user) //BubbleWrap - hand this off to the underlying turf instead (for building plating)
|
||||
if(istype(C, /obj/item/stack/rods))
|
||||
T.attackby(C, user) //see above, for building catwalks
|
||||
if (istype(C, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = C
|
||||
if(WT.remove_fuel(0, user))
|
||||
user << "<span class='notice'>Slicing lattice joints ...</span>"
|
||||
user << "<span class='notice'>Slicing [name] joints ...</span>"
|
||||
Deconstruct()
|
||||
return
|
||||
|
||||
@@ -78,14 +77,61 @@
|
||||
if(!(istype(get_step(src, direction), /turf/space)))
|
||||
dir_sum += direction
|
||||
|
||||
icon_state = "lattice[dir_sum]"
|
||||
icon_state = "[name][dir_sum]"
|
||||
return
|
||||
|
||||
/obj/structure/lattice/Deconstruct()
|
||||
var/turf/T = loc
|
||||
stored.loc = T
|
||||
updateOverlays()
|
||||
..()
|
||||
|
||||
/obj/structure/lattice/singularity_pull(S, current_size)
|
||||
if(current_size >= STAGE_FOUR)
|
||||
Deconstruct()
|
||||
Deconstruct()
|
||||
|
||||
/obj/structure/lattice/catwalk
|
||||
name = "catwalk"
|
||||
desc = "A catwalk for easier EVA manuevering and cable placement."
|
||||
icon_state = "catwalkfull"
|
||||
|
||||
/obj/structure/lattice/catwalk/New()
|
||||
var/turf/T = loc
|
||||
T.cancable = 1
|
||||
..()
|
||||
|
||||
/obj/structure/lattice/catwalk/Destroy()
|
||||
var/turf/T = loc
|
||||
T.cancable = 0
|
||||
for(var/obj/structure/cable/C in T)
|
||||
C.Destroy()
|
||||
..()
|
||||
|
||||
/obj/structure/lattice/catwalk/Deconstruct()
|
||||
var/turf/T = loc
|
||||
T.cancable = 0
|
||||
for(var/obj/structure/cable/C in T)
|
||||
C.Deconstruct()
|
||||
..()
|
||||
|
||||
/obj/structure/lattice/catwalk/attackby(obj/item/C as obj, mob/user as mob)
|
||||
..()
|
||||
if(istype(C, /obj/item/stack/cable_coil))
|
||||
var/turf/T = get_turf(src)
|
||||
T.attackby(C, user) //catwalks 'enable' coil laying on space tiles, not the catwalks themselves
|
||||
return
|
||||
|
||||
/obj/structure/lattice/catwalk/updateOverlays()
|
||||
overlays.Cut()
|
||||
|
||||
var/dir_sum = 0
|
||||
|
||||
for (var/direction in cardinal)
|
||||
if(locate(/obj/structure/lattice/catwalk, get_step(src, direction)))
|
||||
dir_sum += direction
|
||||
else
|
||||
if(!(istype(get_step(src, direction), /turf/space)))
|
||||
dir_sum += direction
|
||||
|
||||
icon_state = "[name][dir_sum]"
|
||||
return
|
||||
@@ -58,6 +58,8 @@
|
||||
|
||||
/obj/structure/mirror/attackby(obj/item/I as obj, mob/living/user as mob)
|
||||
user.do_attack_animation(src)
|
||||
if(I.damtype == STAMINA)
|
||||
return
|
||||
if(shattered)
|
||||
playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1)
|
||||
return
|
||||
|
||||
@@ -207,15 +207,16 @@
|
||||
/obj/structure/table/attack_paw(mob/user)
|
||||
attack_hand(user)
|
||||
|
||||
/obj/structure/table/attack_hulk(mob/living/carbon/human/user)
|
||||
..(user, 1)
|
||||
visible_message("<span class='danger'>[user] smashes [src] apart!</span>")
|
||||
playsound(src.loc, 'sound/effects/bang.ogg', 50, 1)
|
||||
user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
|
||||
table_destroy(1)
|
||||
return 1
|
||||
|
||||
/obj/structure/table/attack_hand(mob/living/user)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
if(HULK in user.mutations)
|
||||
user.do_attack_animation(src)
|
||||
visible_message("<span class='danger'>[user] smashes [src] apart!</span>")
|
||||
playsound(src.loc, 'sound/effects/bang.ogg', 50, 1)
|
||||
user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
|
||||
table_destroy(1)
|
||||
return
|
||||
|
||||
/obj/structure/table/attack_tk() // no telehulk sorry
|
||||
return
|
||||
@@ -460,19 +461,17 @@
|
||||
/obj/structure/table/reinforced/attack_paw(mob/user)
|
||||
attack_hand(user)
|
||||
|
||||
/obj/structure/table/reinforced/attack_hand(mob/user as mob)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
if ((HULK in user.mutations))
|
||||
if (prob(75))
|
||||
playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
|
||||
usr << text("<span class='notice'>You kick [src] into pieces.</span>")
|
||||
usr.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
|
||||
table_destroy(1)
|
||||
return
|
||||
else
|
||||
playsound(src, 'sound/effects/bang.ogg', 50, 1)
|
||||
usr << text("<span class='notice'>You kick [src].</span>")
|
||||
return
|
||||
/obj/structure/table/reinforced/attack_hulk(mob/living/carbon/human/user)
|
||||
..(user, 1)
|
||||
if(prob(75))
|
||||
playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
|
||||
user << text("<span class='notice'>You kick [src] into pieces.</span>")
|
||||
user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
|
||||
table_destroy(1)
|
||||
else
|
||||
playsound(src, 'sound/effects/bang.ogg', 50, 1)
|
||||
user << text("<span class='notice'>You kick [src].</span>")
|
||||
return 1
|
||||
|
||||
/*
|
||||
* Racks
|
||||
@@ -547,19 +546,19 @@
|
||||
/obj/structure/rack/attack_paw(mob/living/user)
|
||||
attack_hand(user)
|
||||
|
||||
/obj/structure/rack/attack_hulk(mob/living/carbon/human/user)
|
||||
..(user, 1)
|
||||
rack_destroy()
|
||||
return 1
|
||||
|
||||
/obj/structure/rack/attack_hand(mob/living/user)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
user.do_attack_animation(src)
|
||||
playsound(loc, 'sound/items/dodgeball.ogg', 80, 1)
|
||||
user.visible_message("<span class='warning'>[user] kicks [src].</span>", \
|
||||
"<span class='warning'>You kick [src].</span>")
|
||||
|
||||
if(HULK in user.mutations)
|
||||
rack_destroy()
|
||||
else
|
||||
health -= rand(1,2)
|
||||
healthcheck()
|
||||
|
||||
health -= rand(1,2)
|
||||
healthcheck()
|
||||
|
||||
/obj/structure/rack/attack_alien(mob/living/user)
|
||||
user.do_attack_animation(src)
|
||||
|
||||
@@ -18,8 +18,10 @@
|
||||
|
||||
/obj/structure/toilet/attack_hand(mob/living/user)
|
||||
if(swirlie)
|
||||
user.visible_message("<span class='danger'>[user] slams the toilet seat onto [swirlie]'s head!</span>", "<span class='notice'>You slam the toilet seat onto [swirlie]'s head!</span>", "You hear reverberating porcelain.")
|
||||
swirlie.adjustBruteLoss(8)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
playsound(src.loc, "swing_hit", 25, 1)
|
||||
swirlie.visible_message("<span class='danger'>[user] slams the toilet seat onto [swirlie]'s head!</span>", "<span class='userdanger'>[user] slams the toilet seat onto [swirlie]'s head!</span>", "You hear reverberating porcelain.")
|
||||
swirlie.adjustBruteLoss(5)
|
||||
return
|
||||
|
||||
if(cistern && !open)
|
||||
@@ -55,6 +57,7 @@
|
||||
return
|
||||
|
||||
if(istype(I, /obj/item/weapon/grab))
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
var/obj/item/weapon/grab/G = I
|
||||
if(!G.confirm())
|
||||
return
|
||||
@@ -64,21 +67,23 @@
|
||||
if(GM.loc != get_turf(src))
|
||||
user << "<span class='notice'>[GM] needs to be on [src].</span>"
|
||||
return
|
||||
if(open && !swirlie)
|
||||
user.visible_message("<span class='danger'>[user] starts to give [GM] a swirlie!</span>", "<span class='notice'>You start to give [GM] a swirlie!</span>")
|
||||
swirlie = GM
|
||||
if(do_after(user, 30, 5, 0))
|
||||
user.visible_message("<span class='danger'>[user] gives [GM] a swirlie!</span>", "<span class='notice'>You give [GM] a swirlie!</span>", "You hear a toilet flushing.")
|
||||
if(iscarbon(GM))
|
||||
var/mob/living/carbon/C = GM
|
||||
if(!C.internal)
|
||||
C.adjustOxyLoss(5)
|
||||
else
|
||||
GM.adjustOxyLoss(5)
|
||||
swirlie = null
|
||||
else
|
||||
user.visible_message("<span class='danger'>[user] slams [GM.name] into [src]!</span>", "<span class='notice'>You slam [GM] into [src]!</span>")
|
||||
GM.adjustBruteLoss(8)
|
||||
if(!swirlie)
|
||||
if(open)
|
||||
GM.visible_message("<span class='danger'>[user] starts to give [GM] a swirlie!</span>", "<span class='userdanger'>[user] starts to give [GM] a swirlie!</span>")
|
||||
swirlie = GM
|
||||
if(do_after(user, 30, 5, 0))
|
||||
GM.visible_message("<span class='danger'>[user] gives [GM] a swirlie!</span>", "<span class='userdanger'>[user] gives [GM] a swirlie!</span>", "You hear a toilet flushing.")
|
||||
if(iscarbon(GM))
|
||||
var/mob/living/carbon/C = GM
|
||||
if(!C.internal)
|
||||
C.adjustOxyLoss(5)
|
||||
else
|
||||
GM.adjustOxyLoss(5)
|
||||
swirlie = null
|
||||
else
|
||||
playsound(src.loc, 'sound/effects/bang.ogg', 25, 1)
|
||||
GM.visible_message("<span class='danger'>[user] slams [GM.name] into [src]!</span>", "<span class='userdanger'>[user] slams [GM.name] into [src]!</span>")
|
||||
GM.adjustBruteLoss(5)
|
||||
else
|
||||
user << "<span class='notice'>You need a tighter grip.</span>"
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
var/state = 0
|
||||
var/reinf = 0
|
||||
var/disassembled = 0
|
||||
var/shuttlew = 0
|
||||
var/wtype = "glass"
|
||||
var/fulltile = 0
|
||||
var/obj/item/stack/rods/storedrods
|
||||
var/obj/item/weapon/shard/storedshard
|
||||
@@ -28,15 +28,8 @@
|
||||
storedshard = new/obj/item/weapon/shard(src)
|
||||
ini_dir = dir
|
||||
if(reinf)
|
||||
icon_state = "rwindow"
|
||||
desc = "A reinforced window."
|
||||
name = "reinforced window"
|
||||
state = 2*anchored
|
||||
if(opacity)
|
||||
icon_state = "twindow"
|
||||
storedrods = new/obj/item/stack/rods(src)
|
||||
else
|
||||
icon_state = "window"
|
||||
|
||||
air_update_turf(1)
|
||||
update_nearby_icons()
|
||||
@@ -123,22 +116,25 @@
|
||||
add_fingerprint(user)
|
||||
playsound(loc, 'sound/effects/Glassknock.ogg', 50, 1)
|
||||
|
||||
/obj/structure/window/attack_hulk(mob/living/carbon/human/user)
|
||||
if(!can_be_reached(user))
|
||||
return
|
||||
..(user, 1)
|
||||
user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!"))
|
||||
user.visible_message("<span class='danger'>[user] smashes through [src]!</span>")
|
||||
storedshard.add_fingerprint(user)
|
||||
if(storedrods)
|
||||
storedrods.add_fingerprint(user)
|
||||
hit(50)
|
||||
return 1
|
||||
|
||||
/obj/structure/window/attack_hand(mob/user as mob)
|
||||
if(!can_be_reached(user))
|
||||
return
|
||||
if(HULK in user.mutations)
|
||||
user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!"))
|
||||
user.visible_message("<span class='danger'>[user] smashes through [src]!</span>")
|
||||
storedshard.add_fingerprint(user)
|
||||
if(storedrods)
|
||||
storedrods.add_fingerprint(user)
|
||||
spawnfragments()
|
||||
else
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
user.visible_message("<span class='notice'>[user] knocks on [src].</span>")
|
||||
add_fingerprint(user)
|
||||
playsound(loc, 'sound/effects/Glassknock.ogg', 50, 1)
|
||||
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
user.visible_message("<span class='notice'>[user] knocks on [src].</span>")
|
||||
add_fingerprint(user)
|
||||
playsound(loc, 'sound/effects/Glassknock.ogg', 50, 1)
|
||||
|
||||
/obj/structure/window/attack_paw(mob/user as mob)
|
||||
return attack_hand(user)
|
||||
@@ -263,10 +259,6 @@
|
||||
if(I.damtype == BRUTE || I.damtype == BURN)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
hit(I.force)
|
||||
if(health <= 7)
|
||||
anchored = 0
|
||||
update_nearby_icons()
|
||||
step(src, get_dir(user, src))
|
||||
else
|
||||
playsound(loc, 'sound/effects/Glasshit.ogg', 75, 1)
|
||||
..()
|
||||
@@ -409,17 +401,10 @@
|
||||
if(anchored)
|
||||
for(var/obj/structure/window/W in orange(src,1))
|
||||
if(W.anchored && W.density && W.fulltile) //Only counts anchored, not-destroyed fill-tile windows.
|
||||
if(abs(x-W.x)-abs(y-W.y) ) //doesn't count windows, placed diagonally to src
|
||||
junction |= get_dir(src,W)
|
||||
if(opacity)
|
||||
icon_state = "twindow[junction]"
|
||||
else
|
||||
if(shuttlew)
|
||||
icon_state = "swindow[junction]"
|
||||
else if(reinf)
|
||||
icon_state = "rwindow[junction]"
|
||||
else
|
||||
icon_state = "window[junction]"
|
||||
if(src.wtype == W.wtype)
|
||||
if(abs(x-W.x)-abs(y-W.y) ) //doesn't count windows, placed diagonally to src
|
||||
junction |= get_dir(src,W)
|
||||
icon_state = "[initial(icon_state)][junction]"
|
||||
|
||||
overlays.Cut()
|
||||
var/ratio = health / maxhealth
|
||||
@@ -467,9 +452,10 @@
|
||||
|
||||
/obj/structure/window/shuttle
|
||||
name = "shuttle window"
|
||||
desc = "A strong, air-locked pod window that is extremely difficult to destroy."
|
||||
desc = "A reinforced, air-locked pod window."
|
||||
icon_state = "swindow"
|
||||
dir = 5
|
||||
maxhealth = 100
|
||||
shuttlew = 1
|
||||
wtype = "shuttle"
|
||||
fulltile = 1
|
||||
reinf = 1
|
||||
Reference in New Issue
Block a user