Commit Graph

36 Commits

Author SHA1 Message Date
MilenVolf c05a974132 Fix wrong system usage (#33679)
Fix wrong system using
2024-12-07 21:55:33 +00:00
MilenVolf 9b4b264012 Replace obsolete GetTilesIntersecting methods (#32455)
* Remove usage of obsolete GetTilesIntersecting round 1

* Oop wrong uids

* Remove usage of obsolete GetLocalTilesIntersecting round 2

* Remove usage of obsolete GetLocalTilesIntersecting final round

* weh

* Fix using `SharedMapSystem` in `StencilOverlay`
2024-12-07 21:55:22 +00:00
slarticodefast 9985152985 Fix space ambient music (#33594) 2024-12-07 21:48:49 +00:00
drakewill-CRL 31e3ef00fa Botany Rework Part 1: Mutations (#31163)
Instead of each mutation being a flag that gets checked at some unique point in BotanySystem somewhere, they're now EntityEffects that get applied when the mutation occurs and when produce is harvested. One new list was added to SeedData so that multiple other fields could be removed.

All the non-stat-change mutations that have been rolled are added to the Mutations list, and get applied to the plant when the mutation occurs or when a seed with the mutation is planted. Produce get mutations applied at harvest if they apply to the produce, and carry all of the plant's mutations over as a seed. This gets rid of the one-off checks for things like Slippery, Bioluminescent, Sentient, etc.

The base odds of a mutation applying should be equal to the odds of the original mutation check. It pretended to have 1 bit flip (on averge) per mutation power, and odds of each mutation was the odds of one of its bit being flipped (1 /275 * bits). The 'thermometer code' applied for numbers will be replaced with simple random rolls, as both average out to the middle value. The new checks are much easier to understand and don't obfuscate the actual changes of something happening behind 3 layers of math. The biggest player-facing change is that Potency will be able to get over 65 significantly more often than it did in the previous system, but it will be just as common to get low values as high ones.

Mutation definitions have been moved to a .yml file. These include the odds per tick per mutagen strength of that mutation applying that tick, the effect applied, if it applies to the plant and/or its produce. This makes mutations simpler to add and edit.

This PR is limited specifically to the mutation logic. Improving other aspects of the system will be done in other PRs per the design document. Mutations was chosen first because its got the largest amount of one-off checks scattered all over that could be consolidated. Once this is merged, mutations could be contributed to the codebase with minimal extra work for later botany refactor PRs.
2024-09-22 02:23:49 +01:00
Nemanja 13e799a666 Entity Tables (EntitySpawnEntry replacement) (#30579)
* Entity table code

* entity table examples

* fix dat shit

* access

* tests tests tests

* sloth review
2024-08-11 14:37:41 +01:00
Ed cf7668f957 Ambient music rules refactor (#29921)
* refactor

* dutypo
2024-08-09 17:47:28 +01:00
Tayrtahn bf813ccc63 Fix antag objectives always overshooting MaxDifficulty (and kill tries20) (#29830)
* The death of try20

* Add integration test for traitor gamerule

* Fix max difficulty being overshot

* Check at least one objective is assigned

* EntProtoId
2024-08-09 17:45:38 +01:00
Tayrtahn b693a16b93
Add support for LocalizedDatasets to RandomMetadata (#28601) 2024-06-08 20:24:12 +02:00
Plykiya 6583105f10
Replace obsolete EntityWhitelist IsValid usages part 2 (#28506) 2024-06-08 20:03:26 +02:00
Tayrtahn e718a3e714
Add LocalizedDatasetPrototype (#28310) 2024-06-01 17:19:04 +02:00
Leon Friedrich 74308b008f
Use non-generic `TryComp()` for metadata & transform (#28133) 2024-06-01 16:53:51 +02:00
Kara 1680be6f0d
Fix `TryFindRandomTile` grid weighting (#27724) 2024-05-07 04:39:58 +02:00
c4llv07e ecbef2b8eb
Add door electronics access configuration menu (#17778)
* Add door electronics configuration menu

* Use file-scoped namespaces

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Open door electronics configuration menu only with network configurator

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Doors will now try to move their AccessReaderComponent to their door electronics when the map is initialized

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Make the access list in the id card computer a separate control

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Fix merge conflict

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove DoorElectronics tag

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Integrate doors with #17927

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Move door electornics ui stuff to the right place

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Some review fixes

Signed-off-by: c4llv07e <kseandi@gmail.com>

* More fixes

Signed-off-by: c4llv07e <kseandi@gmail.com>

* review fix

Signed-off-by: c4llv07e <kseandi@gmail.com>

* move all accesses from airlock prototypes to door electronics

Signed-off-by: c4llv07e <kseandi@gmail.com>

* rework door electronics config access list

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove Linq from the door electronics user interface

* [WIP] Add EntityWhitelist to the activatable ui component

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Better interaction system

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Refactor

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Fix some door electronics not working without AccessReaderComponent

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Move AccessReaderComponent update code to the AccessReaderSystem

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove unnecesary newlines in the door access prototypes

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove unused variables in access level control

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove unnecessary method from the door electronics configuration menu

Signed-off-by: c4llv07e <kseandi@gmail.com>

* [WIP] change access type from string to ProtoId<AccessLevelPrototype>

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Remove unused methods

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Newline fix

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Restored to a functional state

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Fix access configurator not working with door electronics AccessReaderComponent

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Replace all string access fields with ProtoId

Signed-off-by: c4llv07e <kseandi@gmail.com>

* move access level control initialization into Populate method

Signed-off-by: c4llv07e <kseandi@gmail.com>

* Review

---------

Signed-off-by: c4llv07e <kseandi@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

(cherry picked from commit 64bb8dbdd50e0b1e5744e1eb0cc6f24bda959ade)
2024-04-07 14:26:56 +02:00
DrSmugleaf 4257bd2c7e Make all prototype types partial (#21374) 2023-11-12 20:29:57 +01:00
DrSmugleaf 9cc8a7fc81 Remove 700 usages of Component.Owner (#21100) 2023-10-20 15:31:13 +02:00
Kara add503c97c Kill `SharedEntityExtensions` and all popup extensions (#20909)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-10-20 15:29:43 +02:00
metalgearsloth b1c988627a Expeditions rework (#18960) 2023-09-27 21:59:12 +02:00
metalgearsloth 4cfc578011
Revert "Remove most usages of obsolete TransformComponent methods (#1… (#19714) 2023-09-01 12:30:29 +10:00
Visne 1416942bea
Remove most usages of obsolete TransformComponent methods (#19571) 2023-08-30 12:05:19 +10:00
DrSmugleaf a88e747a0b
Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07:00
Vordenburg cc8b642444
Add linter-friendly WeightedRandom prototypes (#18729) 2023-08-06 12:31:25 +10:00
forthbridge 5fc7f21853
Add Spaceshrooms (#17092)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-08-02 00:10:48 +10:00
metalgearsloth 68480af109
Update content vectors to numerics (#17759) 2023-07-08 14:08:32 +10:00
metalgearsloth 5f7b756cbe
Another rules change (#16920) 2023-05-29 15:48:58 +10:00
metalgearsloth 3ffd4d6b2e
More rules tweaks (#16918) 2023-05-29 15:11:52 +10:00
metalgearsloth 42b4109bbb
Maint ambience tweaks (#16917) 2023-05-29 14:19:00 +10:00
metalgearsloth 0c83642c5a
Add ambient music (#16829) 2023-05-29 10:44:11 +10:00
metalgearsloth 6157dfa3c0
Salvage dungeons (#14520) 2023-03-10 16:41:22 +11:00
Visne c6d3e4f3bd
Fix warnings and code cleanup/fixes (#13570) 2023-01-19 13:56:45 +11:00
metalgearsloth 8d6a3ecea7
Secret! (#8276)
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
2022-05-19 14:44:24 +10:00
wrexbe bc68ac96dd
Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00
Vera Aguilera Puerto 2ff16a580b Bunch more error fixes. 2021-12-04 12:59:44 +01:00
Vera Aguilera Puerto 5cd42c9ad6 Inline UID 2021-12-03 15:53:09 +01:00
Vera Aguilera Puerto a5b57c8e10 Inline Transform 2021-12-03 14:20:34 +01:00
Visne b7dc3c81ae
Remove redundant #nullable enable (#4275) 2021-07-16 17:37:09 -07:00
DrSmugleaf ff1a2d97ea
Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00