Skip to content

Commit

Permalink
Merge branch 'master' into DesertMap
Browse files Browse the repository at this point in the history
  • Loading branch information
Warfan1815 committed Aug 26, 2023
2 parents 1cb59ce + 6b78d2f commit 11a138e
Show file tree
Hide file tree
Showing 173 changed files with 3,722 additions and 2,322 deletions.
5 changes: 1 addition & 4 deletions .github/workflows/autowiki.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ permissions:

jobs:
autowiki:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
steps:
- name: "Check for AUTOWIKI_USERNAME"
id: secrets_set
Expand All @@ -30,9 +30,6 @@ jobs:
- name: Install rust-g
if: steps.secrets_set.outputs.SECRETS_ENABLED
run: |
sudo dpkg --add-architecture i386
sudo apt update || true
sudo apt install -o APT::Immediate-Configure=false libssl1.1:i386
bash tools/ci/install_rust_g.sh
- name: Compile and generate Autowiki files
if: steps.secrets_set.outputs.SECRETS_ENABLED
Expand Down
146 changes: 132 additions & 14 deletions code/__DEFINES/access.dm
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ most of them are tied into map-placed objects. This should be reworked in the fu

#define ACCESS_MARINE_SYNTH 36
#define ACCESS_MARINE_ASO 37
#define ACCESS_MARINE_CHAPLAIN 38

// AI Core Accesses
/// Used in temporary passes
Expand All @@ -52,31 +53,148 @@ most of them are tied into map-placed objects. This should be reworked in the fu
/// Used to access Maintenance Protocols on ARES Interface.
#define ACCESS_ARES_DEBUG 92

//Surface access levels
//=================================================

//Civilian access levels
#define ACCESS_CIVILIAN_PUBLIC 100
#define ACCESS_CIVILIAN_LOGISTICS 101
#define ACCESS_CIVILIAN_ENGINEERING 102
#define ACCESS_CIVILIAN_RESEARCH 103
#define ACCESS_CIVILIAN_BRIG 104
#define ACCESS_CIVILIAN_MEDBAY 105
#define ACCESS_CIVILIAN_COMMAND 106
#define ACCESS_PRESS 110

///The generic "I'm a bad guy" access
#define ACCESS_ILLEGAL_PIRATE 120

//=================================================

//Weyland Yutani access levels (200-229)
///Found on just about all corporate ID cards
#define ACCESS_WY_GENERAL 200
///WY employee override for most colonial areas
#define ACCESS_WY_COLONIAL 201
#define ACCESS_WY_MEDICAL 202
#define ACCESS_WY_SECURITY 203
#define ACCESS_WY_ENGINEERING 204
#define ACCESS_WY_FLIGHT 205
#define ACCESS_WY_RESEARCH 206
///WY access given to field executives, like a marine liaison.
#define ACCESS_WY_EXEC 207

#define ACCESS_WY_PMC 210
#define ACCESS_WY_PMC_TL 211
#define ACCESS_WY_ARMORY 212
///Secret research or other projects with highly restricted access
#define ACCESS_WY_SECRETS 213

#define ACCESS_WY_LEADERSHIP 215
///Senior leadership, the highest ranks
#define ACCESS_WY_SENIOR_LEAD 216

//=================================================

//Union of Progressive Peoples access levels (230-259)
///Found on just about all Union ID cards
#define ACCESS_UPP_GENERAL 230
#define ACCESS_UPP_MEDICAL 231
#define ACCESS_UPP_ENGINEERING 232
#define ACCESS_UPP_SECURITY 233
#define ACCESS_UPP_ARMORY 234
#define ACCESS_UPP_FLIGHT 235
#define ACCESS_UPP_RESEARCH 236

#define ACCESS_UPP_COMMANDO 239
#define ACCESS_UPP_LEADERSHIP 240
///Senior leadership, the highest ranks
#define ACCESS_UPP_SENIOR_LEAD 241

//=================================================

//Colonial Liberation Front access levels (260-289)
///Found on just about all CLF ID cards
#define ACCESS_CLF_GENERAL 260
#define ACCESS_CLF_MEDICAL 261
#define ACCESS_CLF_ENGINEERING 262
#define ACCESS_CLF_SECURITY 263
#define ACCESS_CLF_ARMORY 264
#define ACCESS_CLF_FLIGHT 265

