Skip to content

Commit

Permalink
Merge branch 'Monkestation:master' into upstream-wizard-rightwrong
Browse files Browse the repository at this point in the history
  • Loading branch information
wraith-54321 authored Aug 11, 2023
2 parents 40be8fe + c2907c0 commit 291f714
Show file tree
Hide file tree
Showing 29 changed files with 575 additions and 311 deletions.
2 changes: 1 addition & 1 deletion .github/guides/AUTODOC.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ where you don't want to be tied to the formal layout of the class structure.
On /tg/station we do this by adding markdown files inside the `code` directory
that will also be rendered and added to the modules tree. The structure for
these is deliberately not defined, so you can be as freeform and as wheeling as
you would like.
you would like.

[Here is a representative example of what you might write](http://codedocs.tgstation13.org/code/modules/keybindings/readme.html)

Expand Down
1 change: 1 addition & 0 deletions code/game/gamemodes/dynamic/dynamic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -393,6 +393,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
threat_level = round(GLOB.dynamic_forced_threat_level, 0.1)
else
generate_threat()
threat_level = clamp(threat_level,roundstart_pop_ready*1, roundstart_pop_ready*2) //Minimum threat is playercount and the max is playercount * 2, grabbed from OG Monke
generate_budgets()
set_cooldowns()
log_dynamic("Dynamic Mode initialized with a Threat Level of... [threat_level]! ([round_start_budget] round start budget)")
Expand Down
9 changes: 4 additions & 5 deletions code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm
Original file line number Diff line number Diff line change
Expand Up @@ -225,12 +225,11 @@
ROLE_POSITRONIC_BRAIN,
)
required_candidates = 1
weight = 35
cost = 3
requirements = list(3,3,3,3,3,3,3,3,3,3)
repeatable = TRUE

minimum_players = 8
weight = 25
cost = 5
requirements = list(8,10,10,10,10,10,10,10,10,10)
repeatable = TRUE

/datum/dynamic_ruleset/midround/from_living/autotraitor/trim_candidates()
..()
Expand Down
8 changes: 4 additions & 4 deletions code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,9 @@
weight = 5
cost = 8 // Avoid raising traitor threat above this, as it is the default low cost ruleset.
scaling_cost = 9
requirements = list(8,8,8,8,8,8,8,8,8,8)
antag_cap = list("denominator" = 38)

minimum_players = 8
requirements = list(101,8,8,8,8,8,8,8,8,8)
antag_cap = list("denominator" = 38)

var/autotraitor_cooldown = (15 MINUTES)

Expand Down Expand Up @@ -630,9 +629,10 @@
antag_datum = null
restricted_roles = list()
required_candidates = 0
maximum_players = 4
weight = 3
cost = 0
requirements = list(101,101,101,101,101,101,101,101,101,101)
requirements = list(101,101,101,101,101,101,101,101,101,101) //
flags = LONE_RULESET

/datum/dynamic_ruleset/roundstart/extended/pre_execute()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@
new /obj/item/storage/belt/security/full(src)
new /obj/item/circuitboard/machine/techfab/department/security(src)
new /obj/item/storage/photo_album/hos(src)
new /obj/item/gun/ballistic/automatic/pistol/paco(src) //monkestation edit: paco sec
new /obj/item/ammo_box/magazine/m35(src) //monkestation edit: paco sec

/obj/structure/closet/secure_closet/hos/populate_contents_immediate()
. = ..()
Expand Down Expand Up @@ -113,6 +115,7 @@
new /obj/item/radio/headset/headset_sec/alt(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/flashlight/seclite(src)
new /obj/item/ammo_box/magazine/m35/rubber(src) //monkestation edit: Paco sec

/obj/structure/closet/secure_closet/security/sec

Expand Down
2 changes: 2 additions & 0 deletions code/modules/atmospherics/gasmixtures/gas_types.dm
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,7 @@
specific_heat = 600
name = "Freon"
dangerous = TRUE
purchaseable = TRUE //monkestation edit
gas_overlay = "freon"
moles_visible = MOLES_GAS_VISIBLE *30
fusion_power = -5
Expand All @@ -214,6 +215,7 @@
specific_heat = 15
name = "Hydrogen"
dangerous = TRUE
purchaseable = TRUE //monkestation edit
fusion_power = 2
rarity = 600
base_value = 1
Expand Down
4 changes: 3 additions & 1 deletion code/modules/jobs/job_types/security_officer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -222,9 +222,11 @@ GLOBAL_LIST_EMPTY(security_officer_distribution)
uniform = /obj/item/clothing/under/rank/security/officer
head = /obj/item/clothing/head/helmet/hat/cowboy //monkestation edit: cowboy sec
suit = /obj/item/clothing/suit/armor/secduster //monkestation edit: cowboy sec
suit_store = /obj/item/gun/energy/disabler
suit_store = /obj/item/gun/ballistic/automatic/pistol/paco/no_mag //monkestation edit: Paco sec
backpack_contents = list(
/obj/item/evidencebag = 1,
/obj/item/ammo_box/magazine/m35/rubber = 2, //monkestation edit: Paco sec
/obj/item/ammo_box/magazine/m35 = 1, //monkestation edit: Paco sec
)
belt = /obj/item/modular_computer/pda/security
ears = /obj/item/radio/headset/headset_sec/alt
Expand Down
2 changes: 2 additions & 0 deletions code/modules/research/techweb/all_nodes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1484,6 +1484,7 @@
"zipties",
"inspector",
"mag_autorifle",
"rubber_c35", //monkestation edit: paco sec
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000)

