April sync (#360)
* Maps and things no code/icons * helpers defines globalvars * Onclick world.dm orphaned_procs * subsystems Round vote and shuttle autocall done here too * datums * Game folder * Admin - chatter modules * clothing - mining * modular computers - zambies * client * mob level 1 * mob stage 2 + simple_animal * silicons n brains * mob stage 3 + Alien/Monkey * human mobs * icons updated * some sounds * emitter y u no commit * update tgstation.dme * compile fixes * travis fixes Also removes Fast digest mode, because reasons. * tweaks for travis Mentors are broke again Also fixes Sizeray guns * oxygen loss fix for vore code. * removes unused code * some code updates * bulk fixes * further fixes * outside things * whoops. * Maint bar ported * GLOBs.
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
icon = 'icons/turf/floors/Chasms.dmi'
|
||||
icon_state = "smooth"
|
||||
canSmoothWith = list(/turf/open/floor/fakepit, /turf/open/chasm)
|
||||
density = TRUE //This will prevent hostile mobs from pathing into chasms, while the canpass override will still let it function like an open turf
|
||||
var/drop_x = 1
|
||||
var/drop_y = 1
|
||||
var/drop_z = 1
|
||||
@@ -21,6 +22,7 @@
|
||||
if(!drop_stuff())
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
|
||||
|
||||
/turf/open/chasm/attackby(obj/item/C, mob/user, params, area/area_restriction)
|
||||
..()
|
||||
if(istype(C, /obj/item/stack/rods))
|
||||
@@ -48,7 +50,6 @@
|
||||
else
|
||||
to_chat(user, "<span class='warning'>The plating is going to need some support! Place metal rods first.</span>")
|
||||
|
||||
|
||||
/turf/open/chasm/proc/drop_stuff(AM)
|
||||
. = 0
|
||||
var/thing_to_check = src
|
||||
@@ -122,6 +123,9 @@
|
||||
L.notransform = TRUE
|
||||
L.Stun(10)
|
||||
L.resting = TRUE
|
||||
var/oldtransform = AM.transform
|
||||
var/oldcolor = AM.color
|
||||
var/oldalpha = AM.alpha
|
||||
animate(AM, transform = matrix() - matrix(), alpha = 0, color = rgb(0, 0, 0), time = 10)
|
||||
for(var/i in 1 to 5)
|
||||
//Make sure the item is still there after our sleep
|
||||
@@ -139,6 +143,18 @@
|
||||
qdel(S.mmi)
|
||||
|
||||
qdel(AM)
|
||||
|
||||
|
||||
if(AM && !QDELETED(AM)) //It's indestructible
|
||||
visible_message("<span class='boldwarning'>[src] spits out the [AM]!</span>")
|
||||
AM.alpha = oldalpha
|
||||
AM.color = oldcolor
|
||||
AM.transform = oldtransform
|
||||
AM.throw_at(get_edge_target_turf(src,pick(GLOB.alldirs)),rand(1, 10),rand(1, 10))
|
||||
|
||||
/turf/open/chasm/straight_down/lava_land_surface/normal_air
|
||||
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
|
||||
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
|
||||
|
||||
|
||||
|
||||
/turf/open/chasm/CanPass(atom/movable/mover, turf/target, height=0)
|
||||
return 1
|
||||
|
||||
@@ -5,39 +5,6 @@
|
||||
|
||||
//This file was made not awful by Xhuis on September 13, 2016
|
||||
|
||||
/obj/effect/decal/cleanable/blood/old
|
||||
name = "dried blood"
|
||||
desc = "Looks like it's been here a while. Eew."
|
||||
bloodiness = 0
|
||||
|
||||
/obj/effect/decal/cleanable/blood/old/New()
|
||||
..()
|
||||
icon_state += "-old" //This IS necessary because the parent /blood type uses icon randomization.
|
||||
blood_DNA["Non-human DNA"] = "A+"
|
||||
|
||||
/obj/effect/decal/cleanable/blood/gibs/old
|
||||
name = "old rotting gibs"
|
||||
desc = "Space Jesus, why didn't anyone clean this up? It smells terrible."
|
||||
bloodiness = 0
|
||||
|
||||
/obj/effect/decal/cleanable/blood/gibs/old/New()
|
||||
..()
|
||||
setDir(pick(1,2,4,8))
|
||||
icon_state += "-old"
|
||||
blood_DNA["Non-human DNA"] = "A+"
|
||||
|
||||
/obj/effect/decal/cleanable/vomit/old
|
||||
name = "crusty dried vomit"
|
||||
desc = "You try not to look at the chunks, and fail."
|
||||
|
||||
/obj/effect/decal/cleanable/vomit/old/New()
|
||||
..()
|
||||
icon_state += "-old"
|
||||
|
||||
/obj/effect/decal/cleanable/robot_debris/old
|
||||
name = "dusty robot debris"
|
||||
desc = "Looks like nobody has touched this in a while."
|
||||
|
||||
//Making the station dirty, one tile at a time. Called by master controller's setup_objects
|
||||
|
||||
/turf/open/floor/proc/MakeDirty()
|
||||
|
||||
@@ -1,20 +1,3 @@
|
||||
//This is so damaged or burnt tiles or platings don't get remembered as the default tile
|
||||
var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","damaged4",
|
||||
"damaged5","panelscorched","floorscorched1","floorscorched2","platingdmg1","platingdmg2",
|
||||
"platingdmg3","plating","light_on","light_on_flicker1","light_on_flicker2",
|
||||
"light_on_clicker3","light_on_clicker4","light_on_clicker5","light_broken",
|
||||
"light_on_broken","light_off","wall_thermite","grass", "sand",
|
||||
"asteroid","asteroid_dug",
|
||||
"asteroid0","asteroid1","asteroid2","asteroid3","asteroid4",
|
||||
"asteroid5","asteroid6","asteroid7","asteroid8","asteroid9","asteroid10","asteroid11","asteroid12",
|
||||
"basalt","basalt_dug",
|
||||
"basalt0","basalt1","basalt2","basalt3","basalt4",
|
||||
"basalt5","basalt6","basalt7","basalt8","basalt9","basalt10","basalt11","basalt12",
|
||||
"oldburning","light-on-r","light-on-y","light-on-g","light-on-b", "wood", "wood-broken",
|
||||
"carpetcorner", "carpetside", "carpet", "ironsand1", "ironsand2", "ironsand3", "ironsand4", "ironsand5",
|
||||
"ironsand6", "ironsand7", "ironsand8", "ironsand9", "ironsand10", "ironsand11",
|
||||
"ironsand12", "ironsand13", "ironsand14", "ironsand15")
|
||||
|
||||
/turf/open/floor
|
||||
//NOTE: Floor code has been refactored, many procs were removed and refactored
|
||||
//- you should use istype() if you want to find out whether a floor has a certain type
|
||||
@@ -39,6 +22,22 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
|
||||
if (!burnt_states)
|
||||
burnt_states = list()
|
||||
..()
|
||||
//This is so damaged or burnt tiles or platings don't get remembered as the default tile
|
||||
var/static/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","damaged4",
|
||||
"damaged5","panelscorched","floorscorched1","floorscorched2","platingdmg1","platingdmg2",
|
||||
"platingdmg3","plating","light_on","light_on_flicker1","light_on_flicker2",
|
||||
"light_on_clicker3","light_on_clicker4","light_on_clicker5","light_broken",
|
||||
"light_on_broken","light_off","wall_thermite","grass", "sand",
|
||||
"asteroid","asteroid_dug",
|
||||
"asteroid0","asteroid1","asteroid2","asteroid3","asteroid4",
|
||||
"asteroid5","asteroid6","asteroid7","asteroid8","asteroid9","asteroid10","asteroid11","asteroid12",
|
||||
"basalt","basalt_dug",
|
||||
"basalt0","basalt1","basalt2","basalt3","basalt4",
|
||||
"basalt5","basalt6","basalt7","basalt8","basalt9","basalt10","basalt11","basalt12",
|
||||
"oldburning","light-on-r","light-on-y","light-on-g","light-on-b", "wood", "wood-broken",
|
||||
"carpetcorner", "carpetside", "carpet", "ironsand1", "ironsand2", "ironsand3", "ironsand4", "ironsand5",
|
||||
"ironsand6", "ironsand7", "ironsand8", "ironsand9", "ironsand10", "ironsand11",
|
||||
"ironsand12", "ironsand13", "ironsand14", "ironsand15")
|
||||
if(icon_state in icons_to_ignore_at_floor_init) //so damaged/burned tiles or plating icons aren't saved as the default
|
||||
icon_regular_floor = "floor"
|
||||
else
|
||||
@@ -137,21 +136,22 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
|
||||
if(..())
|
||||
return 1
|
||||
if(intact && istype(C, /obj/item/weapon/crowbar))
|
||||
pry_tile(C, user)
|
||||
return 1
|
||||
return pry_tile(C, user)
|
||||
if(intact && istype(C, /obj/item/stack/tile))
|
||||
var/obj/item/stack/tile/T = C
|
||||
if(T.turf_type == type)
|
||||
return
|
||||
var/obj/item/weapon/crowbar/CB = user.is_holding_item_of_type(/obj/item/weapon/crowbar)
|
||||
if(!CB)
|
||||
return
|
||||
var/turf/open/floor/plating/P = pry_tile(CB, user, TRUE)
|
||||
if(!istype(P))
|
||||
return
|
||||
P.attackby(T, user, params)
|
||||
try_replace_tile(C, user, params)
|
||||
return 0
|
||||
|
||||
/turf/open/floor/proc/try_replace_tile(obj/item/stack/tile/T, mob/user, params)
|
||||
if(T.turf_type == type)
|
||||
return
|
||||
var/obj/item/weapon/crowbar/CB = user.is_holding_item_of_type(/obj/item/weapon/crowbar)
|
||||
if(!CB)
|
||||
return
|
||||
var/turf/open/floor/plating/P = pry_tile(CB, user, TRUE)
|
||||
if(!istype(P))
|
||||
return
|
||||
P.attackby(T, user, params)
|
||||
|
||||
/turf/open/floor/proc/pry_tile(obj/item/C, mob/user, silent = FALSE)
|
||||
playsound(src, C.usesound, 80, 1)
|
||||
return remove_tile(user, silent)
|
||||
@@ -224,7 +224,7 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
|
||||
to_chat(user, "<span class='notice'>You build an airlock.</span>")
|
||||
var/obj/machinery/door/airlock/A = new the_rcd.airlock_type(src)
|
||||
|
||||
A.electronics = new/obj/item/weapon/electronics/airlock(src)
|
||||
A.electronics = new/obj/item/weapon/electronics/airlock(A)
|
||||
|
||||
if(the_rcd.conf_access)
|
||||
A.electronics.accesses = the_rcd.conf_access.Copy()
|
||||
|
||||
@@ -18,6 +18,19 @@
|
||||
pry_tile(C, user)
|
||||
return
|
||||
|
||||
/turf/open/floor/wood/try_replace_tile(obj/item/stack/tile/T, mob/user, params)
|
||||
if(T.turf_type == type)
|
||||
return
|
||||
var/obj/item/weapon/tool = user.is_holding_item_of_type(/obj/item/weapon/screwdriver)
|
||||
if(!tool)
|
||||
tool = user.is_holding_item_of_type(/obj/item/weapon/crowbar)
|
||||
if(!tool)
|
||||
return
|
||||
var/turf/open/floor/plating/P = pry_tile(tool, user, TRUE)
|
||||
if(!istype(P))
|
||||
return
|
||||
P.attackby(T, user, params)
|
||||
|
||||
/turf/open/floor/wood/pry_tile(obj/item/C, mob/user, silent = FALSE)
|
||||
var/is_screwdriver = istype(C, /obj/item/weapon/screwdriver)
|
||||
playsound(src, C.usesound, 80, 1)
|
||||
@@ -155,4 +168,4 @@ turf/open/floor/fakepit
|
||||
|
||||
/turf/open/floor/fakespace/Initialize()
|
||||
..()
|
||||
icon_state = "[rand(0,25)]"
|
||||
icon_state = "[rand(0,25)]"
|
||||
|
||||
@@ -16,6 +16,11 @@
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
/turf/open/floor/light/break_tile()
|
||||
..()
|
||||
light_range = 0
|
||||
update_light()
|
||||
|
||||
/turf/open/floor/light/update_icon()
|
||||
..()
|
||||
if(on)
|
||||
|
||||
@@ -202,7 +202,7 @@
|
||||
length = set_length
|
||||
|
||||
// Get our directiosn
|
||||
forward_cave_dir = pick(alldirs - exclude_dir)
|
||||
forward_cave_dir = pick(GLOB.alldirs - exclude_dir)
|
||||
// Get the opposite direction of our facing direction
|
||||
backward_cave_dir = angle2dir(dir2angle(forward_cave_dir) + 180)
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
/turf/open/floor/plating/dirt
|
||||
name = "dirt"
|
||||
desc = "Upon closer examination, it's still dirt."
|
||||
icon = 'icons/turf/floors.dmi'
|
||||
icon_state = "dirt"
|
||||
var/smooth_icon = 'icons/turf/floors/dirt.dmi'
|
||||
canSmoothWith = list(/turf/closed, /turf/open/floor/plating/dirt)
|
||||
smooth = SMOOTH_MORE|SMOOTH_BORDER
|
||||
baseturf = /turf/open/chasm/straight_down/lava_land_surface
|
||||
initial_gas_mix = "o2=14;n2=23;TEMP=300"
|
||||
planetary_atmos = TRUE
|
||||
|
||||
/turf/open/floor/plating/dirt/Initialize()
|
||||
pixel_y = -2
|
||||
pixel_x = -2
|
||||
icon = smooth_icon
|
||||
..()
|
||||
|
||||
/turf/open/floor/plating/dirt/dark
|
||||
icon_state = "darkdirt"
|
||||
smooth_icon = 'icons/turf/floors/darkdirt.dmi'
|
||||
@@ -108,6 +108,12 @@
|
||||
/turf/open/floor/plating/lava/break_tile()
|
||||
return
|
||||
|
||||
/turf/open/floor/plating/lava/pry_tile()
|
||||
return
|
||||
|
||||
/turf/open/floor/plating/lava/try_replace_tile()
|
||||
return
|
||||
|
||||
/turf/open/floor/plating/lava/burn_tile()
|
||||
return
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
icon = smooth_icon
|
||||
..()
|
||||
if (mineralType && mineralAmt && spread && spreadChance)
|
||||
for(var/dir in cardinal)
|
||||
for(var/dir in GLOB.cardinal)
|
||||
if(prob(spreadChance))
|
||||
var/turf/T = get_step(src, dir)
|
||||
if(istype(T, /turf/closed/mineral/random))
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
var/turf/closed/mineral/M = T
|
||||
logged_turf_type = M.turf_type
|
||||
|
||||
if(get_dir(src, F) in cardinal)
|
||||
if(get_dir(src, F) in GLOB.cardinal)
|
||||
cardinal_turfs += F
|
||||
else
|
||||
diagonal_turfs += F
|
||||
|
||||
@@ -174,7 +174,7 @@
|
||||
icon_state = "map-shuttle"
|
||||
sheet_type = /obj/item/stack/sheet/mineral/titanium
|
||||
smooth = SMOOTH_MORE|SMOOTH_DIAGONAL
|
||||
canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock/, /turf/closed/wall/shuttle, /obj/structure/window/shuttle, /obj/structure/shuttle/engine/heater)
|
||||
canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock/, /turf/closed/wall/shuttle, /obj/structure/window/shuttle, /obj/structure/shuttle/engine/heater, /obj/structure/falsewall/titanium)
|
||||
|
||||
/turf/closed/wall/mineral/titanium/nodiagonal
|
||||
smooth = SMOOTH_MORE
|
||||
@@ -240,4 +240,4 @@
|
||||
|
||||
/turf/closed/wall/mineral/plastitanium/copyTurf(turf/T)
|
||||
. = ..()
|
||||
T.transform = transform
|
||||
T.transform = transform
|
||||
|
||||
@@ -38,6 +38,8 @@
|
||||
/turf/closed/wall/r_wall/attack_animal(mob/living/simple_animal/M)
|
||||
M.changeNext_move(CLICK_CD_MELEE)
|
||||
M.do_attack_animation(src)
|
||||
if(!M.environment_smash)
|
||||
return
|
||||
if(M.environment_smash == 3)
|
||||
dismantle_wall(1)
|
||||
playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
|
||||
@@ -249,8 +251,12 @@
|
||||
if(prob(30))
|
||||
dismantle_wall()
|
||||
|
||||
/turf/closed/wall/r_vall/rcd_vals(mob/user, obj/item/weapon/rcd/the_rcd)
|
||||
return FALSE
|
||||
/turf/closed/wall/r_wall/rcd_vals(mob/user, obj/item/weapon/rcd/the_rcd)
|
||||
if(!the_rcd.canRturf)
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/turf/closed/wall/r_vall/rcd_act(mob/user, obj/item/weapon/rcd/the_rcd, passed_mode)
|
||||
return FALSE
|
||||
/turf/closed/wall/r_wall/rcd_act(mob/user, obj/item/weapon/rcd/the_rcd, passed_mode)
|
||||
if(!the_rcd.canRturf)
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
/turf/open/water
|
||||
name = "water"
|
||||
desc = "Shallow water."
|
||||
icon = 'icons/turf/floors.dmi'
|
||||
icon_state = "riverwater"
|
||||
baseturf = /turf/open/chasm/straight_down/lava_land_surface
|
||||
initial_gas_mix = "o2=14;n2=23;TEMP=300"
|
||||
planetary_atmos = TRUE
|
||||
slowdown = 1
|
||||
wet = TURF_WET_WATER
|
||||
|
||||
/turf/open/water/HandleWet()
|
||||
if(wet == TURF_WET_WATER)
|
||||
return
|
||||
..()
|
||||
MakeSlippery(TURF_WET_WATER) //rewet after ..() clears out lube/ice etc.
|
||||
Reference in New Issue
Block a user