Commit Graph
39 Commits
Author SHA1 Message Date
nevimer 00ccf0c6b5 Merge remote-tracking branch 'tgstation/master' into upstream-feb12-2026
# Conflicts:
#	.github/CODEOWNERS
#	.github/workflows/compile_changelogs.yml
#	.github/workflows/stale.yml
#	SQL/database_changelog.md
#	_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm
#	code/__DEFINES/atom_hud.dm
#	code/__DEFINES/inventory.dm
#	code/__DEFINES/mobs.dm
#	code/__DEFINES/species_clothing_paths.dm
#	code/__DEFINES/subsystems.dm
#	code/__DEFINES/surgery.dm
#	code/__HELPERS/global_lists.dm
#	code/_globalvars/lists/maintenance_loot.dm
#	code/_globalvars/traits/_traits.dm
#	code/controllers/subsystem/minor_mapping.dm
#	code/controllers/subsystem/processing/quirks.dm
#	code/controllers/subsystem/shuttle.dm
#	code/datums/components/palette.dm
#	code/datums/components/surgery_initiator.dm
#	code/datums/diseases/advance/advance.dm
#	code/datums/hud.dm
#	code/datums/mood.dm
#	code/datums/mutations/chameleon.dm
#	code/datums/quirks/negative_quirks/nyctophobia.dm
#	code/datums/status_effects/debuffs/debuffs.dm
#	code/datums/status_effects/debuffs/drunk.dm
#	code/datums/status_effects/debuffs/slime/slime_leech.dm
#	code/datums/weather/weather.dm
#	code/game/data_huds.dm
#	code/game/objects/items.dm
#	code/game/objects/items/devices/scanners/health_analyzer.dm
#	code/game/objects/items/frog_statue.dm
#	code/game/objects/items/rcd/RLD.dm
#	code/game/objects/items/robot/items/hypo.dm
#	code/game/objects/items/stacks/medical.dm
#	code/game/objects/items/stacks/wrap.dm
#	code/game/objects/items/storage/garment.dm
#	code/game/objects/items/tools/medical/defib.dm
#	code/game/objects/items/weaponry.dm
#	code/game/objects/items/weaponry/melee/misc.dm
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/game/objects/structures/curtains.dm
#	code/game/objects/structures/dresser.dm
#	code/game/objects/structures/girders.dm
#	code/game/objects/structures/maintenance.dm
#	code/game/objects/structures/mirror.dm
#	code/modules/admin/greyscale_modify_menu.dm
#	code/modules/admin/verbs/light_debug.dm
#	code/modules/antagonists/ashwalker/ashwalker.dm
#	code/modules/antagonists/heretic/knowledge/starting_lore.dm
#	code/modules/antagonists/ninja/ninjaDrainAct.dm
#	code/modules/art/paintings.dm
#	code/modules/client/preferences.dm
#	code/modules/client/verbs/ooc.dm
#	code/modules/clothing/head/wig.dm
#	code/modules/events/disease_outbreak.dm
#	code/modules/holodeck/holo_effect.dm
#	code/modules/jobs/job_types/head_of_security.dm
#	code/modules/jobs/job_types/security_officer.dm
#	code/modules/library/skill_learning/generic_skillchips/point.dm
#	code/modules/mining/lavaland/ash_flora.dm
#	code/modules/mining/lavaland/mining_loot/megafauna/ash_drake.dm
#	code/modules/mob/dead/new_player/new_player.dm
#	code/modules/mob/living/basic/guardian/guardian.dm
#	code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm
#	code/modules/mob/living/carbon/carbon.dm
#	code/modules/mob/living/carbon/human/human.dm
#	code/modules/mob/living/carbon/human/human_defines.dm
#	code/modules/mob/living/carbon/life.dm
#	code/modules/mob/living/living.dm
#	code/modules/mob/living/living_defines.dm
#	code/modules/mob/mob.dm
#	code/modules/mob_spawn/ghost_roles/mining_roles.dm
#	code/modules/mod/mod_control.dm
#	code/modules/mod/modules/modules_general.dm
#	code/modules/modular_computers/computers/item/computer_ui.dm
#	code/modules/paperwork/paper.dm
#	code/modules/paperwork/paperbin.dm
#	code/modules/power/lighting/light.dm
#	code/modules/projectiles/guns/energy/kinetic_accelerator.dm
#	code/modules/projectiles/projectile.dm
#	code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm
#	code/modules/reagents/chemistry/reagents/food_reagents.dm
#	code/modules/reagents/chemistry/reagents/other_reagents.dm
#	code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm
#	code/modules/research/xenobiology/crossbreeding/_clothing.dm
#	code/modules/research/xenobiology/crossbreeding/prismatic.dm
#	code/modules/surgery/advanced/brainwashing.dm
#	code/modules/surgery/advanced/lobotomy.dm
#	code/modules/surgery/amputation.dm
#	code/modules/surgery/blood_filter.dm
#	code/modules/surgery/bodyparts/_bodyparts.dm
#	code/modules/surgery/brain_surgery.dm
#	code/modules/surgery/cavity_implant.dm
#	code/modules/surgery/coronary_bypass.dm
#	code/modules/surgery/gastrectomy.dm
#	code/modules/surgery/healing.dm
#	code/modules/surgery/limb_augmentation.dm
#	code/modules/surgery/organ_manipulation.dm
#	code/modules/surgery/revival.dm
#	code/modules/surgery/sleeper_protocol.dm
#	code/modules/surgery/surgery_helpers.dm
#	code/modules/surgery/surgery_step.dm
#	code/modules/unit_tests/_unit_tests.dm
#	code/modules/unit_tests/designs.dm
#	code/modules/unit_tests/icon_state_worn.dm
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_cultist.png
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_headrevolutionary.png
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_provocateur.png
#	code/modules/unit_tests/screenshots/screenshot_husk_body.png
#	code/modules/unit_tests/screenshots/screenshot_husk_body_missing_limbs.png
#	icons/map_icons/clothing/head/_head.dmi
#	icons/map_icons/clothing/shoes.dmi
#	icons/map_icons/items/_item.dmi
#	icons/mob/huds/hud.dmi
#	icons/mob/inhands/64x64_lefthand.dmi
#	icons/mob/inhands/64x64_righthand.dmi
#	icons/obj/machines/computer.dmi
#	tgui/packages/tgui/interfaces/OperatingComputer.jsx
#	tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/MainPage.tsx
#	tgui/packages/tgui/interfaces/PreferencesMenu/types.ts
#	tgui/packages/tgui/interfaces/SurgeryInitiator.tsx
#	tools/icon_cutter/check.py
2026-02-12 23:50:09 -05:00
SmArtKarandGitHub 71a232f03b Makes lizard skin and lizardskin items inherit their "donor's" skin color (#94751)
## About The Pull Request

As title says, skin butchered from humans (currently only applies to
lizardskin) now inherits their owner's skin color, and so do items
(lizardskin boots and hats) made from it.

Also this PR gagsifies lizardskin hats and boots for this very reason.

## Why It's Good For The Game

Consistency, when you butcher a purple lizard you should get purple
lizard boots.

## Changelog
🆑
add: Made lizard skin and lizardskin items inherit their "donor's" skin
color
/🆑
2026-01-12 00:29:35 +00:00
Roxy e28e9fbdba Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-23-10-2025 2025-10-23 17:38:23 -04:00
749643cddb Reworks cargo market elasticity (#93235)
## About The Pull Request
What it says on the tin. Cargo now has new math for market elasticity,
each parameter and what it does is explained below

**1. Refactor**
1. **k_elasticity**: This is the elasticity as before applied on all
exports except now this is a floating-point value that swings from
`0->1` instead of 10e-10 like is the current case. This in laymen terms
is the percentile of an items actual cost that is sold on cargo [0 means
you get no credits, 0.5 means you get 50% of the items cost, 1 means you
get 100% of the items cost]. Whenever an item is sold on cargo this
value decreases by an amount that is determined by the next variable

2. **k_hit_percentile(default 5%)**: This is the value by which an
export `k_elasticity` decreases whenever an export is successful for
every unit of an item sold. The real formulae by which the exports
elasticity decreases is dependent on the total amount sold and is as
follows
<pre>k_elasticity -= amount sold (1 for most cases except stacks) *
k_hit_percentile</pre>
So subsequent exports yield lesser profits cause the elasticity
decreases. Now the rate at which the elasticity recovers is as follows

3. **k_recovery_time(default 10 minutes)**: This is the time (minimum
unit should be seconds) it takes for the elasticity to rebound back to
100% after it has reached full 0 but recovery process starts immediately
if it decreases at any point. So if elasticity becomes say 50% it means
it would take 5 minutes to reach 100% again

**2. Some Balance changes**
1. Profits earned from exporting gas is linear per mole sold so the more
gas you put in the more profits you get HOWEVER the max number of
credits you can make per canister is 15000 cr
2. Selling fish yields higher prices because it's no longer subject to
the old elasticity formula
3. Selling 50 sheets of anything will decrease future sale price by 10%
and will take 8 minutes to rebound back to 100% if it reaches 0

**3. Improvements:**
- `SSProcessing` subsystem no longer processes more than 180+ export
datums from round start itself but now starts out empty. It instead
processes only those exports whose elasticity has been impacted and
later cancels it after elasticity has reached 100% so performance of
this subsystem has been drastically improved
- export datums now respect `abstract_type` meaning they won't be
created and can be used as a skeleton body for subtypes. So datums like
`datum/material` & `datum/material/market` are not created anymore but
only their subtypes are so we save processing power & memory
 - Shaved of a lot of dead exports that went unused

## Changelog
🆑
balance: cargo exports now have different prices with applied elasticity
code: Improved performance of export code
qol: stock blocks can be recycled for materials & show up as stock
blocks in order console sold items
refactor: refactored cargo export code in whole. Report bugs on GitHub
/🆑

---------

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2025-10-18 04:36:09 -04:00
GhomandRoxy 87ce43bb8f The edible component now uses DUPE_SOURCE mode (#89687)
## About The Pull Request
The edible component now uses DUPE_SOURCE mode, which is needed to avoid
conflicts between sources. This includes some other tidbits from my
refactor like renaming dcs/flags.dm to ds/declarations.dm (in virtue of
the fact it doesn't only contain flags anymore even before this PR),
meat materials giving protein and fat reagents to affected atoms instead
of generic nutriment and oil, and the pizza material no longer
containing meat, because margherita pizza, which the material is
extracted from, doesn't contain meat either. The pepperonis were
magically conjured space bs.

## Why It's Good For The Game
There are multiple sources of the edible component and we don't want
issues with that. Also atomizing stuff from my refactor.

## Changelog

🆑
balance: objects made out of meat are no longer classified as gross food
on top of being raw and meaty, and actually contain protein and fat
instead of standard nutriment and oil.
balance: the pizza material stacks, crafted with margherita pizza and
rollig pin mind you, no longer magically contain pepperoni.
/🆑
2025-03-12 16:55:07 -04:00
GhomandGitHub da31ea158c The edible component now uses DUPE_SOURCE mode (#89687)
## About The Pull Request
The edible component now uses DUPE_SOURCE mode, which is needed to avoid
conflicts between sources. This includes some other tidbits from my
refactor like renaming dcs/flags.dm to ds/declarations.dm (in virtue of
the fact it doesn't only contain flags anymore even before this PR),
meat materials giving protein and fat reagents to affected atoms instead
of generic nutriment and oil, and the pizza material no longer
containing meat, because margherita pizza, which the material is
extracted from, doesn't contain meat either. The pepperonis were
magically conjured space bs.

## Why It's Good For The Game
There are multiple sources of the edible component and we don't want
issues with that. Also atomizing stuff from my refactor.

## Changelog

🆑
balance: objects made out of meat are no longer classified as gross food
on top of being raw and meaty, and actually contain protein and fat
instead of standard nutriment and oil.
balance: the pizza material stacks, crafted with margherita pizza and
rollig pin mind you, no longer magically contain pepperoni.
/🆑
2025-03-02 13:15:08 +01:00
8f2c771b5f [MIRROR] Autolathe, protolathe, mech fab and comp printer now use defines for matter bins values. Also some production ui do. [MDB IGNORE] (#21953)
* Autolathe, protolathe, mech fab and comp printer now use defines for matter bins values. Also some production ui do. (#76020)

Changed hardcoded matter bins values to use defined
`SHEET_MATERIAL_AMOUNT` for following stuff: autolathe, protolathe, mech
fabricator and component printer.

`Material Access Bar` and `MaterialIcon` used for protolathes, circuit
printers and etc. now also use defined `SHEET_MATERIAL_AMOUNT`, via
static ui data, to prevent same issues in future.

Also changed some notes in /// parts just because why not.

* Autolathe, protolathe, mech fab and comp printer now use defines for matter bins values. Also some production ui do.

---------

Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
2023-06-23 15:34:52 -07:00
Helg2andGitHub 8a2e6f0eb8 Autolathe, protolathe, mech fab and comp printer now use defines for matter bins values. Also some production ui do. (#76020)
Changed hardcoded matter bins values to use defined
`SHEET_MATERIAL_AMOUNT` for following stuff: autolathe, protolathe, mech
fabricator and component printer.

`Material Access Bar` and `MaterialIcon` used for protolathes, circuit
printers and etc. now also use defined `SHEET_MATERIAL_AMOUNT`, via
static ui data, to prevent same issues in future.

Also changed some notes in /// parts just because why not.
2023-06-21 01:08:51 +00:00
GandalfandGitHub c5d01dfe25 meat (#11703)
* 0

* Update turfs.dm

* e

* Update turfs.dm

* e

* e
2022-02-24 15:07:37 +00:00
210b17557e [MIRROR] Cytology Adjacent Update #2: Carp scale crafting. [MDB IGNORE] (#8682)
* Cytology Adjacent Update #2: Carp scale crafting.  (#61913)

expansion: Adds carp scales, and carp scale crafting.

* Cytology Adjacent Update #2: Carp scale crafting.

Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
2021-10-08 07:47:10 -04:00
KrysonismandGitHub 0f715b38f9 Cytology Adjacent Update #2: Carp scale crafting. (#61913)
expansion: Adds carp scales, and carp scale crafting.
2021-10-08 06:11:35 -04:00
a110c0a342 [MIRROR] Cooked steaks are once again edible. (#6577)
* Cooked steaks are once again edible.

* FF

* Update sheetifier.dm

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-29 16:56:25 +01:00
699cd1e412 [MIRROR] renames metal sheets to iron sheets (#3116)
* renames metal sheets to iron sheets

* Merge branch 'master' into upstream-merge-56643

* yay metal

* Update DeltaStation2_skyrat.dmm

* a

* Update CentCom_skyrat_z2.dmm

* a

* a

Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-05 22:09:50 +00:00
FikouandGitHub 8d586a7cb0 Rename metal sheets to iron sheets (#56643)
It's a specific type of metal, it shouldnt just be called generic "metal".
The reagent, ore and material datum are already called iron.
2021-02-05 15:48:00 +00:00
AzarakandGitHub 7a6c5eefa2 Removes meat and pizza materials (#2540) 2021-01-07 21:05:57 +01:00
6355c9917e [MIRROR] Export scanner doesn't need to link + old bounty code is gone (#2197)
* Export scanner doesn't need to link + old bounty code is gone (#55504)

Removes the Export scanner's need to link with a console and cleans up the old bounty code

* Export scanner doesn't need to link + old bounty code is gone

Co-authored-by: spessbro <51048066+spessbro@users.noreply.github.com>
2020-12-17 08:02:12 +01:00
spessbroandGitHub 05fcf6a4d6 Export scanner doesn't need to link + old bounty code is gone (#55504)
Removes the Export scanner's need to link with a console and cleans up the old bounty code
2020-12-16 19:18:29 +00:00
6603e04fc0 [MIRROR] Crates and bountes are now defined by crate's value and paygrades. Civilian bounty payout is higher and uncheesable. (#2120)
* Crates and bountes are now defined by crate's value and paygrades. Civilian bounty payout is higher and uncheesable.

* Update shuttles.dm

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2020-12-11 00:50:53 +00:00
ArcaneMusicandGitHub e09a9032da Crates and bountes are now defined by crate's value and paygrades. Civilian bounty payout is higher and uncheesable. (#55413)
Does a value-wise refactor of crates and bounties in order to scale the value of these imports and exports to the value of crate exports (500 credits each). Then, I have adjusted the value of crate exports to 200 credits down from 500 to place the most standard unit of profit within cargo to a scale within that of roundstart paygrades currently on station. (350-1400 credits).

This effectively balances one of the biggest disparities left within the in-game economy, which is that cargo's price scales have really never been re-balanced with the considerations of on station prices, and have been still to the same scale as when they were based on cargo points 3 years ago. While admittedly some prices in vendors were scale to those original cargo values, so many of them weren't that it warranted a massive rebalance PR in order to places the scale of these items within an appropriate range of their intended user's cost values.
2020-12-10 23:43:46 +00:00
0a7d88f906 [MIRROR] New exports & bounties (#322)
* New exports & bounties (#52428)

* Update organs.dm

tails :)

* durathread, plastic and cloth exports

* slime extracts for cargo

deffo wont get snatched up by an antag on the way

* paperwork bounties

* cat ears and nerf cat tail value

* buff hypercharged core & nerf rainbow core

* added humanlike meats

* soap bounty

* fun artisanal stuff to export

* already soap bounty i'm dumb

* lower bounty rewards

* `lower plastic value

* moving raw meat exports

* adding humanoid food values

* added export values to human meats

* added sheetza and meat blocks to exports

* nerfed the values big time

* no more plastique

* New exports & bounties

Co-authored-by: spessbro <51048066+spessbro@users.noreply.github.com>
2020-08-13 00:20:22 +02:00
spessbroandGitHub 8acd9d5a1e New exports & bounties (#52428)
* Update organs.dm

tails :)

* durathread, plastic and cloth exports

* slime extracts for cargo

deffo wont get snatched up by an antag on the way

* paperwork bounties

* cat ears and nerf cat tail value

* buff hypercharged core & nerf rainbow core

* added humanlike meats

* soap bounty

* fun artisanal stuff to export

* already soap bounty i'm dumb

* lower bounty rewards

* `lower plastic value

* moving raw meat exports

* adding humanoid food values

* added export values to human meats

* added sheetza and meat blocks to exports

* nerfed the values big time

* no more plastique
2020-08-12 11:41:13 -04:00
GhilkerandGitHub 9532dbd2a8 Hydrogen Gas (#50510)
* new PR no tgui bundle build yet

* tgui bundle built

* atmos.dmi conflict fix 2

* balancing

* tgui bundle fix
2020-04-20 14:47:22 -03:00
b70e5c360c Adds a license press for in perma brig (#49452)
* temp

* adds cargo stuff

* dots

* woops

* Update code/game/machinery/prisonlabor.dm

Co-Authored-By: Jordan Brown <Cyberboss@users.noreply.github.com>

* fixes

* Update code/game/machinery/prisonlabor.dm

Co-Authored-By: Jordan Brown <Cyberboss@users.noreply.github.com>

Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
2020-03-04 23:19:21 +08:00
FikouandEmmett Gaines 730d96ad06 bunch of datum mats stuff mostly related to coins (#46289)
adamantine and mythril are now datum mats (mythril still admin only), adamantine has 1.5 strength buff to whatever is made out of it, mythril adds rpg loot elements to whatever is made out of it
you can now put plastic, adamantine and mythril in the autolathe and coin mint
you can now put titanium in coin mint
switches a bunch of stuff in cargo exports, including mythril and plastic being worth cash money
coin code has been changed to datum mats, the custom sprites have been lost except for antag token
2019-09-17 10:50:32 -04:00
AnturKandvuonojenmustaturska bd72eb3371 Refactors exports and pirate loot gathering. (#39749)
* Pirate export

* Stuff

* ATTEMPT TWO

* Vault area was removed look for control terminal here.

* Fixes and improvments

* cb stuff
2018-08-24 12:50:53 +03:00
81Dentonandvuonojenmustaturska 691dcd4ec1 Botany+Medical bounties, tweaks (#39658)
* Botany+Medical bounties, tweaks

* Adds foodtype var for flavor text, removes duplicate bounty
2018-08-14 00:07:37 +03:00
pubbyandoranges 9ca6661140 [ready] cargo bounties (#37833)
* Cargo Bounties

* Rebalance and merge exports into bounties.

* Tweak and add bounties.

* Fix spelling errors + tweak mech prices.

* Last minute bugfix

* Add bounty consoles to maps.

* Naksu changes

* save 500 cycles woooooooooooooooooooooooooo

* One last price tweak

* Nerf addy and alien sheets
2018-05-20 18:44:11 +12:00
Militairesandoranges 25e309d00a Adds Gondoland and the rare Gondolas (#30530)
A strange race of bear-like beings consisting of a head placed DIRECTLY on a pair of legs, their fur sells for extremely high prices.

The gondoland asteroid is the last natural habitat for these rare creatures.
2017-09-11 08:10:33 +10:00
pubby 866f928ec2 Fixes a cliffhanger comment. 2017-07-30 09:11:32 -05:00
ShizCalevandJordan Brown 59ef81245b Changes some 1s and 0s to TRUE and FALSE (#29144) 2017-07-10 10:31:34 -04:00
ExpletiveandLeo 18807306a0 Fixes 28154: Accidental cargo exploit edition. (#28172) 2017-06-07 22:41:30 -03:00
Iamgoofballandoranges 448d3bc89e Balances Exports finally (#27099)
* Balances Exports finally

Exports have a basic sense of maximum amount, lowering by 1% in value for every sale, raising in 0.1% every 2 ticks up to it's max

* Update exports.dm

* Adds consistent marginal cost function (with decreasing marginal returns) and its associated antiderivative for total cost

* Tweaks get_cost procs and other properties in accordance with the new cost function

* Removes undefined vars causing errors

* Tweaks crates cost property

* I hate MINERAL_MATERIAL_AMOUNT AKA minor snowflake refactor

* Fixes price elasticity comments

* Changes var kelasticity to k_elasticity for better readablity

* Removes meme math obfuscation
2017-05-14 00:19:05 +12:00
ma44andGitHub 9ef4e6a626 Update sheets.dm 2017-05-09 08:50:57 -05:00
bgobanditandAnturK 7ddfe7d65b Bluespace polycrystals and plastitanium are in the exports list now. (#25635) 2017-03-31 20:18:07 +02:00
jughuandoranges e8b621e130 Tweaks some prices of cargo exports (#23412)
* Update sheets.dm

* Update organs.dm

* Update organs.dm

* Update sheets.dm

* badum tss
2017-01-30 10:31:12 +13:00
TechnoAlchemist d1359a3e09 What's it gonna be, loyalty to me? Or loyalty to your country?
(export datum tweak)
2016-04-24 23:24:42 -07:00
TechnoAlchemist 556f611278 makes the path /animalhide 2016-04-24 22:07:51 -07:00
TechnoAlchemist 581a13975b makes goliath plates stackable. 2016-04-24 21:27:48 -07:00
c0 04f1aafa78 Exports 2016-04-13 06:01:40 +03:00