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

Fix: fucked up merge #250

Merged
merged 89 commits into from
May 6, 2024
Merged

Fix: fucked up merge #250

merged 89 commits into from
May 6, 2024

Conversation

Furrior
Copy link
Collaborator

@Furrior Furrior commented May 6, 2024

No description provided.

JohnFulpWillard and others added 30 commits May 1, 2024 15:03
## About The Pull Request

Monkey knockover is now on a new mob-bump signal instead of being on
crossed, fixing some consistency issues and getting rid of our need for
snowflake "can bump into mob" check.

We should try to get rid of all our instances of Crossed and remove its
use to prevent this bug from occurring in the future.

## Why It's Good For The Game

Closes tgstation#66983

## Changelog

:cl:
fix: Monkeys can no longer be knocked over by walking into a windoor on
combat mode while they're behind it.
/:cl:
## About The Pull Request

Adds the ability to reconstruct pod doors once deconstruction has been
started, and adds a pre-deconstructed pod door to the list of plasteel
crafting recipes.

Also adds context tips and some minor extra feedback during
deconstruction steps.

## Why It's Good For The Game

Closes tgstation#68800
Door construction like airlocks are all possible this slap-crafting
rather than stuffing all of it in the crafting menu, I thought it would
be nice to have pod doors available there as well.

## Changelog

:cl:
fix: You can now re-construct pod doors that had deconstruction started.
qol: You can now make pod door assemblies using plasteel in-hand.
/:cl:
## About The Pull Request

Using debug uplinks once again shows you all categories of role/species
restricted items. I also made it not show the shop as being locked since
they are meant to always be able to buy things per;

https://github.com/tgstation/tgstation/blob/fae4ec5aa1fdd51364b2ffdd49d54ab22c2dc38f/code/modules/antagonists/traitor/uplink_handler.dm#L90-L110

## Why It's Good For The Game

Closes tgstation#66743

## Changelog

:cl:
admin: Debug uplinks now shows all categories and won't lock upon buying
items like his grace and the syndicate balloon.
/:cl:
## About The Pull Request
This adds more signals to the conveyor switch circuits, specifically for
going forward, stopping, or reversing. One-way conveyor switches will
not get the reverse signal (as shown by the bottom right switch in the
video).


https://github.com/tgstation/tgstation/assets/16826524/66f287de-8413-41df-a69c-51b9ab8d7a02

## Why It's Good For The Game
This makes it far easier to make contraptions such as sorting mechanisms
using circuits without the need to toggle multiple times just to get the
conveyor direction into the state you need it in.

## Changelog
:cl:
qol: conveyor switches now have direction-specific input signals
/:cl:
## About The Pull Request

Silicons moving with their builtincamera doesnt automatically update the
camera net, so for some time after borgs move, they wont show up to the
AI to track. It's a minor but annoying issue that this fixes.

## Why It's Good For The Game

Fixes a minor issue with the new ai tracking stuff.

## Changelog