#define ACCESS_CLF_LEADERSHIP 270
///Senior leadership, the highest ranks
#define ACCESS_CLF_SENIOR_LEAD 271

//=================================================

//Three World Empire access levels (290-319)
///Found on just about all Imperial ID cards
#define ACCESS_TWE_GENERAL 290
#define ACCESS_TWE_MEDICAL 291
#define ACCESS_TWE_ENGINEERING 292
#define ACCESS_TWE_SECURITY 293
#define ACCESS_TWE_ARMORY 294
#define ACCESS_TWE_FLIGHT 295
#define ACCESS_TWE_RESEARCH 296

#define ACCESS_TWE_COMMANDO 299
#define ACCESS_TWE_LEADERSHIP 300
///Senior leadership, the highest ranks
#define ACCESS_TWE_SENIOR_LEAD 301

//Special access levels. Should be alright to modify these.
#define ACCESS_WY_PMC_GREEN 180
#define ACCESS_WY_PMC_ORANGE 181
#define ACCESS_WY_PMC_RED 182
#define ACCESS_WY_PMC_BLACK 183
#define ACCESS_WY_PMC_WHITE 184
#define ACCESS_WY_CORPORATE 200
#define ACCESS_ILLEGAL_PIRATE 201
#define ACCESS_WY_CORPORATE_DS 202
#define ACCESS_PRESS 203
//=================================================

// Yautja Access Levels
/// Requires a visible ID chip to open
#define ACCESS_YAUTJA_SECURE 250
#define ACCESS_YAUTJA_SECURE 390
/// Elders+ only
#define ACCESS_YAUTJA_ELDER 251
#define ACCESS_YAUTJA_ELDER 391
/// Ancients only
#define ACCESS_YAUTJA_ANCIENT 252
#define ACCESS_YAUTJA_ANCIENT 392

///Temporary, just so I can flag places I need to change
#define ACCESS_COME_BACK_TO_ME 999


//Big lists of access codes, so I can get rid of the half a million different "get_bla_bla_bla_access" procs.
//See /proc/get_access(access_list = ACCESS_LIST_GLOBAL)
///Well... everything (non Yautja).
#define ACCESS_LIST_GLOBAL "EVERYTHING"

///Most of the USCM Access Levels used on the USS Almayer, excluding highly restricted ones.
#define ACCESS_LIST_MARINE_MAIN "Almayer (Main)"
///All USCM Access levels used on the USS Almayer
#define ACCESS_LIST_MARINE_ALL "Almayer (ALL)"
///Used by the Wey-Yu - USCM Liaison
#define ACCESS_LIST_MARINE_LIAISON "Wey-Yu (Liaison)"

///The accesses granted to emergency responders.
#define ACCESS_LIST_EMERGENCY_RESPONSE "Almayer (ERT)"
///Access used by United Americas responders.
#define ACCESS_LIST_UA "United Americas"

///Generic/basic access to Wey-Yu stuff
#define ACCESS_LIST_WY_BASE "Wey-Yu (Basic)"
///Wey-Yu Corp Security access.
#define ACCESS_LIST_WY_GOON "Wey-Yu (Goons)"
///Wey-Yu PMCs access.
#define ACCESS_LIST_WY_PMC "Wey-Yu (PMC)"
///Access levels for WY senior leadership
#define ACCESS_LIST_WY_SENIOR "Wey-Yu (Senior Lead)"
///All access levels associated with Weyland Yutani
#define ACCESS_LIST_WY_ALL "Wey-Yu (ALL)"

///All the access levels in the civillian category, excluding Press.
#define ACCESS_LIST_COLONIAL_ALL "Colonial (ALL)"
///Used by the Wey-Yu - Civil Authority Liaison
#define ACCESS_LIST_CIVIL_LIAISON "Colonial (Liaison)"
///The access used by delivery ERT (Pizza/Souto)
#define ACCESS_LIST_DELIVERY "Delivery"

///All access levels associated with UPP
#define ACCESS_LIST_UPP_ALL "UPP (ALL)"

///Generic/basic access to CLF stuff
#define ACCESS_LIST_CLF_BASE "CLF (Basic)"
///All access levels associated with CLF
#define ACCESS_LIST_CLF_ALL "CLF (ALL)"
1 change: 1 addition & 0 deletions code/__DEFINES/chemistry.dm
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@

