Merge remote-tracking branch 'upstream/master'
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -285,8 +285,6 @@
|
||||
. = ..()
|
||||
var/turf/ai = get_turf(src)
|
||||
var/turf/target = get_turf(A)
|
||||
if (.)
|
||||
return
|
||||
|
||||
if(!target)
|
||||
return
|
||||
|
||||
@@ -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]")
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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,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/.
|
||||
|
||||
Reference in New Issue
Block a user