Merge remote-tracking branch 'upstream/master'

This commit is contained in:
DeltaFire
2020-06-08 18:38:35 +02:00
20 changed files with 139 additions and 19 deletions
+1
View File
@@ -170,6 +170,7 @@ GLOBAL_LIST_INIT(typecache_powerfailure_safe_areas, typecacheof(/area/engine/eng
newA.setup(str)
newA.set_dynamic_lighting()
newA.has_gravity = oldA.has_gravity
newA.noteleport = oldA.noteleport
else
newA = area_choice
+1 -1
View File
@@ -73,7 +73,7 @@
if(!material_amount)
to_chat(user, "<span class='warning'>[I] does not contain sufficient materials to be accepted by [parent].</span>")
return
if((!precise_insertion || !GLOB.typecache_stack[I]) && !has_space(material_amount))
if((!precise_insertion || !GLOB.typecache_stack[I.type]) && !has_space(material_amount))
to_chat(user, "<span class='warning'>[parent] has not enough space. Please remove materials from [parent] in order to insert more.</span>")
return
user_insert(I, user)
+4 -1
View File
@@ -93,11 +93,13 @@
F.update_icon()
else
return ..()
//Makes empty oxygen tanks spawn without gas
/obj/item/tank/internals/plasma/empty/populate_gas()
return
/obj/item/tank/internals/plasma/full/populate_gas()
air_contents.gases[/datum/gas/plasma] = (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
/*
* Plasmaman Plasma Tank
*/
@@ -130,6 +132,7 @@
air_contents.gases[/datum/gas/plasma] = (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
return
//makes empty plasma tanks spawn without gas.
/obj/item/tank/internals/plasmaman/belt/empty/populate_gas()
return
+1 -1
View File
@@ -675,7 +675,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
to_chat(user, "<span class='warning'>You easily land a critical blow on the [target].</span>")
if(istype(target, /mob/living/))
var/mob/living/bug = target
bug.adjustBruteLoss(-35) //What kinda mad man would go into melee with a spider?!
bug.adjustBruteLoss(35) //What kinda mad man would go into melee with a spider?!
else
qdel(target)
@@ -91,6 +91,7 @@
B.organ_flags |= ORGAN_VITAL
B.decoy_override = FALSE
remove_changeling_powers()
owner.special_role = null
. = ..()
/datum/antagonist/changeling/proc/remove_clownmut()
+2 -2
View File
@@ -171,10 +171,10 @@
var/worth = 10
var/gases = C.air_contents.gases
worth += gases[/datum/gas/bz]*4
worth += gases[/datum/gas/bz]*3
worth += gases[/datum/gas/stimulum]*25
worth += gases[/datum/gas/hypernoblium]*1000
worth += gases[/datum/gas/miasma]*4
worth += gases[/datum/gas/miasma]*2
worth += gases[/datum/gas/tritium]*7
worth += gases[/datum/gas/pluoxium]*6
worth += gases[/datum/gas/nitryl]*30
+1
View File
@@ -383,6 +383,7 @@
/datum/spacevine_controller/New(turf/location, list/muts, potency, production, datum/round_event/event = null)
vines = list()
growth_queue = list()
spawn_spacevine_piece(location, null, muts)
START_PROCESSING(SSobj, src)
vine_mutations_list = list()
init_subtypes(/datum/spacevine_mutation/, vine_mutations_list)
-2
View File
@@ -285,8 +285,6 @@
. = ..()
var/turf/ai = get_turf(src)
var/turf/target = get_turf(A)
if (.)
return
if(!target)
return
+1 -1
View File
@@ -25,7 +25,7 @@
else
icon_state = "[initial(icon_state)][suppressed ? "-suppressed" : ""][sawn_off ? "-sawn" : ""]"
/obj/item/gun/ballistic/process_chamber(empty_chamber = 1)
/obj/item/gun/ballistic/process_chamber(mob/living/user, empty_chamber = 1)
var/obj/item/ammo_casing/AC = chambered //Find chambered round
if(istype(AC)) //there's a chambered round
if(casing_ejector)
@@ -23,7 +23,7 @@
A.update_icon()
update_icon()
/obj/item/gun/ballistic/shotgun/process_chamber(empty_chamber = 0)
/obj/item/gun/ballistic/shotgun/process_chamber(mob/living/user, empty_chamber = 0)
return ..() //changed argument value
/obj/item/gun/ballistic/shotgun/chamber_round()
@@ -57,7 +57,7 @@
casing_ejector = FALSE
can_suppress = FALSE
/obj/item/gun/ballistic/shotgun/toy/process_chamber(empty_chamber = 0)
/obj/item/gun/ballistic/shotgun/toy/process_chamber(mob/living/user, empty_chamber = 0)
..()
if(chambered && !chambered.BB)
qdel(chambered)
@@ -707,3 +707,57 @@
build_path = /obj/item/clothing/gloves/tackler/rocket
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
/////////////////////////////////////////
/////////////Internal Tanks//////////////
/////////////////////////////////////////
/datum/design/oxygen_tank
name = "Oxygen Tank"
desc = "An empty oxygen tank."
id = "oxygen_tank"
build_type = PROTOLATHE
materials = list(/datum/material/iron = 2000)
build_path = /obj/item/tank/internals/oxygen/empty
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
/datum/design/plasma_tank
name = "Plasma Tank"
desc = "An empty plasma tank."
id = "plasma_tank"
build_type = PROTOLATHE
materials = list(/datum/material/iron = 2000)
build_path = /obj/item/tank/internals/plasma/empty
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
/datum/design/emergency_oxygen
name = "Emergency Oxygen Tank"
desc = "A small emergency oxygen tank."
id = "emergency_oxygen"
build_type = PROTOLATHE
materials = list(/datum/material/iron = 1000)
build_path = /obj/item/tank/internals/emergency_oxygen/empty
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
/datum/design/plasma_belt_tank
name = "Plasmaman Belt Tank"
desc = "A small tank of plasma for plasmamen."
id = "plasmaman_tank_belt"
build_type = PROTOLATHE
materials = list(/datum/material/iron = 1000)
build_path = /obj/item/tank/internals/plasmaman/belt/empty
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
/datum/design/emergency_oxygen_engi
name = "Engineering Emergency Oxygen Tank"
desc = "An emergency oxygen tank for engineers."
id = "emergency_oxygen_engi"
build_type = PROTOLATHE
materials = list(/datum/material/iron = 1000)
build_path = /obj/item/tank/internals/emergency_oxygen/engi/empty
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
@@ -7,7 +7,8 @@
prereq_ids = list("base")
design_ids = list("solarcontrol", "recharger", "powermonitor", "rped", "pacman", "adv_capacitor", "adv_scanning", "emitter", "high_cell", "adv_matter_bin",
"atmosalerts", "atmos_control", "recycler", "autolathe", "autolathe_secure", "high_micro_laser", "nano_mani", "mesons", "thermomachine", "rad_collector", "tesla_coil", "grounding_rod",
"apc_control", "power control", "airlock_board", "firelock_board", "airalarm_electronics", "firealarm_electronics", "cell_charger", "stack_console", "stack_machine", "rcd_ammo")
"apc_control", "power control", "airlock_board", "firelock_board", "airalarm_electronics", "firealarm_electronics", "cell_charger", "stack_console", "stack_machine", "rcd_ammo","oxygen_tank",
"plasma_tank", "emergency_oxygen", "emergency_oxygen_engi", "plasmaman_tank_belt")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 6000)
/datum/techweb_node/adv_engi
@@ -20,6 +20,7 @@ GLOBAL_DATUM_INIT(keycard_events, /datum/events, new)
var/event = ""
var/obj/machinery/keycard_auth/event_source
var/mob/triggerer = null
var/obj/item/card/id/first_id = null
var/waiting = 0
/obj/machinery/keycard_auth/Initialize()
@@ -56,32 +57,37 @@ GLOBAL_DATUM_INIT(keycard_events, /datum/events, new)
return ..()
/obj/machinery/keycard_auth/ui_act(action, params)
if(..() || waiting || !allowed(usr))
if(..() || waiting)
return
var/obj/item/card/id/ID = usr.get_idcard(TRUE)
if(!ID || !istype(ID))
return
if(!check_access(ID))
return
switch(action)
if("red_alert")
if(!event_source)
sendEvent(KEYCARD_RED_ALERT)
sendEvent(KEYCARD_RED_ALERT, ID)
. = TRUE
if("emergency_maint")
if(!event_source)
sendEvent(KEYCARD_EMERGENCY_MAINTENANCE_ACCESS)
sendEvent(KEYCARD_EMERGENCY_MAINTENANCE_ACCESS, ID)
. = TRUE
if("auth_swipe")
if(event_source)
if(event_source && ID != first_id && first_id)
event_source.trigger_event(usr)
event_source = null
. = TRUE
if("bsa_unlock")
if(!event_source)
sendEvent(KEYCARD_BSA_UNLOCK)
sendEvent(KEYCARD_BSA_UNLOCK, ID)
. = TRUE
/obj/machinery/keycard_auth/proc/sendEvent(event_type)
/obj/machinery/keycard_auth/proc/sendEvent(event_type, trigger_id)
triggerer = usr
event = event_type
waiting = 1
GLOB.keycard_events.fireEvent("triggerEvent", src)
GLOB.keycard_events.fireEvent("triggerEvent", src, trigger_id)
addtimer(CALLBACK(src, .proc/eventSent), 20)
/obj/machinery/keycard_auth/proc/eventSent()
@@ -89,14 +95,16 @@ GLOBAL_DATUM_INIT(keycard_events, /datum/events, new)
event = ""
waiting = 0
/obj/machinery/keycard_auth/proc/triggerEvent(source)
/obj/machinery/keycard_auth/proc/triggerEvent(source, trigger_id)
icon_state = "auth_on"
first_id = trigger_id
event_source = source
addtimer(CALLBACK(src, .proc/eventTriggered), 20)
/obj/machinery/keycard_auth/proc/eventTriggered()
icon_state = "auth_off"
event_source = null
first_id = null
/obj/machinery/keycard_auth/proc/trigger_event(confirmer)
log_game("[key_name(triggerer)] triggered and [key_name(confirmer)] confirmed event [event]")
+24
View File
@@ -50,6 +50,30 @@
-->
<div class="commit sansserif">
<h2 class="date">08 June 2020</h2>
<h3 class="author">DeltaFire15 updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Delinging now properly removes their special role</li>
<li class="balance">Keycard auth devices now require two seperate IDs with sufficient access to auth.</li>
</ul>
<h3 class="author">Linzolle updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">shotguns no longer delete chambered shells while firing</li>
</ul>
<h3 class="author">kevinz000 updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">test</li>
</ul>
<h3 class="author">shellspeed1 updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Internal tanks are now printable at the engineering lathe.</li>
</ul>
<h3 class="author">timothyteakettle updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">newly created areas using blueprints now maintain the previous areas noteleport value</li>
<li class="bugfix">kudzu seeds now actually spawn vines</li>
</ul>
<h2 class="date">19 April 2020</h2>
<h3 class="author">Anonymous updated:</h3>
<ul class="changes bgimages16">
+16
View File
@@ -25832,3 +25832,19 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
- bugfix: Adding in some overrides and proper flag checks for martial arts.
- bugfix: Stun thresholding stops disarm spams at extremely high stamina loss.
- tweak: Ashen Arrows are actually called Ashen Arrows in the crafting menu.
2020-06-08:
DeltaFire15:
- bugfix: Delinging now properly removes their special role
- balance: Keycard auth devices now require two seperate IDs with sufficient access
to auth.
Linzolle:
- bugfix: shotguns no longer delete chambered shells while firing
kevinz000:
- rscadd: test
- rscdel: test
shellspeed1:
- rscadd: Internal tanks are now printable at the engineering lathe.
timothyteakettle:
- bugfix: newly created areas using blueprints now maintain the previous areas noteleport
value
- bugfix: kudzu seeds now actually spawn vines
@@ -0,0 +1,4 @@
author: "Trilbyspaceclone"
delete-after: True
changes:
- tweak: "Gasses like BZ and Masiam seem to just sell for less in cargo, markets seem to change it seems"
@@ -0,0 +1,4 @@
author: "DeltaFire15"
delete-after: True
changes:
- bugfix: "Offstation AIs can once again only interact with their z-level"
@@ -0,0 +1,4 @@
author: "Ghommie"
delete-after: True
changes:
- bugfix: "Fixing IC material containers interaction with stacks, for real."
+1
View File
@@ -1,3 +1,4 @@
Hooray modularity!
Things that modify core files without directly touching said core files go here. This is similar to how Hippie handles things.
This stops dreammaker from throwing errors and warnings if you try to compile these files while they're inside code/citadel/.