Merge branch 'master' into upstream-merge-30218

This commit is contained in:
LetterJay
2017-08-28 09:03:46 -05:00
committed by GitHub
62 changed files with 332 additions and 790 deletions
@@ -27,9 +27,6 @@
/turf/closed/wall/mineral/cult/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent) //no metal
return list("operation_time" = 80, "new_obj_type" = /turf/closed/wall/clockwork, "power_cost" = POWER_WALL_TOTAL, "spawn_dir" = SOUTH)
/turf/closed/wall/shuttle/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent) //two sheets of metal
return list("operation_time" = 50, "new_obj_type" = /turf/closed/wall/clockwork, "power_cost" = POWER_WALL_TOTAL - (POWER_METAL * 2), "spawn_dir" = SOUTH)
/turf/closed/wall/r_wall/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent)
return FALSE
+1 -1
View File
@@ -431,7 +431,7 @@
/datum/gang_item/equipment/dominator/purchase(mob/living/carbon/user, datum/gang/gang, obj/item/device/gangtool/gangtool)
var/area/usrarea = get_area(user.loc)
var/usrturf = get_turf(user.loc)
if(initial(usrarea.name) == "Space" || isspaceturf(usrturf) || usr.z != ZLEVEL_STATION)
if(initial(usrarea.name) == "Space" || isspaceturf(usrturf) || usr.z != ZLEVEL_STATION || !usrarea.valid_territory)
to_chat(user, "<span class='warning'>You can only use this on the station!</span>")
return FALSE
@@ -456,7 +456,8 @@
dat += "<BR>\[ <A HREF='?src=\ref[src];operation=announce'>Make a Captain's Announcement</A> \]"
if(config.cross_allowed)
dat += "<BR>\[ <A HREF='?src=\ref[src];operation=crossserver'>Send a message to an allied station</A> \]"
dat += "<BR>\[ <A HREF='?src=\ref[src];operation=purchase_menu'>Purchase Shuttle</A> \]"
if(SSmapping.config.allow_custom_shuttles == "yes")
dat += "<BR>\[ <A HREF='?src=\ref[src];operation=purchase_menu'>Purchase Shuttle</A> \]"
dat += "<BR>\[ <A HREF='?src=\ref[src];operation=changeseclevel'>Change Alert Level</A> \]"
dat += "<BR>\[ <A HREF='?src=\ref[src];operation=emergencyaccess'>Emergency Maintenance Access</A> \]"
dat += "<BR>\[ <A HREF='?src=\ref[src];operation=nukerequest'>Request Nuclear Authentication Codes</A> \]"
@@ -14,6 +14,7 @@
machinetype = 6
var/intercept = FALSE // if TRUE, broadcasts all syndie messages to syndicate channel
/obj/machinery/telecomms/allinone/receive_signal(datum/signal/signal)
if(!on) // has to be on to receive messages
@@ -426,7 +426,10 @@
signal.frequency = freqnum // Quick frequency set
for(var/obj/machinery/telecomms/receiver/R in GLOB.telecomms_list)
R.receive_signal(signal)
// Allinone can act as receivers. (Unless of course whoever coded this last time forgot to put it in somewhere!)
for(var/obj/machinery/telecomms/allinone/R in GLOB.telecomms_list)
R.receive_signal(signal)
spawn(20) // wait a little...
@@ -44,7 +44,7 @@
active = TRUE
var/turf/boomturf = get_turf(imp_in)
var/area/A = get_area(boomturf)
message_admins("[ADMIN_LOOKUPFLW(imp_in)] has activated their [name] at [A.name] [ADMIN_JMP(boomturf)].")
message_admins("[ADMIN_LOOKUPFLW(imp_in)] has activated their [name] at [A.name] [ADMIN_JMP(boomturf)], with cause of [cause].")
//If the delay is short, just blow up already jeez
if(delay <= 7)
explosion(src,heavy,medium,weak,weak, flame_range = weak)
+6 -3
View File
@@ -18,8 +18,11 @@
return (BRUTELOSS|FIRELOSS|TOXLOSS|OXYLOSS)
/obj/item/banhammer/attack(mob/M, mob/user)
to_chat(M, "<font color='red'><b> You have been banned FOR NO REISIN by [user]<b></font>")
to_chat(user, "<font color='red'>You have <b>BANNED</b> [M]</font>")
if(user.zone_selected == "head")
M.visible_message("<span class='danger'>[user] are stroking the head of [M] with a bangammer</span>", "<span class='userdanger'>[user] are stroking the head with a bangammer</span>", "you hear a bangammer stroking a head");
else
M.visible_message("<span class='danger'>[M] has been banned FOR NO REISIN by [user]</span>", "<span class='userdanger'>You have been banned FOR NO REISIN by [user]</span>", "you hear a banhammer banning someone")
playsound(loc, 'sound/effects/adminhelp.ogg', 15) //keep it at 15% volume so people don't jump out of their skin too much
/obj/item/sord
@@ -586,4 +589,4 @@
/obj/item/proc/can_trigger_gun(mob/living/user)
if(!user.can_use_guns(src))
return FALSE
return TRUE
return TRUE
+1 -1
View File
@@ -303,7 +303,7 @@
mineral = /obj/item/stack/sheet/mineral/titanium
walltype = /turf/closed/wall/mineral/titanium
smooth = SMOOTH_MORE
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, /obj/structure/shuttle/engine/heater, )
canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/shuttle, /obj/structure/shuttle/engine/heater)
/obj/structure/falsewall/plastitanium
name = "wall"
+44 -11
View File
@@ -24,16 +24,30 @@
//The code below here isn't exactly optimal, but because of the individual decals that each area uses it's still applicable.
//high dirt - 1/3
if(istype(A, /area/science/test_area) || istype(A, /area/mine/production) || istype(A, /area/mine/living_quarters) || istype(A, /area/mine/north_outpost) || istype(A, /area/mine/west_outpost) || istype(A, /area/ruin/space))
//high dirt - 1/3 chance.
var/static/list/high_dirt_areas = typecacheof(list(/area/science/test_area,
/area/mine/production,
/area/mine/living_quarters,
/area/mine/north_outpost,
/area/mine/west_outpost,
/area/ruin/space))
if(is_type_in_typecache(A, high_dirt_areas))
new /obj/effect/decal/cleanable/dirt(src) //vanilla, but it works
return
if(prob(80)) //mid dirt - 1/15
return
if(istype(A, /area/engine) || istype(A, /area/crew_quarters/heads/chief) || istype(A, /area/ruin/space/derelict/assembly_line) || istype(A, /area/science/robotics) || istype(A, /area/maintenance) || istype(A, /area/construction))
//Blood, sweat, and oil. Oh, and dirt.
//Construction zones. Blood, sweat, and oil. Oh, and dirt.
var/static/list/engine_dirt_areas = typecacheof(list(/area/engine,
/area/crew_quarters/heads/chief,
/area/ruin/space/derelict/assembly_line,
/area/science/robotics,
/area/maintenance,
/area/construction,
/area/survivalpod))
if(is_type_in_typecache(A, engine_dirt_areas))
if(prob(3))
new /obj/effect/decal/cleanable/blood/old(src)
else
@@ -46,7 +60,10 @@
new /obj/effect/decal/cleanable/dirt(src)
return
if(istype(A, /area/crew_quarters/toilet))
//Bathrooms. Blood, vomit, and shavings in the sinks.
var/static/list/bathroom_dirt_areas = typecacheof(list( /area/crew_quarters/toilet,
/area/awaymission/research/interior/bathroom))
if(is_type_in_typecache(A, bathroom_dirt_areas))
if(prob(40))
if(prob(90))
new /obj/effect/decal/cleanable/vomit/old(src)
@@ -54,15 +71,23 @@
new /obj/effect/decal/cleanable/blood/old(src)
return
if(istype(A, /area/quartermaster))
//Hangars and pods covered in oil.
var/static/list/oily_areas = typecacheof(list(/area/quartermaster))
if(is_type_in_typecache(A, oily_areas))
if(prob(25))
new /obj/effect/decal/cleanable/oil(src)
return
if(prob(75)) //low dirt - 1/60
return
if(istype(A, /area/ai_monitored/turret_protected) || istype(A, /area/prison) || istype(A, /area/security) || istype(A, /area/crew_quarters/heads/hos)) //chance of incident
//Areas where gibs will be present. Robusting probably happened some time ago.
var/static/list/gib_covered_areas = typecacheof(list(/area/ai_monitored/turret_protected,
/area/prison,
/area/security,
/area/crew_quarters/heads/hos))
if(is_type_in_typecache(A, gib_covered_areas))
if(prob(20))
if(prob(5))
new /obj/effect/decal/cleanable/blood/gibs/old(src)
@@ -70,8 +95,10 @@
new /obj/effect/decal/cleanable/blood/old(src)
return
if(istype(A, /area/crew_quarters/kitchen) || istype(A, /area/crew_quarters/cafeteria)) //Kitchen messes
//Kitchen areas. Broken eggs, flour, spilled milk (no crying allowed.)
var/static/list/kitchen_dirt_areas = typecacheof(list(/area/crew_quarters/kitchen,
/area/crew_quarters/cafeteria))
if(is_type_in_typecache(A, kitchen_dirt_areas))
if(prob(60))
if(prob(50))
new /obj/effect/decal/cleanable/egg_smudge(src)
@@ -79,7 +106,10 @@
new /obj/effect/decal/cleanable/flour(src)
return
if(istype(A, /area/medical) || istype(A, /area/crew_quarters/heads/cmo)) //Kept clean, but chance of blood
//Medical areas. Mostly clean by space-OSHA standards, but has some blood and oil spread about.
var/static/list/medical_dirt_areas = typecacheof(list(/area/medical,
/area/crew_quarters/heads/cmo))
if(is_type_in_typecache(A, medical_dirt_areas))
if(prob(66))
if(prob(5))
new /obj/effect/decal/cleanable/blood/gibs/old(src)
@@ -92,7 +122,10 @@
new /obj/effect/decal/cleanable/vomit/old(src)
return
if(istype(A, /area/science) || istype(A, /area/crew_quarters/heads/hor))
//Science messes. Mostly green glowy stuff -WHICH YOU SHOULD NOT INJEST-.
var/static/list/science_dirt_areas = typecacheof(list(/area/science,
/area/crew_quarters/heads/hor))
if(is_type_in_typecache(A, medical_dirt_areas))
if(prob(20))
new /obj/effect/decal/cleanable/greenglow(src) //this cleans itself up but it might startle you when you see it.
return
@@ -178,7 +178,7 @@
flags_1 = CAN_BE_DIRTY_1 | CHECK_RICOCHET_1
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)
canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/shuttle, /obj/structure/shuttle/engine/heater, /obj/structure/falsewall/titanium)
/turf/closed/wall/mineral/titanium/nodiagonal
smooth = SMOOTH_MORE
+2 -1
View File
@@ -3,7 +3,7 @@
SetupExternalRSC()
GLOB.config_error_log = GLOB.world_href_log = GLOB.world_runtime_log = GLOB.world_attack_log = GLOB.world_game_log = file("data/logs/config_error.log") //temporary file used to record errors with loading config, moved to log directory once logging is set bl
GLOB.config_error_log = GLOB.sql_error_log = GLOB.world_href_log = GLOB.world_runtime_log = GLOB.world_attack_log = GLOB.world_game_log = file("data/logs/config_error.log") //temporary file used to record errors with loading config, moved to log directory once logging is set bl
make_datum_references_lists() //initialises global lists for referencing frequently used datums (so that we only ever do it once)
@@ -79,6 +79,7 @@
GLOB.world_attack_log = file("[GLOB.log_directory]/attack.log")
GLOB.world_runtime_log = file("[GLOB.log_directory]/runtime.log")
GLOB.world_href_log = file("[GLOB.log_directory]/hrefs.html")
GLOB.sql_error_log = file("[GLOB.log_directory]/sql.log")
WRITE_FILE(GLOB.world_game_log, "\n\nStarting up round ID [GLOB.round_id]. [time_stamp()]\n---------------------")
WRITE_FILE(GLOB.world_attack_log, "\n\nStarting up round ID [GLOB.round_id]. [time_stamp()]\n---------------------")
WRITE_FILE(GLOB.world_runtime_log, "\n\nStarting up round ID [GLOB.round_id]. [time_stamp()]\n---------------------")