Expand Down Expand Up @@ -1523,6 +1524,7 @@
design_ids = list(
"pin_testing",
"tele_shield",
"lethal_c35", //monkestation edit: paco sec
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 10000)
discount_experiments = list(/datum/experiment/ordnance/explosive/pressurebomb = 5000)
Expand Down
2 changes: 2 additions & 0 deletions code/modules/vending/security.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
/obj/item/storage/box/evidence = 6,
/obj/item/flashlight/seclite = 4,
/obj/item/restraints/legcuffs/bola/energy = 7,
/obj/item/ammo_box/magazine/m35/rubber = 15, //monkestation edit: Paco sec
)
contraband = list(
/obj/item/clothing/glasses/sunglasses = 2,
Expand All @@ -29,6 +30,7 @@
/obj/item/clothing/gloves/tackler = 5,
/obj/item/grenade/stingbang = 1,
/obj/item/watertank/pepperspray = 2,
/obj/item/ammo_box/magazine/m35 = 5, //monkestation edit: Paco sec
)
refill_canister = /obj/item/vending_refill/security
default_price = PAYCHECK_CREW
Expand Down
15 changes: 15 additions & 0 deletions html/changelogs/archive/2023-08.yml
Original file line number Diff line number Diff line change
Expand Up @@ -272,3 +272,18 @@
- rscadd: Added Magical Chem Sprayer
- balance: Replaced Mjollnir with Summon Mjollnir
- balance: Summon rituals are now restricted to 35 or more pop instead of 100 threat
2023-08-04:
lmenvs:
- rscadd: Adds new plush for donator, Ruby Flamewing. Thank you so much!
2023-08-06:
KittyNoodle:
- balance: Freon and hydrogen can now be purchased.
- bugfix: Fixes a lot of "nothing" in atmos uis.
2023-08-08:
MilkForever:
- rscadd: Security officers have been provided with a ballistic firearm, the FS
HG .35 Auto "Paco".
MomoBerri:
- code_imp: Fixed dynamic spawning excessive antagonists on low-pop, and increased
the threat cost of mid-round sleeper agents. Also gives a chance for extended
to roll if population is six or under.
2 changes: 2 additions & 0 deletions monkestation/code/__DEFINES/projectile.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/// The caliber used by the Paco handgun.
#define CALIBER_35 ".35"
82 changes: 82 additions & 0 deletions monkestation/code/game/objects/items/guns/pistol.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
/obj/item/gun/ballistic/automatic/pistol/paco //Sec pistol, Paco from CEV Eris.
name = "\improper FS HG .35 Auto \"Paco\""
desc = "A modern and reliable sidearm for the soldier in the field. Commonly issued as a sidearm to Security Officers. Uses standard and rubber .35 and high capacity magazines."
icon = 'monkestation/icons/obj/guns/paco.dmi'
icon_state = "paco"
inhand_icon_state = "paco"
lefthand_file = 'monkestation/icons/mob/inhands/weapons/guns_lefthand.dmi'
righthand_file = 'monkestation/icons/mob/inhands/weapons/guns_righthand.dmi'
w_class = WEIGHT_CLASS_NORMAL
mag_type = /obj/item/ammo_box/magazine/m35
can_suppress = FALSE
fire_sound = 'sound/weapons/gun/pistol/shot_alt.ogg'
rack_sound = 'sound/weapons/gun/pistol/rack.ogg'
lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg'
bolt_drop_sound = 'sound/weapons/gun/pistol/slide_drop.ogg'

/obj/item/gun/ballistic/automatic/pistol/paco/no_mag
spawnwithmagazine = FALSE

