@@ -1,9 +0,0 @@
|
||||
//used to optimize map expansion
|
||||
/turf/basic/New()
|
||||
|
||||
/turf/basic/ChangeTurf(var/T)
|
||||
new T(src)
|
||||
var/static/warned
|
||||
if(!warned)
|
||||
warned = TRUE
|
||||
CRASH("Basic ChangeTurf")
|
||||
@@ -117,15 +117,20 @@
|
||||
return TRUE
|
||||
|
||||
/turf/closed/indestructible/riveted/boss
|
||||
name = "stone wall"
|
||||
name = "necropolis wall"
|
||||
desc = "A thick, seemingly indestructible stone wall."
|
||||
icon = 'icons/turf/walls/boss_wall.dmi'
|
||||
icon_state = "wall"
|
||||
canSmoothWith = list(/turf/closed/indestructible/riveted/boss, /turf/closed/indestructible/riveted/boss/see_through)
|
||||
explosion_block = 50
|
||||
baseturf = /turf/closed/indestructible/riveted/boss
|
||||
|
||||
/turf/closed/indestructible/riveted/boss/see_through
|
||||
opacity = FALSE
|
||||
|
||||
/turf/closed/indestructible/riveted/boss/hot
|
||||
icon = 'icons/turf/walls/boss_wall_hot.dmi'
|
||||
canSmoothWith = list(/turf/closed/indestructible/riveted/boss/hot)
|
||||
baseturf = /turf/closed/indestructible/riveted/boss/hot
|
||||
|
||||
/turf/closed/indestructible/riveted/boss/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
|
||||
|
||||
+18
-5
@@ -37,6 +37,20 @@
|
||||
/turf/open/indestructible/necropolis/air
|
||||
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
|
||||
|
||||
/turf/open/indestructible/boss //you put stone tiles on this and use it as a base
|
||||
name = "necropolis floor"
|
||||
icon = 'icons/turf/boss_floors.dmi'
|
||||
icon_state = "boss"
|
||||
baseturf = /turf/open/indestructible/boss
|
||||
initial_gas_mix = LAVALAND_DEFAULT_ATMOS
|
||||
|
||||
/turf/open/indestructible/boss/air
|
||||
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
|
||||
|
||||
/turf/open/indestructible/boss/hot
|
||||
icon = 'icons/turf/boss_floors_hot.dmi'
|
||||
baseturf = /turf/open/indestructible/boss/hot
|
||||
|
||||
/turf/open/indestructible/hierophant
|
||||
icon = 'icons/turf/floors/hierophant_floor.dmi'
|
||||
initial_gas_mix = LAVALAND_DEFAULT_ATMOS
|
||||
@@ -137,7 +151,7 @@
|
||||
qdel(hotspot)
|
||||
return 1
|
||||
|
||||
/turf/open/handle_slip(mob/living/carbon/C, s_amount, w_amount, obj/O, lube)
|
||||
/turf/open/handle_slip(mob/living/carbon/C, knockdown_amount, obj/O, lube)
|
||||
if(C.movement_type & FLYING)
|
||||
return 0
|
||||
if(has_gravity(src))
|
||||
@@ -147,7 +161,7 @@
|
||||
if(!(lube&GALOSHES_DONT_HELP)) //can't slip while buckled unless it's lube.
|
||||
return 0
|
||||
else
|
||||
if(C.lying || !(C.status_flags & CANWEAKEN)) // can't slip unbuckled mob if they're lying or can't fall.
|
||||
if(C.lying || !(C.status_flags & CANKNOCKDOWN)) // can't slip unbuckled mob if they're lying or can't fall.
|
||||
return 0
|
||||
if(C.m_intent == MOVE_INTENT_WALK && (lube&NO_SLIP_WHEN_WALKING))
|
||||
return 0
|
||||
@@ -162,11 +176,10 @@
|
||||
|
||||
var/olddir = C.dir
|
||||
if(!(lube & SLIDE_ICE))
|
||||
C.Stun(s_amount)
|
||||
C.Weaken(w_amount)
|
||||
C.Knockdown(knockdown_amount)
|
||||
C.stop_pulling()
|
||||
else
|
||||
C.Stun(1)
|
||||
C.Stun(20)
|
||||
|
||||
if(buckled_obj)
|
||||
buckled_obj.unbuckle_mob(C)
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
if(!L)
|
||||
if(R.use(1))
|
||||
to_chat(user, "<span class='notice'>You construct a lattice.</span>")
|
||||
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
|
||||
playsound(src, 'sound/weapons/genhit.ogg', 50, 1)
|
||||
ReplaceWithLattice()
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need one rod to build a lattice.</span>")
|
||||
@@ -52,7 +52,7 @@
|
||||
var/obj/item/stack/tile/plasteel/S = C
|
||||
if(S.use(1))
|
||||
qdel(L)
|
||||
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
|
||||
playsound(src, 'sound/weapons/genhit.ogg', 50, 1)
|
||||
to_chat(user, "<span class='notice'>You build a floor.</span>")
|
||||
ChangeTurf(/turf/open/floor/plating)
|
||||
else
|
||||
@@ -113,7 +113,7 @@
|
||||
AM.forceMove(T)
|
||||
if(isliving(AM))
|
||||
var/mob/living/L = AM
|
||||
L.Weaken(5)
|
||||
L.Knockdown(100)
|
||||
L.adjustBruteLoss(30)
|
||||
|
||||
|
||||
@@ -142,7 +142,7 @@
|
||||
if(isliving(AM))
|
||||
var/mob/living/L = AM
|
||||
L.notransform = TRUE
|
||||
L.Stun(10)
|
||||
L.Stun(200)
|
||||
L.resting = TRUE
|
||||
var/oldtransform = AM.transform
|
||||
var/oldcolor = AM.color
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
icon_state = "blackcorner"
|
||||
|
||||
|
||||
|
||||
/turf/open/floor/plasteel/white
|
||||
icon_state = "white"
|
||||
/turf/open/floor/plasteel/airless/white
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
if(do_after(user, 30, target = src))
|
||||
if (R.get_amount() >= 2 && !istype(src, /turf/open/floor/engine))
|
||||
ChangeTurf(/turf/open/floor/engine)
|
||||
playsound(src, 'sound/items/Deconstruct.ogg', 80, 1)
|
||||
playsound(src, 'sound/items/deconstruct.ogg', 80, 1)
|
||||
R.use(2)
|
||||
to_chat(user, "<span class='notice'>You reinforce the floor.</span>")
|
||||
return
|
||||
@@ -57,7 +57,7 @@
|
||||
var/obj/item/stack/tile/light/L = W
|
||||
var/turf/open/floor/light/F = T
|
||||
F.state = L.state
|
||||
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
|
||||
playsound(src, 'sound/weapons/genhit.ogg', 50, 1)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>This section is too damaged to support a tile! Use a welder to fix the damage.</span>")
|
||||
else if(istype(C, /obj/item/weapon/weldingtool))
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
var/obj/item/stack/tile/light/L = Z
|
||||
var/turf/open/floor/light/F = T
|
||||
F.state = L.state
|
||||
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
|
||||
playsound(src, 'sound/weapons/genhit.ogg', 50, 1)
|
||||
|
||||
/turf/open/floor/plating/asteroid/proc/gets_dug()
|
||||
if(dug)
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
devastate_wall()
|
||||
ChangeTurf(/turf/open/floor/plating)
|
||||
else
|
||||
playsound(src, 'sound/items/Welder.ogg', 100, 1)
|
||||
playsound(src, 'sound/items/welder.ogg', 100, 1)
|
||||
var/newgirder = break_wall()
|
||||
if(newgirder) //maybe we want a gear!
|
||||
transfer_fingerprints_to(newgirder)
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
|
||||
if(istype(W, /obj/item/weapon/gun/energy/plasmacutter))
|
||||
to_chat(user, "<span class='notice'>You begin slicing through the metal cover...</span>")
|
||||
playsound(src, 'sound/items/Welder.ogg', 100, 1)
|
||||
playsound(src, 'sound/items/welder.ogg', 100, 1)
|
||||
if(do_after(user, 60*W.toolspeed, target = src))
|
||||
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != COVER)
|
||||
return 1
|
||||
@@ -190,7 +190,7 @@
|
||||
|
||||
if(istype(W, /obj/item/weapon/gun/energy/plasmacutter))
|
||||
to_chat(user, "<span class='notice'>You begin slicing through the support rods...</span>")
|
||||
playsound(src, 'sound/items/Welder.ogg', 100, 1)
|
||||
playsound(src, 'sound/items/welder.ogg', 100, 1)
|
||||
if(do_after(user, 100*W.toolspeed, target = src))
|
||||
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != SUPPORT_RODS)
|
||||
return 1
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
if(devastated)
|
||||
devastate_wall()
|
||||
else
|
||||
playsound(src, 'sound/items/Welder.ogg', 100, 1)
|
||||
playsound(src, 'sound/items/welder.ogg', 100, 1)
|
||||
var/newgirder = break_wall()
|
||||
if(newgirder) //maybe we don't /want/ a girder!
|
||||
transfer_fingerprints_to(newgirder)
|
||||
@@ -103,7 +103,7 @@
|
||||
dismantle_wall(1)
|
||||
playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
|
||||
if(BURN)
|
||||
playsound(src, 'sound/items/Welder.ogg', 100, 1)
|
||||
playsound(src, 'sound/items/welder.ogg', 100, 1)
|
||||
if(TOX)
|
||||
playsound(src, 'sound/effects/spray2.ogg', 100, 1)
|
||||
return 0
|
||||
@@ -135,7 +135,7 @@
|
||||
/turf/closed/wall/attack_hand(mob/user)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
to_chat(user, "<span class='notice'>You push the wall but nothing happens!</span>")
|
||||
playsound(src, 'sound/weapons/Genhit.ogg', 25, 1)
|
||||
playsound(src, 'sound/weapons/genhit.ogg', 25, 1)
|
||||
src.add_fingerprint(user)
|
||||
..()
|
||||
|
||||
@@ -195,7 +195,7 @@
|
||||
return 1
|
||||
else if( istype(W, /obj/item/weapon/gun/energy/plasmacutter) )
|
||||
to_chat(user, "<span class='notice'>You begin slicing through the outer plating...</span>")
|
||||
playsound(src, 'sound/items/Welder.ogg', 100, 1)
|
||||
playsound(src, 'sound/items/welder.ogg', 100, 1)
|
||||
if(do_after(user, slicing_duration*W.toolspeed, target = src))
|
||||
if(!iswallturf(src) || !user || !W || !T)
|
||||
return 1
|
||||
@@ -232,7 +232,7 @@
|
||||
O.density = 1
|
||||
O.layer = FLY_LAYER
|
||||
|
||||
playsound(src, 'sound/items/Welder.ogg', 100, 1)
|
||||
playsound(src, 'sound/items/welder.ogg', 100, 1)
|
||||
|
||||
if(thermite >= 50)
|
||||
var/burning_time = max(100,300 - thermite)
|
||||
|
||||
@@ -95,14 +95,14 @@
|
||||
if(L)
|
||||
if(R.use(1))
|
||||
to_chat(user, "<span class='notice'>You construct a catwalk.</span>")
|
||||
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
|
||||
playsound(src, 'sound/weapons/genhit.ogg', 50, 1)
|
||||
new/obj/structure/lattice/catwalk(src)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need two rods to build a catwalk!</span>")
|
||||
return
|
||||
if(R.use(1))
|
||||
to_chat(user, "<span class='notice'>You construct a lattice.</span>")
|
||||
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
|
||||
playsound(src, 'sound/weapons/genhit.ogg', 50, 1)
|
||||
ReplaceWithLattice()
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need one rod to build a lattice.</span>")
|
||||
@@ -113,7 +113,7 @@
|
||||
var/obj/item/stack/tile/plasteel/S = C
|
||||
if(S.use(1))
|
||||
qdel(L)
|
||||
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
|
||||
playsound(src, 'sound/weapons/genhit.ogg', 50, 1)
|
||||
to_chat(user, "<span class='notice'>You build a floor.</span>")
|
||||
ChangeTurf(/turf/open/floor/plating)
|
||||
else
|
||||
|
||||
@@ -168,17 +168,17 @@
|
||||
return
|
||||
switch(wet)
|
||||
if(TURF_WET_WATER)
|
||||
if(!M.slip(0, 3, null, NO_SLIP_WHEN_WALKING))
|
||||
if(!M.slip(60, null, NO_SLIP_WHEN_WALKING))
|
||||
M.inertia_dir = 0
|
||||
if(TURF_WET_LUBE)
|
||||
if(M.slip(0, 4, null, (SLIDE|GALOSHES_DONT_HELP)))
|
||||
if(M.slip(80, null, (SLIDE|GALOSHES_DONT_HELP)))
|
||||
M.confused = max(M.confused, 8)
|
||||
if(TURF_WET_ICE)
|
||||
M.slip(0, 6, null, (SLIDE|GALOSHES_DONT_HELP))
|
||||
M.slip(120, null, (SLIDE|GALOSHES_DONT_HELP))
|
||||
if(TURF_WET_PERMAFROST)
|
||||
M.slip(0, 6, null, (SLIDE_ICE|GALOSHES_DONT_HELP))
|
||||
M.slip(120, null, (SLIDE_ICE|GALOSHES_DONT_HELP))
|
||||
if(TURF_WET_SLIDE)
|
||||
M.slip(0, 4, null, (SLIDE|GALOSHES_DONT_HELP))
|
||||
M.slip(80, null, (SLIDE|GALOSHES_DONT_HELP))
|
||||
//melting
|
||||
if(isobj(AM) && air && air.temperature > T0C)
|
||||
var/obj/O = AM
|
||||
@@ -293,7 +293,7 @@
|
||||
if(M==U)
|
||||
continue//Will not harm U. Since null != M, can be excluded to kill everyone.
|
||||
M.adjustBruteLoss(damage)
|
||||
M.Paralyse(damage/5)
|
||||
M.Unconscious(damage * 4)
|
||||
for(var/obj/mecha/M in src)
|
||||
M.take_damage(damage*2, BRUTE, "melee", 1)
|
||||
|
||||
@@ -369,7 +369,7 @@
|
||||
for(var/V in contents)
|
||||
var/atom/A = V
|
||||
if(A.level >= affecting_level)
|
||||
if(istype(A,/atom/movable))
|
||||
if(ismovableatom(A))
|
||||
var/atom/movable/AM = A
|
||||
if(!AM.ex_check(explosion_id))
|
||||
continue
|
||||
|
||||
Reference in New Issue
Block a user