:cl:
fix: AIs can now track Silicon as long as their built-in camera is
online.
/:cl:
…rting with an insignificant amount of charge. (tgstation#82977)

Scales the hypercharged slime core and wiremod gun cell maximum charge
and charge rate by the STANDARD_CELL_CHARGE and STANDARD_CELL_RATE
defines. Fixes their scale.

Closes tgstation#82907

## Changelog
:cl:
fix: Fixes hypercharged slime core cells and circuit guns having 1,000
times less energy than intended.
/:cl:
## About The Pull Request

Fixes this

![image](https://github.com/tgstation/tgstation/assets/53777086/091991e4-6470-4ffb-a9b7-a2899adc594d)

Which occurs when you spam flee, since it unrestrictedly halves your
gold.

## Why It's Good For The Game

another arcade issue gone.

## Changelog

:cl:
fix: Constantly fleeing in Battle Arcade will no longer give you a very
large amount of decimals due to halving your gold every time.
/:cl:
## About The Pull Request
Lets you pick up wheelchairs while resting, and lets you place
wheelchairs on adjacent tiles, much like medical roller beds.
## Why It's Good For The Game
Makes life just a little bit easier. Barely being able to move is
already enough of a downside. I think allowing the little bit of extra
independence being able to pick up your own chair (without just finding
or making a basic chair first) offers is justifiable.
And being able to place the chair a tile away just saves needing to
pixel hunt or shuffle around to buckle yourself.
## Changelog
:cl: Fluffles
qol: you can pick up wheelchairs while on the ground
qol: you can place wheelchairs a tile away from you, like roller beds
/:cl:
## About The Pull Request
Subsystem had the SS_INIT_NO_NEED inside of its subsystem flags. This is
not a flag and has a value of 3, which includes the SS_NO_INIT and
SS_NO_FIRE flags, which stopped it from initializing.
The subsystem has things it needs to do in init, so I've replaced this
flag with SS_OK_TO_FAIL_INIT so that it can pass unit tests, but still
be okay to fail.

## Why It's Good For The Game
Fixes the ipintel subsystem not working.

## Changelog
:cl:
fix: Fixed the ipintel subsystem not working.
/:cl:

---------

Co-authored-by: Watermelon914 <[email protected]>
…ut of new bounty options (tgstation#82987)

## About The Pull Request
The green buttons for selecting one of three bounties now also display
the description and payout.


https://github.com/tgstation/tgstation/assets/94711066/53d7fb02-28be-4138-b3d8-9f7a4dd6a356


Fixes tgstation#81867
Sorta brings it back to how it used to look, I think? The payout was
still in the code, just not being displayed. But I looked through the
file history and could find NO EVIDENCE of the bounty console displaying
the description in the past so I guess I hallucinated that.
## Why It's Good For The Game
It's nice to be able to see the payout before you're locked into a
bounty for 5 minutes. Also more chances to read the flavortext and it
makes the buttons feel less barren. With some bounties it also gives a
better idea of how to even get the thing before committing to it.
## Changelog
:cl:
fix: the civilian bounty control terminal displays the payout of new
bounty options again
qol: the civilian bounty control terminal displays the description of
new bounty options
/:cl:
<!-- 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

Closes tgstation#82983

Title.

Jousting now uses a shiny new post-attack signal, only sent if the
attack is actually executed.

<!-- 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

bgus bad

<!-- 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: nikothedude
fix: Jousting no longer bypasses pacifism
/: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

- Fixes `vote_delay` not being a thing. I broke this two years ago but
there's no bug report associated.

- Admins can now reset the vote delay (to let people vote again
instantly)

- Admins can now end the current vote immediately (rather than
cancelling)

- Custom multi and custom single combined into one vote

## Why It's Good For The Game

Makes voting a bit easier to use, both for admins and for coders adding
new votes.


![image](https://github.com/tgstation/tgstation/assets/51863163/40b8857c-76b7-4a58-82bc-1b82640d550a)

## Changelog

:cl: Melbert
admin: Custom Single and Custom Multi votes are now combined into one
vote
admin: Admins can now end votes instantly, rather than cancelling them
admin: Admins can now reset the vote cooldown
fix: Vote cooldown actually applies now
/:cl:
…om `GLOB` to a datasystem (tgstation#82847)

This is just a revitalization of tgstation#80275.

## About The Pull Request

On the tin, basically demotes everything related to setting up and
storing these bulky lists generated from reading
`/datum/sprite_accessory` subtypes from living in a global space that
will instead be in a compartmentalized subsystem for accesses. Also a
lot of code modernization and micro-improvements (unquantifiable)

## Why It's Good For The Game

Same exact expected results, just accessed in a different way.


![image](https://github.com/tgstation/tgstation/assets/34697715/14627773-c9fb-45bd-8ce0-dee33cdd1d27)

There's a few reasons why I want this to happen.
* The `GLOB` space is too clogged. There are at least a thousand
variables on `GLOB`, and it's extremely painful to access stuff on
production/local through view variables when you're debugging stuff like
this. It's also painful when there is stuff that _should_ live on `GLOB`
that you might want to see in VV/Debugger but are forced to either have
to scroll a mile to find what you want or wait a long while for it to
load. The less bulky lists we have of stored initialized datums, the
better.

* `make_datum_reference_lists()` is a consequence of wack stuff like
this where we're reliant on certain things being initialized in the
`GLOB` portion of world initialization _before_ subsystems/static
variables load - most of these datum lists in the aforementioned proc
doesn't _really_ need to be ready to go before `world.New()` for
example. We'll sadly have to abuse `PreInit()` for now, but it really is
something that has to be ready to go due the critical dependence that
stuff like Preferences has on it.

* We don't have to have the procs live in a global namespace either.
Instead of passing in `GLOB.XList` or `DSstorage.XList` every single
time, we can instead just move the proc setup on the subsystem and use
`XList` in a more native fashion.

* It's easier to find what you need. To me, it's a lot nicer to
ctrl+click the DS and go to the variables to find something I'm looking
for instead of having to scavenge around for any footprint/trace of the
global I want to look for. This is more trivial than the other two, but
that's something I like to think about when I go to bed.

I also had to refactor a bit of the code to accommodate the limitations
of the new DS system, but it should be a lot cleaner anyways.

## Changelog

Not relevant

---

Also nothing should have broken but it's a good thing we have screenshot
unit tests to prove me wrong.
…x runtimes when no events were drafted to trigger (tgstation#82978)

## About The Pull Request

Make events frequency configurable.
Fix runtime when no events were drafted to be picked from.

## Why It's Good For The Game

No runtimes good. 
No need to change frequency in code.

:cl:
fix: fix runtime when no events were drafted to be picked from
config: make events frequency configurable
/:cl:

---------

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

Right clicking a paper with a stamp will quickly place down the stamp

## Why It's Good For The Game


![fast](https://github.com/tgstation/tgstation/assets/95130227/de3eab11-e8bf-4266-aab6-97c8434663d7)


## Changelog
:cl:
qol: You can now quickly stamp papers with a right click
/:cl:

---------

Co-authored-by: MrMelbert <[email protected]>
Watermelon914 and others added 28 commits May 3, 2024 22:15
## About The Pull Request
Signals don't get removed on turfs when they're deleted. This fixes that
so that it is reflected in lua as well.

## Why It's Good For The Game
Lua bugfixes

## Changelog
:cl:
fix: Fixed lua scripts breaking when turfs with registered signals get
deleted.
/:cl:

---------

Co-authored-by: Watermelon914 <[email protected]>
## About The Pull Request
Title || Puts it next to the dna scanner
## Why It's Good For The Game
Easier debugging genetics / dna ui
)

## About The Pull Request

Closes tgstation#83020

This proc, called *every single ui_data tick*, was mutating the vote's
list of choices. Grahhh impure procs grahhh


https://github.com/tgstation/tgstation/blob/f112369547a7da6fdafd69c1d43baf0fc6f76f77/code/datums/votes/map_vote.dm#L57-L60

Weirdly, I have no idea how this *ever* worked, even prior to my PR,
because I didn't touch this or any consuming code. It was called in the
same place, same args, etc. prior to my PR. So I have no idea.

## Changelog

:cl: Melbert
fix: Map vote should work better
/:cl:
## About The Pull Request
Fixes tgstation#83022 
The universal cargo scanner calls `sell_object(dry_run = TRUE)` to
determine the price without actually selling anything, but an early
return for this case was not included when the proc was overridden for
the `/datum/export/pirate` type, allowing anybody with a cargo scanner
to participate in illegal human trafficking.

The automatic return timer had incorrect args causing a runtime error
which I've also fixed, humans are returned after 6 minutes.

Kidnapping code desperately needs a unification because now there are 3
ways to end up in the holding facility (progression traitor kidnapping
side objective, traitor contractor, pirates) and they all have copy
pasted code but some is different for no reason. This pirate code does
not handle your belongings and you can take anything out of the holding
facility or get your stuff stolen while in there, unlike the other 2
methods which hold your belongings for safe return later.
## Why It's Good For The Game
Fixes a very funny but very lame oversight and also allows for the safe
return of our friends kidnapped by pirates.
## Changelog
:cl:
fix: If kidnapped and ransomed by pirates, you will now properly return
to the station automatically after 6 minutes.
fix: You can no longer be kidnapped and held for ransom by cargo
technicians posing as pirates.
/:cl:
## About The Pull Request
fixes tgstation#83023

## Changelog
:cl:
fix: Materials are now correctly applied to crafted items (chairs,
toilets, etc)
/:cl:
## About The Pull Request

Fixes tgstation#82064
Fixes a couple of different bugs with Blood Brothers.

- Delegates creating the objectives to the team rather than the ruleset,
so ones created via the traitor panel will also have objectives.
- Creates the objectives after the team has a member mind, so it doesn't
runtime when trying to give that mob the equipment needed to steal a
supermatter sliver.
- Creates the objectives before the first Blood Brother is assigned the
antag datum, so that they will correctly be given the starting
objectives.
- Check the maximum number of brothers that can be recruited when
deciding how many objectives to generate rather than the current number
of members (which would always be 1).

## Changelog

:cl:
fix: Blood Brothers should spawn knowing what their objectives are.
fix: Teams of 3 Blood Brothers will once more have an additional
objective.
/:cl:
…ages (for species without name lists, like Felinids and Podpeople) (tgstation#83021)

## About The Pull Request

This PR moves random name generation for species onto their languages. 

What does this mean? 

- For species with a predefined name list, such as Lizards and Moths,
nothing.

- For species without predefined name lists, such as Felinids, their
names will now be randomly generated from their language's syllables.


![image](https://github.com/tgstation/tgstation/assets/51863163/dddce7a6-5882-4f97-b817-c8922033c8d2)


![image](https://github.com/tgstation/tgstation/assets/51863163/e34e03e9-bcca-45ff-84e4-239e606cd24f)

(In the prefs menu:) 


![image](https://github.com/tgstation/tgstation/assets/51863163/eb6ccf9b-8b1c-4637-b46e-66cab9c8aac0)

Why? 

- Well, we actually had some dead code that did this. All I did was fix
it up and re-enable it.
- Generates some pretty believable in-universe names for various
languages that are lacking name lists. Obviously defined lists would be
preferred, but until they are added, at least.
- Moves some stuff off of species, which is always nice. 
- Also hopefully makes it a tad easier to work with name generation.
There's now a standard framework for getting a random name for a mob,
and for getting a random name based on a species.

Misc: 

- Adds a generic `species_prototype` global, uses it in a lot of places
in prefs code.
- Makes `GLOB.species_list` init via the global defines
- Deletes Language SS
- Alphabetizes some instances of admin tooling using the list of all
species IDs
- Docs language stuff
- Deletes random_skin_tone, it does pretty much nothin

## Changelog

:cl: Melbert
refactor: Random Name Generation has been refactored. Report any
instances of people having weird (or "Unknown") names.
qol: Felinids, Slimepeople, Podpeople, and some other species without
defined namelists now automatically generate names based on their
primary language(s).
qol: More non-human names can be generated in codewords (and other misc.
areas) than just lizard names.
/:cl:
… pr) (tgstation#83028)

## About The Pull Request

That's all. Just makes this easier to add onto with less diffs involved.

## Changelog

Nothing worth mentioning

---------

Co-authored-by: MrMelbert <[email protected]>
## About The Pull Request
1. Removes code duplication 
2. Fully documents `sortTim()`
3. Makes a define with default sortTim behavior, straight and to the
point for 95% of cases
4. Migrates other sorts into the same file
5. Removes some redundancy where they're reassigning a variable using an
in place sorter

For the record, we only use timSort
## Why It's Good For The Game
More documentation, easier to read, uses `length` over `len`, etc
Should be no gameplay effect at all
## About The Pull Request
Adminmod now has radprotect module 
## Why It's Good For The Game
It’s kind of annoying to heal yourself every minute when you’re
experimenting with a tritium or a supermatter on a local server, so
radprotect module fixes this issue
## Changelog
:cl:
qol: Admin modsuit now has a radiation protect module
/:cl:

Co-authored-by: paganiy <[email protected]>
…3051)

## About The Pull Request

This pr fixes the missing name when you order traditional equipment then
just appearing the name

## Why It's Good For The Game

So people know what kind of crate it is at sight

## Changelog

:cl:
fix: fixes traditional equipment crate name
/:cl:
## About The Pull Request
Does a full shutdown of auxlua when the lua subsystem shuts down. This
should unpin the dll file.

Compare `AUXTOOLS_SHUTDOWN` code with `AUXTOOLS_FULL_SHUTDOWN`, let me
know if I'm mistaken:

### AUXTOOLS_SHUTDOWN


https://github.com/willox/auxtools/blob/bc5b2cf019f0f9b18f46b560a0f730d709171b55/auxtools/src/lib.rs#L346

### AUXTOOLS_FULL_SHUTDOWN


https://github.com/willox/auxtools/blob/bc5b2cf019f0f9b18f46b560a0f730d709171b55/auxtools/src/lib.rs#L365

## Why It's Good For The Game
Fixes auxlua keeping the dll pinned when the server is in a process of
shutting down.

Co-authored-by: Watermelon914 <[email protected]>
@Gaxeer Gaxeer merged this pull request into ss220club:master May 6, 2024
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.