mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-18 19:44:58 +01:00
mayfools
332 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
6e9f2ccfc0 |
Merge remote-tracking branch 'tgstation/master' into upstream-12-15
# Conflicts: # .github/workflows/compile_all_maps.yml # .github/workflows/run_integration_tests.yml # _maps/map_files/CatwalkStation/CatwalkStation_2023.dmm # code/_onclick/hud/credits.dm # code/controllers/subsystem/networks/id_access.dm # code/datums/diseases/advance/advance.dm # code/datums/diseases/advance/symptoms/heal.dm # code/game/machinery/doors/door.dm # code/game/objects/structures/crates_lockers/closets/secure/medical.dm # code/game/objects/structures/crates_lockers/closets/secure/security.dm # code/modules/antagonists/malf_ai/malf_ai_modules.dm # code/modules/jobs/job_types/_job.dm # code/modules/loadout/categories/accessories.dm # code/modules/loadout/loadout_helpers.dm # code/modules/loadout/loadout_items.dm # code/modules/loadout/loadout_preference.dm # code/modules/mob/living/silicon/robot/robot_defense.dm # code/modules/mod/mod_theme.dm # code/modules/projectiles/ammunition/energy/laser.dm # code/modules/reagents/reagent_containers/cups/drinks.dm # code/modules/shuttle/mobile_port/variants/supply.dm # code/modules/surgery/organs/internal/eyes/_eyes.dm # code/modules/unit_tests/screenshots/screenshot_antag_icons_heretic.png # icons/hud/screen_full.dmi |
||
|
|
3248f9b4e8 |
Plasma is once again not affected by elasticity. (#94394)
## About The Pull Request With the changes to elasticity in #93235, elasticity was reworked. However, whether intentional or not, plasma had it's k_elasticity of 0 removed, meaning that plasma sheets were made elastic. Plasma is unique, in that it's intended to have a static export value grandfathered in from the old days ™️, as well as since it's not sold on the GMM, there's less of a point of having it be affected by elasticity. This PR Reimplements it's immunity to elasticity. ## Why It's Good For The Game This is old, old precedent and I think got roped into the elasticity rework without having the context that it's always been immune to elasticity. In addition, it makes sense that the plasma research station would be the ones setting the price on their unique, rare material. I understand that cargo isn't hurting for ways to make more money than god right now, but I'm confident in locking this down as precedent. ## Changelog 🆑 fix: Plasma sheets are once again immune to market elasticity, selling for a static 80 credits each yet again. /🆑 |
||
|
|
0ff70f7497 | adds the cardboard crates to spawners and crafting (#94110) | ||
|
|
baf3837ae8 |
Merge remote-tracking branch 'tgstation/master' into upstream-2025-11-29
# Conflicts: # _maps/RandomRuins/SpaceRuins/derelict_sulaco.dmm # _maps/RandomRuins/SpaceRuins/garbagetruck2.dmm # _maps/map_files/CatwalkStation/CatwalkStation_2023.dmm # _maps/map_files/tramstation/tramstation.dmm # code/_onclick/hud/new_player.dm # code/datums/components/squashable.dm # code/datums/diseases/advance/symptoms/heal.dm # code/datums/diseases/chronic_illness.dm # code/datums/status_effects/buffs.dm # code/datums/status_effects/debuffs/drunk.dm # code/datums/status_effects/debuffs/stamcrit.dm # code/game/machinery/computer/crew.dm # code/game/objects/items/devices/scanners/health_analyzer.dm # code/game/objects/items/wall_mounted.dm # code/game/turfs/closed/indestructible.dm # code/modules/admin/view_variables/filterrific.dm # code/modules/antagonists/heretic/influences.dm # code/modules/cargo/orderconsole.dm # code/modules/client/preferences.dm # code/modules/events/space_vines/vine_mutations.dm # code/modules/mob/dead/new_player/new_player.dm # code/modules/mob/living/carbon/human/death.dm # code/modules/mob/living/carbon/human/species_types/jellypeople.dm # code/modules/mob/living/damage_procs.dm # code/modules/mob/living/living.dm # code/modules/mob_spawn/ghost_roles/mining_roles.dm # code/modules/mob_spawn/mob_spawn.dm # code/modules/projectiles/ammunition/energy/laser.dm # code/modules/projectiles/guns/ballistic/launchers.dm # code/modules/projectiles/guns/energy/laser.dm # code/modules/reagents/chemistry/machinery/chem_dispenser.dm # code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm # code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm # code/modules/reagents/chemistry/reagents/medicine_reagents.dm # code/modules/surgery/healing.dm # code/modules/unit_tests/designs.dm # icons/mob/inhands/items_lefthand.dmi # icons/mob/inhands/items_righthand.dmi # tgui/packages/tgui/interfaces/ChemDispenser.tsx |
||
|
|
d76d2f5438 |
Laser Gun Update: Deep Lore, Gun Variety, Pew Pew (#93520)
## About The Pull Request Updates the laser gun into four proper subtypes: Standard, Pistol, Rifle and Carbine. <img width="229" height="210" alt="image" src="https://github.com/user-attachments/assets/12c03076-8ebf-4d87-8c98-6a8cce6821db" /> Current sprites are pending a palette change. **Standard:** Functions as you would expect. Same as ever. **Pistol**: Lower charge, 20 force, normal sized, recharges faster. **Carbine**: 15 force, 26 mag, two round burst. Projectiles flight slightly faster. Cannot dual-wield. **Rifle**: 20 force. 40 mag. Two round burst. EMP resistant (not immune). Projectiles fly slightly faster. Cannot dual-wield (not that you need to). All but the rifle can be sourced from cargo. You can also buy the sovl version of the laser gun if you're especially nostalgic. ### Armory Changes The Armory now can potentially spawn either pistols, carbines or standard. The weighting leans closer to spawning carbines and standard as opposed to pistols. ### Lore Dump The laser line of weapons now all have lore. That rich, deep lore that every game needs and is totally not important at all to the meat and potatoes of the game. I'm paid by the hour ($0.00) ### Code Tidying Lasers are old and a total mess code-wise so we've tidied up while we're here. ## Why It's Good For The Game Variety is the spice of life and also some of these weapons could have used a face lift. Especially the laser carbine. Both functionaltiy wise and appearance wise. A bit of randomness in the armory means some rounds might have unique outcomes compared to others. Sometimes, items in cargo don't see particularly much use, so peppering in a few random potential deviations can maybe nudge people to utilize variant gear on future rounds. I'm obsessed with writing too much information. I blame Hatterhat. ## Changelog 🆑 add: Three variants of the laser gun; Carbine (replacing the existing one), Pistol and Rifle! Find it (possibly) in your armory today! balance: The armory laser guns might be different variants of the laser gun, rather than always being the standard. The standard is the same as ever, even if it looks different. add: If you care, the sovl version is available as a goodie. And in the hands of pirates... spellcheck: Lore! LORE FOR LASER GUNS! LOOOORE! Examine laser guns closely and you might learn more about them. balance: The new set of laser guns come with brand new sprites. /🆑 --------- Co-authored-by: StaringGasMask <62149527+Exester509@users.noreply.github.com> |
||
|
|
d0ca474789 | Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-2025-11-05 | ||
|
|
85084dbe7c |
[NO GBP] Fixes high export value of seeds (#93661)
## About The Pull Request - Fixes https://github.com/tgstation/tgstation/pull/93235#discussion_r2467112106 Seeds export value now scales with this formulae `(0.1'ish most common seed -> 1 most rarest seed) * base cost(CRATE_VALUE * 0.025). ` so you get the same uniform scale before the elasticity rework. ## Changelog 🆑 fix: exporting seeds won't yield ridiculously large profits /🆑 |
||
|
|
e28e9fbdba | Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-23-10-2025 | ||
|
|
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> |
||
|
|
37aa0e9e44 |
GMM material export respects apply_elastic parameter (#91998)
## About The Pull Request - Fixes #90544 - Fixes #91093 ## Changelog 🆑 fix: stock blocks created via GMM have the correct export value every time & won't apply price elasticity /🆑 |
||
|
|
bd2edb30f2 |
GMM material export respects apply_elastic parameter (#91998)
## About The Pull Request - Fixes #90544 - Fixes #91093 ## Changelog 🆑 fix: stock blocks created via GMM have the correct export value every time & won't apply price elasticity /🆑 |
||
|
|
788f38a21a | [MDB Ignore] Makes toolset arms a subtype of arm implants (#91029) | ||
|
|
640e692c87 | [MDB Ignore] Makes toolset arms a subtype of arm implants (#91029) | ||
|
|
f740a1e9bb |
Corrects mining export names on icebox (#91145)
## About The Pull Request Closes #90666, converts minetypes to defines, gives icebox a minetype define which could also be used later to give mining suits some fur or something. ## Changelog 🆑 fix: Icebox artifact exports no longer claim they're from a lava planet /🆑 |
||
|
|
29d9626d3d |
Corrects mining export names on icebox (#91145)
## About The Pull Request Closes #90666, converts minetypes to defines, gives icebox a minetype define which could also be used later to give mining suits some fur or something. ## Changelog 🆑 fix: Icebox artifact exports no longer claim they're from a lava planet /🆑 |
||
|
|
01949372b1 |
Makes more megafauna loot sellable (#90778)
Clockwork alloy is now in the minor loot category, cain & abel alongside the wildhunter knife are in the major category, and all of the DFM & Wendigo drops are now megafauna category loot. |
||
|
|
3cb05a0f08 |
Makes more megafauna loot sellable (#90778)
Clockwork alloy is now in the minor loot category, cain & abel alongside the wildhunter knife are in the major category, and all of the DFM & Wendigo drops are now megafauna category loot. |
||
|
|
d6c55096da |
Cult armor slowly kills non-cultists & can be exorcised. (#90557)
Wizard and Cult armors were all thrown in randomly with all the rest of the cult items so I moved them into their own files for organization, documented each one, and made the hoodies copy the armor from the suit they are apart of. I also made 3 balance changes here: 1- Hardened cult armor (the spaceproof one), if worn by a non-cultist, will cause random pierce and dislocation wounds to the wearer until they take it off. From my personal testing this killed me in sub-3 minutes while I was slower due to the dislocations. 2- Hardened cult armor can now be blessed with a bible, which will turn it into a new set of chaplain armor. If the chap selected one already then it'll be a new set, otherwise a random set. 3- The hardened cult armor found as icemoon loot has been replaced with a new item, the wolf cloak, which is a hooded neck item that gives you a wolf transformation spell https://github.com/user-attachments/assets/597e259a-3de2-4d2e-a43a-7953ba5482dc Hardened cult armor is the only type of cult suit that can be worn by non-cultists, while every other gear has some way of stopping you (including the blindfold and the flagellant's robes), this gives you about 3 minutes time to use it and isn't a straight up "drop it lol". For the blessing, it's a small interaction that gives one more thing Chaplains can bless. Once Chaplains start blessing cult equipment we see balance tipping in the station's favor, usually balance is not that much of a concern, but this does give the Chaplain a way of expanding their own experience (especially if they're Honorbound) in a round opening more funny ways of roleplaying around a cult round. 🆑 Toriate, JohnFulpWillard add: Adds a Wolf pelt cloak as an icemoon drop, replacing the hardened Cult armor. balance: Cult's hardened armor now deals bleeding and dislocating limbs to non cultists who wear it, and can also be blessed into holy armor. /🆑 |
||
|
|
8dcbed6ac2 |
Revises and adds several new bounties for assistants, roboticists, and medical doctors. (#89772)
## About The Pull Request This pull request makes several balance adjustments to older bounties, primarily for the roboticist and assistant. Additionally, this adds a new type of medical doctor bounty as well. ### Bounty Modifications: **Assistant**: Toolbox bounty The toolbox bounty now requests 1 toolbox instead of 6. However, the toolbox bounty now requires a fully packed mechanical toolbox worth of contents. That means any toolbox, containing a screwdriver, wrench, welding tool, crowbar, analyzer, and wire cutters. When shipped, non-toolbox contents are dropped. Why It's Good For The Game (**WIGFTG**): This bounty follows bad design principles, being a bounty that can be solved entirely from a lathe. For any of these cases, we want to either replace them or recontexualize them into an activity that forces players to either learn more about the mechanics in and around that area as a form of played tutorial, give them a toe-dip into the mechanics required to complete the activity, or perform an activity that makes the station better for having completed it. For the toolbox bounty, this goes all in on teaching players about the full set of toolbox equipment, instead of just needing one printable item, it takes them through the full autolathe menu and gives them plausible deniability for getting a full set of tools. **Assistant:** Potted Plants. The potted plant bounty now requires 3 potted plants as opposed to 8. Most stations are going to be completely devoid of potted plants after collecting 8 of these, where lowering the quantity to 3 allows for a larger amount of competition for this type of bounty. This also disallows using plastic potted plants from being used in the bounty as a trade off, as real potted plants are available through other means. **WIGFTG**: Removes a lathe-solved bounty, and adjusts the quantity to compensate for the fact that previously you would loot the entire station of all of it's potted plants in order to complete this bounty one time. **Assistant:** Action Figures -> Toys Action figures and their general availability widely varies by maps. At best, you can snag one per office on (I think) delta, and at worse you'll need to fish them out of arcade machines across the station. Considering how often new toys are added to the vending machine, this can be a very raw deal where you might be spending 10s of minutes just for maybe one or two action figures. Instead, it feels like a wider and better solution is to just make this touch the whole toys category. WIGFTG: For the toys bounty, it's far too scarce to complete regularly, but instead now it gives makes players interact with the arcade machine wholistically, which in turn requires players to have to play an arcade machine just enough that they're likely to gains a level in the gamer skill, and serve as a primer to interact with how skills interact with the round at large. Granted, it's the gamer skill, so it's not the end of the world if players are getting skill increases here as opposed to other skills that may have more of an effect on the round at large. **Assistant:** Pens. Fuck this bounty. I have removed it. **WIGFTG**: Allow me to elaborate. So the pens bounty requires 10 pens. However, it requires specifically `/obj/item/pen`, no subtypes. `/obj/item/pen` is not printable. It is not found at quantities that make it easy to specifically complete. You cannot use red pens. Or fountain pens. Or blue pens. Or Crayons. Just standard black pens that spawn in your PDA and on paper bins. And you need 10. There is **A** printable pen, however, `/obj/item/pen/red/security`, which is however printable from autolathes, leading many players and myself to think that this is another easy printable bounty. But EVEN THEN, even if those pens WERE ACCEPTABLE, having to manually carry 10 tiny objects to complete a bounty worth not even 200 credits to the bounty holder? This just sucks. It's Bleem. Get it outta here. **Robotics**: All current mech bounties (MK 2 Ripley, Clarke, Odysseus, Gygax, and Durand) Robotics bounties have been reworked. Now, mecha bounties require that a new mecha of that type be built, and that a holodiagnostic scan be completed of the mech. This can be done once-per mech, which will print out a holodiagnostic sheet onto the floor. This sheet is what is turned in for the bounty. As a result, the value of these bounties have been roughly halved. For those looking to collect the rest of the previous value, all 5 of these mechs can now be sold on the cargo shuttle for the remaining value of the old bounties. **WIGFTG**: The biggest hurdle for roboticists when it comes to economy is twofold: Roboticist need resources far more than most other jobs in the game. No metal means no cyborgs, or mechs, or cool equipment for robotics. But, if a roboticist needs credits, they have to trade away a new mech in exchange for some of the largest credit pool bounties in the game. If they can't spend those credits, or can't receive anything using those credits, that's effort wasted. There's a tremendous amount of uncertainty when it comes to robotics being able to meaningfully interact with the credit economy as it currently stands, or being able to leverage the credit economy to solve any of their issues. If the player really does just want to sell their mech for credits, this also provides them with a method of doing so that will still reward them even further if they feel they truly do not need it. Side note, the cargo loader mech "old bess" has the trait provided by generating a diagnostic already, preventing them from just scanning that for an easy minute 1 bounty. Ultimately, having to sell a mech for credits as opposed to getting to use it is not *fun*. Getting to get paid for doing your job, and getting the benefits of something you'll have spend a reasonable amount of time and the station's resources on is *fun*. It's a better pay off. It's why we're here.  **Medical:** Crew Scan Bounties. Medical staff are now given the chance to perform routine medical scan bounties. These require a medical doctor to scan another crew member who is above 90% health, and then print the reports to submit. Some stipulations: * The report cannot be of the bounty holder. * A scanned crewmate must be scanned above 90% heath. * When the report is printed, the target is given a trait for 5 minutes, `TRAIT_RECENTLY_TREATED`, which disqualifies them being the target of a submitted medical report. This is to encourage the doctor to check up on several members of the crew when submitting this bounty. **WIGFTG**: Medical bounties are in an awkward place, honestly. They are possible to become purely printable bounties using either advanced organs, or through the organ grower. However, both of these outcomes are research locked, and will require a more through look down the line, don't get me wrong. In the meantime, this falls squarely under that area of "getting medical doctor bounties to be more closely aligned with doing what they're already supposed to be doing". I also floated the idea of making medical bounties pick a random crewmate for a check-up as opposed to a few different members of the crew from anyone. I might follow up on that at a later date, but this PR was already getting a bit overloaded.  ### Some other things tacked on here: I swear I'll be fast. The `/obj/item/paper/medical_report` created is a new subtype of paper as opposed to the old type that was used by health analyzers, which holds the last scanned mob as a weakref as opposed to just creating a snowflaked paper as we were doing before. The bounty pad, when it generates it's list of bounties, now works slightly differently so that there's no chance of getting a list of three "random" bounties that are all exactly the same thing, called in a new proc, `generate_bounty_list()`. I've added a new debug item, called the `/obj/item/bounty_voucher`. This item allows you to use it in-hand and it gives the activating player a new bounty from a list of all possible bounties. This makes my life, just specifically just me and nobody else, easier when testing bounties. As mentioned above, the mecha UI required adding a new button to it in order to create holoscans. It's fairly innocuous if I do say so myself, but I can make further tweaks if it's an issue. ## Why It's Good For The Game I've sprinkled a good bit of this in above, but in general, bounties needed some more TLC to make sure they align with their place as a tertiary source of making money in the game. I've talked about this before in some now-ancient design documents, but in summary, there's three forms of credit sources in the game: * Primary sources: This is regular payroll, earned by playing the game when the economy SS fires. In theory, this is how much money you can spend without needing to think about making a purchase most of the time. * Secondary sources: This is from sources like tourist bots. Ignore the design decisions they inhabit, they're gameplay loops that allow you to make additional credits while still performing the functions of your job for the station, which in tourist bot's case, is making food and drinks and serving people, making up for any costs incurred by their presence. * Tertiary sources: This is bounties. These are activities that exist as a fallback from the secondary sources, where you may not be performing the duties of your job in order to get credits, should they be more critical as a resource than the service you provide to the station as a result. ...Everyone has been fairly clear that doing bounties is not very good. If you're playing medical doctor and want a shiny medical doctor thing, you would hope that the majority of your time is spent still playing medical doctor, or scientist, or whatever. However, of all the jobs that have fairly sub-par bounties, the one job that I've heard time and again that I actually got *right* was surprisingly, security officer. Their sets of bounties, (Which aren't just looting the locker room mind you...) between the contraband bounty and the n-spect scanner bounties, actually encourages players to basically do tasks that are already part of their job obligations, without needing to run to the nearest lathe or to _steal 8 boar tusks that drop from the barrens_. The bounties are basically, "Go on patrol to this area", "look for suspicious items on the station", etc. In effect, those are *secondary credit sources*. Which is fantastic! It gave me the idea to revisit a few of these job bounties to try and make them a bit less exhausting to have to deal with, and as usual I got a bit distracted and the scope got a bit too big and now it's march. God damnit. But yeah if this goes well, I'd love to see about adjust a few of the bounty methodologies to be in-line with the changes I've implemented here. More bounties that encourage players to be doing what they're already doing, bounties that encourage players to learn more about the game when it comes to assistant bounties or that encourage them to get a toe-dip report on mechanics that they may not be introduced to yet, and get rid of some of the CBT bounties that nobody in their god damn mind wants to do. ## Changelog 🆑 add: New Medical bounty! Scan crewmates who have been healed or currently have a clean bill of health, and ship the medical report to prove that you're not accidently letting them die on your watch. Most of the time. balance: Assistant bounties for toolboxes now only require 1, but the toolbox must be fully stocked like standard mechanical toolboxes. balance: Potted plant bounties no longer accept plastic plants. They only require 3 plants now, however. balance: The action figure bounty now only requires toys instead. del: Removed the pens bounty. balance: The robotics mech bounty now requires a diagnostic scan of a newly completed mech as opposed to sending the whole mech itself. Diagnostic scans can now be generated by riding in a mech and completing the action from the UI menu. Mech bounties are worth about half as much. add: Mechs can be sold on the cargo shuttle for the remaining half of the value from previous mech bounties. fix: You can now no longer roll duplicates of the same bounties when generating a new bounty from the civilian bounty console. /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
ff42163d0b |
Cult armor slowly kills non-cultists & can be exorcised. (#90557)
## About The Pull Request Wizard and Cult armors were all thrown in randomly with all the rest of the cult items so I moved them into their own files for organization, documented each one, and made the hoodies copy the armor from the suit they are apart of. I also made 3 balance changes here: 1- Hardened cult armor (the spaceproof one), if worn by a non-cultist, will cause random pierce and dislocation wounds to the wearer until they take it off. From my personal testing this killed me in sub-3 minutes while I was slower due to the dislocations. 2- Hardened cult armor can now be blessed with a bible, which will turn it into a new set of chaplain armor. If the chap selected one already then it'll be a new set, otherwise a random set. 3- The hardened cult armor found as icemoon loot has been replaced with a new item, the wolf cloak, which is a hooded neck item that gives you a wolf transformation spell https://github.com/user-attachments/assets/597e259a-3de2-4d2e-a43a-7953ba5482dc ##### - Code bounty by Ezel/Improvedname ## Why It's Good For The Game Hardened cult armor is the only type of cult suit that can be worn by non-cultists, while every other gear has some way of stopping you (including the blindfold and the flagellant's robes), this gives you about 3 minutes time to use it and isn't a straight up "drop it lol". For the blessing, it's a small interaction that gives one more thing Chaplains can bless. Once Chaplains start blessing cult equipment we see balance tipping in the station's favor, usually balance is not that much of a concern, but this does give the Chaplain a way of expanding their own experience (especially if they're Honorbound) in a round opening more funny ways of roleplaying around a cult round. ## Changelog 🆑 Toriate, JohnFulpWillard add: Adds a Wolf pelt cloak as an icemoon drop, replacing the hardened Cult armor. balance: Cult's hardened armor now deals bleeding and dislocating limbs to non cultists who wear it, and can also be blessed into holy armor. /🆑 |
||
|
|
753d8e5ba4 | Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-25-04a | ||
|
|
fbbddbb012 |
Revises and adds several new bounties for assistants, roboticists, and medical doctors. (#89772)
## About The Pull Request This pull request makes several balance adjustments to older bounties, primarily for the roboticist and assistant. Additionally, this adds a new type of medical doctor bounty as well. ### Bounty Modifications: **Assistant**: Toolbox bounty The toolbox bounty now requests 1 toolbox instead of 6. However, the toolbox bounty now requires a fully packed mechanical toolbox worth of contents. That means any toolbox, containing a screwdriver, wrench, welding tool, crowbar, analyzer, and wire cutters. When shipped, non-toolbox contents are dropped. Why It's Good For The Game (**WIGFTG**): This bounty follows bad design principles, being a bounty that can be solved entirely from a lathe. For any of these cases, we want to either replace them or recontexualize them into an activity that forces players to either learn more about the mechanics in and around that area as a form of played tutorial, give them a toe-dip into the mechanics required to complete the activity, or perform an activity that makes the station better for having completed it. For the toolbox bounty, this goes all in on teaching players about the full set of toolbox equipment, instead of just needing one printable item, it takes them through the full autolathe menu and gives them plausible deniability for getting a full set of tools. **Assistant:** Potted Plants. The potted plant bounty now requires 3 potted plants as opposed to 8. Most stations are going to be completely devoid of potted plants after collecting 8 of these, where lowering the quantity to 3 allows for a larger amount of competition for this type of bounty. This also disallows using plastic potted plants from being used in the bounty as a trade off, as real potted plants are available through other means. **WIGFTG**: Removes a lathe-solved bounty, and adjusts the quantity to compensate for the fact that previously you would loot the entire station of all of it's potted plants in order to complete this bounty one time. **Assistant:** Action Figures -> Toys Action figures and their general availability widely varies by maps. At best, you can snag one per office on (I think) delta, and at worse you'll need to fish them out of arcade machines across the station. Considering how often new toys are added to the vending machine, this can be a very raw deal where you might be spending 10s of minutes just for maybe one or two action figures. Instead, it feels like a wider and better solution is to just make this touch the whole toys category. WIGFTG: For the toys bounty, it's far too scarce to complete regularly, but instead now it gives makes players interact with the arcade machine wholistically, which in turn requires players to have to play an arcade machine just enough that they're likely to gains a level in the gamer skill, and serve as a primer to interact with how skills interact with the round at large. Granted, it's the gamer skill, so it's not the end of the world if players are getting skill increases here as opposed to other skills that may have more of an effect on the round at large. **Assistant:** Pens. Fuck this bounty. I have removed it. **WIGFTG**: Allow me to elaborate. So the pens bounty requires 10 pens. However, it requires specifically `/obj/item/pen`, no subtypes. `/obj/item/pen` is not printable. It is not found at quantities that make it easy to specifically complete. You cannot use red pens. Or fountain pens. Or blue pens. Or Crayons. Just standard black pens that spawn in your PDA and on paper bins. And you need 10. There is **A** printable pen, however, `/obj/item/pen/red/security`, which is however printable from autolathes, leading many players and myself to think that this is another easy printable bounty. But EVEN THEN, even if those pens WERE ACCEPTABLE, having to manually carry 10 tiny objects to complete a bounty worth not even 200 credits to the bounty holder? This just sucks. It's Bleem. Get it outta here. **Robotics**: All current mech bounties (MK 2 Ripley, Clarke, Odysseus, Gygax, and Durand) Robotics bounties have been reworked. Now, mecha bounties require that a new mecha of that type be built, and that a holodiagnostic scan be completed of the mech. This can be done once-per mech, which will print out a holodiagnostic sheet onto the floor. This sheet is what is turned in for the bounty. As a result, the value of these bounties have been roughly halved. For those looking to collect the rest of the previous value, all 5 of these mechs can now be sold on the cargo shuttle for the remaining value of the old bounties. **WIGFTG**: The biggest hurdle for roboticists when it comes to economy is twofold: Roboticist need resources far more than most other jobs in the game. No metal means no cyborgs, or mechs, or cool equipment for robotics. But, if a roboticist needs credits, they have to trade away a new mech in exchange for some of the largest credit pool bounties in the game. If they can't spend those credits, or can't receive anything using those credits, that's effort wasted. There's a tremendous amount of uncertainty when it comes to robotics being able to meaningfully interact with the credit economy as it currently stands, or being able to leverage the credit economy to solve any of their issues. If the player really does just want to sell their mech for credits, this also provides them with a method of doing so that will still reward them even further if they feel they truly do not need it. Side note, the cargo loader mech "old bess" has the trait provided by generating a diagnostic already, preventing them from just scanning that for an easy minute 1 bounty. Ultimately, having to sell a mech for credits as opposed to getting to use it is not *fun*. Getting to get paid for doing your job, and getting the benefits of something you'll have spend a reasonable amount of time and the station's resources on is *fun*. It's a better pay off. It's why we're here.  **Medical:** Crew Scan Bounties. Medical staff are now given the chance to perform routine medical scan bounties. These require a medical doctor to scan another crew member who is above 90% health, and then print the reports to submit. Some stipulations: * The report cannot be of the bounty holder. * A scanned crewmate must be scanned above 90% heath. * When the report is printed, the target is given a trait for 5 minutes, `TRAIT_RECENTLY_TREATED`, which disqualifies them being the target of a submitted medical report. This is to encourage the doctor to check up on several members of the crew when submitting this bounty. **WIGFTG**: Medical bounties are in an awkward place, honestly. They are possible to become purely printable bounties using either advanced organs, or through the organ grower. However, both of these outcomes are research locked, and will require a more through look down the line, don't get me wrong. In the meantime, this falls squarely under that area of "getting medical doctor bounties to be more closely aligned with doing what they're already supposed to be doing". I also floated the idea of making medical bounties pick a random crewmate for a check-up as opposed to a few different members of the crew from anyone. I might follow up on that at a later date, but this PR was already getting a bit overloaded.  ### Some other things tacked on here: I swear I'll be fast. The `/obj/item/paper/medical_report` created is a new subtype of paper as opposed to the old type that was used by health analyzers, which holds the last scanned mob as a weakref as opposed to just creating a snowflaked paper as we were doing before. The bounty pad, when it generates it's list of bounties, now works slightly differently so that there's no chance of getting a list of three "random" bounties that are all exactly the same thing, called in a new proc, `generate_bounty_list()`. I've added a new debug item, called the `/obj/item/bounty_voucher`. This item allows you to use it in-hand and it gives the activating player a new bounty from a list of all possible bounties. This makes my life, just specifically just me and nobody else, easier when testing bounties. As mentioned above, the mecha UI required adding a new button to it in order to create holoscans. It's fairly innocuous if I do say so myself, but I can make further tweaks if it's an issue. ## Why It's Good For The Game I've sprinkled a good bit of this in above, but in general, bounties needed some more TLC to make sure they align with their place as a tertiary source of making money in the game. I've talked about this before in some now-ancient design documents, but in summary, there's three forms of credit sources in the game: * Primary sources: This is regular payroll, earned by playing the game when the economy SS fires. In theory, this is how much money you can spend without needing to think about making a purchase most of the time. * Secondary sources: This is from sources like tourist bots. Ignore the design decisions they inhabit, they're gameplay loops that allow you to make additional credits while still performing the functions of your job for the station, which in tourist bot's case, is making food and drinks and serving people, making up for any costs incurred by their presence. * Tertiary sources: This is bounties. These are activities that exist as a fallback from the secondary sources, where you may not be performing the duties of your job in order to get credits, should they be more critical as a resource than the service you provide to the station as a result. ...Everyone has been fairly clear that doing bounties is not very good. If you're playing medical doctor and want a shiny medical doctor thing, you would hope that the majority of your time is spent still playing medical doctor, or scientist, or whatever. However, of all the jobs that have fairly sub-par bounties, the one job that I've heard time and again that I actually got *right* was surprisingly, security officer. Their sets of bounties, (Which aren't just looting the locker room mind you...) between the contraband bounty and the n-spect scanner bounties, actually encourages players to basically do tasks that are already part of their job obligations, without needing to run to the nearest lathe or to _steal 8 boar tusks that drop from the barrens_. The bounties are basically, "Go on patrol to this area", "look for suspicious items on the station", etc. In effect, those are *secondary credit sources*. Which is fantastic! It gave me the idea to revisit a few of these job bounties to try and make them a bit less exhausting to have to deal with, and as usual I got a bit distracted and the scope got a bit too big and now it's march. God damnit. But yeah if this goes well, I'd love to see about adjust a few of the bounty methodologies to be in-line with the changes I've implemented here. More bounties that encourage players to be doing what they're already doing, bounties that encourage players to learn more about the game when it comes to assistant bounties or that encourage them to get a toe-dip report on mechanics that they may not be introduced to yet, and get rid of some of the CBT bounties that nobody in their god damn mind wants to do. ## Changelog 🆑 add: New Medical bounty! Scan crewmates who have been healed or currently have a clean bill of health, and ship the medical report to prove that you're not accidently letting them die on your watch. Most of the time. balance: Assistant bounties for toolboxes now only require 1, but the toolbox must be fully stocked like standard mechanical toolboxes. balance: Potted plant bounties no longer accept plastic plants. They only require 3 plants now, however. balance: The action figure bounty now only requires toys instead. del: Removed the pens bounty. balance: The robotics mech bounty now requires a diagnostic scan of a newly completed mech as opposed to sending the whole mech itself. Diagnostic scans can now be generated by riding in a mech and completing the action from the UI menu. Mech bounties are worth about half as much. add: Mechs can be sold on the cargo shuttle for the remaining half of the value from previous mech bounties. fix: You can now no longer roll duplicates of the same bounties when generating a new bounty from the civilian bounty console. /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
eb0d9bffa2 |
Fixes some stupid stuff going on with food export. (#90089)
## About The Pull Request The way this is implemented right now is stupid as fuck. Basically, if you export a well-priced dish, all other food servings after it will sell for the same price, provided exports are kept as singletons. This makes me want to ping the author of the PR that did this and yell at them, but whatever. ## Why It's Good For The Game Fixing an issue that's also causing the cargo_crate_sanity unit test to fail so many times. Closes #90075 Closes #90073 Closes #90087 Closes #90091 At least until they pop up again. ## Changelog 🆑 fix: Fixing an issue with food exports. /🆑 |
||
|
|
498baeecd1 |
Hotfix for Stock Market Exploit. (#90060)
## About The Pull Request So when I made #89674, I made a miiiinor slight basic error when it came to the quantity assigned to sheets of materials when they're sold, using the quantity as referenced by an export report. That quantity was then brought over to the export value, for gathering the cost. Cost when sold in an export report is reported as the units of material in those sheets, while stock blocks actually care about the sheet quantity, making the value actually 100x larger than it should be. I caught this super fast while playing a round last night, but I needed to just quality check to make sure there's no other weird inconsistencies. Such as the stack of 50 uranium I added for debug and testing purposes actually only holding 25 sheets. Things like that. Stock blocks will now actually fluidly recalc their market price after going fluid, because as it turns out, the fluid var isn't used in price calculation, which was an easy fix. ## Why It's Good For The Game 🐛 💥 Killing some fairly egregious oversights on the stock market sales side of things. Thank you for your patience. ## Changelog 🆑 fix: Stock blocks that have gone liquid should properly recalculate their cost when possible. fix: Spawned sheets of uranium now actually hold 50 sheets. /🆑 |
||
|
|
eca216288b |
Material market sales now are subject to elasticity. (#89674)
## About The Pull Request This PR serves as an alternative to #89638. For this proposal, stocks are now subject to market elasticity, similar to most other standard exports in-game. As a result, the value of a stock is going to scale downward through the quantity that they're sold at, whether as a stack of material or as a stock block at a given export rate. A material's new, elastically modified price can then be reassessed by scanning it with an export scanner. There was a good bit of behind the scenes work that came with making this work properly, but the short version of it is as follows: Stock blocks are no longer their own datum export, and stock blocks are now dynamically sorted into their appropriate export datum so that the `datum/export` `cost` variable can properly track elasticity whether between the sheet of the block form of the item. `Get_cost()` now calculates the cost based on the non-elastic form when saving to the block, and then when assessed for sale elasticity is applied on the block sale instead so as to not apply elasticity twice and make them worthless. I axed the `MARKET_PROFIT_MODIFIER` define and removed it from calculation. Originally it was meant as a crude alternative to a floodgate and sales factor that would change how much a stock block is worth in Lou of an actual elastic modifier, but with this implemented I feel confident in removing this. The wording of this is also reflected in the instructions tab of the stock market as well. Lastly, there are three minor things but they came up during testing and felt appropriate to tweak, but otherwise I'm happy to atomize out because I was just kinda on a roll: * I added a small light to the material market when on and powered, as 50% of the sprite is a big hologram light and it only makes sense that it would emit some light to the surroundings, albeit not a high range. * The material market now requires power to create stock blocks. * Refined Bluespace crystals (`/obj/item/stack/ore/bluespace_crystal/refined`) and other similar stacks of ore will now throw a warning if the amount or value is less than 1 in either case, preventing you from making a functionally useless stock block. ## Why It's Good For The Game Technically fixes #79978 ? This solution still enables for the stock market to exist in a meaningful way, prevents it from being an insanely powerful method of getting far too many credits too quickly by basically implementing a soft cooldown system respective to each material export type, and means that in avoiding that system, requires for cargo to alternate between a few different types of materials, which should *hopefully* allow for cargo to also be incentivized to actually deposit some of it's purchased materials into the station's resources respectively. The QOL and fix changes mentioned at the bottom of the first section allow for there to be fewer edge cases situations where the crew is unable to sell items that would functionally have zero value without some rather cheesy implementations of how stock blocks currently work by preventing otherwise invalid stock blocks from being made, as well as to make it behave in a way more fitting of a standard machine on the station. Also just in general enables a bit less duplicate code by relying a bit more on `export_items_and_contents()` to gather quantities and values for then redistributing back into the stock blocks, either for sale or for storage. ## Changelog 🆑 balance: Sheets of material and stock blocks are now subject to elastic price changes. AKA, if you sell materials, their price will go down after sale and will return after some time. fix: Stock blocks can no longer be made with no value or with a quantity of zero material. fix: The GMM Machine can now no longer create stock blocks when unpowered. qol: The GMM machine now lights up when powered. /🆑 |
||
|
|
5624a33c26 |
Adds a unit test for Cargo Crates to prevent infinite credit oversights. (#89023)
## About The Pull Request I was kinda shocked that we didn't have something for this considering that it's an unspoken rule of cargo to check that a crate does not sell back for more than it's price and that the one comment saying to do so has been doing some heavy lifting for the last 12 years. I'm a novice when it comes to unit testing specifically so hopefully the smoothing out that needs to be done should be fairly quick. *Edit (2/22/25):* The following changes were also made in order to allow for this unit test to work smoothly: Exports now have a market define added to them, as the purpose of this unit test is to test exports that occur on the station, bought from supply and then sold back to supply. As such, these market defines exclude exports specific to pirates (since the cargo shuttle cannot sell living mobs back, preventing you from making 10k per parrot crate.). I've also added the `abstract` variable to some export datums, to signify that a given export is either variable, or not meant to be compared against the value of it's own container, such as with gas canister's base export value as their export datums are generated dynamically. (The subtypes are not abstract, however.) The verb, `/mob/living/verb/tally_physical_credits()` has been changed to `/mob/living/proc/tally_physical_credits()`, because that's my B and does effect some economy back end but it's a one line fix so I just absent-mindedly fixed it here instead of atomizing it out. I can one-line it otherwise. Mulebots now no longer runtime on spawn as they set their own to their own `get_turf` as opposed to pulling their `loc`. A few supply packs have had their prices bumped up slightly to actually pass the test itself: * `/datum/supply_pack/misc/candles_bulk` * `/datum/supply_pack/security/armor` * `/datum/supply_pack/security/helmets` * `/datum/supply_pack/security/baton` ## Why It's Good For The Game Prevents future infinite credit bugs that could have been missed by simply checking the sale value in game. ## Changelog 🆑 fix: To prevent infinite sales issues, security helmets, armors, and batons packs now all cost 600 credits, up from 400. fix: Candle packs now cost 400 credits, up from 300, and candles now sell for 12.25 cr each. /🆑 --------- Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> |
||
|
|
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. /🆑 |
||
|
|
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. /🆑 |
||
|
|
b6b8306fda | Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-25-02a | ||
|
|
3a36656ae8 |
Adds trailing comma to lists/canisters.dm and removes single letter vars from cargo/exports/large_objects.dm (#89273)
## About The Pull Request title ## Why It's Good For The Game slightly better code quality? ## Changelog not player facing |
||
|
|
fdcf242610 | Tongue cargo export spellcheck (#89078) | ||
|
|
0d26dc635d | Harvesting organs from other players and selling them is now rewarded (#88847) | ||
|
|
e34c687669 |
[NO GBP] Post-Material rods fixes and tweaks (#87696)
This PR follows the material fishing rod PR, which had a small issue in which I had forgotten to add a return value to a proc and thus fish caught from material fishing rods would never be made of that specific material. I've tweaked some values for materials and fishing rods, I felt some of the "better" rods were a bit too fast, and some downright let you skip the fishing minigame with zero to one level. Also, I felt that, despite making fishing easier kinda, the area of the bait slider still felt a tad too small, so I've introduced a height multiplier for the slider so that it could cover more space, depending on the strength multiplier of the material (for once, not a new niche variable). This doesn't apply to fishing rods with strength multiplier less than 1 because they don't need to be made worse. About fish and cargo, I've added a soft cap (a 0.86 exponent) to fish selling price. It shouldn't affect the wide majority of fish you catch, however it does affect those that sell for over 6k per unit, which are few and rare. However, I've been pinged about some ludicrous money-making done by selling fish alone on a downstream server, likely from growing the big fish to be up twice their initial size and weight (capped to 2.5 the average value for the species), however, new features may push things a little further, so it's better to be safe than sorry. Screenshot below: They said it took them about a hour, however take it with a pinch of salt since it's by no mean easy and fast money by Terry's standards: I've also halved the selling price of jumpercable fish, which, despite requiring an emag or some sort luck, could easily be farmed in due time with little to no maintenance, being self-reproducing and hunger-less, and each of them would sell for 6k. conversely, I've increased the price of the unmarine mastodon a little because of the soft-cap, since it's very rare. |
||
|
|
778ed9f1ab |
The death or internal/external organ pathing (ft. fixed fox ears and recoloring bodypart overlays with dye sprays) (#87434)
## About The Pull Request This PR kills the abstract internal and external typepaths for organs, now replaced by an EXTERNAL_ORGAN flag to distinguish the two kinds. This PR also fixes fox ears (from #87162, no tail is added) and mushpeople's caps (they should be red, the screenshot is a tad outdated). And yes, you can now use a hair dye spray to recolor body parts like most tails, podpeople hair, mushpeople caps and cat ears. The process can be reversed by using the spray again. ## Why It's Good For The Game Time-Green put some effort during the last few months to untie functions and mechanics from external/internal organ pathing. Now, all that this pathing is good for are a few typechecks, easily replaceable with bitflags. Also podpeople and mushpeople need a way to recolor their "hair". This kind of applies to fish tails from the fish infusion, which colors can't be selected right now. The rest is just there if you ever want to recolor your lizard tail for some reason. Proof of testing btw (screenshot taken before mushpeople cap fix, right side has dyed body parts, moth can't be dyed, they're already fabolous):  ## Changelog 🆑 code: Removed internal/external pathing from organs in favor of a bit flag. Hopefully this shouldn't break anything about organs. fix: Fixed invisible fox ears. fix: Fixed mushpeople caps not being colored red by default. add: You can now dye most tails, podpeople hair, mushpeople caps etc. with a hair dye spray. /🆑 |
||
|
|
9da38495b6 | Merge master | ||
|
|
a94b3c697a |
[MIRROR] Raising lobstrosities from chrabs is now a component. Adds in tadpoles which become frogs. (#29147)
Raising lobstrosities from chrabs is now a component. Adds in tadpoles which become frogs. (#85346) I've componentized part of the code that manages raising lobstrosities from chrabs so that it can be added to other fish too. As proof of concept, I've added tadpoles. Tadpoles are not fished like the rest, instead you merely right-click a puddle and after 5 seconds you'll get one. Tadpoles are fairly fragile, cannot be butchered, don't reproduce, require lukewarm freshwater, need to be feed frequently, and become frogs after about 3 minutes. A small needed refactor for the chrab code, plus another small fish to make it easier to complete the first fish scanning experiment. 🆑 add: Added tadpoles, which can be scooped from puddles with right-click. Functionally they're like most fish, which require an aquarium to survive, and also need to be fed fairly frequently, however they quickly become frogs after about 3 minutes of care. add: Every station now has a couple puddles. One at the public garden and the other in prison. qol: Changed the name of an aquarium UI button from "Reproduction Prevention" to "Reproduction and Growth", as it controls both fish breeding and growth. /🆑 Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
132f9363e4 |
Merge branch 'master' of https://github.com/Skyrat-SS13/Skyrat-tg into fuck-fuck-fuck
# Conflicts: # _maps/map_files/Birdshot/birdshot.dmm # _maps/map_files/NorthStar/north_star.dmm # _maps/map_files/VoidRaptor/VoidRaptor.dmm # code/datums/status_effects/debuffs/debuffs.dm # code/game/objects/items/devices/scanners/health_analyzer.dm # code/modules/cargo/packs/imports.dm # html/changelogs/archive/2024-07.yml |
||
|
|
36ca9a8559 |
Raising lobstrosities from chrabs is now a component. Adds in tadpoles which become frogs. (#85346)
## About The Pull Request I've componentized part of the code that manages raising lobstrosities from chrabs so that it can be added to other fish too. As proof of concept, I've added tadpoles. Tadpoles are not fished like the rest, instead you merely right-click a puddle and after 5 seconds you'll get one. Tadpoles are fairly fragile, cannot be butchered, don't reproduce, require lukewarm freshwater, need to be feed frequently, and become frogs after about 3 minutes. ## Why It's Good For The Game A small needed refactor for the chrab code, plus another small fish to make it easier to complete the first fish scanning experiment. ## Changelog 🆑 add: Added tadpoles, which can be scooped from puddles with right-click. Functionally they're like most fish, which require an aquarium to survive, and also need to be fed fairly frequently, however they quickly become frogs after about 3 minutes of care. add: Every station now has a couple puddles. One at the public garden and the other in prison. qol: Changed the name of an aquarium UI button from "Reproduction Prevention" to "Reproduction and Growth", as it controls both fish breeding and growth. /🆑 |
||
|
|
9b51f67162 |
[MIRROR] Fish ordered from bought fish cases now sells for 1/20th of the normal price (#29070)
* Fish ordered from bought fish cases now sells for 1/20th of the normal price (#85287) ## About The Pull Request Fish money printer goes brrrr... But yeah, it turns out just buying and sending back fish crates is making cargo lotsa money, which is basically an exploit. Good thing we've the TRAIT_FISH_FROM_CASE trait which we can use to differentiate fishes from cargo from other more natural sources. ## Why It's Good For The Game This will fix #85284. ## Changelog 🆑 fix: Centcom technicians have been trained to recognize cargo-bought fish. You will no longer be able to trick the economy system by buying fish and sending it right back. Also nerfed fish selling price very slightly. /🆑 * Fish ordered from bought fish cases now sells for 1/20th of the normal price --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
e6e5cb9320 |
Fish ordered from bought fish cases now sells for 1/20th of the normal price (#85287)
## About The Pull Request Fish money printer goes brrrr... But yeah, it turns out just buying and sending back fish crates is making cargo lotsa money, which is basically an exploit. Good thing we've the TRAIT_FISH_FROM_CASE trait which we can use to differentiate fishes from cargo from other more natural sources. ## Why It's Good For The Game This will fix #85284. ## Changelog 🆑 fix: Centcom technicians have been trained to recognize cargo-bought fish. You will no longer be able to trick the economy system by buying fish and sending it right back. Also nerfed fish selling price very slightly. /🆑 |
||
|
|
8b6c7d39ed |
[MIRROR] Removed a janky fish bounty and introduced exporting fish thru cargo. (#29061)
* Removed a janky fish bounty and introduced exporting fish thru cargo. (#85146) ## About The Pull Request The fish bounty for specific kind of fish has been removed for being a bit janky and relying on RNG way too much. The other two remain, and have had their payout buffed a little to compensate. To make it make it better, a fish export has been added. Each and every fish can be sold to cargo, with a selling price determined by their size and weight, meaning bigger fish sell for more. A fish of default size and weight generally sells for around 130, rarely goes above 600 for most fish, yet a few can sell for 1k, and it can **theorically** go all the way up to ~11k if you were to reach max size and weight for the biggest fish in the game. This PR also reduces the weight of the jumpercable a bit for balance reasons. It's a big, self-reproducing fish that requires no care whatsoever so it's quite the cash cow, only offset by its rarity (EMAG or blackmarket RNG). Conversely, I made the bone fish evolution a bit easier (still a useless-ish braggard niche tbh). ## Why It's Good For The Game The aforementioned fish bounty was janky, complex, relied on RNG too much and the info on it didn't really fit in the bounty console. It's better gone tbh. My fault for adding it in the first place. As for the fish export, I want something simple, that doesn't require the fish to be alive rather than dead, with a low payout per fish on average, to complete the addition of "bomb fishing" from the other PR, ergo dropping maxcaps in the ocean for shit and giggles, but that can also have the potential to generate a decent income by cultivating big fish. ## Changelog 🆑 del: Removed a janky fish bounty add: introduced exporting fish through cargo. balance: reduced the average weight of the jumpercable. Conversely, eased up the requirements for the bone fish evolution. /🆑 * Removed a janky fish bounty and introduced exporting fish thru cargo. --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
49b45ee51a |
Removed a janky fish bounty and introduced exporting fish thru cargo. (#85146)
## About The Pull Request The fish bounty for specific kind of fish has been removed for being a bit janky and relying on RNG way too much. The other two remain, and have had their payout buffed a little to compensate. To make it make it better, a fish export has been added. Each and every fish can be sold to cargo, with a selling price determined by their size and weight, meaning bigger fish sell for more. A fish of default size and weight generally sells for around 130, rarely goes above 600 for most fish, yet a few can sell for 1k, and it can **theorically** go all the way up to ~11k if you were to reach max size and weight for the biggest fish in the game. This PR also reduces the weight of the jumpercable a bit for balance reasons. It's a big, self-reproducing fish that requires no care whatsoever so it's quite the cash cow, only offset by its rarity (EMAG or blackmarket RNG). Conversely, I made the bone fish evolution a bit easier (still a useless-ish braggard niche tbh). ## Why It's Good For The Game The aforementioned fish bounty was janky, complex, relied on RNG too much and the info on it didn't really fit in the bounty console. It's better gone tbh. My fault for adding it in the first place. As for the fish export, I want something simple, that doesn't require the fish to be alive rather than dead, with a low payout per fish on average, to complete the addition of "bomb fishing" from the other PR, ergo dropping maxcaps in the ocean for shit and giggles, but that can also have the potential to generate a decent income by cultivating big fish. ## Changelog 🆑 del: Removed a janky fish bounty add: introduced exporting fish through cargo. balance: reduced the average weight of the jumpercable. Conversely, eased up the requirements for the bone fish evolution. /🆑 |
||
|
|
00aa495320 | Merge branch 'master' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-24-07a | ||
|
|
65f0e6bd76 |
[MIRROR] Adds a new power storage type: The Megacell. Drastically reduces power cell consumption/storage. [MDB Ignore] (#28376)
* Adds a new power storage type: The Megacell. Drastically reduces power cell consumption/storage. [MDB Ignore] * Multi chargers * all this other shit * maps * more fixes * even more * mapping * map fixes * MCR * map2 * map3 * map4 * map5 --------- Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com> Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com> Co-authored-by: Fluffles <piecopresident@gmail.com> |
||
|
|
0db2a23faf |
Adds a new power storage type: The Megacell. Drastically reduces power cell consumption/storage. [MDB Ignore] (#84079)
## About The Pull Request As the title says. A standard power cell now only stores 10 KJ and drains power similar to how it did before the refactor to all power appliances. The new standard megacell stock part stores 1 MJ (what cells store right now). APCs and SMESs have had their power cells replaced with these megacell stock parts instead. Megacells can only be used in APCs and SMESs. It shouldn't be possible to use megacells in any typical appliance. This shouldn't change anything about how much 'use' you can get out of a power cell in regular practice. Most should operate the same and you should still get the same amount of shots out of a laser gun, and we can look at expanding what can be switched over to megacells, e.g. if we want mechs to require significantly more power than a typical appliance. Thanks to Meyhazah for the megacell icon sprites. ## Why It's Good For The Game Power cell consumption is way too high ever since the power appliance refactor that converted most things to be in joules. It's a bit ridiculous for most of our machinery to drain the station's power supply this early on. The reason it's like this is because regular appliances (laser guns, borgs, lights) all have a cell type that is identical to the APC/SMES cell type. And it means that if we want to provide an easy way to charge these appliances without making it easy to charge APCs/SMESs through a power bug exploit, we need to introduce a new cell type to differentiate between what supplies power and regular appliances that use power. This is primarily what the megacell stock part does. This moves us back to what it was originally like before the power refactor, where recharging power cells wouldn't drain an exorbitant amount of energy. However, it maintains the goal of the original refactor which was to prevent people from cheesing power generation to produce an infinite amount of power, as the power that APCs and SMESs operate at is drastically different from the power that a regular appliance uses. ## Changelog 🆑 Watermelon, Mayhazah balance: Drastically reduces the power consumption and max charge of power cells balance: Added a new stock part called the battery, used primarily in the construction of APCs and SMESs. add: Suiciding with a cell/battery will shock you and potentially dust you/shock the people around you if the charge is great enough. /🆑 --------- Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com> Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com> |
||
|
|
e96f29d4a5 |
Merge remote-tracking branch 'Skyrat-SS13/master' into upstream-2024-06-16
# Conflicts: # _maps/_basemap.dm # _maps/map_files/IceBoxStation/IceBoxStation.dmm # _maps/skyrat/automapper/automapper_config.toml # code/__DEFINES/surgery.dm # code/datums/weather/weather_types/radiation_storm.dm # code/modules/antagonists/changeling/changeling.dm # code/modules/clothing/neck/_neck.dm # code/modules/events/_event.dm # code/modules/jobs/job_types/_job.dm # code/modules/mining/equipment/kinetic_crusher.dm # code/modules/mob/living/basic/vermin/frog.dm # modular_skyrat/modules/borgs/code/robot_upgrade.dm |
||
|
|
cffb23fea5 |
[MIRROR] Neutralised anomalies respect the core limit (#28185)
* Neutralised anomalies respect the core limit (#83964) ## About The Pull Request This PR changes it so that if you refine an anomaly by neutralising it, it respects the same limit on number of anomaly cores as refining one you bought from Cargo. If it would produce an illegal core, it will create a mostly useless inert core which you can sell at cargo for 80% of the price of buying a raw core. ## Why It's Good For The Game https://hackmd.io/@ tgstation/r1tzxpwPL This was a requirement in the original design doc which just never made it into the game. We want to be able to control how many cores of each type can possibly exist in a round, as this is what allows them to have the "these items can be really busted" allowance. ## Changelog 🆑 fix: Neutralising an anomaly cannot produce more anomaly cores than are supposed to exist in a single round /🆑 * Neutralised anomalies respect the core limit --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
920cd7459d |
Neutralised anomalies respect the core limit (#83964)
## About The Pull Request This PR changes it so that if you refine an anomaly by neutralising it, it respects the same limit on number of anomaly cores as refining one you bought from Cargo. If it would produce an illegal core, it will create a mostly useless inert core which you can sell at cargo for 80% of the price of buying a raw core. ## Why It's Good For The Game https://hackmd.io/@tgstation/r1tzxpwPL This was a requirement in the original design doc which just never made it into the game. We want to be able to control how many cores of each type can possibly exist in a round, as this is what allows them to have the "these items can be really busted" allowance. ## Changelog 🆑 fix: Neutralising an anomaly cannot produce more anomaly cores than are supposed to exist in a single round /🆑 |
||
|
|
004e466cea | Merge branch 'master' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-2406b | ||
|
|
fdb1d4db4b |
[MIRROR] [NO GBP] Fixes drake empowerment for berserker armor by adding drake remains, which are used to make drake armor and empower the suit (#28021)
* [NO GBP] Fixes drake empowerment for berserker armor by adding drake remains, which are used to make drake armor and empower the suit (#83700) <!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> ## About The Pull Request Fixes https://github.com/tgstation/tgstation/issues/83684 Adds an intermediary item called drake remains, which are used to construct drake armor and empower berserker armor. There is no functional balance change here, as the components to make a drake armor are relatively the same. ## Why It's Good For The Game I borked it. This is the most reasonable and flexible method to fix the bug and what I should have done in the first place. ## Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and it's effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> 🆑 fix: Drake empowerment for berserker armor now uses valuable drake remains, made from ashdrake hides and bones. add: Drake armor is made use drake remains to construct. (This is a net neutral to the previous recipe) /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. --> * [NO GBP] Fixes drake empowerment for berserker armor by adding drake remains, which are used to make drake armor and empower the suit --------- Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com> |