Merge branch 'master' into AllMapChangesInOne

This commit is contained in:
LetterJay
2017-05-30 23:08:32 -05:00
committed by GitHub
364 changed files with 135665 additions and 22023 deletions
+8 -3
View File
@@ -5,6 +5,9 @@
density = 1
blocks_air = 1
/turf/closed/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
return FALSE
/turf/closed/indestructible
name = "wall"
icon = 'icons/turf/walls.dmi'
@@ -24,9 +27,6 @@
/turf/closed/indestructible/oldshuttle/corner
icon_state = "corner"
/turf/closed/indestructible/splashscreen
name = "Space Station 13"
icon = 'config/title_screens/images/blank.png'
@@ -111,6 +111,11 @@
explosion_block = 50
baseturf = /turf/closed/indestructible/necropolis
/turf/closed/indestructible/necropolis/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
underlay_appearance.icon = 'icons/turf/floors.dmi'
underlay_appearance.icon_state = "necro1"
return TRUE
/turf/closed/indestructible/riveted/hierophant
name = "wall"
desc = "A wall made out of a strange metal. The squares on it pulse in a predictable pattern."
+3
View File
@@ -45,6 +45,9 @@
/turf/open/indestructible/hierophant/two
/turf/open/indestructible/hierophant/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
return FALSE
/turf/open/indestructible/paper
name = "notebook floor"
desc = "A floor made of invulnerable notebook paper."
+9
View File
@@ -22,6 +22,10 @@
if(!drop_stuff())
STOP_PROCESSING(SSobj, src)
/turf/open/chasm/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
underlay_appearance.icon = 'icons/turf/floors.dmi'
underlay_appearance.icon_state = "basalt"
return TRUE
/turf/open/chasm/attackby(obj/item/C, mob/user, params, area/area_restriction)
..()
@@ -171,6 +175,11 @@
planetary_atmos = TRUE
initial_gas_mix = "o2=14;n2=23;TEMP=300"
/turf/open/chasm/jungle/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
underlay_appearance.icon = 'icons/turf/floors.dmi'
underlay_appearance.icon_state = "dirt"
return TRUE
/turf/open/chasm/straight_down/jungle
icon = 'icons/turf/floors/junglechasm.dmi'
planetary_atmos = TRUE
+17 -4
View File
@@ -140,7 +140,7 @@
floor_tile = /obj/item/stack/tile/carpet
broken_states = list("damaged")
smooth = SMOOTH_TRUE
canSmoothWith = list(/turf/open/floor/carpet, /turf/open/chasm)
canSmoothWith = list(/turf/open/floor/carpet)
flags = NONE
/turf/open/floor/carpet/Initialize()
@@ -175,15 +175,22 @@
burnt = 1
update_icon()
/turf/open/floor/carpet/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
return FALSE
turf/open/floor/fakepit
/turf/open/floor/fakepit
desc = "A clever illusion designed to look like a bottomless pit."
smooth = SMOOTH_TRUE | SMOOTH_BORDER | SMOOTH_MORE
canSmoothWith = list(/turf/open/floor/fakepit, /turf/open/chasm)
canSmoothWith = list(/turf/open/floor/fakepit)
icon = 'icons/turf/floors/Chasms.dmi'
icon_state = "smooth"
/turf/open/floor/fakepit/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
underlay_appearance.icon = 'icons/turf/floors.dmi'
underlay_appearance.icon_state = "basalt"
return TRUE
/turf/open/floor/fakespace
icon = 'icons/turf/space.dmi'
icon_state = "0"
@@ -193,4 +200,10 @@ turf/open/floor/fakepit
/turf/open/floor/fakespace/Initialize()
..()
icon_state = "[rand(0,25)]"
icon_state = SPACE_ICON_STATE
/turf/open/floor/fakespace/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
underlay_appearance.icon = 'icons/turf/space.dmi'
underlay_appearance.icon_state = SPACE_ICON_STATE
underlay_appearance.plane = PLANE_SPACE
return TRUE
@@ -38,6 +38,11 @@
/turf/open/floor/plating/lava/make_plating()
return
/turf/open/floor/plating/lava/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
underlay_appearance.icon = 'icons/turf/floors.dmi'
underlay_appearance.icon_state = "basalt"
return TRUE
/turf/open/floor/plating/lava/GetHeatCapacity()
. = 700000
+20 -13
View File
@@ -26,7 +26,7 @@
/turf/closed/mineral/Initialize()
if (!canSmoothWith)
canSmoothWith = list(/turf/closed)
canSmoothWith = list(/turf/closed/mineral, /turf/closed/indestructible)
pixel_y = -4
pixel_x = -4
icon = smooth_icon
@@ -42,6 +42,13 @@
setDir(angle2dir(rotation+dir2angle(dir)))
queue_smooth(src)
/turf/closed/mineral/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
if(turf_type)
underlay_appearance.icon = initial(turf_type.icon)
underlay_appearance.icon_state = initial(turf_type.icon_state)
return TRUE
return ..()
/turf/closed/mineral/attackby(obj/item/weapon/pickaxe/P, mob/user, params)
if (!user.IsAdvancedToolUser())
@@ -379,7 +386,7 @@
spread = 0
scan_state = "rock_Gibtonite"
var/det_time = 8 //Countdown till explosion, but also rewards the player for how close you were to detonation when you defuse it
var/stage = 0 //How far into the lifecycle of gibtonite we are, 0 is untouched, 1 is active and attempting to detonate, 2 is benign and ready for extraction
var/stage = GIBTONITE_UNSTRUCK //How far into the lifecycle of gibtonite we are
var/activated_ckey = null //These are to track who triggered the gibtonite deposit for logging purposes
var/activated_name = null
var/mutable_appearance/activated_overlay
@@ -395,12 +402,12 @@
..()
/turf/closed/mineral/gibtonite/proc/explosive_reaction(mob/user = null, triggered_by_explosion = 0)
if(stage == 0)
if(stage == GIBTONITE_UNSTRUCK)
activated_overlay = mutable_appearance('icons/turf/smoothrocks.dmi', "rock_Gibtonite_active", ON_EDGED_TURF_LAYER)
add_overlay(activated_overlay)
name = "gibtonite deposit"
desc = "An active gibtonite reserve. Run!"
stage = 1
stage = GIBTONITE_ACTIVE
visible_message("<span class='danger'>There was gibtonite inside! It's going to explode!</span>")
var/turf/bombturf = get_turf(src)
var/area/A = get_area(bombturf)
@@ -422,38 +429,38 @@
/turf/closed/mineral/gibtonite/proc/countdown(notify_admins = 0)
set waitfor = 0
while(istype(src, /turf/closed/mineral/gibtonite) && stage == 1 && det_time > 0 && mineralAmt >= 1)
while(istype(src, /turf/closed/mineral/gibtonite) && stage == GIBTONITE_ACTIVE && det_time > 0 && mineralAmt >= 1)
det_time--
sleep(5)
if(istype(src, /turf/closed/mineral/gibtonite))
if(stage == 1 && det_time <= 0 && mineralAmt >= 1)
if(stage == GIBTONITE_ACTIVE && det_time <= 0 && mineralAmt >= 1)
var/turf/bombturf = get_turf(src)
mineralAmt = 0
stage = 3
stage = GIBTONITE_DETONATE
explosion(bombturf,1,3,5, adminlog = notify_admins)
/turf/closed/mineral/gibtonite/proc/defuse()
if(stage == 1)
if(stage == GIBTONITE_ACTIVE)
cut_overlay(activated_overlay)
activated_overlay.icon_state = "rock_Gibtonite_inactive"
add_overlay(activated_overlay)
desc = "An inactive gibtonite reserve. The ore can be extracted."
stage = 2
stage = GIBTONITE_STABLE
if(det_time < 0)
det_time = 0
visible_message("<span class='notice'>The chain reaction was stopped! The gibtonite had [src.det_time] reactions left till the explosion!</span>")
/turf/closed/mineral/gibtonite/gets_drilled(mob/user, triggered_by_explosion = 0)
if(stage == 0 && mineralAmt >= 1) //Gibtonite deposit is activated
if(stage == GIBTONITE_UNSTRUCK && mineralAmt >= 1) //Gibtonite deposit is activated
playsound(src,'sound/effects/hit_on_shattered_glass.ogg',50,1)
explosive_reaction(user, triggered_by_explosion)
return
if(stage == 1 && mineralAmt >= 1) //Gibtonite deposit goes kaboom
if(stage == GIBTONITE_ACTIVE && mineralAmt >= 1) //Gibtonite deposit goes kaboom
var/turf/bombturf = get_turf(src)
mineralAmt = 0
stage = 3
stage = GIBTONITE_DETONATE
explosion(bombturf,1,2,5, adminlog = 0)
if(stage == 2) //Gibtonite deposit is now benign and extractable. Depending on how close you were to it blowing up before defusing, you get better quality ore.
if(stage == GIBTONITE_STABLE) //Gibtonite deposit is now benign and extractable. Depending on how close you were to it blowing up before defusing, you get better quality ore.
var/obj/item/weapon/twohanded/required/gibtonite/G = new /obj/item/weapon/twohanded/required/gibtonite/(src)
if(det_time <= 0)
G.quality = 3
@@ -175,6 +175,7 @@
desc = "A light-weight titanium wall used in shuttles."
icon = 'icons/turf/walls/shuttle_wall.dmi'
icon_state = "map-shuttle"
flags = CAN_BE_DIRTY | CHECK_RICOCHET
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, /obj/structure/falsewall/titanium)
+14
View File
@@ -28,6 +28,20 @@
/turf/closed/wall/attack_tk()
return
/turf/closed/wall/handle_ricochet(obj/item/projectile/P) //A huge pile of shitcode!
var/turf/p_turf = get_turf(P)
var/face_direction = get_dir(src, p_turf)
var/face_angle = dir2angle(face_direction)
var/incidence_s = get_angle_of_incidence(face_angle, P.Angle)
var/new_angle = face_angle + incidence_s
var/new_angle_s = new_angle
while(new_angle_s > 180) // Translate to regular projectile degrees
new_angle_s -= 360
while(new_angle_s < -180)
new_angle_s += 360
P.Angle = new_angle_s
return TRUE
/turf/closed/wall/proc/dismantle_wall(devastated=0, explode=0)
if(devastated)
devastate_wall()
+6
View File
@@ -160,6 +160,12 @@
/turf/open/space/acid_act(acidpwr, acid_volume)
return 0
/turf/open/space/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
underlay_appearance.icon = 'icons/turf/space.dmi'
underlay_appearance.icon_state = SPACE_ICON_STATE
underlay_appearance.plane = PLANE_SPACE
return TRUE
/turf/open/space/rcd_vals(mob/user, obj/item/weapon/construction/rcd/the_rcd)
if(!CanBuildHere())
+33 -21
View File
@@ -4,6 +4,11 @@
baseturf = /turf/open/space/transit
flags = NOJAUNT //This line goes out to every wizard that ever managed to escape the den. I'm sorry.
/turf/open/space/transit/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
. = ..()
underlay_appearance.icon_state = "speedspace_ns_[get_transit_state(asking_turf)]"
underlay_appearance.transform = turn(matrix(), get_transit_angle(asking_turf))
/turf/open/space/transit/south
dir = SOUTH
@@ -69,25 +74,32 @@
throw_atom(AM)
/turf/open/space/transit/proc/update_icon()
var/p = 9
var/angle = 0
var/state = 1
switch(dir)
if(NORTH)
angle = 180
state = ((-p*x+y) % 15) + 1
if(state < 1)
state += 15
if(EAST)
angle = 90
state = ((x+p*y) % 15) + 1
if(WEST)
angle = -90
state = ((x-p*y) % 15) + 1
if(state < 1)
state += 15
else
state = ((p*x+y) % 15) + 1
icon_state = "speedspace_ns_[get_transit_state(src)]"
transform = turn(matrix(), get_transit_angle(src))
icon_state = "speedspace_ns_[state]"
transform = turn(matrix(), angle)
/proc/get_transit_state(turf/T)
var/p = 9
. = 1
switch(T.dir)
if(NORTH)
. = ((-p*T.x+T.y) % 15) + 1
if(. < 1)
. += 15
if(EAST)
. = ((T.x+p*T.y) % 15) + 1
if(WEST)
. = ((T.x-p*T.y) % 15) + 1
if(. < 1)
. += 15
else
. = ((p*T.x+T.y) % 15) + 1
/proc/get_transit_angle(turf/T)
. = 0
switch(T.dir)
if(NORTH)
. = 180
if(EAST)
. = 90
if(WEST)
. = -90
+6
View File
@@ -394,6 +394,12 @@
if(ismob(A) || .)
A.ratvar_act()
/turf/proc/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
underlay_appearance.icon = icon
underlay_appearance.icon_state = icon_state
underlay_appearance.dir = adjacency_dir
return TRUE
/turf/proc/add_blueprints(atom/movable/AM)
var/image/I = new
I.appearance = AM.appearance