Hard upstream sync (#6951)

* maps - none of our changes included yet i'll get them in after i finish up the rest of the sync

* sync part 1 - underscore folders in code

* controllers folder

* datums folder

* game folder

* cmon, work

* modules - admin to awaymissions

* cargo to events

* fields to lighting

* mapping > ruins

* rest of the code folder

* rest of the folders in the root directory

* DME

* fixes compiling errors. it compiles so it works

* readds map changes

* fixes dogborg module select

* fixes typo in moduleselect_alternate_icon filepath
This commit is contained in:
deathride58
2018-05-31 23:03:18 +00:00
committed by kevinz000
parent b6e608cb4c
commit 2f9e3e403d
395 changed files with 134016 additions and 26287 deletions
+1
View File
@@ -115,6 +115,7 @@
anchored = TRUE
density = FALSE
layer = TURF_LAYER
plane = FLOOR_PLANE
icon_state = "weeds"
max_integrity = 15
canSmoothWith = list(/obj/structure/alien/weeds, /turf/closed/wall)
+5 -2
View File
@@ -106,8 +106,11 @@
/obj/structure/sign/barsign/emp_act(severity)
set_sign(new /datum/barsign/hiddensigns/empbarsign)
broken = 1
. = ..()
if(. & EMP_PROTECT_SELF)
return
set_sign(new /datum/barsign/hiddensigns/empbarsign)
broken = 1
@@ -436,9 +436,13 @@
user.overlay_fullscreen("remote_view", /obj/screen/fullscreen/impaired, 1)
/obj/structure/closet/emp_act(severity)
for(var/obj/O in src)
O.emp_act(severity)
if(secure && !broken)
. = ..()
if(. & EMP_PROTECT_SELF)
return
if (!(. & EMP_PROTECT_CONTENTS))
for(var/obj/O in src)
O.emp_act(severity)
if(secure && !broken && !(. & EMP_PROTECT_SELF))
if(prob(50 / severity))
locked = !locked
update_icon()
@@ -448,8 +452,6 @@
else
req_access = list()
req_access += pick(get_all_accesses())
..()
/obj/structure/closet/contents_explosion(severity, target)
for(var/atom/A in contents)
@@ -107,35 +107,18 @@
icon_door = "black"
/obj/structure/closet/wardrobe/chaplain_black/PopulateContents()
new /obj/item/holybeacon(src)
new /obj/item/clothing/accessory/pocketprotector/cosmetology(src)
new /obj/item/clothing/under/rank/chaplain(src)
new /obj/item/clothing/shoes/sneakers/black(src)
new /obj/item/clothing/suit/nun(src)
new /obj/item/clothing/head/nun_hood(src)
new /obj/item/clothing/suit/studentuni(src)
new /obj/item/clothing/head/cage(src)
new /obj/item/clothing/suit/witchhunter(src)
new /obj/item/clothing/head/witchunter_hat(src)
new /obj/item/clothing/suit/hooded/chaplain_hoodie(src)
new /obj/item/clothing/suit/holidaypriest(src)
new /obj/item/storage/backpack/cultpack (src)
new /obj/item/clothing/head/helmet/knight/templar(src)
new /obj/item/clothing/suit/armor/riot/knight/templar(src)
new /obj/item/storage/backpack/cultpack(src)
new /obj/item/storage/fancy/candle_box(src)
new /obj/item/storage/fancy/candle_box(src)
return
/obj/structure/closet/coffin
name = "coffin"
desc = "It's a burial receptacle for the dearly departed."
icon_state = "coffin"
resistance_flags = FLAMMABLE
max_integrity = 70
horizontal = TRUE
delivery_icon = "deliverycrate"
material_drop = /obj/item/stack/sheet/mineral/wood
material_drop_amount = 5
/obj/structure/closet/wardrobe/red
name = "security wardrobe"
icon_door = "red"
@@ -1,5 +1,6 @@
//The "BDPtarget" temp visual is created by the expressconsole, which in turn makes two things: a falling droppod animation, and the droppod itself.
#define POD_STANDARD 0
#define POD_BLUESPACE 1
//------------------------------------SUPPLY POD-------------------------------------//
/obj/structure/closet/supplypod
@@ -52,11 +53,11 @@
update_icon()
playsound(src, open_sound, 15, 1, -3)
if(istype(src,/obj/structure/closet/supplypod/bluespacepod))
addtimer(CALLBACK(src, .proc/sparks), 30)//if bluespace, then 3 seconds after opening, make some sparks and delete
/obj/structure/closet/supplypod/proc/sparks()//sparks cant be called from addtimer
do_sparks(5, TRUE, src)
qdel(src)//no need for QDEL_IN if we already have a timer
addtimer(CALLBACK(src, .proc/sparks), 30)//if bluespace, then 3 seconds after opening, make some sparks and delete
/obj/structure/closet/supplypod/proc/sparks()//sparks cant be called from addtimer
do_sparks(5, TRUE, src)
qdel(src)//no need for QDEL_IN if we already have a timer
/obj/structure/closet/supplypod/Destroy()//make some sparks b4 deletion
QDEL_NULL(SupplyOrder)
@@ -74,7 +75,7 @@
randomdir = FALSE
/obj/effect/temp_visual/DPfall/Initialize(var/dropLocation, var/podID)
if (podID == 1)
if (podID == POD_BLUESPACE)
icon_state = "bluespacepod_falling"
name = "Bluespace Drop Pod"
else
@@ -92,15 +93,15 @@
/obj/effect/DPtarget/Initialize(mapload, datum/supply_order/SO, var/podID)
. = ..()
addtimer(CALLBACK(src, .proc/beginLaunch, SO, podID), 30)//wait 3 seconds
addtimer(CALLBACK(src, .proc/beginLaunch, SO, podID), podID == POD_BLUESPACE ? 15 : 30)//standard pods take 3 seconds to come in, bluespace pods take 1.5
/obj/effect/DPtarget/proc/beginLaunch(datum/supply_order/SO, var/podID)
fallingPod = new /obj/effect/temp_visual/DPfall(drop_location(), podID)
animate(fallingPod, pixel_z = 0, time = 3, easing = LINEAR_EASING)//make and animate a falling pod
addtimer(CALLBACK(src, .proc/endLaunch, SO, podID), 3, TIMER_CLIENT_TIME)//fall 0.3seconds
addtimer(CALLBACK(src, .proc/endLaunch, SO, podID), 3, TIMER_CLIENT_TIME)//fall 0.3seconds
/obj/effect/DPtarget/proc/endLaunch(datum/supply_order/SO, var/podID)
if (podID == 1)//podID 1 = bluespace supplypod, podID 0 = standard supplypod
if (podID == POD_BLUESPACE)
new /obj/structure/closet/supplypod/bluespacepod(drop_location(), SO)//pod is created
explosion(src,0,0,2, flame_range = 1) //explosion and camshake (shoutout to @cyberboss)
else
@@ -64,6 +64,15 @@
manifest = null
update_icon()
/obj/structure/closet/crate/coffin
name = "coffin"
desc = "It's a burial receptacle for the dearly departed."
icon_state = "coffin"
resistance_flags = FLAMMABLE
max_integrity = 70
material_drop = /obj/item/stack/sheet/mineral/wood
material_drop_amount = 5
/obj/structure/closet/crate/internals
desc = "An internals crate."
name = "internals crate"
+1 -1
View File
@@ -269,7 +269,7 @@
var/obj/structure/cable/C = T.get_cable_node()
if(C)
playsound(src, 'sound/magic/lightningshock.ogg', 100, 1, extrarange = 5)
tesla_zap(src, 3, C.powernet.avail * 0.01) //Zap for 1/100 of the amount of power. At a million watts in the grid, it will be as powerful as a tesla revolver shot.
tesla_zap(src, 3, C.powernet.avail * 0.01, TESLA_MOB_DAMAGE | TESLA_OBJ_DAMAGE | TESLA_MOB_STUN | TESLA_ALLOW_DUPLICATES) //Zap for 1/100 of the amount of power. At a million watts in the grid, it will be as powerful as a tesla revolver shot.
C.powernet.load += C.powernet.avail * 0.0375 // you can gain up to 3.5 via the 4x upgrades power is halved by the pole so thats 2x then 1X then .5X for 3.5x the 3 bounces shock.
return ..()
+29
View File
@@ -178,3 +178,32 @@
break // break if both our connections are filled
update_icon()
/obj/structure/ladder/unbreakable/binary
name = "mysterious ladder"
desc = "Where does it go?"
height = 0
id = "lavaland_binary"
var/area_to_place = /area/lavaland/surface/outdoors
/obj/structure/ladder/unbreakable/binary/Initialize()
if(area_to_place)
var/turf/T = safepick(get_area_turfs(area_to_place))
if(T)
var/obj/structure/ladder/unbreakable/U = new (T)
U.id = id
U.height = height+1
for(var/turf/TT in range(2,U))
TT.TerraformTurf(/turf/open/indestructible/binary, /turf/open/indestructible/binary)
return ..()
/obj/structure/ladder/unbreakable/binary/space
id = "space_binary"
area_to_place = /area/space
/obj/structure/ladder/unbreakable/binary/unlinked //Crew gets to complete one
id = "unlinked_binary"
area_to_place = null
+3 -1
View File
@@ -10,6 +10,9 @@
CanAtmosPass = ATMOS_PASS_NO
var/state = PLASTIC_FLAPS_NORMAL
/obj/structure/plasticflaps/opaque
opacity = TRUE
/obj/structure/plasticflaps/examine(mob/user)
. = ..()
switch(state)
@@ -103,4 +106,3 @@
. = ..()
if (oldloc)
oldloc.air_update_turf(1)
+5 -10
View File
@@ -54,7 +54,6 @@
/obj/structure/reflector/setDir(new_dir)
setAngle(dir_map_to_angle(new_dir))
return ..(NORTH)
/obj/structure/reflector/proc/dir_map_to_angle(dir)
@@ -196,11 +195,10 @@
anchored = TRUE
/obj/structure/reflector/single/auto_reflect(obj/item/projectile/P, pdir, turf/ploc, pangle)
var/incidence = GET_ANGLE_OF_INCIDENCE(rotation_angle, P.Angle)
var/norm_inc = WRAP(incidence, -90, 90)
var/new_angle = WRAP(rotation_angle + norm_inc, 180, -180)
if(ISINRANGE_EX(norm_inc, -90, 90))
var/incidence = GET_ANGLE_OF_INCIDENCE(rotation_angle, (P.Angle + 180))
if(abs(incidence) > 90 && abs(incidence) < 270)
return FALSE
var/new_angle = SIMPLIFY_DEGREES(rotation_angle + incidence)
P.setAngle(new_angle)
return ..()
@@ -223,11 +221,8 @@
anchored = TRUE
/obj/structure/reflector/double/auto_reflect(obj/item/projectile/P, pdir, turf/ploc, pangle)
var/incidence = GET_ANGLE_OF_INCIDENCE(rotation_angle, P.Angle)
var/norm_inc = WRAP(incidence, -90, 90)
var/new_angle = WRAP(rotation_angle + norm_inc, 180, -180)
if(ISINRANGE_EX(norm_inc, -90, 90))
new_angle += 180
var/incidence = GET_ANGLE_OF_INCIDENCE(rotation_angle, (P.Angle + 180))
var/new_angle = SIMPLIFY_DEGREES(rotation_angle + incidence)
P.setAngle(new_angle)
return ..()