// Nutrition levels
#define NUTRITION_MAX 550
#define NUTRITION_HIGH 540
#define NUTRITION_NORMAL 400
#define NUTRITION_LOW 250
#define NUTRITION_VERYLOW 50
Expand Down
7 changes: 6 additions & 1 deletion code/__DEFINES/conflict.dm
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@
#define GUN_ANTIQUE (1<<13)
/// Whether the gun has been fired by its current user (reset upon `dropped()`)
#define GUN_RECOIL_BUILDUP (1<<14)
/// support weapon, bipod will grant IFF
/// support weapon, bipod will grant autofire
#define GUN_SUPPORT_PLATFORM (1<<15)
/// No gun description, only base desc
#define GUN_NO_DESCRIPTION (1<<16)
Expand All @@ -90,6 +90,8 @@
#define ATTACH_IGNORE_EMPTY (1<<5)
/// This attachment should activate if you attack() with it attached.
#define ATTACH_MELEE (1<<6)
/// Override for attachies so you can fire them with a single hand . ONLY FOR PROJECTILES!!
#define ATTACH_WIELD_OVERRIDE (1<<7)

//Ammo magazine defines, for flags_magazine

Expand All @@ -99,6 +101,8 @@
#define AMMUNITION_HANDFUL_BOX (1<<2)
#define AMMUNITION_HIDE_AMMO (1<<3)
#define AMMUNITION_CANNOT_REMOVE_BULLETS (1<<4)
/// If this magazine can transfer to other magazines of the same type by slapping one with the other
#define AMMUNITION_SLAP_TRANSFER (1<<5)
//Slowdown from various armors.

/// How much shoes slow you down by default. Negative values speed you up
Expand Down Expand Up @@ -216,6 +220,7 @@
#define UNIFORM_HAS_SENSORS 1
#define UNIFORM_FORCED_SENSORS 2

#define EYE_PROTECTION_NEGATIVE -1
#define EYE_PROTECTION_NONE 0
#define EYE_PROTECTION_FLAVOR 1
#define EYE_PROTECTION_FLASH 2
Expand Down
6 changes: 6 additions & 0 deletions code/__DEFINES/dcs/signals/atom/signals_item.dm
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,9 @@
#define COMSIG_GUN_AUTOFIREDELAY_MODIFIED "gun_autofiredelay_modified"
#define COMSIG_GUN_BURST_SHOTS_TO_FIRE_MODIFIED "gun_burst_shots_to_fire_modified"
#define COMSIG_GUN_BURST_SHOT_DELAY_MODIFIED "gun_burst_shot_delay_modified"

/// from /obj/item/weapon/gun/proc/recalculate_attachment_bonuses() : ()
#define COMSIG_GUN_RECALCULATE_ATTACHMENT_BONUSES "gun_recalculate_attachment_bonuses"

/// from /obj/item/weapon/gun/proc/load_into_chamber() : ()
#define COMSIG_GUN_INTERRUPT_FIRE "gun_interrupt_fire"
4 changes: 4 additions & 0 deletions code/__DEFINES/dcs/signals/signals_global.dm
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,7 @@

/// From
#define COMSIG_GLOB_YAUTJA_ARMORY_OPENED "yautja_armory_opened"

/// From /proc/biohazard_lockdown()
#define COMSIG_GLOB_RESEARCH_LOCKDOWN "research_lockdown_closed"
#define COMSIG_GLOB_RESEARCH_LIFT "research_lockdown_opened"
3 changes: 3 additions & 0 deletions code/__DEFINES/mob_hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,6 @@
#define TRACKER_HIVE "Hive Core"
#define TRACKER_LEADER "Leader"
#define TRACKER_TUNNEL "Tunnel"

//These are used to manage the same HUD having multiple sources
#define HUD_SOURCE_ADMIN "admin"
2 changes: 1 addition & 1 deletion code/__DEFINES/subsystems.dm
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@
#define SS_INIT_INPUT 85
#define SS_INIT_FAIL_TO_TOPIC 84
#define SS_INIT_TOPIC 83
#define SS_INIT_LOBBYART 82
#define SS_INIT_RUST 30
#define SS_INIT_INFLUXDRIVER 28
#define SS_INIT_SUPPLY_SHUTTLE 25
Expand Down Expand Up @@ -162,7 +163,6 @@
#define SS_INIT_PLAYTIME -29
#define SS_INIT_PREDSHIPS -30
#define SS_INIT_OBJECTIVES -31
#define SS_INIT_LOBBYART -33
#define SS_INIT_MINIMAP -34
#define SS_INIT_STATPANELS -98
#define SS_INIT_CHAT -100 //Should be last to ensure chat remains smooth during init.
Expand Down
4 changes: 2 additions & 2 deletions code/__DEFINES/tgs.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// tgstation-server DMAPI