//Lethal ammo for Paco.
/obj/item/ammo_casing/c35
name = ".35 bullet casing"
desc = "A .35 bullet casing."
caliber = CALIBER_35
projectile_type = /obj/projectile/bullet/c35

/obj/item/ammo_box/magazine/m35
name = "\improper \"Paco\" pistol magazine (.35)"
desc = "A .35 pistol magazine for the Paco handgun. Consult your head of security before use."
icon = 'monkestation/icons/obj/guns/ammo.dmi'
icon_state = "35"
base_icon_state = "35"
ammo_type = /obj/item/ammo_casing/c35
caliber = CALIBER_35
max_ammo = 16
multiple_sprites = AMMO_BOX_PER_BULLET
multiple_sprite_use_base = TRUE
w_class = WEIGHT_CLASS_SMALL

/obj/item/ammo_box/magazine/m35/update_icon_state()
. = ..()
icon_state = "[base_icon_state]-[round(ammo_count(), 2)]"

/obj/projectile/bullet/c35
name = ".35 bullet"
damage = 20

/obj/item/ammo_box/c35
name = "ammo box (.35)"
desc = "An ammo box with .35 ammo for the \"Paco\" handgun. This one has a heart on it, d'awww."
icon = 'monkestation/icons/obj/guns/ammo.dmi'
icon_state = "35_ammobox"
ammo_type = /obj/item/ammo_casing/c35
max_ammo = 40
w_class = WEIGHT_CLASS_NORMAL

//Rubber ammo for Paco.
/obj/item/ammo_box/magazine/m35/rubber
name = "\improper \"Paco\" pistol magazine (.35 Rubber)"
desc = "A .35 rubber pistol magazine for the \"Paco\" handgun. Loaded with rubber ammo for assisting in arrests."
icon_state = "35r"
base_icon_state = "35r"
ammo_type = /obj/item/ammo_casing/c35/rubber

/obj/item/ammo_casing/c35/rubber
name = ".35 rubber bullet casing"
desc = "A .35 rubber bullet casing."
projectile_type = /obj/projectile/bullet/c35/rubber

/obj/projectile/bullet/c35/rubber
name = ".35 rubber bullet"
damage = 4
stamina = 35 //10 less than disabler
sharpness = NONE
embedding = null

/obj/item/ammo_box/c35/rubber
name = "ammo box (.35 Rubber)"
desc = "An ammo box with .35 rubber ammo for the \"Paco\" handgun."
icon_state = "35r_ammobox"
ammo_type = /obj/item/ammo_casing/c35/rubber
max_ammo = 40
5 changes: 5 additions & 0 deletions monkestation/code/game/objects/items/plushies.dm
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,8 @@
squeak_override = list('sound/magic/wand_teleport.ogg'=1)
icon_state = "mage"

/obj/item/toy/plush/chefomancer
name = "chef-o-mancer plush"
desc = "A plushie of a budding chef-o-mancer. Rumor is her favorite spell is 'Meat Loaf'. ~Handcrafted lovingly for Ruby Flamewing."
icon = 'monkestation/icons/obj/plushes.dmi'
icon_state = "chef"
24 changes: 24 additions & 0 deletions monkestation/code/modules/cargo/crates/security.dm
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,27 @@
cost = CARGO_CRATE_VALUE * 4
contains = list(/obj/item/knife/combat = 3)
crate_name = "combat knife crate"

/datum/supply_pack/security/paco
name = "FS HG .35 Auto \"Paco\" weapon crate"
desc = "Did security slip and lose their handguns? in that case, this crate contains two \"Paco\" handguns with two magazines of rubber."
cost = CARGO_CRATE_VALUE * 5
access_view = ACCESS_SECURITY
contains = list(
/obj/item/gun/ballistic/automatic/pistol/paco/no_mag = 2,
/obj/item/ammo_box/magazine/m35/rubber = 2,
)
crate_name = "\improper Paco handgun crate"

/datum/supply_pack/security/pacoammo
name = "FS HG .35 Auto \"Paco\" ammo crate"
desc = "Short on ammo? No worries, this crate contains two .35 rubber magazines, two lethally loaded .35 magazines and respective ammo boxes."
cost = CARGO_CRATE_VALUE * 4
access_view = ACCESS_SECURITY
contains = list(
/obj/item/ammo_box/magazine/m35 = 2,
/obj/item/ammo_box/magazine/m35/rubber = 2,
/obj/item/ammo_box/c35 = 1,
/obj/item/ammo_box/c35/rubber = 1,
)
crate_name = ".35 Ammo crate"
4 changes: 4 additions & 0 deletions monkestation/code/modules/loadouts/items/toys.dm
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,10 @@ GLOBAL_LIST_INIT(loadout_toys, generate_loadout_items(/datum/loadout_item/toys))
name = "Tiny Witch Plush"
item_path = /obj/item/toy/plush/tinywitchplush

