mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-16 02:24:11 +01:00
master
141 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
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 |
||
|
|
3799968eb3 |
feat: new floppy disk sprites; most disks are now under the /item/disk type; adds disk stacking, uqinue styling and wrapping (#94112)
## About The Pull Request Floppy disks received a sprite upgrade, as well as unique wraps: <img width="364" height="150" alt="image" src="https://github.com/user-attachments/assets/0ac433e3-7432-4c06-bec2-aeae00b6852f" /> <img width="786" height="527" alt="image" src="https://github.com/user-attachments/assets/0f36bd0d-0362-4431-8131-49060a2fe348" /> You can now stack floppy disks! They also scatter around when thrown. The video also showcases new styling options with a selection of stickers! You can also write something on the disk instead of selecting an icon: https://github.com/user-attachments/assets/ff0a8542-9d79-4108-ae46-672ca5d620a2 MOST disks now inherit the `/item/disk` type to properly stack and do... stuff. An updatepaths script included. ## Why It's Good For The Game Old school is cool. Stacking disks makes them feel more authentic, while styling allows for more crearivity! ## Changelog 🆑 add: New unique wraps for floppy disks qol: Floppy disks can now be stacked image: New sprites and stickers for floppy disks map: Added and ran an updatepaths script refactor: Most disks are now under the base disk item type /🆑 --------- Co-authored-by: The-Tyrant <tyrantofgaming@gmail.com> |
||
|
|
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 |
||
|
|
595b9c00b3 |
Removes Defibrillators from being printable, and adds cmo compact defib as a spy objective. (#94182)
## About The Pull Request This PR removes Defibrillators from being printable in the techlathe. Which means the Compact belt becomes CMO exclusive item. And adds a objective for spies to steal compact belt because it feeds it into the black market, which other antags can maybe buy and emagg it to turn it into a reasonable weapon This pr also makes it so the baseline of roundstarting defibs is 4 ## Why It's Good For The Game Years ago we made defibrillators never printable, and there was no way to get them unless it was trough cargo, and later we added it to the techlathe which immediatly voided the cargo crate. Medical starts with 4 defibrillators medbay usually uses 2, and then the other 2 go to medical borgs (and theres not really ever a real reason to print out another since you got plenty). We also have spefific upgrade modules for medical cyborgs which is voided by just printing a defib and inserting it into the medical borgs. TL;DR order it from cargo either 1 using your departmental budget, 2 using your free ordering console, or 3 just from cargo ## Changelog 🆑 ezel add: Compact Defibrillator is now a Spy objective balance: Compact Defib is CMO exclusive again balance: you can no longer print Defibrillators in techlathe (purchase them via cargo if needed) sprite: CMO compact defib now looks unique from other ones map: catwalk defibs trimmed to 4 instead of 6 map: metastation defib added from 3 to 4 map: wawastation defib added from 3 to 4 map: tramstation defib added from 3 to 4 map: nebulastation defibs trimmed from 6 to 4 /🆑 |
||
|
|
d0ca474789 | Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-2025-11-05 | ||
|
|
1513f779ad |
Repaths oxygen jetpacks and "removes" fake empty jetpack (#93676)
## About The Pull Request removes oxygen jetpack subtype and makes empty jetpack actual oxygen ## Why It's Good For The Game because our empty jetpack wasnt actually empty and we infact had two oxygen jetpacks? ## Changelog N/A |
||
|
|
d14e538393 | Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-15-10-2025 | ||
|
|
11f5c1b0e3 |
Fixes metal-tipped telescopic batons being unable to be stolen by Spies (#93301)
## About The Pull Request Fixes #93160. ## Why It's Good For The Game  I was able to verify the issue on master, these changes will fix the issue for Spy gamers. |
||
|
|
0b677b689a |
generic parent type for both sabre sheaths (#92300)
## About The Pull Request puts both the grass and normal sabre sheath types under a shared parent type for shared behavior. considered subtyping the storage datum but it seemed overkill. can do if requested. ## Why It's Good For The Game less copy paste. good if someone wants to add a clay-more sheath for similar (believe that exists somewhere downstream), would have done it myself but no sprites. ## Changelog N/A |
||
|
|
d74f9ae8d5 |
generic parent type for both sabre sheaths (#92300)
## About The Pull Request puts both the grass and normal sabre sheath types under a shared parent type for shared behavior. considered subtyping the storage datum but it seemed overkill. can do if requested. ## Why It's Good For The Game less copy paste. good if someone wants to add a clay-more sheath for similar (believe that exists somewhere downstream), would have done it myself but no sprites. ## Changelog N/A |
||
|
|
434e4e435e |
Removes Secondary & Final Objectives from Traitors (#89466)
## About The Pull Request  Pre-discussed with @Watermelon914, this PR removes Secondary & Final Objectives from all Traitors, rather than just midround ones. It also removes all of the surrounding supporting code. Randomly assigned Primary Objectives still exist, I just used the ability to rewrite mine to take the screenshot. In terms of final objectives, the surrounding items that were available still exist but don't necessarily have sources. If anyone has good ideas for readding these in some other form it can be done in future PRs. It also allows all traitors to buy the Contractor kit, previously limited to midround traitors which lacked secondary objectives, because now all traitors lack secondary objectives. This essentially limits all traitors to a maximum of 20 TC (16 if they spawn with an uplink implant). Currently I don't foresee that they strictly need any additional way of gaining TC during a round as 20 is quite sufficient, but it may take some time to adjust and get used to it after such a long time of having access to more. If we need to adjust the starting value or add a slow drip of more points over time or something, that can be done in followup PRs. This also removes the ability to recreate your uplink added by my beautiful wife in #74315 This was part of the progression traitor design document, but ultimately probably a bad idea as it essentially made traitors impossible to properly disarm. You will once more just need to carefully protect your uplink. **This does not remove the threat/progression system**. Like midround traitors, all Reputation requirements on gear are now simple timelocks, most of which will have elapsed by the time 30 minutes have passed. **Finally** this PR also adds Romerol to the traitor uplink for 25 TC and 30 minutes of reputation, as a treat (and because I removed the final objective that previously granted it). ## Why It's Good For The Game We've tried this system for a long time (3 years last month!) and while I think it had a lot of promise, enabled some cool moments, and also solved several of the problems it set out to solve, overall I think some of the behaviours it has encouraged in players have been overall negative for the game. While the _game systems_ are fine, even quite fun and cool (especially final objectives) I am of the opinion that having them in the game creates a net negative purely in the way that they react with players' _brains_, creating incentives towards behaviour we don't actually want people to pursue. While it's hard-to-impossible to prove any of this with hard data, there has been a prevailing feeling for some time among many (though certainly not all) people that the simple fact of _having_ a constant drip-feed of objective available to players leads directly to less interesting antagonist play. While certainly nobody is _forced_ to do secondary objectives you are directly and quite strongly rewarded for doing so, doing so efficiently, and doing so in a way which makes sure that nobody (alive) sees you do it. This leads to a tendency to play defensively and try to maximise the number of tasks you can complete in one round, which also has a knock-on effect of generally minimising the number of people you attempt to interact with in a round (unless you are killing them). Even people who _intend_ on doing some more interesting gimmick can fall into this trap, as "having more tools" is always useful for anyone who is intending on any kind of plan at all, but then executing on the secondary objectives again incentivises you to lay low, not interact with anyone, be efficient, and then reduces the time you are spending doing the thing that's your actual plan for the round. Removing the ever-present temptation to fish for extra TC leaves "doing whatever your actual plan is" as the sole thing to optimise. Final Objectives too have created unfortunate psychological effects between crewsided players and other antagonists. Because of the _threat_ (no matter how remote, Final Objectives have always been tuned to be appropriately rare) that leaving any antagonist alone will cause them to snowball by acquiring more power, it starts to feel foolish to respond to any threat with less than the maximum possible level of force even if they seem relatively innocuous in the moment. This even has an effect on other non-progression antagonists, as traitors are the most common antagonist type and how people treat them is going to be their default level of reaction to most other station threats. While there has always been the promise of expanding the system with novel and exciting objectives that leverage appearing mid-round to do something unique, we've taken very little advantage of that over time. Most objectives we have added that didn't boil down to "kill someone, with a twist" have been somewhat unsuccessful, serving either as ways to get yourself arrested and killed for no reason or ways to get free telecrystals by doing something the crew don't really care about stopping you from doing. The option still exists to add more roundstart objectives to traitors, if someone suddenly has a great idea that would fit in this space. The ideal outcome of making this change is a slight relaxation of crew attitude towards feeling like their only option after catching an antagonist that isn't sandbagging is to permanently remove them from the round (although it's fine to do this still in many scenarios), and a broadening of traitorous activity which is not purely focused on collecting as many checkboxes as possible and might give people more time to roleplay with other players, not worrying that this time could have been more efficiently spent pursuing a different secondary goal. I don't anticipate or desire that this will prevent traitors from killing anyone (or even stop them from killing people they don't have a specific objective to kill), I just want to remove the FOMO from people's minds. Also this gives us something to talk about at the coder townhall meeting on the 22nd. ## Changelog 🆑 del: Misplaced or stolen traitor uplinks can no longer be recreated using a radio code and special device, guard yours carefully or buy a backup implant. del: Roundstart traitors can no longer take on additional objectives in order to earn additional Telecrystals and fast-forward any unlock timers on items. They also cannot earn the ability to complete a Final Objective. balance: Roundstart traitors can now buy the Contractor Kit from their traitor uplink, rather than only midround traitors. add: Traitors can buy Romerol for 25 TC, after 30 minutes of time has passed in a round. /🆑 |
||
|
|
b6b8306fda | Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-25-02a | ||
|
|
23ac16411d |
Removes Secondary & Final Objectives from Traitors (#89466)
## About The Pull Request  Pre-discussed with @Watermelon914, this PR removes Secondary & Final Objectives from all Traitors, rather than just midround ones. It also removes all of the surrounding supporting code. Randomly assigned Primary Objectives still exist, I just used the ability to rewrite mine to take the screenshot. In terms of final objectives, the surrounding items that were available still exist but don't necessarily have sources. If anyone has good ideas for readding these in some other form it can be done in future PRs. It also allows all traitors to buy the Contractor kit, previously limited to midround traitors which lacked secondary objectives, because now all traitors lack secondary objectives. This essentially limits all traitors to a maximum of 20 TC (16 if they spawn with an uplink implant). Currently I don't foresee that they strictly need any additional way of gaining TC during a round as 20 is quite sufficient, but it may take some time to adjust and get used to it after such a long time of having access to more. If we need to adjust the starting value or add a slow drip of more points over time or something, that can be done in followup PRs. This also removes the ability to recreate your uplink added by my beautiful wife in #74315 This was part of the progression traitor design document, but ultimately probably a bad idea as it essentially made traitors impossible to properly disarm. You will once more just need to carefully protect your uplink. **This does not remove the threat/progression system**. Like midround traitors, all Reputation requirements on gear are now simple timelocks, most of which will have elapsed by the time 30 minutes have passed. **Finally** this PR also adds Romerol to the traitor uplink for 25 TC and 30 minutes of reputation, as a treat (and because I removed the final objective that previously granted it). ## Why It's Good For The Game We've tried this system for a long time (3 years last month!) and while I think it had a lot of promise, enabled some cool moments, and also solved several of the problems it set out to solve, overall I think some of the behaviours it has encouraged in players have been overall negative for the game. While the _game systems_ are fine, even quite fun and cool (especially final objectives) I am of the opinion that having them in the game creates a net negative purely in the way that they react with players' _brains_, creating incentives towards behaviour we don't actually want people to pursue. While it's hard-to-impossible to prove any of this with hard data, there has been a prevailing feeling for some time among many (though certainly not all) people that the simple fact of _having_ a constant drip-feed of objective available to players leads directly to less interesting antagonist play. While certainly nobody is _forced_ to do secondary objectives you are directly and quite strongly rewarded for doing so, doing so efficiently, and doing so in a way which makes sure that nobody (alive) sees you do it. This leads to a tendency to play defensively and try to maximise the number of tasks you can complete in one round, which also has a knock-on effect of generally minimising the number of people you attempt to interact with in a round (unless you are killing them). Even people who _intend_ on doing some more interesting gimmick can fall into this trap, as "having more tools" is always useful for anyone who is intending on any kind of plan at all, but then executing on the secondary objectives again incentivises you to lay low, not interact with anyone, be efficient, and then reduces the time you are spending doing the thing that's your actual plan for the round. Removing the ever-present temptation to fish for extra TC leaves "doing whatever your actual plan is" as the sole thing to optimise. Final Objectives too have created unfortunate psychological effects between crewsided players and other antagonists. Because of the _threat_ (no matter how remote, Final Objectives have always been tuned to be appropriately rare) that leaving any antagonist alone will cause them to snowball by acquiring more power, it starts to feel foolish to respond to any threat with less than the maximum possible level of force even if they seem relatively innocuous in the moment. This even has an effect on other non-progression antagonists, as traitors are the most common antagonist type and how people treat them is going to be their default level of reaction to most other station threats. While there has always been the promise of expanding the system with novel and exciting objectives that leverage appearing mid-round to do something unique, we've taken very little advantage of that over time. Most objectives we have added that didn't boil down to "kill someone, with a twist" have been somewhat unsuccessful, serving either as ways to get yourself arrested and killed for no reason or ways to get free telecrystals by doing something the crew don't really care about stopping you from doing. The option still exists to add more roundstart objectives to traitors, if someone suddenly has a great idea that would fit in this space. The ideal outcome of making this change is a slight relaxation of crew attitude towards feeling like their only option after catching an antagonist that isn't sandbagging is to permanently remove them from the round (although it's fine to do this still in many scenarios), and a broadening of traitorous activity which is not purely focused on collecting as many checkboxes as possible and might give people more time to roleplay with other players, not worrying that this time could have been more efficiently spent pursuing a different secondary goal. I don't anticipate or desire that this will prevent traitors from killing anyone (or even stop them from killing people they don't have a specific objective to kill), I just want to remove the FOMO from people's minds. Also this gives us something to talk about at the coder townhall meeting on the 22nd. ## Changelog 🆑 del: Misplaced or stolen traitor uplinks can no longer be recreated using a radio code and special device, guard yours carefully or buy a backup implant. del: Roundstart traitors can no longer take on additional objectives in order to earn additional Telecrystals and fast-forward any unlock timers on items. They also cannot earn the ability to complete a Final Objective. balance: Roundstart traitors can now buy the Contractor Kit from their traitor uplink, rather than only midround traitors. add: Traitors can buy Romerol for 25 TC, after 30 minutes of time has passed in a round. /🆑 |
||
|
|
8196190aa1 |
Removes a a at at be be of of and and have have (#89155)
## About The Pull Request I just had to one-up https://github.com/tgstation/tgstation/pull/89127. ## Why It's Good For The Game Removes a a at at be be of of and and have have ## Changelog N/A |
||
|
|
d91d5aeca8 |
Traitor Destroy Blackbox Objective now tells you how to destroy it. (#88730)
## About The Pull Request Adds a bit more information regarding the blackbox in the equivalent traitor objective - it's the only "destroy object" one that you cant destroy via an emagged recycler. This PR explains that you need to throw it at the SM or burn it in the cremator. ## Why It's Good For The Game I've seen multiple people (myself included) steal the blackbox and be real confused why the recyler isn't shredding it, like other items, and now have one of their objective slots taken up by something that, as far as they know, might be uncompletable. I was originally just going to say "dust it in the SM", but I was informed the crematorium also works via discord, which goes to show how poorly explained this objective is ## Changelog 🆑 WebcomicArtist qol: "Destroy Blackbox" objective now tells you how to destroy something invulnerable to conventional means of destruction. /🆑 --------- Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com> |
||
|
|
8be248363c |
Moves the compact combat shotgun back into the warden's locker (#88854)
## About The Pull Request What it says on the tin. Also updates the theft objective appropriately. ## Why It's Good For The Game @MrMelbert asked me to do this, and I'm happy to oblige. Firstly, the HoS has a signature gun as it is. His X-01 Multiphase. Having another weapon in the form of the shotgun kind of steps on the toes of that weapon's presence, and clutters his arsenal somewhat. The HoS, as is, has the means of gearing for alternative equipment if needed, but let's keep it somewhat slim for weapons. Secondly; it feels more appropriate as a riot suppression weapon. And the warden puts down riots and brig invasions. He is the CQB guy after all, he should have a shotgun. It's a bit of an identity thing and a functionality thing. Of course, he could just get a riot shotgun (so can the HOS in this instance), but I think having a special one does have impact from a purely aesthetics point of view, gives more of a feeling of 'ownership' over the shotgun (which matters for the sake of whether people are determined as overgearing or not), as well as telegraphing what should be his combat strategy for him more clearly. No, there is no option where they both have shotguns. Don't bother asking. |
||
|
|
58ab268888 |
[MIRROR] Adds Character Loadout Tab to preferences (with just a small handful of items to start) (#28126)
* Adds Character Loadout Tab to preferences (with just a small handful of items to start) * step one rip out all the old nasties * fixes, current bugs: donator lock, ckey lock, one item in case * opps * sanity checks, fixed, donator implementation, ckey locking. fixes. * wew * final fixes * Update loadout_categories.dm * Update loadout_items.dm * Update loadout_items.dm * Update declarations.dm --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com> Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com> |
||
|
|
2b024b4d0d |
[MIRROR] Changes old refs in code from "reflector trenchcoat" to "ablative trenchcoat" (#28196)
* Changes old refs in code from "reflector trenchcoat" to "ablative trenchcoat" (#83944) ## About The Pull Request Changes references to "reflector trenchcoat" in objective_items.dm to match the name of the actual item "ablative trenchcoat" ## Why It's Good For The Game Quality of life to prevent confusion from using the old name. ## Changelog 🆑 qol: Changes description of steal objective to match the name /🆑 * Changes old refs in code from "reflector trenchcoat" to "ablative trenchcoat" --------- Co-authored-by: Archie700 <archie712@hotmail.com> |
||
|
|
9e91828576 |
Changes old refs in code from "reflector trenchcoat" to "ablative trenchcoat" (#83944)
## About The Pull Request Changes references to "reflector trenchcoat" in objective_items.dm to match the name of the actual item "ablative trenchcoat" ## Why It's Good For The Game Quality of life to prevent confusion from using the old name. ## Changelog 🆑 qol: Changes description of steal objective to match the name /🆑 |
||
|
|
d244c86ce6 |
Adds Character Loadout Tab to preferences (with just a small handful of items to start) (#83521)
## About The Pull Request Adds a Character Loadout Tab to the preference menu This tab lets you pick items to start the round with  This also has some additional mechanics, such as being able to recolor colorable items, rename certain items (such as plushies), set item skins (such as the pride pin)  ## Why It's Good For The Game This has been headcoder sanctioned for some time, just no one did it. So here we are. Allows players to add some additional customization to their characters. Keeps us from cluttering the quirks list with quirks that do nothing but grants items. ## Changelog 🆑 Melbert add: Character Loadouts del: Pride Pin quirk (it's in the Loadout menu now) /🆑 |
||
|
|
d771512a98 |
[MIRROR] Contractor baton excluded from TBaton spy bounty (#28088)
* Contractor baton excluded from TBaton spy bounty (#83803) ## About The Pull Request The game adds the Contractor Baton to the "global tracker" whatever the hell that is, from what I understand it's what determines the potential bounty item pool, since the contractor baton is a subtype of the telescopic baton; Which of course is not very appropriate considering the baton came from the Syndicate in the first place. The code excludes all subtypes of the telescopic baton so that we don't get something goofy like this:  Credit: _shod for the image ## Why It's Good For The Game When problem is fixed, problem no longer bad. Originally I wanted to just add a custom text saying what a contractor baton is instead of the telescopic baton, but was told it's not a good idea. Boowomp. Anyways, stealing back a contractor baton from the Syndicate who just GAVE someone that baton is a little weird I suppooosseee..... ## Changelog 🆑 fix: You may no longer submit, or obtain, a spy bounty for the contractor baton. /🆑 * Contractor baton excluded from TBaton spy bounty --------- Co-authored-by: IsaacExists <125638858+IsaacExists@users.noreply.github.com> |
||
|
|
918f026ebf |
Contractor baton excluded from TBaton spy bounty (#83803)
## About The Pull Request The game adds the Contractor Baton to the "global tracker" whatever the hell that is, from what I understand it's what determines the potential bounty item pool, since the contractor baton is a subtype of the telescopic baton; Which of course is not very appropriate considering the baton came from the Syndicate in the first place. The code excludes all subtypes of the telescopic baton so that we don't get something goofy like this:  Credit: _shod for the image ## Why It's Good For The Game When problem is fixed, problem no longer bad. Originally I wanted to just add a custom text saying what a contractor baton is instead of the telescopic baton, but was told it's not a good idea. Boowomp. Anyways, stealing back a contractor baton from the Syndicate who just GAVE someone that baton is a little weird I suppooosseee..... ## Changelog 🆑 fix: You may no longer submit, or obtain, a spy bounty for the contractor baton. /🆑 |
||
|
|
ae3a8acb8e |
* Turns mush cap into an extorgan
* Trimming the fat * Trimming the fat * Update mushpeople.dm * Adds colorblindness as a mild brain trauma (#76527) What the title says. The brain trauma makes the whole screen monochrome until cured.  I feel like the current pool for mild brain traumas is quite lame, this helps spice it up a bit with something that is quite annoying and distracting but not game breaking (as mild brain traumas should generally be). 🆑 add: Added colorblindness as a mild brain trauma. /🆑 --------- Co-authored-by: san7890 <the@san7890.com> * Fix species `var/hair_color` not being used for, well, hair color (#82168) `var/hair_color` for species was intended to be used as a "this species uses this type of hair color thing" But at some point that got completely lost and now it's only used for sprite accessories This fixes that. That means Slimepeople now have properly slimey hair. And Ethereals are less snowflake once more. 🆑 Melbert fix: Fixed Slimepeople's hair not matching their slimey colors. /🆑 * Revert "Fix species `var/hair_color` not being used for, well, hair color (#82168)" This reverts commit c4cb756. * Revert "Adds colorblindness as a mild brain trauma (#76527)" This reverts commit eb815f5. * Update _species.dm * unused var * Caps list.. * Update mushpeople.dm * Update mushpeople.dm * Update mushpeople.dm * Update mushpeople.dm * Update mushpeople.dm * Attempts to fix CI errors * Update cap.dm * Update _external_organ.dm * Update monkey.dm * Revert "Update monkey.dm" This reverts commit 29f54c8. * Revert "Update _external_organ.dm" This reverts commit 8de5ea7. * Update _external_organ.dm * Revert "Update _external_organ.dm" This reverts commit 644cc56. * Fix CI maybe? * Update cap.dm * Update DNA.dm * Some cleanup/updating to upstream * Update global_lists.dm * Mush * Update mushpeople.dm * Hopefully the last fix * Doing this differently * Update organ.dm * Update organ.dm * Update organ.dm * Update organ.dm * Update organ.dm * OK * Update organ.dm * Update podpeople.dm * maybe * Hm * Hm * Will this break things? * Revert "Will this break things?" This reverts commit bd288c6. * Test * Update organ.dm * Update organ.dm * Revert "Update organ.dm" This reverts commit ca77ff9. * Update organ.dm * . * . * . * Update snail.dm * Monkeys now use height offset (and monkey tail works) (#81598) This PR adds the ability for monkeys to wear any jumpsuit in the game, and adds support for them to wear things like coats, gloves, and shoes (though this cannot be obtained in-game and is solely achieved through admins, which I also improved a bit upon by adding a defined bitfield for no equip flags). This reverts a lot of changes from tgstation/tgstation#73325 - We no longer check height from limbs and such to bring sprites down, instead monkeys now work more similarly to humans, so the entire PR was made irrelevant, and I didn't really want to leave around dead code for the sake of having a human with longer legs. I've now also added support for Dwarfism, which makes monkeys look even smaller. Very minor change but at least now the mutation doesn't feel like it does literally nothing to monkeys (since they can already walk over tables). Here's a few examples of how it can appear in game (purely for demonstration, as it is currently intentionally made impossible to obtain in-game, though if someone wants to change that post-this PR now that support is added, feel free): Tails have been broken for a while now, the only reason you see them in-game is because they are baked into the monkey sprites. This fixes that, which means humans can now get monkey tails implanted into them (hell yeah) and monkeys can have their tails removed (also hell yeah) * Removes unneeded files * Revert "Removes unneeded files" This reverts commit 6469d37. * . * ok * Update tails.dm * Update monkey.dm * Fix monkey screenshot test * Update species.dm * Update reinf_walls.dm * Maintenance --------- Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com> Co-authored-by: Mal <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com> Co-authored-by: san7890 <the@san7890.com> Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: vinylspiders <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
82a7c9c68f |
[MIRROR] Removes virologist job (#27374)
* Removes virologist job (#82723) As the title says. Removes the job. Whole wing of medical is still there.  (MSO)  It's boring. It's so boring that when it decides to become unboring it just attempts to ruin the fun for everyone else 🆑 del: Due to a need for company restructuring, virologists have been laid off by CentCom and doctors can optionally take their place. /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> * Oh right. * Coroner, Chief Engineer, Bitrunner are no longer exempt from certain Traitor objectives (#83165) ## About The Pull Request While reading traitor objective code for a project, I noticed that both the Coroner and CE are not listed as potential targets for the 'Destroy Heirloom' objectives. Looking into it, I noticed that the Coroner was also not listed for the kidnapping objective. This fixes that. ## Why It's Good For The Game Coroner should not be immune to traitory And the CE should not be exempt from having their heirloom potentially destroyed ## Changelog 🆑 fix: The Coroner and Bitrunner can now be selected as a target for kidnapping and heirloom destruction objectives. fix: The Chief Engineer is now a valid target for heirloom destruction objectives. /🆑 * Remove sleeper protocol objective + Remove the upper limit to sabotage RND server/Telecomms (#83206) <!-- 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 Deletes the sleeper protocol objective  https://discord.com/channels/326822144233439242/326831214667235328/1239270421921005570 Removes the upper limit to sabotage telecomms/RND servers  https://discord.com/channels/326822144233439242/326831214667235328/1239269962707636375 <!-- Describe The Pull Request. Please be sure every change is documented or this can delay review and even discourage maintainers from merging your PR! --> ## Why It's Good For The Game Removes a bad objective. Removes a non-sensical upper limit to sabotage rnd/telecomms. <!-- Argue for the merits of your changes and how they benefit the game, especially if they are controversial and/or far reaching. If you can't actually explain WHY what you are doing will improve the game, then it probably isn't good for the game 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. --> 🆑 del: Removes the sleeper protocol traitor objective balance: RND server/Telecomms sabotage can now show up even later in the round /🆑 <!-- 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. --> * Right, I changed the path. --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> Co-authored-by: norsvenska <73006946+norsvenska@users.noreply.github.com> Co-authored-by: Xander3359 <66163761+Xander3359@users.noreply.github.com> |
||
|
|
a2a604aba6 |
[MIRROR] QM is excluded from command-excluded objectives (#27538)
* QM is excluded from command-excluded objectives (#82941) ## About The Pull Request QM will not longer be tasked with stealing telescopic batons and the captain's spare ID like all other command members are. ## Why It's Good For The Game I just found it and thought it might've been unintentional since QM spawns with a baton and is in line for acting captain. ## Changelog 🆑 fix: QM is now excluded from getting tasked with stealing telescopic batons and the captain's spare ID, like all other command personnel are. /🆑 * QM is excluded from command-excluded objectives --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> |
||
|
|
fa55e2fcd8 |
QM is excluded from command-excluded objectives (#82941)
## About The Pull Request QM will not longer be tasked with stealing telescopic batons and the captain's spare ID like all other command members are. ## Why It's Good For The Game I just found it and thought it might've been unintentional since QM spawns with a baton and is in line for acting captain. ## Changelog 🆑 fix: QM is now excluded from getting tasked with stealing telescopic batons and the captain's spare ID, like all other command personnel are. /🆑 |
||
|
|
7aa6664021 |
Mirror (#27453)
* Fix Conflicts * Change COGBAR_ANIMATION_TIME to seconds and not deciseconds (#82530) Most people should not be using this define * New Battle Arcade (#81810) Remakes Battle Arcade from just about the ground up, with exceptions taken for emagged stuff since I didn't really want to touch its behavior. The Battle Arcade now has stages that players can go through, unlocking a stage by beating 2 enemies and the boss of the previous one, but this must all be done in a row. You can choose to take a break between each battle and there's a good chance you'll sleep just fine but there's also a chance it can go wrong either through an ambush or robbery. The Inn lets you restore everything for 15 gold and you can buy a sword and armor, each level you unlock is a new sword and armor pair you can buy that's better than the last, it's 30 gold each but scales up as you progress through levels. They are really worth getting so it's best to try to not lose your money early in. The battle system is nearly the same as how it was before but I removed the poor combo system that plagued the old arcade as one big knowledge lock, now it's more just turn based. The game is built on permadeath so dying means you restart from the beginning, but if you are going to lose you can try to escape instead which costs you half of your gold. Getting to higher levels increases the difficulty of enemies but also increases the gaming exp rewards which could make this a better way to get exp if you can get good at it. Gaming EXP is used to increase chances of counterattacking but doesn't give any extra health to the player. I also removed the exploit of being able to screwdriver arcade cabinets because people would do that if they thought they were on the verge of losing to bypass the effects of loss. I instead replaced it with a new interaction that the Curator's display case key can be used to reset arcade cabinets (there's several keys on the chain so it made sense to me), which I added solely because I thought Curators would be the type of person to have run an actual arcade. This is some gameplay https://github.com/tgstation/tgstation/assets/53777086/499083f5-75cc-43b5-b457-017a012beede As a misc sidenote, I also split up the arcade file just like how Orion Trail was before, just for neat code organization. The Inn keeper is straight up just a photo of my localhost dude, he's not a player reference or anything it's not my actual character. I also have no idea how well balanced this is cause I suck at it lol. Battle Arcade is one of 3 last machines in my hackmd here to turn into TGUI https://hackmd.io/XLt5MoRvRxuhFbwtk4VAUA?view I've always thought the current version of battle arcade is quite lame and lacks any progression, like Orion Trail I thought that since I was moving this to TGUI, it would also be a perfect opportunity to revamp it and try to improve on where it failed before, especially since the alternative (NTOS Arcade) is also lame as hell and is even lamer than HTML battle arcade (spam mana, then spam health, then just spam attack, rinse and repeat). This will hopefully be more entertaining and give players sense that they are getting through a series of tasks rather than doing one same one again and again. 🆑 JohnFulpWillard, Zeek the Rat add: Battle Arcade has been completely overhauled in a new progression system, this time using TGUI. add: The Curator's keys can now reset arcade cabinets. balance: You now need to be literate to play arcade games, except for Mediborg's Amputation Adventure. fix: You can no longer screwdriver emagged arcade consoles. Accept your fate. fix: Silicons can no longer play Mediborg's Amputation Adventure. /🆑 --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> * Change setting item weight class to a setter to patch some weight class related shenanigans (#82494) ## About The Pull Request Fixes #81052 Fixes #58008 Setting weight class of items is now done via `update_weight_class`. I updated as many occurrences of manually setting `w_class` as I could find but I may have missed some. Let me know if you know of any I missed. This is done to allow datums to react to an item having its weight class changed. Humans and atom storage are two such datums which now react to having an item in its contents change weight class, to allow it to expel items that grow to a weight class beyond what is normally allowed. ## Changelog 🆑 Melbert fix: You can't fit items which are normally too large for a storage by fitting it in the storage when it is small, then growing it to a larger size. /🆑 * Material datum color update, plus touching up some material items (knight armor, tiles) (#82500) ## About The Pull Request Tries to bring the material datum colors in closer approximation to the stacks they're attached too. I literally used the colors on the stacks. some might need to be lighter or darker, but for the most part they'll look...closer to their actual material hues.  I've also tweaked the sprites of both the tile object and the actual material tile turf to give it the right shading.  In addition to the tiles, I've also updated the knight armor and helmet to look closer to the much higher quality plate armor already in the game. ## Why It's Good For The Game It bothered me that the material datum coloring was inconsistent with the actual colors used for the material stacks. When they were updated, and even before they were updated, material datum stuff just never looked _right_. I wanted to change that so that it looks just right. I did not like the old material knight armor whatsoever. It was a dithered mess, and seemed to already use parts of the standard plate armor but with all the actual shading removed or replaced with the wrong colors. This fixes that so that the armor is actually readable for what it is. ## Changelog 🆑 image: Updates the colors of various material datum to bring them closer in-line with their actual material stacks image: Improves the sprites for the material knight armor and helmet. /🆑 * LateInitialize is not allowed to call parent anymore (#82540) ## About The Pull Request I've seen a few cases in the past where LateInitialize is done cause of the init return value being set to do so for no real reason, I thought I should try to avoid that by ensuring LateInitialize isn't ever called without overriding. This fixes a ton of machine's LateInitialize not calling parent (mechpad, door buttons, message monitor, a lot of tram machines, abductor console, holodeck computer & disposal bin), avoiding having to set itself up to be connected to power. If they were intended to not connect to power, they should be using ``NO_POWER_USE`` instead. Also removes a ton of returns to LateInit when it's already getting it from parent regardless (many cases of that in machine code). ## Why It's Good For The Game I think this is better for coding standard reasons as well as just making sure we're not calling this proc on things that does absolutely nothing with them. A machine not using power can be seen evidently not using power with ``NO_POWER_USE``, not so much if it's LateInitialize not calling parent. ## Changelog 🆑 fix: Mech pads, door buttons, message monitors, tram machines, abductor consoles & holodeck computers now use power. /🆑 * Fix table top deconstruction (#82508) ## About The Pull Request Edited: updated changelog, read comments for changes in implementation details So previously, tables would let you use a wrench to fully deconstruct them, or a screwdriver to take off only their top. This, however, broke in two different ways in #82280, when their deconstruction logic got changed. First off, deconstructed tables would only drop the materials for their top and not their frame. For this, the primary culprit seems to be on line 307: https://github.com/tgstation/tgstation/blob/c34d56a45b0461f5e0fad3cc75e81580c3357119/code/game/objects/structures/tables_racks.dm#L300-L307 Where `new framestack(target_turf, framestackamount)` accidentally got an extra indent, and ended up in the less common half of the if-else chain. Just moving this outside of the if-else chain again fixes it. Secondly, tables had their own special deconstruction logic, which got 'standardized'. Issue. This was special to accommodate for having two different deconstruction logics: full or top only. With `deconstruct(...)` no longer being overridable, I feel it's awkward to attempt to proxy that information to the new `atom_deconstruct(...)` So we introduce a new method, `deconstruct_top`, for the screwdriver to use, which handles deconstructing only the top. ```dm /obj/structure/table/proc/deconstruct_top() var/obj/table_frame = new frame(loc) if(obj_flags & NO_DECONSTRUCTION) table_frame.obj_flags |= NO_DECONSTRUCTION else // Mimic deconstruction logic, only drop our materials without NO_DECONSTRUCTION var/turf/target_turf = get_turf(src) drop_top_mats(target_turf) qdel(src) ``` Mimicking the `NO_DECONSTRUCTION` logic of normal deconstruction, and copying over the flag onto its frames if need be. This fixes screwdriver deconstruction. ## Why It's Good For The Game Fixes #82503. We can now deconstruct the table top separately again, AND get the right materials back too. ## Changelog 🆑 00-Steven, SyncIt21 fix: Wrench table deconstruction gives the right materials again. fix: Screwdriver table deconstruction only deconstructs the top again. /🆑 * [NO GBP] Reagent grinders display reagents on examination (#82535) ## About The Pull Request - Fixes #82531 Somehow omitted this during the general maintenance thing ## Changelog 🆑 fix: Reagent grinders display reagents of its beaker on examination /🆑 * Monkeys now use height offset (and monkey tail works) (#81598) This PR adds the ability for monkeys to wear any jumpsuit in the game, and adds support for them to wear things like coats, gloves, and shoes (though this cannot be obtained in-game and is solely achieved through admins, which I also improved a bit upon by adding a defined bitfield for no equip flags). This reverts a lot of changes from https://github.com/tgstation/tgstation/pull/73325 - We no longer check height from limbs and such to bring sprites down, instead monkeys now work more similarly to humans, so the entire PR was made irrelevant, and I didn't really want to leave around dead code for the sake of having a human with longer legs. I've now also added support for Dwarfism, which makes monkeys look even smaller. Very minor change but at least now the mutation doesn't feel like it does literally nothing to monkeys (since they can already walk over tables). Here's a few examples of how it can appear in game (purely for demonstration, as it is currently intentionally made impossible to obtain in-game, though if someone wants to change that post-this PR now that support is added, feel free): Tails have been broken for a while now, the only reason you see them in-game is because they are baked into the monkey sprites. This fixes that, which means humans can now get monkey tails implanted into them (hell yeah) and monkeys can have their tails removed (also hell yeah) * Gets [weird] with (spies) by adding protect and deuteragonist-flavored objectives. (#82447) ## About The Pull Request What are their goals? Why are they doing this? gets weird with Spy objectives - namely by adding a lot more ways spies might be asked to affect various targets around the station. the first of these is by several flavors of Protecting targets (these do NOT print a success at roundend in keeping with Spy design:) - Protect (get a humanoid target off alive) - Protect Nonhuman (get an entity off alive) - Jailbreak (make sure a humanoid target escapes free) - Detain (make sure a humanoid target gets taken out arrested) the second of this is by a new escape condition: - Exile (get off-station or off the Z-level by the end of the shift - sometimes it's not just pods, you need to fuck off to space to win.) the third is through a massive increase in the number of possible: - objective templates - departments to target (Command + Service added) - specific locations to target - general classes of objects to target (medicines, floor tiles, critical infrastructure, etc.) - efforts to target (such as meals, mechs, public supplies) - ways to leave (you can be asked to abscond from the scene of your crimes?) ## Why It's Good For The Game More goofy and weird prompts to do more interesting things with Spies. One thing I think we're sorely missing in our lineup is antagonists that can act a bit more as deuteragonists - very possibly helping the crew under certain conditions and frustrating the Hell out of them in others. Since there's no way to check their objectives, and they get their gear/progression through stealing shit, they're still very much an antagonist and exist under the suspicion of doing bad... but, just going by their objectives, introducing more varied (and in some cases even benign) goals for them creates suggestions pointing to a lot more varied and interesting stories if people choose to run with it. * Adds anosmia quirk (#82206) ## About The Pull Request Adds anosmia quirk. Anosmia, also known as smell blindness, is the loss of the ability to detect one or more smells. I tried to find all smells action and (most likely) update all of them, unfortunately I can't change descriptions for this quirk. ## Why It's Good For The Game Some characters will be able to not feel smells That affect: * Gases feelings and alerts (CO2, Plasma, miasm) - you don't feel them * Bakery and cooking * Changeling ability to feel other changelings by smell * Some unimportant spans * Explosions Part I - Directional Explosions (#82429) ## About The Pull Request Adds the ability for explosions to be directional. This is achieved by adding an angle check to `prepare_explosion_turfs()` to drop any turfs outside the cone of the explosion. If the arc covers a full 360 degrees, as is the default, it will accept all the turfs without performing the angle check. Uses this functionality to rework both rocket launcher backblast and X4 explosions. Rocket launcher backblast has been changed from a shotgun of indendiary bullets to a directional explosion of similar length. X4 now uses a directional explosion to "ensure user safety". Apparently the old method of moving the explosion one tile away didn't even work, as it blew up `target` before trying to check its density for the directional behaviour. https://youtu.be/Mzdt7d7Le2Y ## Why It's Good For The Game Directional explosions - Useful functionality for a range of potential use cases, which can be implemented with minimal extra processing cost (Worst case scenario being very large directional explosions) Backblast - Looks way cooler than a bunch of projectiles, and should be significantly more functional in high-lag situations where projectile code tends to get fucky X4 - More predictable for players wanting to use it as a breaching charge, you can actually stand near the charge and not have to worry about being hoist upon your own petard. ## Changelog 🆑 add: Added support for directional explosions. add: Rocket launcher backblast is now 271% more explosive, check your six for friendlies! add: X4 charges now explode in a cone away from the user when placed on a sufficiently solid object. fix: X4 charges will now behave correctly when placed on dense atoms (note: don't try to read a variable from an atom you just blew up) /🆑 * Add balloon alerts to plunging (#82559) ## About The Pull Request Makes all plunging actions (pretty much anything using `plunger_act`) have a visible balloon alert. ## Why It's Good For The Game Makes sense that others would easily notice you plunging the shit out of something. Also, more people might finally learn that you can plunge the vent clogs instead of welding them. ## Changelog 🆑 qol: Added balloon alerts whenever you start plunging something (i.e ) /🆑 * Fixes spurious runtime on Icemoon caused by turf calling unimplemented LateInitialize() (#82572) ## About The Pull Request As of https://github.com/tgstation/tgstation/pull/82540 this runtime was happening,  `/turf/open/openspace/icemoon/` can be changed to `/turf/open/misc/asteroid/snow/icemoon/do_not_chasm` before `Initialize()` returns, which resulted in it `INITIALIZE_HINT_LATELOAD` getting returned on a turf that does not have an implementation of that proc. This should fix that. ## Why It's Good For The Game Fixes CI error * Blueprints tgui (#82565) Blueprints now use a TGUI panel instead of the old HTML one. Also did general code improvement and maintaining to blueprints in general and also destroyed the ``areaeditor`` level, repathing it to just 'blueprints'. Also adds a sound when you look at structural data cause why not Video demonstration: https://github.com/tgstation/tgstation/assets/53777086/861773fd-3d57-472d-bc94-d67b0d4f1dbd The 4 blueprint types:  Another HTML menu dead underground. This is more responsive and doesn't require constant updating to see which area you're in, feels less OOC (instead of saying "the blueprints say", just say it, you ARE the blueprints). Like, come on  Look at all this wasted space  🆑 refactor: Blueprints now use TGUI. qol: Blueprints can now be used while lying down. /🆑 * General maintenance for chem master (#82002) **1. Qol** - Adds screen tips & examines for screwdriver, wrench, crowbar & beaker insertion, removal & replacing actions - Analyzing reagents is now a client side feature & not a back end mode, meaning one person can see details of a reagent while the other can print stuff and do other operations so it's a non blocking operation. This also means 2 players can see information of 2 different reagents in their own screens, With that the overlay for analysis mode has been removed - You cannot do any tool acts on machines while printing. Balloon alerts will be displayed warning you of that. - The preferred container for the master reagent in the beaker is now showed in both condiment & chem master. It can be enabled/disabled via a CheckBox **2. Code Improvements** - Removed defines like `TARGET_BEAKER` , `TARGET_BEAKER` etc. ther functionality is implemented as params in the `transfer_reagent()` proc directly - Removed all variables relating to analyzing reagents like `reagent_analysis_mode`, `has_container_suggestion` etc. all memory savings - `printable_containers` now stores static values that can be shared across many chem masters - Updates only overlays and not the whole icon during operations for efficiency **3. Fixes** - You can hit the chem master with the screwdriver, wrench, crowbar & beaker when in combat mode - You cannot insert hologram items into the chem master - Deconstructing a condiment master will give you the circuit board already pre-programmed with that option selected so you don't need to use a screwdriver to re program it - `printing_amount` is now the maximum number of containers that can be printed at a time. Presently this number with upgraded parts would print out empty containers especially for patches. This is because `volume_per_item` does not take into consideration this var. Also this var would not give control to the player on exactly how many containers to print as whatever amount the player entered would be multiplied with this value producing a lot of waste & worse empty containers. Now this var determines exactly how many containers you can print and is imposed on the client side UI as well **4. Refactors (UI performance)** - Beaker data is compressed into a single entity & sent to the UI. This is set to null if no beaker is loaded thus saving data sent - Reuses Beaker props from chem synthesizer to reduce code - reagent REF replaced with direct type converted to text and later converted with `text2path()` cause its much faster 🆑 qol: Adds screen tips & examines for screwdriver, wrench, crowbar & beaker insertion, removal & replacing actions qol: Analyzing reagents no longer blocks other players from doing other operations. Multiple players can analyze different reagents on the same machine qol: You cannot do any tool acts on the machine while printing to prevent any side effects. qol: The preferred container for the master reagent in the beaker is now showed in both condiment & chem master. The feature can be enabled/disabled via a check box code: removed defines for reagent transfer, vars for reagent analyzis to save memory. Autodoc for other vars & procs fix: You can hit the chem master with tools like screwdriver, crowbar, wrench & beaker in combat mode fix: You cannot insert hologram items into the chem master fix: Deconstructing a condiment master will give you the circuit board already pre-programmed with that option fix: You now print the exact amount of containers requested even with upgraded parts without creating empty containers. Max printable containers is 13 with tier 4 parts able to print 50 containers. refactor: Optimized client side UI code & chem master as a whole. /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> * Wraps `lowertext()` to ensure proper stringification. (#82442) Fixes #82440 This PR just creates a new macro, `LOWER_TEXT()` (yes the irony is not lost on me) to wrap around all calls of `lowertext()` and ensure that whatever we input into that proc will be stringified using the `"[]"` (or `tostring()` for the nerds) operator. very simple. I also added a linter to enforce this (and prevent all forms of regression) because I think that machines should do the menial work and we shouldn't expect maintainers to remember this, let me know if you disagree. if there is a time when it should be opted out for some reason, the linter does respect it if you wrap your input with the `UNLINT()` function. * Clowns can now make balloon... toys. And also mallets and hats. (#82288) <!-- 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. --> Clowns will now start with a box of 24 random long balloons and a skillchip in their noggin allowing them to create balloon animals by combining two of them of different colour together. Owners of the skillchip also gain access to crafting recepies of balloon mallets, vests, helmets and tophats, all created from long balloons. A crate of long balloons, with a box of balloons inside, can be bought at cargo, in case the clown runs out. I might edit this once I wake up, its 3 in the morning right now. Oh also, resprited how balloons look in inventory.  Balloon animals funny. Silly features are my favourite kind of features, and this one's open-ended too. Someone on the coder chat recommended someone would do it that one time, here it goes. <!-- 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. --> 🆑 add: Added long balloon box to the clown's starting inventory, and a skill-chip of long lost honk-motherian knowledge to their brain. add: Added long balloons. Consequently, added balloon animals to make from such balloons. Also, balloon top hat, vest, helmet, and a mallet. Don't ask about the mallet. add: A long balloons box harvested fresh from the farms on the clown planet will be able to be shipped in a crate to the cargo department near you! add: As per requests; water balloons can now be printed at service lathe, and entertainment modsuit can now blow long balloons! image: Balloons will now have an unique sprite when in the inventory, compared when to on the ground. /🆑 <!-- 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. --> --------- Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com> Co-authored-by: san7890 <the@san7890.com> Co-authored-by: Jacquerel <hnevard@gmail.com> * Quick spellcheck 'steall' (#82560) ## About The Pull Request https://github.com/tgstation/tgstation/pull/82447 quick followup to this, caught it while glancing through the code. * Fix * merge conflicts * Revert "Monkeys now use height offset (and monkey tail works) (#81598)" This reverts commit 5cfdc5972d16c6b509220e8874a927696249d36a. * fix * Fixed lateinitialize * This should cut it * Oh right * There? * Damn, here? * There * [NO GBP] Fixes spurious runtime caused by icemoon (again) (#82582) ## About The Pull Request https://github.com/tgstation/tgstation/pull/82572 I tried to fix this but there was an unaccounted race condition which just caused a separate runtime...  Since the type is being changed mid-execution `replacement_turf` will become out of scope. My bad--this should fix it now for good. --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com> Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com> Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Co-authored-by: Higgin <cdonny11@yahoo.com> Co-authored-by: NeonNik2245 <106491639+NeonNik2245@users.noreply.github.com> Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com> Co-authored-by: Lucy <lucy@absolucy.moe> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: san7890 <the@san7890.com> Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com> Co-authored-by: Jacquerel <hnevard@gmail.com> Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> |
||
|
|
5da39ab9ee |
Hypospray and ICSpawning ports (#27279)
* Hypospray Port The fancy new GAG enabled hyposprays. * [MIRROR] ICSpawning Module: Quirks, Loadout, and BST RPED buff Ports CliffracerX's work which allows quirks and/or loadout items when using the ICSpawning (ctrl+clicking a ghost) * oops got rid of that accidental absolute nested path thingy. (I think) |
||
|
|
3842e16a8b |
Removes virologist job (#82723)
## About The Pull Request As the title says. Removes the job. Whole wing of medical is still there.  (MSO)  ## Why It's Good For The Game It's boring. It's so boring that when it decides to become unboring it just attempts to ruin the fun for everyone else ## Changelog 🆑 del: Due to a need for company restructuring, virologists have been laid off by CentCom and doctors can optionally take their place. /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
430896b5cf |
Blueprints tgui (#82565)
## About The Pull Request Blueprints now use a TGUI panel instead of the old HTML one. Also did general code improvement and maintaining to blueprints in general and also destroyed the ``areaeditor`` level, repathing it to just 'blueprints'. Also adds a sound when you look at structural data cause why not Video demonstration: https://github.com/tgstation/tgstation/assets/53777086/861773fd-3d57-472d-bc94-d67b0d4f1dbd The 4 blueprint types:  ## Why It's Good For The Game Another HTML menu dead underground. This is more responsive and doesn't require constant updating to see which area you're in, feels less OOC (instead of saying "the blueprints say", just say it, you ARE the blueprints). Like, come on  Look at all this wasted space  ## Changelog 🆑 refactor: Blueprints now use TGUI. qol: Blueprints can now be used while lying down. /🆑 |
||
|
|
4fb4a50167 |
[MIRROR] A red spy has entered the base: Adds Spies, a roundstart antagonist inspired by Goonstation's Spy-Thief (#26711)
* A red spy has entered the base: Adds Spies, a roundstart antagonist inspired by Goonstation's Spy-Thief * Update code/__DEFINES/role_preferences.dm * Update code/__DEFINES/role_preferences.dm * closet fix * I am stupid * fix effects * there we go * is this the end? * ugh * please stop --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com> Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com> Co-authored-by: jjpark-kb <mccorvey.norman@gmail.com> |
||
|
|
977799a2e7 |
A red spy has entered the base: Adds Spies, a roundstart antagonist inspired by Goonstation's Spy-Thief (#81231)
# Disclaimer: No Goon code was referenced or used in the making of this PR ## About The Pull Request [Design Document (Read this for more information)](https://hackmd.io/@L9JPMsZhRO2wI25rNI6GYg/rkYKM9Yc6) This PR adds Spies as a new roundstart antagonist type, inspired by Spy-Thiefs from Goonstation. Spies are tasked with stealing various objects around the station, from insulated gloves to the black box, from the clown's left leg to the bridge's communications console. For every item stolen, the Spy is rewarded with a random item from the Syndicate Uplink, plus some items uniquely available to the Spy. Stolen items are then shipped off and sold on the Black Market Uplink, allowing the crew - or maybe some other evil-doers - to get their hands on them.  More ideas for theft items and bounties are welcome. ## Why It's Good For The Game See the design document for more information. In short: Adds a solo antagonist which has less impact than your Traitors and Heretics, but more impact than Paradox Clones and Thieves. In other words: On the same tier as old traitors. Seeks to embrace the sandbox aspect of antagonists more by having no precise greentext objective, and instead some suggestions for chaos you can embark in. Have fun with it! ## Changelog 🆑 Melbert add: Spies may now roam the halls of Space Station 13. Watch your belongings closely. /🆑 |
||
|
|
cfd4cbf6e1 |
[MIRROR] Fix secret documents steal objective failing while inside folder [MDB IGNORE] (#23878)
* Fix secret documents steal objective failing while inside folder (#78521) ## About The Pull Request Fixes #67318 Secret documents inserted into a folder would result in failure. This was frustrating for people who kept the original folder it was spawned in. It has now been fixed properly. ## Why It's Good For The Game Greentext is good. ## Changelog 🆑 fix: Fix secret documents steal objective failing while inside folder. /🆑 * Fix secret documents steal objective failing while inside folder --------- Co-authored-by: Tim <timothymtorres@gmail.com> |
||
|
|
7639a48cd6 |
Fix secret documents steal objective failing while inside folder (#78521)
## About The Pull Request Fixes #67318 Secret documents inserted into a folder would result in failure. This was frustrating for people who kept the original folder it was spawned in. It has now been fixed properly. ## Why It's Good For The Game Greentext is good. ## Changelog 🆑 fix: Fix secret documents steal objective failing while inside folder. /🆑 |
||
|
|
a987777c30 |
[MIRROR] Compact shotgun re-added [MDB IGNORE] (#23248)
* Compact shotgun re-added * Update inventory.dm * Update inventory.dm * Modular icon de-override * And the rest of them * There is more.. --------- Co-authored-by: LukasBeedellCodestuff <92578337+LukasBeedellCodestuff@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com> |
||
|
|
5fd1f08b7e |
[MIRROR] Replaces the poster and graffiti objectives with assault and early steal & destroy ones. [MDB IGNORE] (#23235)
* Replaces the poster and graffiti objectives with assault and early steal & destroy ones. * Update engineering.dm * Update cargo.dm * Update mapping_helpers.dm * Update mapping_helpers.dm --------- Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
37d8f6162b |
Compact shotgun re-added (#77759)
## About The Pull Request This pr seeks to re-add the compact shotgun (slightly buffed with 1 more ammo) and buff up its larger brother the combat shotgun (with 2 more ammo.) ## Why It's Good For The Game With the recent laser buffs, there is a real possibility for the compact shotgun to return as a unique weapon to make the HOS slightly more powerful. I am aware that it was a warden's weapon previously but the HoS doesn't really have many fun toys to play with. The warden already has crav maga (100x cooler than the laser) so giving this beast to the HOS could help make it a more attractive and powerful head to play. (Given 1 extra shot to keep up with the crazy lasers nowadays.) In regards to the slight combat shotgun buff. The gun itself is ass, it's barely ever used and the riot shotgun is superior because you can actually put it in your armour slot. The hope is that this buff will make people actually use it because it carries a lot of shots now so the viability may increase. ## Changelog 🆑 add: Added compact shotgun to the hos locker add: Added compact shotgun as a traitor objective balance: gives the compact shotgun 1 extra shot /🆑 |
||
|
|
2d4d23dbf1 |
Replaces the poster and graffiti objectives with assault and early steal & destroy ones. (#77029)
## About The Pull Request With the blessings of @Watermelon914 I am removing the two objectives for placing posters and spraying graffiti. These old objectives are not dead. Their items have moved to the Badassery section of the uplink. A box of 3 demotivational posters can be bought for 1TC with 0 rep. The spraycan can be bought for 1TC with 0 rep. In their place comes one new objective and one extended objective. The new objective is Assault a Crewmember. This objective requires you to attack the specified target 2-5 times (random on objective generation). It tallies from any attack that filters through the `/datum/element/relay_attackers` element and has an "attacker" associated with it. Although it asks you not to kill the other player, it doesn't fail if you kill them. I have expanded the low-risk theft objectives with items like a mime mask, lawyer badge and a fake moustache (commonly on cooks). Finally, I've added a very low level set of steal-and-destroy objectives aimed at some items that will require a bit of basic breaking and entering, and the destruction of which may hurt crew morale. ``` /datum/objective_item/steal/traitor/donut_box /datum/objective_item/steal/traitor/rpd /datum/objective_item/steal/traitor/space_law /datum/objective_item/steal/traitor/granted_stamp /datum/objective_item/steal/traitor/denied_stamp /datum/objective_item/steal/traitor/lizard_plush /datum/objective_item/steal/traitor/moth_plush /datum/objective_item/steal/traitor/insuls ``` This PR also fixes clown shoes missing a proc override to allow them to actually register as a theft objective.    ## Why It's Good For The Game Basically my discussion with Watermelon focused on the idea that the graffiti and poster objectives weren't really crimes. They baited antagonists into very passive play early-game. These new replacements encourage a more antagonistic playstyle. Starting fights plus B&E are two bread-and-butter play paradigms for antaggery. Giving a few early game theft + destroy options with a mix of impactful items (like insuls and RPDs) versus more symbolic or emotive items (plushies, donut boxes, Cargonia stamps) gets antagonists out and about in the station, warming themselves up. And having an objective to assault players (even if you don't kill them) allows cheeky antags with a penchant for shittery to start fights with players and start genuinely impacting the shift, involving sec and drawing players into their antaggery. Both of these natually ease players into the more substantive theft and murder objectives. The existing spray and posters are actually thematically super cool. Traitors now have even more access to them since they can be bought for 1TC per spraycan/3-pack of posters. This lets antags with TC to spare run gimmicks around them and adds extra fun to the Badassery section. ## Changelog 🆑 del: Traitor objectives to place posters and graffiti the station have been removed. add: The items associated with the poster and graffiti objectives can now be purchased from the Badassery section of the uplink. The posters come in a box of 3 for 1TC, and the spraycans are 1TC each. add: Adds a new Assault traitor objective, requiring you to the attack the target a few times without needing to kill them. Earn TC and reputation by starting barroom fights and bait players into escalation battles for fun and profit. add: Expands low-risk steal objectives to include the Chef's fake moustache, Lawyer's badge, and Mime's mask. add: Adds brand new shift start Steal & Destroy objectives for early breaking and entering. Smash your way into a sec checkpoint to grab a Space Law book, engineering to grab some insulated gloves or the psych office to kidnap their moth plush. fix: Fixes an issue where the steal clown shoes objective would never be valid. /🆑 |
||
|
|
3e0a36e038 |
[MIRROR] pAIs can be inserted into a MODsuit [MDB IGNORE] (#22852)
* pAIs can be inserted into a MODsuit * Update MODsuit.tsx * Update objective_items.dm * Update mod_actions.dm * Update mod_activation.dm * Update mod_control.dm * Update mod_ui.dm * Update MODsuit.tsx * Update modules_ninja.dm * prettier * Update mod_control.dm * This is torture * Removes most of the overrides for pAIs in MODsuits, to use the procs from upstream (and reduce the amount of clutter/duplication) * Damnit keyboard * Good catch Vinyl! Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> --------- Co-authored-by: Jacquerel <hnevard@gmail.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com> Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> |
||
|
|
a148379092 |
pAIs can be inserted into a MODsuit (#77212)
## About The Pull Request Ressurects this old concept from (#64530), if we're making pAIs conform to being personal assistants more often then they should be better at assisting your person. You can insert a pAI into a MODsuit simply by using the card on a MODsuit with an open panel. You can eject it again from the MODsuit control panel UI (though the maintenance panel still needs to be unscrewed). Inserted pAIs can: - Deploy and undeploy suit parts. - Turn the suit on and off. - Monitor any stats on the MODsuit panel. - Activate any of your suit actions. Inserted pAIs cannot: - Move the suit. This does not remove the ability to place AIs into your suit. AIs can do all of the above but can _also_ move the suit around while you are critically injured. You can't have _both_ an AI and a pAI in your suit at the same time. Additionally I had to mess around with the backend for pinning actions a little bit. AIs who tried to pin MODsuit actions to their screen would pin them to the UI of the person wearing the suit instead, because it passed through `grant_item_action`. We _want_ to use that interface for the other stuff it does, but we need to catch and override who is _actually_ being granted the action so it goes to the person who pinned it rather than the person wearing the suit. ## Why It's Good For The Game Gives more things for your pAI to do, now you can delegate manging some suit functions to your little buddy. ## Changelog 🆑 add: pAIs can be inserted into MODsuits and can control suit modules (but are not capable of moving the suit). fix: AIs/pAIs in MODsuits can properly pin actions /🆑 |
||
|
|
f7e6ea19e1 |
[MIRROR] Removes bug room objective, Reworks primary objective and steal objectives. [MDB IGNORE] (#19819)
* Removes bug room objective, Reworks primary objective and steal objectives. * ??? * fix * Delete bug_room.dm --------- Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com> |
||
|
|
67f57be22c |
Removes bug room objective, Reworks primary objective and steal objectives. (#73763)
## About The Pull Request Traitor steal objectives now have a completely separate set of steal items compared to the regular objectives that a traitor may get for steal objectives. This re-adds steal objectives back to traitor and gives them back their hijack/die a glorious death/escape objectives. The way that the traitor steal objective works has been changed backend to work on items created on the station, since det's revolver only spawns when their closet is opened. ## Why It's Good For The Game Re-adds variety to the permanent traitor objectives and shifts steal objective to be more focused towards items of conflict rather than high value items. Items of conflict are items such as det revolver, clown shoes, chief engineer's belt, captain's spare id and more. And generally, it's these sort of items that you'll probably want to keep (except the low value ones, but we need low value ones for traitors starting out) ## Changelog 🆑 balance: Removed a lot of item targets from the temporary steal traitor objectives and replaced them with more useful items that don't intersect with the list of items that a traitor can be tasked with stealing for their permanent steal objective. add: Re-added permanent steal traitor objectives and maroon/hijack/die a glorious death objectives. /🆑 --------- Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com> |
||
|
|
db4444a9b3 |
[MIRROR] Limit theft/destroy secondary objectives to items which at least one person cares about [MDB IGNORE] (#19714)
* Limit theft/destroy secondary objectives to items which at least one person cares about * Update objective_items.dm --------- Co-authored-by: Jacquerel <hnevard@gmail.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com> |
||
|
|
4aef8a4cd5 |
Limit theft/destroy secondary objectives to items which at least one person cares about (#73731)
## About The Pull Request This PR adds a new field `item_owner` to `datum/objective_item` and populates it for most objective items. The function of this field is that the objective will fail to generate if there isn't at least one player in the game with one of those roles. This limits theft objectives to targets which are likely to be carried around, missed if they become absent, or at least vaguely have someone standing close to. This has only been applied toprogression traitor secondary objectives. While doing this I also culled a number of deprecated or tedious objectives which we didn't use any more, such as every "steal a stack of x" objective. And the plasma tank one. And the slime core one. I also deleted any which nobody would miss, chiefly "an empty AI card". There's plenty of those things and if one vanished nobody would notice let alone be inconvenienced. If anyone ever wants to bring them back for soul reasons it will be retained in the commit history, that's what git is for. The list is actually not particularly long now, so if people have good ideas for more things to add to expand it again... well they could have done that any time in the past 10 years but they can still do it now as long as it isn't to fill it back up with things nobody will miss if they are gone. For myself, I added the robotics lab mech crowbar to the list as it fulfils most of the criteria of "fire axe" but with the benefit of there only being one on most maps. I also removed the `difficulty` var which was undocumented, not set for most objectives (all "low risk" objectives had a default difficulty of `9001`), and unused. Also I think this is my 100th PR so you have to be nice to me. ## Why It's Good For The Game Traitor objectives (and antagonist objectives in general) should: - Present you with a somewhat engaging task - Encourage you to interact with at least one other player (at least by "attempting to sneak past them") - Move the state of the round forward in some way, usually by creating inconvenience for at least one other person Many current progression traitor objectives do not meet all (and some perhaps not even any) of the above criteria and I am planning on making a series of changes in order to address this. Expect to see this paragraph copied/pasted into some other PRs probably. This one is the simplest: Stealing an item from someone who literally isn't in the game does not antagonise anyone. So we won't ask anyone to do it. ## Changelog 🆑 balance: Traitor secondary objectives to steal or destroy an item are now associated with a particular "owner" or "victim" and won't generate themselves if nobody would actually be victimised by the crime. add: Traitors can sometimes be tasked with stealing and destroying the roboticist's big crowbar, if there is one /🆑 |
||
|
|
4a4f15342d |
[MIRROR] Allows MODSuit AIs to count towards Steal AI Traitor Objective [MDB IGNORE] (#18933)
* Allows MODSuit AIs to count towards Steal AI Traitor Objective (#72902) ## About The Pull Request On the tin. It was simpler than it looked, just had to genericize the behavior a tad bit (the proc is not called unless the type in either targetitem or altitems is matched in `/datum/objective/steal/check_completion()`). I decided that since the current framework restricts us to only having a set range of items that we may as well be safe and check the var that references the "stored" AI, which works well enough. ## Why It's Good For The Game  Very cool! Fixes #72205. Almost certainly an oversight, because if you create an AI that is lawed to obey you regardless of anything in order to serve as your modsuit buddy... it's just a pain and completely un-intuitive to have to pop it out of the modsuit just so you can get the epic greentext. ## Changelog 🆑 fix: After over a year of continuous research, the Syndicate have finally managed to crack Nanotrasen's Protocol for transferring AIs from an intelliCard into a MODsuit, and vice-versa in order to extract the valuable AI in a method fit-for-sale. In short: The "Steal a Functional AI" objective will work if the "captured" AI is in a MODsuit. /🆑 * Update objective_items.dm Co-authored-by: san7890 <the@san7890.com> Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com> |
||
|
|
8c9970e1e8 |
Allows MODSuit AIs to count towards Steal AI Traitor Objective (#72902)
## About The Pull Request On the tin. It was simpler than it looked, just had to genericize the behavior a tad bit (the proc is not called unless the type in either targetitem or altitems is matched in `/datum/objective/steal/check_completion()`). I decided that since the current framework restricts us to only having a set range of items that we may as well be safe and check the var that references the "stored" AI, which works well enough. ## Why It's Good For The Game  Very cool! Fixes #72205. Almost certainly an oversight, because if you create an AI that is lawed to obey you regardless of anything in order to serve as your modsuit buddy... it's just a pain and completely un-intuitive to have to pop it out of the modsuit just so you can get the epic greentext. ## Changelog 🆑 fix: After over a year of continuous research, the Syndicate have finally managed to crack Nanotrasen's Protocol for transferring AIs from an intelliCard into a MODsuit, and vice-versa in order to extract the valuable AI in a method fit-for-sale. In short: The "Steal a Functional AI" objective will work if the "captured" AI is in a MODsuit. /🆑 |
||
|
|
c5ca08fd01 |
[MIRROR] Adds spaces around logical operators [MDB IGNORE] (#18776)
* Adds spaces around logical operators * Update code/modules/admin/verbs/admingame.dm Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com> |
||
|
|
872e64fb05 |
Adds spaces around logical operators (#72603)
## About The Pull Request Part of a prior PR that was closed (#72562). This version does not add the check in CI. ## Why It's Good For The Game The work is already done, so I figured why not. ## Changelog N/A Nothing player facing Co-authored-by: Jeremiah Snow <jlsnow301@pm.me> Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> |
||
|
|
097e913e4b |
[MIRROR] Removes tablet hard drives entirely (HDD & SSD) [MDB IGNORE] (#17164)
* Removes tablet hard drives entirely (HDD & SSD) * map updates * changes * contractor uplink theme * uplink improvements * tab Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: tastyfish <crazychris32@gmail.com> |
||
|
|
f1f46275f0 |
Removes tablet hard drives entirely (HDD & SSD) (#70678)
* Removes HDD's entirely HDDs have been removed, though the code for it is still currently lingering as it's required for portable disks. I'll have to find a solution to this one day, but as I am going to sleep, this is a problem for future me. * starts on removing SSD * updatepaths and kills off SSD * update path :D * Fixes to programs and icons * Ready for review now I read over everything I did and tried to fix anything I saw wasn't done right. Hopefully better comments now. * merge conflict fix * can't win them all * takes viruses into account in paths, fixes it in snowcabin * Renames the updatepaths * removes the qdel loop * accidentally new'ed programs twice * Fix program's computer var * destroy pen and disk, dont run kill program on something killed * more fixes for pens and idle threads * Fixes PDAs installing apps twice. * simplifies inserted disk & PDA disk * fuck's sake * Use istype instead * revert * Revert "revert" This reverts commit 9ede628c6fef9c7c86417234f6d8ada1ff9e2fef. * why did that happen * Update code/modules/modular_computers/computers/item/tablet.dm * MC_SSD added to master lol Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com> |