mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 14:08:31 +01:00
ok-behavior-trees
10
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
af8dc77f81 |
Adds very large tripwires that trip mechs (#96895)
## About The Pull Request <img width="194" height="63" alt="image" src="https://github.com/user-attachments/assets/8b81ede5-3ac1-427c-b580-f75a4b05fae5" /> Tripwires, for mechs. A very sturdy cable hung over a space 2-5 tiles wide, that mechs will trip over if they aren't paying attention. https://github.com/user-attachments/assets/eb77ac44-73ad-43f7-aa48-3008aedc79e0 It also hurts people it falls on in pretty much the same way as a vending machine. (it's using `fall_and_crush()`) https://github.com/user-attachments/assets/97fccb33-d479-4170-8601-07a5b32fe740 To humans, the tripwire blocks movement unless you carefully step over it(walk) or crawl under it. All beings suffer no issue walking across the tripwire the long way. The tripwire is created from wiring together two tripwire poles with a tripwire cable item. The poles are created from iron rods and iron, the cable is created from just cable. The wiring takes 3 seconds * how far the posts are to complete, to a maximum of 12 seconds. They take significantly increased (10x) damage from any sharp object, and can be cut in a few seconds using wirecutters. They otherwise have a `max_integrity` of 500, so a powerful demolition tool(like a mech's fists or a drill) or a sharp object are fairly necessary to take them down in a combat-reasonable amount of time. The tripping has four effects - the damage to the being that the mech fell on, the paralyzing of that being, damage to the mech pilot's head, and the time it takes for the mech to get back up. All four of these numbers are based off of the mech's max health divided by 5, or `damage_value`. `damage_value` is applied directly as damage to whoever it falls on. That person is paralyzed for `damage_value` / 10 seconds. The pilot of the falling mech recieves `damage_value` / 5 to their head, with a significant wound bonus. Wear a helmet. The mech itself recieves `damage_value` * 0.15 seconds of immobility(can still attack, but can't rotate). (`damage_value` / 10 * 1.5) What these numbers mean on common exosuits: - odysseus - mob under hit for 24 damage & 2.4 seconds, pilot hit for ~5 damage, immobile for 3.6 seconds - ripley - mob under hit for 40 damage & 4 seconds, pilot hit for 8 damage, immobile for 6 seconds - gygax - mob under hit for 50 damage & 5 seconds, pilot hit for 10 damage, immobile for 7.5 seconds - durand - mob under hit for 80 damage & 8 seconds, pilot hit for 16 damage, immobile for 12 seconds - marauder - mob under hit for 100 damage & 10 seconds, pilot hit for 20 damage, immobile for 15 seconds All of these stun times are large enough to where if there were multiple people with good weapons around, they could most certainly kill you before you stand back up. So, don't trip. Finally, obviously, the clarke is immune. Who'd have thunk. ## Why It's Good For The Game First, let's all thank the ideas guy. The ideas guy for today is [dubblywumps](https://discord.com/channels/699727870846697493/705679956021215264/1523883105276919969). Thank you, dubblywumps. Good idea. So, what's the point of it? It's an effective area denial tool and fortification specifically effective against mechs. You can set them up in the hallways in a reasonable length of time, and it'll at the very least slow a rampaging mech down, as while they're not strong enough to handle more than a few punches from a mech, they're strong enough to handle a few. Falling over as a mech is obviously extremely punishing, so unless they can take a delay to destroy the wire(or a long delay to destroy the wire at range), or get around it by tearing through walls(also a delay), they have to abide by your preferred positioning. No other tool exists that can truly force a delay in a mech's movement besides actual walls & windows, which delay humans far more significantly. It is not remotely practical in a directly offensive sense, with even the shortest 2-tile barricades taking too long to set up to do so before you've been clobbered and perforated. It is practical in an indirectly offensive sense, to force a fight to continue and prevent the worst part about fighting a mech: when it walks away. This requires forethought or teamwork, though. It is also practical in a defensive sense, in combination with normal barricades to block projectiles you could reasonably hold a mech off for a while or even potentially force a stalemate using ranged weapons. They're very, very cheap materials-wise, but the expense in their creation is in the time to set them up in a good location. Because they also slow down people, people won't be setting scores of them up in the middle of the halls. And if they did, wirecutters take them down faster than they can be put up. You may be balking about the immobility time applied to the mech. The numbers mean that in order to destroy the mech while it lays on the ground, you must deal a flat 33 + armor damage per second for the duration of the stun. This is an unreasonable task for one person with a good crew melee weapon, a reasonable task for two, and an easy task for three. I think that two people being able to beat you to death after you failed to take heed of the not-at-all-hidden anti-mech weapon is reasonable. This is also assuming you have no support team or second mech, which would be perfectly capable of defending you during your stun. ## Changelog 🆑 add: Added craftable anti-mech tripwires. A mech that foolishly steps on one will fall down and be immobilized temporarily. Don't let it fall on you! /🆑 |
||
|
|
0b0c5ea91e |
Unit test material checks are now performed on all crafting recipes by default. All stack recipes now transfer mats to the results (#92620)
## About The Pull Request Extends the part of the crafting unit test that ensures consistency between the total mats of the components of a recipe (or rather, the result of said recipe) and a generic instance of the same type as its result, previously only implemented on food recipes. ## Why It's Good For The Game This ensures a degree of consistency with the material composition of various objects in the game. I couldn't do it in the original PR as that one was too big already and it took months to get it merged, and have the relative bugs fixed. Currently a WIP as I slowly deal with the unit test reports. ## Changelog 🆑 refactor: Follow-up to the crafting/material refactor from months ago. All objects crafted with stacks now inherit their mat composition (not necessarily the effects and color) by default, while previously only a few things like chair, sinks and toilets did. Report any object looking or behaving weirdly as a result. fix: The material composition of ammo boxes is no longer a 1/10 of what it's supposed to be. It was a shitty hack to make it harder to recycle empty ammo boxes. Instead, they lose materials as they're emptied now. /🆑 |
||
|
|
0ee962c4b4 |
Secure safe, secure briefcase, and vaults improvements (#93085)
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com> |
||
|
|
d9ef15ec5c |
Cleans up crafting code, fixes multiple bugs (#90157)
## About The Pull Request Cleaned up an unnecessary proc on base crafting datum, fixed balloon sutra-exclusive items being craftable by anyone, air sensors being only craftable via search, crafters adding a second comma when failing to craft something and missing capitalization in slapcrafting errors. ## Changelog 🆑 fix: You can no longer craft balloon armor and weapons without knowing Balloon Sutra fix: Air sensors now show up in atmospherics category spellcheck: Fixed grammar/capitalization in crafter/slapcrafting error messages code: Cleaned up some crafting code /🆑 |
||
|
|
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. /🆑 |
||
|
|
2f99af2330 |
The Supermatter Resizing: How a crystal can fit into hand (#87232)
## About The Pull Request adds supermatter sword craft made out of: 20 adamantium 2 vortex cores actual sm 6 minutes of crafting announcement on fourth minute shrinking wand first of all, you need to craft adamantium pedestal (2 min)  then, you should combine it with shrink wand and sm (2 min) (announcement once you craft it) (it has a gps signal)  and the last one, small sm and 2 vortex cores (2 min) (dont forget about gps signal)   ## Why It's Good For The Game wiz needs more challenges and fun craft is very hard and challenging, but the reward is powerfull as fuck ## Changelog 🆑 MelokGleb and KREKS add: very hard wiz-only sm sword craft sprite: sm sword resprite /🆑 |
||
|
|
0771b1b3a7 |
adds some "factory" machines (#86063)
## About The Pull Request https://github.com/user-attachments/assets/4ceb4c0f-d5ef-4fc0-8436-d7eec5b6f396 https://github.com/user-attachments/assets/56ddd387-7376-4c35-a067-1adccbddeecd https://github.com/user-attachments/assets/dda6cc2b-614a-4adb-a8f4-2c03b51162e0 https://github.com/user-attachments/assets/fa7697fb-f484-48a0-bb85-ee0c2f4867e2 https://github.com/user-attachments/assets/02de4b24-2fa0-4a1e-b147-df9500109b3c https://github.com/user-attachments/assets/b56c03ab-49c9-487f-a99f-fcba5ce038ac https://github.com/user-attachments/assets/52bae5a4-68b0-4f25-99c1-1b677b99790a i didnt feel like recording the lathe and crafter for a suitable file size again but essentially the crafter crafts and the lathe lathes all machines but the router and sorter are cable powered (suitable on lavaland) theyre researched roundstart they can receive any resource that bumps into it if that resource is on the conveyor ## Why It's Good For The Game more fun engineering stuff and perhaps mining given these are more efficient but require effort to set up https://hackmd.io/@jimmyl/S1dZRZosC ## Changelog 🆑 add: added the manufacturing smelter,router,sorter,crafter,lathe,crusher,unloader /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
e54ecf4b10 |
Fix crafting bypassing checks (#82833)
## About The Pull Request Backport from https://github.com/tgstation/TerraGov-Marine-Corps/pull/15701 Fixes crafting bypassing checks. ## Why It's Good For The Game Closes https://github.com/tgstation/tgstation/issues/82826 ## Changelog 🆑 fix: You can no longer bypass construction restrictions via the crafting menu /🆑 |
||
|
|
11cbbba018 |
Replaceable Traitor Uplinks (#74315)
## About The Pull Request Following [from the suggestion in this hackmd ](https://hackmd.io/IkDWWkpfQa2lkdevsnLqhA?view#Replacement-Uplinks)with a few twists of my own, I have made a method for traitors to acquire a replacement traitor uplink that has its own set of flaws and limiters in order to prevent abuse.  The basic pitch is as follows, all traitors now start with a new, crafting recipe exclusive to them, it costs a teleport beacon, a bluespace crystal, and some iron and cable coil, and then allows them to build a static, dense machine that they can synchronize with, which allows the machine to know what signal it should be looking out for from the traitor.  The traitor then uses any radio, sets it to the frequency that has been added to their static antagonist ui, and then speaks their codeword, also in the ui, and then a few things happen.  Most obviously, they get a replacement uplink that is in the conspicuous shape of the nukie or lone op uplink. This uplink can be unlocked by speaking your replacement codeword to it again, it remembers your previous TC amount and locks all other uplinks associated with your uplink handler(they can then be unlocked as normal). It also destroys any other replacement uplinks associated with your uplink handler, which means you can never have more than one replacement uplink. This means that if your uplink has been confiscated and you left it unlocked, if it hasn't been emptied out you can continue from where you were, and if you want to get back on the TC grind you won't lose the new TC to whoever stole your uplink. Of course, the new uplink can not be locked, so you have to be more careful with it or buy an uplink implant and destroy it. You can destroy your replacement uplink with a screwdriver right click, same for the machine. Additionally, the Syndicate Uplink Beacon has another quirk to it, which is that the teleporter beacon used to create it is intact, which means people eagle eyed on the teleporter console could go find you, not to mention that if you use an existing teleporter beacon, someone might notice its gone missing... oh also while making the replacement uplink i found a bug caused by a recent pr that broke debug uplinks due to them not having a purchase log. thats fixed too ## Why It's Good For The Game It can be easy to lose your uplink, and as a traitor having your uplink confiscated, even if it is locked, feels really bad. While the old traitor objectives were added back to prog traitor to prevent situations where a confiscated uplink meant that you were completely aimless, I think that having a backup solution would be good for more inexperienced traitors or for ones who get unlucky. Hopefully this is generally balanced well enough but there are a few levers that can be pulled, but overall I do think that making it so that traitors can always get a chance to get an uplink and do some objectives is good for the game. I like the idea of someone getting perma'd, someone breaks them out, they both craft a new uplink beacon, and then they go back and get the traitors old gear with stuff they got from the new uplink, I think that's a cool possibility to throw into the sandbox. ## Changelog 🆑 add: Added new syndicate uplink beacon and associated systems that allow you to get a replacement traitor uplink fix: Debug & nukie uplinks no longer runtime and work properly again /🆑 |
||
|
|
57e88e6091 |
Crafting fireaxe cabinets, mech removal cabinets, and mirrors (#72856)
## About The Pull Request Breaking down #72371 because it's... unreasonably large. So this PR splits the crafting recipe file, and adds 3 new recipes for fireaxe cabinets, mech removal cabinets, and mirrors. ## Why It's Good For The Game Wallening compliance, and more of me on my shit breaking down long files. ## Changelog 🆑 Tattle qol: fireaxe cabinets, mech removal cabinets, and mirrors can now all be crafted /🆑 Co-authored-by: tattle <article.disaster@gmail.com> |