#define TGS_DMAPI_VERSION "6.5.2"
#define TGS_DMAPI_VERSION "6.5.3"

// All functions and datums outside this document are subject to change with any version and should not be relied on.

Expand Down Expand Up @@ -154,7 +154,7 @@
#define TGS_TOPIC var/tgs_topic_return = TgsTopic(args[1]); if(tgs_topic_return) return tgs_topic_return

/**
* Call this as late as possible in [world/proc/Reboot].
* Call this as late as possible in [world/proc/Reboot] (BEFORE ..()).
*/
/world/proc/TgsReboot()
return
Expand Down
1 change: 1 addition & 0 deletions code/_globalvars/bitfields.dm
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ DEFINE_BITFIELD(flags_magazine, list(
"AMMUNITION_HANDFUL_BOX" = AMMUNITION_HANDFUL_BOX,
"AMMUNITION_HIDE_AMMO" = AMMUNITION_HIDE_AMMO,
"AMMUNITION_CANNOT_REMOVE_BULLETS" = AMMUNITION_CANNOT_REMOVE_BULLETS,
"AMMUNITION_SLAP_TRANSFER" = AMMUNITION_SLAP_TRANSFER,
))

DEFINE_BITFIELD(flags_atom, list(
Expand Down
1 change: 0 additions & 1 deletion code/datums/agents/tools/stimulants.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
pill_type_to_fill = /obj/item/reagent_container/pill/stimulant

req_access = null
req_role = null

/obj/item/storage/pill_bottle/ultrazine/antag/id_check(mob/user)
if(!skillcheckexplicit(user, SKILL_ANTAG, SKILL_ANTAG_AGENT))
Expand Down
4 changes: 2 additions & 2 deletions code/datums/agents/tools/tranq_gun.dm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/obj/item/weapon/gun/pistol/tranquilizer
name = "Tranquilizer gun"
desc = "Contains horse tranquilizer darts. Useful at knocking people out."
icon = 'icons/obj/items/weapons/guns/guns_by_faction/upp.dmi'
icon = 'icons/obj/items/weapons/guns/guns_by_faction/event.dmi'
icon_state = "pk9r"
item_state = "pk9r"
current_mag = /obj/item/ammo_magazine/pistol/tranq
Expand All @@ -28,7 +28,7 @@
name = "\improper Tranquilizer magazine (Horse Tranquilizer)"
default_ammo = /datum/ammo/bullet/pistol/tranq
caliber = ".22"
icon = 'icons/obj/items/weapons/guns/ammo_by_faction/upp.dmi'
icon = 'icons/obj/items/weapons/guns/ammo_by_faction/event.dmi'
icon_state = "pk-9_tranq"
max_rounds = 5
gun_type = /obj/item/weapon/gun/pistol/tranquilizer
9 changes: 7 additions & 2 deletions code/datums/components/autofire/autofire.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
var/have_to_reset_at_burst_end = FALSE
///If we are in a burst
var/bursting = FALSE
/// The multiplier for how much slower the parent should fire in automatic mode. 1 is normal, 1.2 is 20% slower, 2 is 100% slower, etc.
var/automatic_delay_mult = 1
///Callback to set bursting mode on the parent
var/datum/callback/callback_bursting
///Callback to ask the parent to reset its firing vars
Expand All @@ -26,7 +28,7 @@
///Callback to set parent's fa_firing
var/datum/callback/callback_set_firing

/datum/component/automatedfire/autofire/Initialize(auto_fire_shot_delay = 0.3 SECONDS, burstfire_shot_delay, burst_shots_to_fire = 3, fire_mode = GUN_FIREMODE_SEMIAUTO, datum/callback/callback_bursting, datum/callback/callback_reset_fire, datum/callback/callback_fire, datum/callback/callback_display_ammo, datum/callback/callback_set_firing)
/datum/component/automatedfire/autofire/Initialize(auto_fire_shot_delay = 0.3 SECONDS, burstfire_shot_delay, burst_shots_to_fire = 3, fire_mode = GUN_FIREMODE_SEMIAUTO, automatic_delay_mult = 1, datum/callback/callback_bursting, datum/callback/callback_reset_fire, datum/callback/callback_fire, datum/callback/callback_display_ammo, datum/callback/callback_set_firing)
. = ..()

RegisterSignal(parent, COMSIG_GUN_FIRE_MODE_TOGGLE, PROC_REF(modify_fire_mode))
Expand All @@ -35,11 +37,13 @@
RegisterSignal(parent, COMSIG_GUN_BURST_SHOT_DELAY_MODIFIED, PROC_REF(modify_burstfire_shot_delay))
RegisterSignal(parent, COMSIG_GUN_FIRE, PROC_REF(initiate_shot))
RegisterSignal(parent, COMSIG_GUN_STOP_FIRE, PROC_REF(stop_firing))
RegisterSignal(parent, COMSIG_GUN_INTERRUPT_FIRE, PROC_REF(hard_reset))

src.auto_fire_shot_delay = auto_fire_shot_delay
src.burstfire_shot_delay = burstfire_shot_delay
src.burst_shots_to_fire = burst_shots_to_fire
src.fire_mode = fire_mode
src.automatic_delay_mult = automatic_delay_mult
src.callback_bursting = callback_bursting
src.callback_reset_fire = callback_reset_fire
src.callback_fire = callback_fire
Expand Down Expand Up @@ -96,6 +100,7 @@

///Hard reset the autofire, happens when the shooter fall/is thrown, at the end of a burst or when it runs out of ammunition
/datum/component/automatedfire/autofire/proc/hard_reset()
SIGNAL_HANDLER
callback_reset_fire.Invoke() //resets the gun
shots_fired = 0
have_to_reset_at_burst_end = FALSE
Expand Down Expand Up @@ -131,7 +136,7 @@
next_fire = world.time + burstfire_shot_delay
if(GUN_FIREMODE_AUTOMATIC)
callback_set_firing.Invoke(TRUE)
next_fire = world.time + auto_fire_shot_delay
next_fire = world.time + (auto_fire_shot_delay * automatic_delay_mult)
if(GUN_FIREMODE_SEMIAUTO)
return
schedule_shot()
6 changes: 3 additions & 3 deletions code/datums/emergency_calls/upp.dm
Original file line number Diff line number Diff line change
Expand Up @@ -77,14 +77,14 @@
var/equipment_path = /datum/equipment_preset/upp/specialist
if(heavy_pick)
if(HAS_FLAG(H.client.prefs.toggles_ert, PLAY_HEAVY) && HAS_FLAG(H.client.prefs.toggles_ert, PLAY_SMARTGUNNER))
equipment_path = pick(/datum/equipment_preset/upp/specialist, /datum/equipment_preset/upp/minigunner)
equipment_path = pick(/datum/equipment_preset/upp/specialist, /datum/equipment_preset/upp/machinegunner)
else if(HAS_FLAG(H.client.prefs.toggles_ert, PLAY_SMARTGUNNER) && !HAS_FLAG(H.client.prefs.toggles_ert, PLAY_HEAVY))
equipment_path = /datum/equipment_preset/upp/minigunner
equipment_path = /datum/equipment_preset/upp/machinegunner
arm_equipment(H, equipment_path, TRUE, TRUE)
else if(smartgunners < max_smartgunners && HAS_FLAG(H.client.prefs.toggles_ert, PLAY_SMARTGUNNER) && check_timelock(H.client, JOB_SQUAD_SMARTGUN, time_required_for_job))
smartgunners++
to_chat(H, SPAN_ROLE_HEADER("You are a sergeant of the Union of Progressive People, a powerful socialist state that rivals the United Americas!"))
arm_equipment(H, /datum/equipment_preset/upp/minigunner, TRUE, TRUE)
arm_equipment(H, /datum/equipment_preset/upp/machinegunner, TRUE, TRUE)
else
to_chat(H, SPAN_ROLE_HEADER("You are a soldier of the Union of Progressive People, a powerful socialist state that rivals the United Americas!"))
arm_equipment(H, /datum/equipment_preset/upp/soldier, TRUE, TRUE)
Expand Down
Loading

0 comments on commit 11a138e

Please sign in to comment.