Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pulse of entropy description fix #2

Closed
wants to merge 939 commits into from

Conversation

EnterTheJake
Copy link
Owner

@EnterTheJake EnterTheJake commented May 17, 2024

About The Pull Request

Fixes some missing info on the recipe to cast Rust pulse of entropy for heretic

Why It's Good For The Game

When i've made this pr tgstation#83006, i forgot to add the trash item for the recipe of pulse of entropy, this fixes that.

Changelog

🆑

spellcheck: Pulse of Entropy description now tells you the correct crafting recipe.
/:cl:

comfyorange and others added 30 commits May 7, 2024 15:45
…rference (tgstation#82960)

## About The Pull Request

This touches up on the bitrunning ghost roles that come with some maps,
namely Corsair Cove and Syndicate Assault.

The gist of it is: Ghost role spawners and Digital Anomalies (the random
event boss mobs) are now restricted from entering the VDOM safehouse,
and other areas where critical equipment is stored.

Here's an example from Syndicate Assault -- The X-ed out area is
considered "out of bounds" for digital anomalies/ghost roles:

![image](https://github.com/tgstation/tgstation/assets/28870487/b0752dd4-102b-4b64-8c21-c100a58c1a96)

Additionally, this also fixes the matter of pirate ghost role spawns
creating their own antag datum/pirate team, which would carry into the
roundend report. Since these are no longer legitimate pirate spawners
and are now specifically designed spawners for virtual domains.

Naturally, emagging the server jailbreaks all of these restrictions and
notifies any virtual entities.

The new subtype of spawners should also be scalable enough that new
VDOMs should be able to implement new ghost role spawners with ease.
## Why It's Good For The Game

It's one thing to have sentient mobs to fight, which can shake up the
otherwise somewhat static nature of bitrunning maps, but when players
are tossing equipment, spawncamping, or otherwise making it impossible
for the runners to fight them it ends up being unfun for everyone
involved. You can't get into a good fight with a bitrunner avatar if
their only recourse is to wipe the map and everything (YOU) in it.

This ensures a level of fairness between the (typically vindictive)
ghost roles of a VDOM and the players.

Also, pirate spawns don't make a new pirate team/datum. That's one of
the fixes I was aiming for with this.
## Changelog
:cl: Rhials
balance: Virtual domain ghost roles can no longer enter the
safehouse/"equipment" areas of a domain.
fix: Pirate virtual domain ghost roles will no longer make a pirate team
antag datum.
/:cl:

---------

Co-authored-by: Jeremiah <[email protected]>
## About The Pull Request
Per request of MSO, drops the fallback icon generation for clients under
515.1635. Lootpanel warns about this anyways and you had ample time.


![image](https://github.com/tgstation/tgstation/assets/42397676/b7064b28-13b9-4cd1-ad99-33f3e665209b)

Saves some time from SSlooting.
## Why It's Good For The Game
Pushes players to use a better client
Saves some server cost from older clients
## Changelog
:cl:
fix: Lootpanel now requires 515.1635 to generate most icons. TG support
for 514 ended May 1. Update your client to fix the icons.
/:cl:
## About The Pull Request

Setting RD suplex skillchip as common chip. Adding Roboticist's
skillchip into RD. Skillchip's categories are global defines now

## Why It's Good For The Game

RD is literally the most skilled scientist and roboticist. CEO of all
Silicons. Why he doesn't have robo wires trait?
## About The Pull Request

Spies can now use other spies' uplinks.

## Why It's Good For The Game

Every other antagonist in the game has a recovery method for their main
gimmick or has their main gimmick baked into their mind and thus cannot
be taken from them. This sucks ass for spies because they have zero
recovery so they're left with the broken ass freeform objectives that
don't green or redtext that maintainers and admins told me were bad for
Families but are suddenly okay here I guess.

Spies being able to jack and use other spies' PDAs means you can now
recover your primary gimmick by tracking down other spies, which
improves spy gameplay and also discourages sharing loot.
…gstation/tgstation/actions/runs/8977813552/job/24657813451 the changelog workflow errors when theres nothing in the pr body, which causes a useless notification. now it should be fixed (tgstation#83122)
…3093)

Bro it's a different station with different wires!
## About The Pull Request

Firstly adds `var/datum/fish_source/fishing_datum` to
`/turf/open/water`, allowing a much easier way of adding lootpools to
water tiles, and sets its default to `/datum/fish_source/portal`

Secondly, adds a small pool for fishing in the metastation garden. This
sadly means Betsy had to move in with the chickens.

## Why It's Good For The Game

Should show more people that fishing actually exists, and give you
something more to do in the face of chaos and murder.


![image](https://github.com/tgstation/tgstation/assets/49160555/023ddebe-5938-402c-97af-d5def27069be)

This is mostly a test run. I plan on following up with more pools on
other stations if people like this one

## Changelog
:cl: @MrEmre12, @Majkl-J 
add: Fishing pool introduced to metastation garden
refactor: All water tiles now handle fishing through a unified
fishing_datum variable
/:cl:

---------

Co-authored-by: Vire <[email protected]>
## About The Pull Request

To see the wires in a photo of blueprints you first must squint at them.

## Why It's Good For The Game

Realism, a picture of blueprints taken from across the room makes it
difficult to see what's up

## Changelog

:cl: Melbert
balance: To see wires in photos of blueprints, you first must squint at
the photo.
/:cl:
## About The Pull Request

This fix makes it so the effect of you falling is always applied if you
receive the knockdown effect. Currently, you can make yourself immune to
being disarmed by shoves or any other effect that applies knockdown by
laying down. We've all seen the tactically crawling desword user using
this to avoid being disarmed. This fixes that.

No GBP because I got GBP for a separate PR that I tagged wrong
## Why It's Good For The Game

Lying down in the middle of a hand-to-hand fight flies in the face of
common sense. I'm working on another PR to rebalance being prone in
melee combat, but this itself is a simple fix of what seems to be a
long-standing exploit.
## Changelog

Receiving the effects of a knockdown will now always disarm you, instead
of only when you're not laying down.
:cl: Bisar
balance: Knockdown effects will know consistently disarm, instead of
failing to disarm if you're already lying down.
/:cl:
## About The Pull Request

**Edit: Since writing, this pr has been updated to address failing CI
based on code-general suggestions, invalidating the previous
descriptions. The previous descriptions has been included as spoilers
for posterity**

Right, so, this has gone from just a simple pride pin fix to realizing
CI fails with it to doing a more complex lasting fix based on
suggestions.

Recap time. Objects get reskinning set up if they have `unique_reskin`
set when `Initialize(...)` runs.

https://github.com/tgstation/tgstation/blob/9145ecb7e1e44635a1056fc704adfa3d764325e6/code/game/objects/items.dm#L267-L269
Because pride pins use a global list, we set it in `Initialize(...)`...
After we call the parent.

https://github.com/tgstation/tgstation/blob/9145ecb7e1e44635a1056fc704adfa3d764325e6/code/modules/clothing/under/accessories/badges.dm#L196-L198
Obviously this fails.

However, moving this *before* `Initialize(...)`, while fixing the issue,
causes CI to fail due to calling `register_context()` twice.
Why? Well, it's simple. We automatically call `register_context()` if we
have `unique_reskin` set, as seen above, but we *also* call it on
accessory `Initialize(...)` due to it having its own context.

https://github.com/tgstation/tgstation/blob/0c562fd74299f8ce92a81c0a932b8ec4862189af/code/modules/clothing/under/accessories/_accessories.dm#L29-L31
This causes it to try register the same thing twice, which doesn't
_break_ things, but it sure as hell isn't clean.

So talking about this with San in code general, we decided to try go
with the following:
We add two new procs, `setup_reskinning()` and
`check_setup_reskinning()`, and handle all this fuckery within those.
This lets subtypes override them with their own new checks or
differences in setup.
Then we override `setup_reskinning()` for `/obj/item/clothing/under` and
`/obj/item/clothing/accessory` to not register context again, and do the
same for `/obj/item/clothing/accessory/pride` but while also setting
`unique_reskin`.

This fixes it.

<details>
  <summary>Previous implementation for posterity</summary>
  
Back from my short code break, time to fix some of the things I've been
annoyed by.

Firstly, I noticed pride pins could no longer be reskinned since the
alt-click refactor.
Looking into it, this seems to be because we now only register this on
`Initialize(...)` if `unique_reskin` has been set:

https://github.com/tgstation/tgstation/blob/9145ecb7e1e44635a1056fc704adfa3d764325e6/code/game/objects/items.dm#L267-L269
While due to using a global list we don't set this in the item
definition, but in `Initialize(...)` :

https://github.com/tgstation/tgstation/blob/9145ecb7e1e44635a1056fc704adfa3d764325e6/code/modules/clothing/under/accessories/badges.dm#L196-L198
Where we call the parent proc _before_ setting `unique_reskin`, and thus
not registering our ability to reskin.

So all we do is set this to our global list _before_ we call the parent
proc.
```dm
/obj/item/clothing/accessory/pride/Initialize(mapload)
	unique_reskin = GLOB.pride_pin_reskins // Set before parent proc checks for it.
	. = ..()
```
This fixes it.
  
</details>


## Why It's Good For The Game

Fixes pride pin reskinning.
Theoretically makes it easier to avoid this happening in the future, and
allows `setup_reskinning()` to be manually called in the case of values
being edited post-initialize.

<details>
  <summary>Previous pitch for posterity</summary>
  
Fixes pride pin reskinning.
  
</details>

## Changelog
:cl:
fix: Pride pins can be reskinned again with alt-click.
/:cl:
## About The Pull Request

Implements dynamic scaling for spies. 

TL;DR On average less spawn, but there is a chance it scales up to add
even more.

Old


![image](https://github.com/tgstation/tgstation/assets/51863163/5ecdf146-7922-42ea-8051-8a30cddde7a6)

New


![image](https://github.com/tgstation/tgstation/assets/51863163/ce9f51a1-4d99-4fe7-be65-32003fbec605)

## Why It's Good For The Game

Maybe more dynamic rounds? Just for testing really

## Changelog

:cl: Melbert
qol: Spies may spawn in less numbers, but rarely may also spawn in more
numbers.
/:cl:
…wed hook to the market. (tgstation#82972)

## About The Pull Request
Jacq has come up with the suggestion of adding a unit test to the
blackmarket. I agreed ~~and I think I deserve the NO GBP label because
both of these missing items are actually my fault~~.

## Why It's Good For The Game
Let's avoid issues like this in the future.

## Changelog

:cl:
fix: Added the missing bulwark MOD module and the jawed fishing hook to
the black market.
/:cl:
## About The Pull Request

`check_tier_progression` expects a human, but is being passed a machine,
so it runtimes on `has_status_effect`

## Changelog

:cl: Melbert
fix: DNA infusing tiers works again
/:cl:
## About The Pull Request

All mineral turfs can be auto-mined by just walking into them if
piloting a mech. This PR mostly just reorganizes the action() to
accommodate it and add a new proc for listening to a signal.

## Why It's Good For The Game

Less work on your mouse finger.

## Changelog
:cl:
qol: Mech drills can auto-mine by walking into rock.
/:cl:
## About The Pull Request
Simple fix. 
Added some defines in place of "Teleporter" and "Gate".
Added some var comments
## Why It's Good For The Game
Fixes tgstation#82667
## Changelog
:cl:
fix: Silicons can set the teleporter destinations again.
/:cl:
## About The Pull Request

Updates pipeguns with a brand new set of sprites. Also comes with pipe
pistols; plinkier versions of the pipegun.

![ye
pipeguns](https://github.com/tgstation/tgstation/assets/40847847/dd8ea3db-aa5a-403e-9eca-c3aa2c38b694)


![image](https://github.com/tgstation/tgstation/assets/40847847/9015f1fe-8ed2-4724-844d-7d550d35b890)


![image](https://github.com/tgstation/tgstation/assets/40847847/0d99551a-ecc4-4f2b-a397-46c5f26437f7)

Alters pipeguns away from utilizing shotgun/rifle ammunition towards a
bespoke junk round ammo. These shells are crafted similarly to current
improvised shells. This also removes improvised shells as a shotgun ammo
type. (these new shells aren't shotgun shells to begin with, they're
more like rifle bullets)

Crafting junk rounds produces an entirely unknown projectile in the
shell. You won't know what you get until you fire the gun. Almost in
every instance, however, the shot is beneficial towards killing things.
And they all do about the same amount of damage, so there is hopefully
never a round you didn't want to fire in the gun. Fighting someone with
a pipegun is usually predictable for what amount of damage it will do,
but any additional effects it might have is going to be an unknown
factor. They also brutalize borgs, which is a quality that improvised
shells had previously.

Pipeguns operate as they did before, and do roughly 40 damage per shot
with the majority of their ammo types (less than what they do currently
with .310). They only have one shell in the gun at a time, so every time
they're fired, they must be reloaded.

Pipe pistols do roughly 15 damage per shot, but hold more ammo than the
bigger pipegun. However, they're more likely to veer off-course.

There are regal versions of each of these weapons, and each are more
potent respective of their general rarity. Having one is going to be a
lot more noteworthy.

### Minor changes

Some more clothing items can carry pipeguns in their suit storage.

The icemoon hermit spawns with a heroic laser musket rather than a regal
pipegun (partially because it is too difficult for the hermit to get
more ammo for their gun, and also because the regal pipegun is a more
powerful weapon than previously)

## Why It's Good For The Game

It has been a few years since I added the pipegun, and time was never
particularly kind to it. There are alternative weapons now with
interesting mechanics of their own. The ammunition it used has changed
considerably. And it simply didn't ever feel like a 'junk gun' in a way
that was fun. The original mechanics added to give it that feeling were
just not fun to experience and were removed. So the pipegun has been
left as 'a shitty version of X'. Even the regal pipegun was, at the end
of the day, a shittier version of either a shotgun or cargo rifle.

It didn't feel right not having some kind of unique quality to using
these weapons that help them express themselves as unpredictable trash
weapons built inside of maintenance. But I expressly didn't want to make
it 'unpredictable' in a way that felt unfair on the person getting shot
either. So just giving it more damage was right out. As a compromise, I
reduced the overall lethality of the weapons while introducing a gimmick
that will appeal to those wanting to play out the role of a homeless
lunatic with a shitty homemade gun stalking maintenance. A 'chaos gun'
so to speak. Maybe that will appeal to people.

## Changelog
:cl:
balance: Reworks pipeguns to use an unpredictable 'junk round'. You
won't know what you're shooting until you fire it.
add: Introduces a pistol version of the pipegun; the pipe pistol. It is
inaccurate and does significantly less damage, but more portable and has
more ammunition in the gun.
image: Updates the visuals of the pipeguns.
balance: Also improves the Regal varieties of these weapons. By a lot.
balance: More articles of clothing can be used to carry pipeguns in suit
storage.
balance: The Icemoon Hermit comes with a Heroic Laser Musket instead of
a Regal Pipegun.
remove: Improvised shells (the shotgun shell) has been replaced with
improvised junk shells (which don't work with shotguns but do work with
pipeguns).
/:cl:

---------

Co-authored-by: Jacquerel <[email protected]>
Echriser and others added 24 commits May 17, 2024 04:59
…3259)

## About The Pull Request
Fixes a bunch of hearts so they no longer turn into errors when you take
a bite out of them... for whatever reason.
Fixes tgstation#83147 

## Why It's Good For The Game
Immersion: ruined

## Changelog
:cl:
fix: Fixes a bunch of hearts turning into errors when you try to eat
them
/:cl:
…tgstation#83233)

## About The Pull Request
This adds 1 extra pump, better stock parts for the temp units, and 2
canisters of co2 and nitrogen

## Why It's Good For The Game
For nukies buying ordnance keycard is semi rare, this adds extra gasses
to let them show their atmos knowledge more by allowing them to create
better bombs(as thats kinda the point of the whole keycard since its
also a timesink to create said bombs)

## Changelog
:cl:
balance: Nukies ordnance now include more gasses and stock parts
/:cl:
## About The Pull Request
Renames the ruin to include the required prefix "Lava-Ruin". Removes the
now unnecessary suffix.
## Why It's Good For The Game
## Changelog
The names have this prefix system for easier string-searching. If they
don't have the prefixes, they're harder to find and sort.
:cl:
fix: adds missing prefix to name of The Lizard's Gas Lava land ruin.
/:cl:
…overs (tgstation#83252)

Properly fixes tgstation#7617

🆑 ShizCalev
fix: Malf AI can now override/overload closed turrets.
fix: Fixed a scenario in which a turret would have its covers closed
while still firing.
/🆑

cleaned up a dumb proc that was added at the machinery level for
literally only turret covers, and added support for fixing turrets in
the future (through atom_fix(), which is essentially unused at this
time.)
## About The Pull Request
Made more common tgui bits in typescript with tests. Not much else to
see here
## Why It's Good For The Game
Typescript conversion + More documentation + type safety

You now get full docs and type info as nature intended:

![image](https://github.com/tgstation/tgstation/assets/42397676/17a7aad6-56d3-4e22-89fa-585cda4c5315)

---------

Co-authored-by: Style Mistake <[email protected]>
…ries (tgstation#83228)

## About The Pull Request
Replaces the Ansem, SC/FISHER, and suppressor in the Sam Fisher gimmick
bundle with the Ansem/SC, a variant of the Ansem that:
- has an integral suppressor (read: acts like it's always suppressed,
because it is)
- an underbarrel light disruptor (functionally identical to the
SC/FISHER, fired with RMB)
(note: firing the disruptor in combat mode causes the main gun to fire
as if it were being fired akimbo. which it shouldn't, but I'm not sure
how to make it not do that)
- is longer, visually, but not storage-wise, and also visibly has an
underbarrel light disruptor

![image](https://github.com/tgstation/tgstation/assets/31829017/0842d9b9-9b24-4833-aeae-631c3bf1a5d5)

Also added code support for integrally suppressed ballistic guns (with
no separate suppressor overlay), handled by the can_unsuppress variable.

Also fixes the SC/FISHER disrupting APCs for ten times longer than they
probably should have been disrupted.
## Why It's Good For The Game
In regards to the Ansem, SC/FISHER, suppressor:
The Sam Fisher gimmick bundle having the Ansem and SC/FISHER as separate
items always kinda bugged me, since it seemed too clunky for a
sneaky-beaky operator-type to have to juggle two guns (one which you had
to bump to normal-size, leaving it unable to fit in the belt) to break
lights and then shoot dudes in the back of the head. So now it's one
gun, like the M-90gl and its grenade launcher. I think the bundle's rare
enough that it's fine to give them this much.

In regards to the APC thing:
Shooting an APC with a gimmick gun and leaving it unpowered for two
minutes seemed unintentional.

In regards to the code support for integrally suppressed guns:
Maybe someone else will want to put in another integrally suppressed
gun? It was relevant for this use-case.
## Changelog

:cl:
qol: The Ansem, suppressor, and SC/FISHER included in the Fisher gimmick
bundle now come together as one whole gun, the Ansem/SC. It's integrally
suppressed, and fires the disruptor on right-click.
fix: The SC/FISHER disrupts APCs for an appropriate amount of time, not
ten times the intended disruption length.
/:cl:

---------

Co-authored-by: Hatterhat <[email protected]>
Co-authored-by: Zephyr <[email protected]>
Co-authored-by: Ghom <[email protected]>
## About The Pull Request
adds more machines to the malf AI overload ability blacklist: shuttle
consoles and gateway console
closes tgstation#83223
## Why It's Good For The Game
bug fix
## Changelog
:cl:
fix: fixed malf AI being able to overload shuttle consoles and the
gateway control console
/:cl:

---------

Co-authored-by: Ghom <[email protected]>
<!-- 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
Ctrl clicking your jumpsuit will max its suit sensors



https://github.com/tgstation/tgstation/assets/96586172/3b7275ee-404a-49d1-b378-63de794d22ee


<!-- 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
Nice little change that makes maxing your sensors easier
<!-- 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. -->

:cl: grungussuss
qol: suit sensors can now be maxed by ctrl clicking your jumpsuit
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: 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. -->
## About The Pull Request

### Pictures below (You have to click them)

<Details>

<Summary> The prodigal bar returns to its home on the first floor,
re-combining the kitchen and the bar's atrium into one room off of the
main hallway. I didn't want to leave the Clown and Mime out, though, so
I added a mini stage by the bar's entrance, for stand-up.</Summary>


![image](https://github.com/tgstation/tgstation/assets/51863163/a9500c1f-0e58-40fe-9c65-332ef7877cba)

</Details>

<Details>

<Summary> The lower bar area is not entirely dead, however, Where it
once was now lies an expansion of Hydroponics, as well as a gambling
lounge and stage for the clown and mime. </Summary>


![image](https://github.com/tgstation/tgstation/assets/51863163/bd8ff0ed-12a2-4537-a9d1-93b59498ece1)

</Details>

<Details>

<Summary> The maintenance in and around the upper service area and dorms
have also expanded, adding a connection between serv maint and sec
maint. </Summary>


![image](https://github.com/tgstation/tgstation/assets/51863163/78a6b3fb-97cd-4e74-a957-6a163653f985)

</Details>

Other notes:

- Standardizes some decal styles in the main hallway
- Adds a single air alarm to the brig (I noticed it was missing one
while running mapping verbs)

## Why It's Good For The Game

I really, really like the design behind the Icebox bar, the "seedy
gambling bar underneath the station" is supreme vibes, but unfortunately
it really hampers visitation. Bars should really be front and center on
the station to people walking by can see what shenanigans are going on,
who is around, if the bartender is serving drinks, etc... which is
difficult when it's hidden under the kitchen.

This PR aims to bring it back to the front, and kinda bring back the
kitchen-bar connection, while not entirely abandoning the vibes of the
bar as-is.

## Changelog

:cl: Melbert
add: Icebox: The bar returns to its home. 
add: Icebox: Standardizes some decal styles in the main hallway.  
fix: Icebox: The lower brig's missing air alarm has been found. 
/:cl:
## About The Pull Request
Instead of iterating over an assoc list and doing a list access, which
has a complexity of O(nlog(n)), it is better to just store a 2 tuple and
access that to get a complexity of O(n)
Check code to see what I mean.

## Why It's Good For The Game

![image](https://github.com/tgstation/tgstation/assets/37270891/1e5d68fa-2e19-473c-a870-e1e0277cbacc)
This is a very hot proc and it's worth micro-optimizing where we can.

The speed increase in doing the following code can be seen here:

![image](https://github.com/tgstation/tgstation/assets/37270891/1b7f00a3-b3c2-4976-b2ab-97eefbbd2459)
Higher is better.

The code that was benchmarked:
```dm
var/list/target = list()

/proc/testa()
    var/list/queued_calls = list()
    for(var/i in 1 to length(target))
        var/data = target[i]
        queued_calls.Add(data, 1)
    for(var/i in 1 to (length(queued_calls) / 2))
        var/a = queued_calls[i*2-1]
        var/b = queued_calls[i*2]

/proc/testb()
    var/list/queued_calls = list()
    for(var/data in target)
        queued_calls[data] = 1
    for(var/data in queued_calls)
        var/a = data
        var/b = queued_calls[data]

MAIN
	for(var/i in 1 to 100)
		target.Add("[i]")
    BEGIN_BENCH(2)
        BENCH_PHASE("New code", testa())
        BENCH_PHASE("Old code", testb())
    END_BENCH
```

## Changelog

---------

Co-authored-by: Watermelon914 <[email protected]>
Co-authored-by: LemonInTheDark <[email protected]>
…ion#83266)

## About The Pull Request

At some point we added a new parameter to spawners which randomised the
number of mobs they could spawn up to a maximum.
For some reason the default value here was set to "2", meaning that
every mob spawner in the game would be spawning an average of 1.5 mobs
per update instead of 1.
As the place it was _intended_ for (mining vents) already provides a
value in the constructor, I just set the default back to 1.

Additionally, this randomised value did not actually obey the "maximum
mobs" parameter of the component and could spawn mobs above what was
supposed to be the cap of mobs created by the spawner.

This PR fixes those things.

## Changelog

:cl:
fix: Mob spawners (such as lavaland tendrils) won't spawn more mobs than
they are supposed to, faster than they should.
/:cl:
EnterTheJake pushed a commit that referenced this pull request Jul 31, 2024
…yndicate base. Attempt #2 (tgstation#84934)

## About The Pull Request
This is my second PR after I goofed up in the first by merging from
master.
Adds a holofan and two thermomachine boards to the engineering crate in
the lavaland syndie base, and adds two emitter boards to its SM room.
## Why It's Good For The Game
The lavaland syndie base has no holofan and is limited to two thermo
machines (four thermomachines and only one emitter if the SM shard room
spawns). This limits atmospheric gameplay and restricts the freedom in
creating set-ups within the base even though it starts with a surplus of
T4 parts and four gas miners. These additions should improve the quality
of base as an atmospheric ghost role and make it less frustrating when
making burns, coolers, dealing with gas leaks Etc. as well as improve SM
shard gameplay when creating high power set ups or tesla.
## Changelog
:cl:
qol: Holofan and two thermomachine and emitter boards in lavaland
syndicate base.
/:cl:
EnterTheJake pushed a commit that referenced this pull request Nov 6, 2024
…tation#87390)

## About The Pull Request
Recovery of tgstation#85771, minus directional window leaning (because it looks
goofy)

## Changelog
:cl:
add: You can now lean on windows the same way you can lean on walls
fix: You no longer stop leaning on walls after clicking on anything
/:cl:
EnterTheJake pushed a commit that referenced this pull request Nov 6, 2024
…sus bolts in CI) (tgstation#87534)

## About The Pull Request

Closes tgstation#87349
This may seem concerning but projectiles always assume that their firer
and original can be null at any step, so this is completely safe.

## Changelog
:cl:
fix: Fixed harddels caused by certain projectiles
/:cl:
Copy link

github-actions bot commented Nov 7, 2024

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself

@github-actions github-actions bot added the Stale label Nov 7, 2024
@github-actions github-actions bot closed this Nov 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.