mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-11 17:35:05 +00:00
ba5c112a86bb2845df830df81d59cd54ca8ac99f
816 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
ba5c112a86 |
Huge Mirror fixes (#27488)
* Fixes incorrect operator usage in mecha code (#82570) ## About The Pull Request I completely screwed up and told the original PR author of #82415 ( |
||
|
|
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:
|
||
|
|
144c94d11e |
[MIRROR] Bioscrambler Anomaly chases you (#27295)
* Bioscrambler Anomaly chases you (#82555) ## About The Pull Request I heard reports that people just ignore the bioscrambler anomaly because basically you just don't go into that room any more and depending on where it spawned, that's no big deal. That won't do. Now the Bioscrambler will be attracted to the nearest sign of advanced thinking life (read: nearest humanoid mob controlled by a player) and will very slowly pursue them, travelling through walls and obstacles in order to do so. Also if it decides to target you, you will get a foreboding psychic warning like with the dark matteor, because I think it's funny for dire warnings to have multiple obscuring sources. The Bioscrambler can be blocked with containment fields if you want to make an overly-elaborate pen for it. To accomplish this I refactored containment fields a little bit to apply turf traits instead of making four different `locate()` checks for different objects. Those files smell bad. Oh also I moved the dullahan organs to the Bioscrambler blacklist because they runtimed while I was testing it (see also: my other incoming PRs) and I can't see any other reasonable way to fix it (they expect to be in an abstract body zone...) ## Why It's Good For The Game Anomalies are generally meant to be problems that you deal with or face some kind of consequence. Because the Bioscrambler isn't a timed anomaly with a dramatic detonation effect, being spawned in a poorly-trafficked area could simply mean that it isn't a problem to anyone. Now it will make sure that it is a problem for someone until someone gets rid of it. I thought this solution was funnier than making it do something zany if you leave it alone for 3 minutes. ## Changelog 🆑 balance: The Bioscrambler will now actively attempt to get closer to living targets rather than chilling in a closet nobody goes into (unless you trap it in a containment field). balance: Because it can now travel through walls, the Bioscrambler will no longer transform you THROUGH walls. /🆑 * Anomaly Releaser logging and fixes (#82684) ## About The Pull Request I literally do not think I have heard of anyone using this extremely niche space ruin item a single time. _**However**_ if they did it wasn't logged, so now it is. Additionally I found a bunch of bugs while testing it: - You could queue inputs on a bunch of cores and activate all of them at once because it didn't check if had been expended by a concurrent do_after. - It made normally immobile anomalies mobile. - I broke immobility in general in a recent PR, but also it's redundant with a different var I added. I fixed all of these. ## Why It's Good For The Game For the one round that will happen in tg history where someone reactivates a Vortex Anomaly Core on the escape shuttle, it should log who did it. ## Changelog 🆑 admin: Reactivating an anomaly core via the anomaly releaser is now logged. fix: Fixes various bugs related to dimensional/spectral anomalies moving when they should not. /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
42f6f57dc0 |
[MIRROR] Replaces even more deciseconds with SECONDS (#27205)
Replaces even more deciseconds with SECONDS Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Co-authored-by: Waterpig <wtryoutube@seznam.cz> |
||
|
|
59d74624b1 |
Upstream power stuff combined and shit (#27284)
* Converts arbitrary energy units to the joule. Fixes conservation of energy issues relating to charging cells. (#81579) Removes all arbitrary energy and power units in the codebase. Everything is replaced with the joule and watt, with 1 = 1 joule, or 1 watt if you are going to multiply by time. This is a visible change, where all arbitrary energy units you see in the game will get proper prefixed units of energy. With power cells being converted to the joule, charging one joule of a power cell will require one joule of energy. The grid will now store energy, instead of power. When an energy usage is described as using the watt, a power to energy conversion based on the relevant subsystem's timing (usually multiplying by seconds_per_tick or applying power_to_energy()) is needed before adding or removing from the grid. Power usages that are described as the watt is really anything you would scale by time before applying the load. If it's described as a joule, no time conversion is needed. Players will still read the grid as power, having no visible change. Machines that dynamically use power with the use_power() proc will directly drain from the grid (and apc cell if there isn't enough) instead of just tallying it up on the dynamic power usages for the area. This should be more robust at conserving energy as the surplus is updated on the go, preventing charging cells from nothing. APCs no longer consume power for the dynamic power usage channels. APCs will consume power for static power usages. Because static power usages are added up without checking surplus, static power consumption will be applied before any machine processes. This will give a more truthful surplus for dynamic power consumers. APCs will display how much power it is using for charging the cell. APC cell charging applies power in its own channel, which gets added up to the total. This will prevent invisible power usage you see when looking at the power monitoring console. After testing in MetaStation, I found roundstart power consumption to be around 406kW after all APCs get fully charged. During the roundstart APC charge rush, the power consumption can get as high as over 2MW (up to 25kW per roundstart APC charging) as long as there's that much available. Because of the absurd potential power consumption of charging APCs near roundstart, I have changed how APCs decide to charge. APCs will now charge only after all other machines have processed in the machines processing subsystem. This will make sure APC charging won't disrupt machines taking from the grid, and should stop APCs getting their power drained due to others demanding too much power while charging. I have removed the delays for APC charging too, so they start charging immediately whenever there's excess power. It also stops them turning red when a small amount of cell gets drained (airlocks opening and shit during APC charge rush), as they immediately become fully charged (unless too much energy got drained somehow) before changing icon. Engineering SMES now start at 100% charge instead of 75%. I noticed cells were draining earlier than usual after these changes, so I am making them start maxed to try and combat that. These changes will fix all conservation of energy issues relating to charging powercells. Closes #73438 Closes #75789 Closes #80634 Closes #82031 Makes it much easier to interface with the power system in the codebase. It's more intuitive. Removes a bunch of conservation of energy issues, making energy and power much more meaningful. It will help the simulation remain immersive as players won't encounter energy duplication so easily. Arbitrary energy units getting replaced with the joule will also tell people more meaningful information when reading it. APC charging will feel more snappy. 🆑 fix: Fixes conservation of energy issues relating to charging powercells. qol: APCs will display how much power they are using to charge their cell. This is accounted for in the power monitoring console. qol: All arbitrary power cell energy units you see are replaced with prefixed joules. balance: As a consequence of the conservation of energy issues getting fixed, the power consumption for charging cells is now very significant. balance: APCs only use surplus power from the grid after every machine processes when charging, preventing APCs from causing others to discharge while charging. balance: Engineering SMES start at max charge to combat the increased energy loss due to conservation of energy fixes. /🆑 --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> * Corrects Suit Storage Unit charge rate (#82192) ## About The Pull Request Adjusts SSU charge rate according to the new conversion ratio. Betcha didn't know SSUs recharge suit and MOD cells? This number is actually supposed to be equal to the rate a recharger station does it. I don't know if we have some macro for it. ## Changelog 🆑 Melbert fix: Fixed Suit Storage Unit cell charging rate /🆑 * Corrects EVA thermal regulator cell cost (#82195) ## About The Pull Request Another unit not converted to watts / joules ## Changelog 🆑 Melbert fix: Fixed space suit thermal regulators cell usage. /🆑 * Fixing cell power usage (Part 1) (#82197) ## About The Pull Request Yeah i am not about to create 30 different PR's to address 1 issue at a time. The changes are small enough to be grouped together in bulk. This fixes the following issues specified in #82196 - Borg & exosuit RCD (Fixes #82193) - Motorized wheelchair - Canister shielding - Electrolyser - Potato cell - Space heater - Microwave ## Changelog 🆑 fix: Fixed cell energy usage for a bunch of stuff(Part 1). See PR 82197 for details /🆑 --------- Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com> * Fixing cell power usage (Part 2) (#82198) ## About The Pull Request Continuation of #82197. Fixes these issues in #82196 - Cyborg self repair - Cyborg lollipop dispenser - Mauna mug - Plasma cutter (Initial charge not the number of laser shots so partial fix) ## Changelog 🆑 fix: Fixed more energy usages for cells(Part 2). See PR 82198 for details /🆑 --------- Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com> * Fixing cell power usage (Part 3) (#82204) ## About The Pull Request Continuation of #82198 Fixes these issues in #82196 - Borg hypo spray - Borg projectile dampen - Borg chameleon - Firelance - MODlink scryer - Emergency light usage ## Changelog 🆑 fix: Fixed more energy usages for cells(Part 3). See PR 82204 for details /🆑 --------- Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com> * [NO GBP]Fixes static power usage not always drawing the remaining energy of an APC cell. (#82205) ## About The Pull Request Makes APC static power draw consume the remaining energy of the cell if there's not enough energy. ## Why It's Good For The Game Prevents a niche issue where an area composed entirely of static power users with no dynamic users from running forever with no power supply. ## Changelog 🆑 fix: Fixes static power usage from being able to not draw power. /🆑 * Fixes recharge stations charge rates (#82191) ## About The Pull Request - Fixes #82190 Have to now use the assigned constants and not magic number `10000`. Also stuff will take the exact charge needed without any wastage. ## Changelog 🆑 fix: recharge stations draw the same amount of power as before but directly from grid(without using apc cell power) and won't waste any excess power /🆑 --------- Co-authored-by: san7890 <the@san7890.com> * Fixes space heater power usage (#82208) ## About The Pull Request Related to https://github.com/tgstation/tgstation/issues/82196 fixes the space heater power cell usage relating to power per tile heated. Space heater calculates the amount of power required to heat a tile, but only uses power at the end of the processing loop. Fixes so the power consumption matches the calculated usage per tile. Reverts changes to space heater power efficiency in https://github.com/tgstation/tgstation/pull/82197 that causes the heater to instantly drain the cell. Fixes https://github.com/tgstation/tgstation/issues/82228 ## Changelog 🆑 LT3 fix: Fixes Schrödinger's space heater, where a space heater both consumes a power cell instantly while also not consuming power when heating adjacent tiles /🆑 * General maintenance for reagent grinder (#82161) ## About The Pull Request **1. Qol** - Adds examines & screentips for screwdriver, crowbar & wrench acts. - Adds examines & screentips for inserting, replacing & removing beaker, Also for inserting items from bags or directly - Adds an off icon overlay for when the reagent grinder is either screwed open or loses power, **2. Code Improvements** - Replaced `attackby()` with `item_interaction()` so we can end the attack chain early for non combat operations like inserting beakers/ ingredients for grinding etc. - Removed custom shake animations & replaced it with the global `Shake()` proc cause it did the same thing - Removed constructed version of reagent grinder. We instead just check `mapload` to see if we need the beaker to be created or not for round start reagent grinders - Grinding & Juicing use the same `operate_for()` rather than having seperate procs for each operation - Removed trait `TRAIT_MAY_CONTAIN_BLENDED_DUST`. Why do we have this? Its just used to change the grinder description to warn it may contain dust. It's a waste. **3. Fixes** - You cannot insert hologram items into the grinder. Rather than destroying that item & making it vanish you simply won't be allowed to put it inside the grinder so you can save that item - You can hit the grinder with items like screwdriver, wrench, crowbar, beaker & even with stuff you would normally put in the grinder when in combat mode - Adds `can_interact()` checks for using the UI & other stuff - Fixes #46356. All items of type `obj/item/grown` can be put from any bag into the grinder - The item "and its contents" are now grinded/juiced recursively to get all the reagents it has to offer just like a real grinder would - An AI/Human with AI access examining the reagent grinder now actually works. **4. Refactors** - The grinder now measures its available capacity based on the "total weight" of all items present & not its number. This is more realistic because the grinder has limited space inside & so inserting huge items should have greater impact rather than deciding on an arbitrary number like 10(The grinder having the capacity for 10 items of any size inside its small compartment makes no sense). Examines are displayed to show how much capacity of the grinder has been filled. Upgrading the grinder with better matter bins will allow for higher storage capacities. - Total power consumed is measured based on the duration & weight of all items grinded cause you know its realistic. 🆑 qol: adds examines & screentips for tool acts & other operations for reagent grinder qol: adds an off icon for when the grinder panel is open/not powered code: auto docs vars & procs. Shared common proc for grinding or juicing code: removed trait for blended dust, changed some item interactions to end the attack chain early & save time fix: no inserting hologram items into the reagent grinder fix: you can hit the reagent grinder tools like screwdriver, wrench, crowbar & even beakers/ingredients etc when in combat mode fix; adds sanity checks for when & how mobs interact with the reagent grinder fix: examining a reagent grinder by an AI/Human with AI access now actually works. fix: you can insert Nova flowers & other food items from any bag type fix: reagent grinder now grinds all the contents of an item recursively to produce maximum reagents like a real grinder would refactor: reagent grinder now measures available capacity to store items as total weight of stored items & not number. Capacity can be increased with upgraded matter bin refactor: reagent grinder power usage is now a function of duration & total weight of items blended, meaining blending more number of items/larger items will consume more power refactor: reagent grinder code has been optimized overall. Report bugs on github /🆑 --------- Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk> * Suit Storage Units / Inducers can charge MODsuits without necessitating them be screwdrivered opened (#82194) ## About The Pull Request So MODsuits do this thing here with `get_cell` in that they don't return anything when they're closed  And I... can't tell why they do this. I looked through every use of `get_cell` and the only things affected by this are A. Suit Storage Units, which I believe have always been intended to charge MODsuits? and B. Inducers So I removed the `open` check. Allowing both Inducers and Suit Storage Units to charge mods without needing you screwdriver their panel open first. I also took the opportunity to allow SSUs to charge multiple items at once (divvying charge accross all items) ## Why It's Good For The Game I asked Fikou and they said it was "probably not" intended that you need to screwdriver them open so yeah. I think I remember charging my MODs during the original test merges years back but I can't remember if I opened the suit first when I did or not. Either way, it's not super intuitive. Though it's already not very intuitive that SSUs charge things. ## Changelog 🆑 Melbert qol: Suit Storage Units charge MODsuits while their cell panel is closed or open, rather than only when screwed open qol: Inducers can charge MODsuits while their cell panel is closed or open, rather than only when screwed open qol: Suit Storage Units will charge all items within simultaneously (if possible) /🆑 --------- Co-authored-by: san7890 <the@san7890.com> * Fixes modular computer boot-up (#82254) ## About The Pull Request Fixes a bug where modular computers (specifically PDAs) will fail to start up if there is zero required application power draw. PDA will now consume base active power usage during startup. Related https://github.com/tgstation/tgstation/issues/82196 Fixes https://github.com/tgstation/tgstation/issues/82245 Fixes https://github.com/tgstation/tgstation/issues/82229 ## Changelog 🆑 LT3 fix: Fixed modular computers failing to boot up using cell power (eg: contractor tablet) /🆑 * Fixing cell power usage (Part 4) (#82227) ## About The Pull Request Continuation of #82204 Fixes these issues in #82196 - Cyborg Electroadaptive Pseudocircuit - Defib EMP - Cell EMP - `/datum/action/cooldown/mob_cooldown/charge_apc` stuff - Mecha movement, melee, light ,weapon & tool energy drains - Ninja drain ## Changelog 🆑 fix: Fixed more energy usages for cells(Part 4). See PR 82227 for details /🆑 --------- Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com> * Fixing cell power usage (Part 5) (#82296) ## About The Pull Request Continuation of #82227 Fixes these issues in https://github.com/tgstation/tgstation/issues/82196 and others that weren't noticed. - Batton emp protection - Cyborg stun arm - Cyborg energy sword - Cyborg hug attack - Mechanical god religious sect charge check - Mecha fixes - Phasing energy drain - Short circuit energy drain - Durand shield damage energy drain - Plasma engine recharge rate - Mechbay recharge power rate - Recharge station charge rate Stuff that was already working & didn't require fixing. - Plasma cutter energy shots - Botany cell charging ## Changelog 🆑 fix: Fixed cell energy usage for a bunch of stuff(Part 5). See PR 82296 for details /🆑 --------- Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com> * Ties power limit of anchored circuits to 20 * standard cell charge to make it consistent with power changes. (#82287) ## About The Pull Request It just makes the power requirement 20 * standard cell charge instead of 20000 ## Why It's Good For The Game This is too restrictive to make anything with. https://github.com/tgstation/tgstation/assets/62126254/e39dcf27-8793-42b0-84a0-7f747e95efcc ## Changelog 🆑 fix: anchored circuits no longer blow up after 2 components are used. /🆑 --------- Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com> * Space heater power and heating tweaks (#82344) ## About The Pull Request - Fixes #82342 - Space heater computes total power for heating adjacent turfs and uses cell energy once rather multiple times per turf - Improvised space heater actually works & uses beaker heat capacity and not a constant of 200 for heating beaker contents ## Changelog 🆑 SyncIt21,Pickle-Coding fix: space heater(including improvised) turns off when cell is drained fix: optimized power usage for both improvised and main space heater. Improvised heater now works & uses beaker heat capacity /🆑 * Improved lathe error message (#82260) ## About The Pull Request Improves the auto/protolathe low charge error message. Instead of simply saying low power, it will tell you how long until it has enough charge to print.  ## Why It's Good For The Game Less mashing the lathe over and over with no idea how much APC charge it needs to start printing again ## Changelog 🆑 LT3 code: APCs can now calculate time-to-charge qol: Overloaded lathes will now tell you the wait time until they're ready to print again /🆑 --------- Co-authored-by: san7890 <the@san7890.com> * Fixes issues with multitools on power objects (#82389) ## About The Pull Request So at some point the power object's `multitool_act(...)` proc was set to _always_ block, for what I could find to be no discernable reason. ### The Main Thing |
||
|
|
5563e27f14 |
[MIRROR] Shuttle gibbing code improvements (#26814)
* Shuttle gibbing code improvements (#81726) ## About The Pull Request Adds a resistance flag, `SHUTTLE_CRUSH_PROOF`, adds it to the existing things that have it, and adds it to the immortality spectres. ## Why It's Good For The Game Gets rid of some hardcoded checks, making it easier for future code (or admins) to make things immune to shuttle crushing. Also makes it so immortality spectres are immune to being shuttle crushed, as that kinda ruins the whole "immortality" thing... ## Changelog 🆑 refactor: Improved shuttle gibbing code, adding a new resistance flag, `SHUTTLE_CRUSH_PROOF`. fix: Immortality revival spectres can no longer be crushed by shuttles. add: The ghost of Poly can no longer be shuttle-crushed, nor can anything incorporeal. /🆑 Co-authored-by: san7890 <the@ san7890.com> * Shuttle gibbing code improvements --------- Co-authored-by: Lucy <lucy@absolucy.moe> Co-authored-by: san7890 <the@ san7890.com> |
||
|
|
b89fea4d5e |
[MIRROR] Constructs now reuse the victim's mind instead of just moving their client (#26652)
* Constructs now reuse the victim's mind instead of just moving their client (#81665) ## About The Pull Request This makes it so when someone becomes a construct, their _mind_ is transferred, rather than just their ckey. ## Why It's Good For The Game It's the same soul after all. Plus, this prevents clogging up the roundend report. ## Testing Evidence    ## Changelog 🆑 qol: Constructs now reuse the victim's mind instead of just moving their client /🆑 * Constructs now reuse the victim's mind instead of just moving their client --------- Co-authored-by: Lucy <lucy@absolucy.moe> |
||
|
|
67e6d25e8d |
[MIRROR] deathmatch (#26556)
* deathmatch (#81444) ## About The Pull Request  adds a deathmatch minigame, a port and slightly redone version of the aetherstation deathmatch (by TheChosenEvilOne) the goal is to kill everyone else with loadouts ## Why It's Good For The Game CTF sucks and this is probably better to filter out the bloodthirsty terry players anyway ## Changelog 🆑 add: deathmatch minigame /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com> * deathmatch --------- Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com> |
||
|
|
939eee7797 |
[MIRROR] Fixes emitter icons and prototype emitter (#26187)
* Fixes emitter icons and prototype emitter (#80994) ## About The Pull Request Fixes emitter prototype button being unreachable because it makes you immobile upon buckling to it, but requires you to be mobile to use. Fixes emitter prototype's open icon state being invisible Fixes emitters reverting icon state despite having an open panel ## Why It's Good For The Game Prototype emitters being broken and invisible was brought to my attention in discord, I found the last bug accidentally so fixed that one too. I can't find any issue report on these, but these bugs do exist trust me bro I promise. ## Changelog 🆑 fix: Prototype emitters now work. fix: Prototype emitters don't go invisible if screwdriver'd open. fix: Emitters no longer show up as their panel being closed when it is open. /🆑 * Fixes emitter icons and prototype emitter --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> |
||
|
|
b15b16976a |
[MIRROR] Attack chain refactoring: Broadening tool_act into item_interact, moving some item interactions to... atom/item_interact / item/interact_with_atom [MDB IGNORE] (#25516)
* Attack chain refactoring: Broadening `tool_act` into `item_interact`, moving some item interactions to... `atom/item_interact` / `item/interact_with_atom`
* Patches up merge skew (#80197)
## About The Pull Request
Yeah #79968 (
|
||
|
|
53c3282f7e |
[MIRROR] Nar'Sie Only Ends The Round After Specific Proc Is Called [MDB IGNORE] (#25464)
* Nar'Sie Only Ends The Round After Specific Proc Is Called (#80127) ## About The Pull Request Addresses at least one aspect of https://github.com/tgstation/tgstation/issues/80125#issuecomment-1839262085 Nar'Sie will no longer end the round unless a specific proc is invoked. There is a button in the VV Dropdown (although it is painful to get to because the icon is so long) to invoke this proc (which is confirmation guarded). Calling this proc directly via Atom Proccall will also give you a confirmation prompt as well. ## Why It's Good For The Game We trivially need to know what Nar'Sie looks like at times or just need to access some variables about it, this greatly lowers the odds that the whole round will be completely wacked out just because of this. It also provides a nice QoL for admins to spawn in Nar'Sie and then varedit the image to be of a cute kitty cat, and only after their setup is complete can they start to torture players. ## Changelog 🆑 admin: Spawning in Nar'Sie will no longer automatically trigger the round-ender, you need to specifically start this chain of events through the new VV Dropdown Option "Begin Nar'Sie Roundender". /🆑 * Nar'Sie Only Ends The Round After Specific Proc Is Called --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
b557e89855 |
[MIRROR] More standardization for ghost notifications (READY) [MDB IGNORE] (#25104)
* More standardization for ghost notifications (READY) (#79596) ## About The Pull Request I'm still not satisfied with how ghost notifications work. This gives every notification with a source (99% of all notifications, in other words) a link to jump/orbit. Currently, notifications with "play" interactions would only get the interact link, so jumping to the source was pretty annoying. It removes posting the entire message in the alert tooltip, as some got pretty lengthy and it didn't seem to fit. To replace this, they will always use headers After:    NOTIFY_JUMP and NOTIFY_ORBIT have been merged, since the only difference seems to be whether it's a turf. The result shaves off some redundant lines of code, since most-every usage of notify_ghosts uses NOTIFY_ORBIT. ## Why It's Good For The Game More standardization for the ghost notification system. Adds a few alert headers that never had them. All in all, makes it easier for creators to throw alerts at ghosts ## Changelog 🆑 qol: Nearly every ghost alert should now feature a "VIEW" button, even those with click interaction. del: Ghost alerts no longer show the entire message in the tooltip, instead have been replaced with titles. /🆑 * More standardization for ghost notifications (READY) * Modular * Update outpost_of_cogs.dm --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
dbd9dfa66b |
[MIRROR] All vehicles can no longer cross Force Fields [MDB IGNORE] (#24841)
* All vehicles can no longer cross Force Fields (#79553) ## About The Pull Request Fixes #78625 The check only applied to mecha vehicles, when in reality there shouldn't be any vehicle that can freely transverse containment fields, since that vehicle will have a mob in it, which itself shouldn't be allowed to traverse containment fields. ## Why It's Good For The Game Makes behavior more consistent and expectable. ## Changelog 🆑 fix: All vehicles (such as VIMs operated by a mouse or a lizard) will no longer be able to phase through containment fields. /🆑 * All vehicles can no longer cross Force Fields --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
596b2f050e |
[MIRROR] Converts some notify_ghosts args to bitflags, multilines all notify_ghosts calls [MDB IGNORE] (#24804)
* Converts some notify_ghosts args to bitflags, multilines all notify_ghosts calls * Update supermatter.dm * Modular * More modular * Update cortical_borer_egg.dm --------- Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
761cdc3d20 |
[MIRROR] Station announcements cleanup [MDB IGNORE] (#24792)
* Station announcements cleanup * Fix diffs * Space indentation * skyrat edits --------- Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
a32c7ed2da |
[MIRROR] Partially reverts ghost announcements [MDB IGNORE] (#24564)
* Partially reverts ghost announcements (#79221) ## About The Pull Request #79139 turned out to be quite annoying, it wasn't taken into account that these alerts can stack (ie: spiders). Of course, I poked around the code and found some inconsistencies in the process. For instance, there were usages of Topic for custom action behavior which could've been consolidated. There were other instances where jump (the default action) doesn't give a link at all, which I think it should anyway, since the screen toast gives you this. I've standardized it more, meaning you can use "NOTIFY_PLAY" without writing a custom link and topic handler (for instance, MMIs) ## Why It's Good For The Game Fixes #79198 Fixes #79195 ## Changelog 🆑 fix: Ghost alerts have been tuned down a bit. /🆑 * Partially reverts ghost announcements * Update cortical_borer_egg.dm * Update cortical_borer_egg.dm --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
27d894493b |
[MIRROR] Makes supermatter charged singularity damage the eyes of viewers [MDB IGNORE] (#24451)
* Makes supermatter charged singularity damage the eyes of viewers (#79044) ## About The Pull Request Mostly made this for the component for admin abuse but let's put it on supermatter singulo as well. Screaming as your eyes fail you while your station is being consumed seems like it would be !!fun!! ## Changelog 🆑 ninjanomnom balance: It damages your eyes to look at the supermatter singularity /🆑 * Makes supermatter charged singularity damage the eyes of viewers * Modular compiler errors --------- Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> |
||
|
|
ae2c7f8fbb |
[MIRROR] Basic Constructs: parent type + Harvester [MDB IGNORE] (#24258)
* Basic Constructs: parent type + Harvester (#78807) ## About The Pull Request I kind of hate cult as a whole, but I like these little guys. Let's basic-ize them. This PR begins the process with the harbinger of the Red Harvest, the Harvester! Their actual capabilities have been changed very little, except that most of their unique properties have been moved to components and elements. The basic parent type of constructs has also been set up to make the next bunch of conversions easier. - Constructs capable of repair now receive the healing hands component. Healing hands has been extended, to allow the healing particles to come in custom colors, and to allow it to print the target's health if the target is not a carbon. - Repairing constructs also receive a new element: Structure repair is a lighter-weight variant on healing hands that allows repairing clicked-on atoms of specified types. - Constructs capable of damaging walls, meanwhile, receive the wall smasher element. Harvesters in specific have two special elements: - The existing "amputating limbs" element, making them instantly rip a limb off of any carbon they attack. As before, if they attempt this on a carbon with no arms or legs, the harvester will hear Nar'Sie's call to bring the victim to her. - A new "wall walker" element, allowing them to walk through walls of specified type (cult walls for harvesters) and allowing them to drag any atom through as well. Other than laying the groundwork, there's not much else here. I started with Harvesters specifically because they are only ever player-controlled, which makes things easy. I'm not completely happy with the use of healing hands here - it gets the job done, but currently loses a bit of the previous flavor (a healing beam as a visual; printing the target's health in cult span). I may extend it further to allow this behavior. I've included an UpdatePaths script, even if these things shouldn't be mapped, just in case something fucky is going on on a downstream. You never know. ## Why It's Good For The Game Constructs, currently, occupy _19_ spots on the simple animal list. This is something close to 10% of all the remaining ones. Also, like everything to do with cult, construct code is janky, old, and desperately in need of updating. This is the first step. ## Changelog 🆑 refactor: Harvester constructs have been updated to the basic mob framework. This should have very little impact on their behavior, but please report any issues. /🆑 --------- Co-authored-by: san7890 <the@ san7890.com> * Basic Constructs: parent type + Harvester --------- Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com> Co-authored-by: san7890 <the@ san7890.com> |
||
|
|
764c955722 |
Singularities are no longer invisible (#23610)
from TG master |
||
|
|
b8792d5317 |
[MIRROR] Add admin blackhole(s) shuttle event [MDB IGNORE] (#22978)
* Add admin blackhole(s) shuttle event (#77188) ## About The Pull Request This adds a new **Black Hole** admin shuttle event while the escape shuttle is in transit. The regular version spawns a small 1x1 singularity that falls through the ship. There is also a special adminbus Kobayashi Maru version that spawns multiple black holes rapidly. ## Why It's Good For The Game  Tell me this doesn't look fun? ## Changelog 🆑 add: Add admin blackhole shuttle event with a normal version and suicidal version. fix: Fix several shuttle event runtimes /🆑 --------- Co-authored-by: Time-Green <7501474+Time-Green@ users.noreply.github.com> * Add admin blackhole(s) shuttle event --------- Co-authored-by: Tim <timothymtorres@gmail.com> Co-authored-by: Time-Green <7501474+Time-Green@ users.noreply.github.com> |
||
|
|
c7e49e5fa3 |
[MIRROR] Doubles the time you can get the "Long shift" achievement, makes it not grant on admin restarts [MDB IGNORE] (#22771)
* Doubles the time you can get the "Long shift" achievement, makes it not grant on admin restarts (#77195) ## About The Pull Request - "Long shift" can now be earned from sub 10 minute rounds rather than sub 5 minute rounds - Admin restarts no longer give out "Long shift" ## Why It's Good For The Game I do not think this achievement can *possibly* be earned right now. Like at all. Nuke Ops and cult are the only antags that can possibly do it and it's incredibly infeasible (requiring that they nuke the station or summon Nar'sie in just 3 minutes!) So I bumped up the timer to 10 minutes. This means that ops can get it if they nuke the station in 8 minutes, cult can get it if they REALLY speedrun, and revs can get it if they beeline the heads. I checked the DB for stats on this achievement and it's only been earned in 3 rounds across the last year - `208780` (admin restart due to a bug) `192892` (admin restart due to a bug?) `186192` (admin restart). So I also prevented admin forcing the round to end. (I don't know if it catches admin reboots directly I'll have to check that.) ## Changelog 🆑 Melbert balance: The "Long Shift" achievement is now feasibly obtainable, and admins can no longer trigger it unknowingly /🆑 * Doubles the time you can get the "Long shift" achievement, makes it not grant on admin restarts --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
2f552919c1 |
[MIRROR] Icons folder cleaning wave two [MDB IGNORE] (#22454)
* Icons folder cleaning wave two * Merge conflict resolution * Modular path hell * hmm * Update 2022-10.yml * Another modular thing --------- Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com> Co-authored-by: Giz <vinylspiders@gmail.com> |
||
|
|
0a03e8a2a7 |
[MIRROR] Machine list is now stored in SSmachines | Remove excessive use of global lists for specific machine types [MDB IGNORE] (#22481)
* Machine list is now stored in SSmachines | Remove excessive use of global lists for specific machine types * Resolve merge conflicts * Modular adjustments * destroy this double return on destroy --------- Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com> Co-authored-by: Giz <vinylspiders@gmail.com> |
||
|
|
e264ee3644 |
[MIRROR] Adds an extra malf AI ability: Remote emagging. Also tidies up emag code and coverts a lot of things to balloon alerts [MDB IGNORE] (#22469)
* Adds an extra malf AI ability: Remote emagging. Also tidies up emag code and coverts a lot of things to balloon alerts * Update communications.dm * Modular override * Some modular adjustments, removes 'emagged' vars in favor of obj_flags * whoops, mobs don't have obj_flags. --------- Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com> Co-authored-by: Giz <vinylspiders@gmail.com> |
||
|
|
933acf3fd3 |
[MIRROR] Power machines can now operate on different cable layers [MDB IGNORE] (#22117)
* Power machines can now operate on different cable layers (#76075) ## About The Pull Request Machines that require a cable underneath it to operate like Tesla, SMES, Emitter & Turbine now look for the `cable_layer` (red, yellow, blue default being yellow) to operate on and not `machine_layer`(that var is removed). `machine_layer` & `cable layer` served the same purpose so i removed `machine_ layer` var and made it just look for the cable layer to operate on to reduce redundancy. The following machine's can have their cable layer changed with a multitool when in the specified state 1. Emitter when it's not welded 2. Tesla Coil when it's not wrenched 3. SMES when it does not have a terminal attached 3.1 Terminal of the SMES cable layer can also be changed with Right Click during installation 4. APC terminal cable layer can also be changed with Right Click during installation 5. Turbine rotor when its panel is open  Here all 3 SMES were on 3 separate layers of cable but they were all joined by a single multi z layer hub cable summing up all their contribution's even though they were on different cable layers. ## Why It's Good For The Game It makes sense that a machine should only look for what cable layer it should operate on and adding another layer called machine layer was just redundant. Also cable layers blue & red which could not be used by machines are now usable ## Changelog 🆑 fix: cable layers 1 & 3 can now be used by machine's like emitters, smes, tesla coil & turbine. fix: terminals(smes & apc) can operate on different cable layers by installing them with right click /🆑 --------- Co-authored-by: Time-Green <7501474+Time-Green@ users.noreply.github.com> * Power machines can now operate on different cable layers --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Co-authored-by: Time-Green <7501474+Time-Green@ users.noreply.github.com> Co-authored-by: Bloop <vinylspiders@gmail.com> |
||
|
|
db35fc9a89 |
[MIRROR] Fixes some stupid airlock sleeps [MDB IGNORE] (#21931)
* Fixes some stupid airlock sleeps * Fixes the conflicts before checking the merge conflicts * Converts another wires = to set_wires() and removes another issue --------- Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com> |
||
|
|
068089fb52 |
[MIRROR] Standardize Welder Fuel Usage [MDB IGNORE] (#21943)
* Standardize Welder Fuel Usage (#76021) Remove welder fuel usage from all actions except attacking and leaving it on most welder tasks require a minimum of 1u of fuel, some longer tasks require a minimum of 2 or 3u welders now drain 1u every 5 seconds they're active ## About The Pull Request Prior to this PR welder fuel usage was random, a lot of tasks didn't use any welder fuel and welders were basically near infinite so long as you didn't use them for combat, it took 26 seconds of activity to drain 1u of fuel, that means an emergency welder alone could run for 5 minutes straight before needing a refuel After this PR all welders will drain 1u every 5 seconds instead of every 26 seconds, but welding objects won't require extra fuel anymore, making the fuel usage much more consistent. resolves #55018 ## Why It's Good For The Game Actually makes fuel tanks useful and relevant without making it obnoxious to do repetitive quick tasks like turn rods into plates, there's actually a reason to upgrade off the emergency welder now since it lasts 50 seconds rather than 5 minutes ## Changelog 🆑 qol: Welders now have a more consistent fuel usage /🆑 * Standardize Welder Fuel Usage --------- Co-authored-by: Couls <coul422@gmail.com> |
||
|
|
3dfa235061 |
[MIRROR] Allows field generators to contain explosions. [MDB IGNORE] (#21764)
* Allows field generators to contain explosions. (#75771) ## About The Pull Request Allows field generators to contain explosions. The fields will not let the explosion propagate past them. ## Why It's Good For The Game Allows people to contain the tesla for fun, or on station bomb testing if they so desire. ## Changelog 🆑 balance: Field generators can parry explosions. /🆑 * Allows field generators to contain explosions. --------- Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com> |
||
|
|
65018923dc |
Removes all Modular Singularity Code (#21463)
* removes overridden singulo sprites * LORD SINGULOTH SLEEPS * Update tgstation.dme * Update energy_ball.dm |
||
|
|
5e9d2379bf |
[MIRROR] Stock Part Resprite [MDB IGNORE] (#21014)
* Stock Part Resprite * wew * alright --------- Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com> |
||
|
|
b44715db5d |
[MIRROR] ex_act() will work on basic mobs again (lol) + Unit Test [MDB IGNORE] (#20919)
* `ex_act()` will work on basic mobs again (lol) + Unit Test * COnflict --------- Co-authored-by: san7890 <the@san7890.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com> |
||
|
|
17ad3092e2 |
[MIRROR] Removes player references [MDB IGNORE] (#20901)
* Removes player references (#75133) 🆑 fix: Removes player references. /🆑 * Removes player references --------- Co-authored-by: Iamgoofball <iamgoofball@gmail.com> |
||
|
|
4085ed014c |
[MIRROR] Expands conversion unit test coverage [MDB IGNORE] (#20516)
* Expands conversion unit test coverage (#74563) ## About The Pull Request Requires #74562 and #74556 be merged first. Unit tests cult conversion and throws in a case for rev AOE flashes ## Changelog Not necessary --------- Co-authored-by: san7890 <the@ san7890.com> * Expands conversion unit test coverage --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: san7890 <the@ san7890.com> Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com> |
||
|
|
9a594755f3 |
[MIRROR] Renames delta time to be a more obvious name [MDB IGNORE] (#20507)
* Renames delta time to be a more obvious name * updates to our code --------- Co-authored-by: oranges <email@oranges.net.nz> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com> |
||
|
|
fe8fc4d010 |
[MIRROR] Split weapons_and_items.dmi icons into their own categories [MDB IGNORE] (#20360)
* Split weapons_and_items.dmi icons into their own categories * update modular * I hate the dme * random ass define removal fix * missing icons fix --------- Co-authored-by: Tim <timothymtorres@gmail.com> Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com> |
||
|
|
6a9036149c |
[MIRROR] Significantly speed up create & destroy by reducing the amount of time to wait for GC [MDB IGNORE] (#20459)
* Significantly speed up create & destroy by reducing the amount of time to wait for GC (#74604) The check queue is 5 minutes long because that's the longest a client can hold onto a reference. Without clients, we can drastically decrease the time we have to wait. This lowers the time down to 10 seconds (though everything right now deletes in 5). This will represent a 5 minute decrease in CI across the board, freeing up runners. Makes a few changes to stuff that was being held for more than 10 seconds. - `VARSET_CALLBACK` now works through weakrefs, to allow for pAIs to have their holochassis init timers. - Nar'Sie cleans herself up in GLOB.cult_narsie if she's deleted. - "Spooky portals" no longer hold onto a reference for 2 minutes. - `poll_candidates` short circuits to an empty list if there are no candidates, to avoid several 30 second+ long timers Originally this was going to be a more clever hack from @ MrStonedOne about short circuiting if everything deletes before the wait, but we realized that basically nothing actually holds onto references for that long without clients, and that nothing really should anyway * Significantly speed up create & destroy by reducing the amount of time to wait for GC --------- Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> |
||
|
|
fd112cfe9c |
[MIRROR] Adds the Dark Matt-eor when you emag a stupid amount of meteor shields + lots of meteor file sorting + qol + dark matter singularity + dark matt-eor summoning final traitor objective [MDB IGNORE] (#20178)
* Adds the Dark Matt-eor when you emag a stupid amount of meteor shields + lots of meteor file sorting + qol + dark matter singularity + dark matt-eor summoning final traitor objective * singularity * Update singularity_s1.dmi --------- Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com> Co-authored-by: lessthnthree <three@lessthanthree.dk> |
||
|
|
93fc6f2a81 |
[MIRROR] Most actions cannot be used while incapacitated [MDB IGNORE] (#19469)
Most actions cannot be used while incapacitated Co-authored-by: Jacquerel <hnevard@gmail.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com> |
||
|
|
0459e4a9e1 |
[MIRROR] Fix incorrectly passed biotype args in take_overall_damage [MDB IGNORE] (#19170)
* Fix incorrectly passed biotype args in take_overall_damage (#73203) ## About The Pull Request The linters in #73202 revealed to me that `heal_overall_damage` was overridden wrong in `carbon` and left out an argument, meaning that plausibly some places that didn't provide an argument for `stamina` probably had an off-by-one error with args and wouldn't apply them properly. I fixed that in that PR because it was using it. Then I noticed that the same problem exists in `take_overall_damage` so I am fixing that too. I don't know if this was linked to any actual bugs, but it might cause some. They'd be hard to spot because it'd be for stuff like "a shadowperson with a prosthetic takes damage to their prosthetic if not in darkness" and probably nobody would even get into that situation let alone notice to report it. ## Why It's Good For The Game We want arguments to do what they are supposed to do. ## Changelog 🆑 fix: Biotypes will be more consistently applied when taking damage, pod and shadowperson prosthetic limbs won't be corroded due to light levels. fix: Podperson and Wooden Golem prosthetic limbs won't be corroded by having a hungry tummy. /🆑 * Fix incorrectly passed biotype args in take_overall_damage --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
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> |
||
|
|
902caab964 |
[MIRROR] Stock Part Datumization Complete [MDB IGNORE] (#18639)
* Stock Part Datumization Complete (#72559) So i accidently reverted all my commits in #72511 when resolving a merge conflict So ummm yeah fuck my bad anyway Finishes what was started in #71693 and completes the [initiative](https://github.com/tgstation/dev-cycles-initiative/issues/1) Except for `obj/item/stock_parts/cell` and its subtypes. All machines now use `datum/stock_part` for its requested components & component parts Not sure if i caught every machine & stuff in the game so merge with caution 🆑 code: datum stock part for every obj stock part refactor: all machines & dependent experiments to use datum stock parts /🆑 * Fixes a teeny tiny Funce mistake :) Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com> |
||
|
|
011fefdd81 |
[MIRROR] Refactors armor into dedicated subtypes [MDB IGNORE] (#18291)
* Refactors armor into dedicated subtypes * start * most tg things * pain (#18584) * shit * non-mod changes * compile Co-authored-by: John Doe <gamingskeleton3@gmail.com> * #18291 * compile fix * ??? Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com> Co-authored-by: John Doe <gamingskeleton3@gmail.com> Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com> |
||
|
|
650d64f6d4 |
[MIRROR] afterattack now returns a flag if it's reasonable to suspect the user intends to act on an item [MDB IGNORE] (#18519)
* afterattack now returns a flag if it's reasonable to suspect the user intends to act on an item * Update _neck.dm Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com> |
||
|
|
5c6c91144c |
[MIRROR] Changes the missing food icon test to cover ALL /obj's [MDB IGNORE] (#18139)
* Changes the missing food icon test to cover ALL /obj's * Update implant.dm * Hopefully fixes all the failing integration tests! * Fixes more missing icons * Even more icon fixes * Hopefully that was all of them * Okay now SURELY that's all of them * I'm tired of this shit man * Hopefully that's all, for real this time! Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com> Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com> Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com> Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> |
||
|
|
15faaa54f5 |
[MIRROR] Rewrites how action buttons icons are generated, makes them layer nicer. Allows observers to see a mob's action buttons. [MDB IGNORE] (#17907)
* Rewrites how action buttons icons are generated, makes them layer nicer. Allows observers to see a mob's action buttons. * conflicts * Modular! * update modular * icon icon icon icon icon Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com> Co-authored-by: Funce <funce.973@gmail.com> |
||
|
|
fcebbd61a9 |
[MIRROR] Basic Mob Carp Bonus Part: Wall smashing [MDB IGNORE] (#17791)
* Basic Mob Carp Bonus Part: Wall smashing (#71524) ## About The Pull Request Atomisation of #71421 This moves the attack function of "environment smash" flags which allow simple mobs to attack walls into an element, so that we can put it on other things later. For some reason while working on carp I convinced myself that they had "environment_smash" flags, which they do not, so this actually is not relevant to carp in any way. While implementing this I learned that the way wall smashing works is stupid, because walls don't have health and so resultingly if a mob can attack walls it deletes them in a single click. If we ever decide to change this then it should be easier in an element than in three different `attack_animal` reactions. This is especially silly with the "wumborian fugu" item which allows any mob it is used on to instantly delete reinforced walls, and also to destroy tables if they click them like seven or eight times (because it does not increase their object damage in any way). ## Why It's Good For The Game Eventually someone will port a basic mob which does use this behaviour (most of the mining ones for instance) and then this will be useful. If we ever rebalance wall smashing to not instantly delete walls then this will also be useful. Admins can apply this to a mob to allow it to delete walls if they wanted to do that for some reason, they probably shouldn't to be honest at least until after we've done point two unless they trust the player not to just use it to deconstruct the space station. ## Changelog 🆑 refactor: Moves wall smashing out of simple mob code and into an element we can reuse for basic mobs later /🆑 * Basic Mob Carp Bonus Part: Wall smashing * SR mobs Co-authored-by: Jacquerel <hnevard@gmail.com> Co-authored-by: tastyfish <crazychris32@gmail.com> |
||
|
|
257feb1be7 |
[MIRROR] More horrible 515 proc compatibility. [MDB IGNORE] (#17671)
* More horrible 515 proc compatibility. * Feex * Hopefully we're done now Co-authored-by: AnturK <AnturK@users.noreply.github.com> Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> |
||
|
|
2848503968 |
[MIRROR] Improves Readability/Documentation of SSTicker.force_ending [MDB IGNORE] (#17633)
* Improves Readability/Documentation of SSTicker.force_ending (#71329) ## About The Pull Request Hey there, force_ending was a boolean (with inconsistent usage, flip-flopping between using TRUE/FALSE and 1/0 variables), so let's just change it all over to the macros and call it a good day. I also updated documentation of the variables in that "code block" in SSTicker while in the area because changing just one line made it look ugly. Some of the documentation was no longer current to it's... current use in code, so I updated those as well. ## Why It's Good For The Game Pure code improvement, DMdocs are swell, and readability is kino. ## Changelog Nothing here should affect players. * Improves Readability/Documentation of SSTicker.force_ending Co-authored-by: san7890 <the@san7890.com> |
||
|
|
f7c26bbf25 |
515 Compat (#17465)
* ONLY SKYRAT CHANGES * ACTUALLY SKYRAT CHANGES * yolo, revert later * Update alternate_byond_versions.txt Co-authored-by: AnturK <AnturK@users.noreply.github.com> |
||
|
|
32db6d2411 |
[MIRROR] Properly checks flags with & instead of == [MDB IGNORE] (#16487)
* Properly checks flags with & instead of == * merge fixed for changeling * skyrat equipment updated Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: Tastyfish <crazychris32@gmail.com> |