/datum/loadout_item/toys/chefomancer
name = "Chef-o-Mancer Plush"
item_path = /obj/item/toy/plush/chefomancer

/*
* CARDS
*/
Expand Down
21 changes: 21 additions & 0 deletions monkestation/code/modules/research/designs/security_designs.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/datum/design/rubber_c35
name = ".35 Rubber Ammo Box (Less Lethal)"
id = "rubber_c35"
build_type = PROTOLATHE | AWAY_LATHE
materials = list(/datum/material/iron = 20000)
build_path = /obj/item/ammo_box/c35/rubber
category = list(
RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO,
)
departmental_flags = DEPARTMENT_BITFLAG_SECURITY

/datum/design/lethal_c35
name = ".35 Ammo Box (Lethal)"
id = "lethal_c35"
build_type = PROTOLATHE | AWAY_LATHE
materials = list(/datum/material/iron = 40000)
build_path = /obj/item/ammo_box/c35
category = list(
RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO,
)
departmental_flags = DEPARTMENT_BITFLAG_SECURITY
5 changes: 5 additions & 0 deletions monkestation/code/modules/store/store_items/toys.dm
Original file line number Diff line number Diff line change
Expand Up @@ -212,3 +212,8 @@ GLOBAL_LIST_INIT(store_toys, generate_store_items(/datum/store_item/toys))
name = "Tiny Witch Plush"
item_path = /obj/item/toy/plush/tinywitchplush
item_cost = 10000

/datum/store_item/toys/chefomancer
name = "Chef-o-Mancer Plush"
item_path = /obj/item/toy/plush/chefomancer
item_cost = 10000
Binary file modified monkestation/icons/mob/inhands/weapons/guns_lefthand.dmi
Binary file not shown.
Binary file modified monkestation/icons/mob/inhands/weapons/guns_righthand.dmi
Binary file not shown.
Binary file added monkestation/icons/obj/guns/ammo.dmi
Binary file not shown.
Binary file added monkestation/icons/obj/guns/paco.dmi
Binary file not shown.
Binary file modified monkestation/icons/obj/plushes.dmi
Binary file not shown.
3 changes: 3 additions & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -5270,6 +5270,7 @@
#include "interface\menu.dm"
#include "interface\stylesheet.dm"
#include "interface\skin.dmf"
#include "monkestation\code\__DEFINES\projectile.dm"
#include "monkestation\code\__HELPERS\_lists.dm"
#include "monkestation\code\__HELPERS\mobs.dm"
#include "monkestation\code\__HELPERS\reagents.dm"
Expand Down Expand Up @@ -5329,6 +5330,7 @@
#include "monkestation\code\game\objects\items\effects\washing_machine.dm"
#include "monkestation\code\game\objects\items\food\spaghetti.dm"
#include "monkestation\code\game\objects\items\grenades\monkey_barrel.dm"
#include "monkestation\code\game\objects\items\guns\pistol.dm"
#include "monkestation\code\game\objects\items\guns\shotguns.dm"
#include "monkestation\code\game\objects\items\guns\SRN.dm"
#include "monkestation\code\game\objects\items\implants\hardlight.dm"
Expand Down Expand Up @@ -5736,6 +5738,7 @@
#include "monkestation\code\modules\research\designs\mechfabricator_designs.dm"
#include "monkestation\code\modules\research\designs\medical_designs.dm"
#include "monkestation\code\modules\research\designs\nanite_designs.dm"
#include "monkestation\code\modules\research\designs\security_designs.dm"
#include "monkestation\code\modules\research\nanites\nanite_chamber.dm"
#include "monkestation\code\modules\research\nanites\nanite_chamber_computer.dm"
#include "monkestation\code\modules\research\nanites\nanite_cloud_controller.dm"
Expand Down
9 changes: 8 additions & 1 deletion tgui/packages/tgui/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ const GASES = [
color: 'olive',
},
{
id: 'Freon',
id: 'freon',
path: '/datum/gas/freon',
name: 'Freon',
label: 'Freon',
Expand Down Expand Up @@ -287,6 +287,13 @@ const GASES = [
label: 'Anti-Noblium',
color: 'maroon',
},
{
id: 'nitrium',
path: '/datum/gas/nitrium',
name: 'Nitrium',
label: 'Nitrium',
color: 'brown',
},
] as const;

// Returns gas label based on gasId
Expand Down
Loading

0 comments on commit 291f714

Please sign in to comment.