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:
Poojawa
2017-04-13 23:37:00 -05:00
committed by GitHub
parent cdc32c98fa
commit 7e9b96a00f
1322 changed files with 174827 additions and 23888 deletions
+19 -3
View File
@@ -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
-33
View File
@@ -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()
+30 -30
View File
@@ -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()
+14 -1
View File
@@ -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
+1 -1
View File
@@ -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))
+1 -1
View File
@@ -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
+10 -4
View File
@@ -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 ..()
+16
View File
@@ -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.