Open VMSolidus opened 1 week ago
Does this PR rely on 458?
Does this PR rely on 458?
This does not requires 458, but it is related to 458. Adding mass contests is primarily a method of helping to provide new game-play variety for characters whose mass is modified by height sliders.
But, it doesn't require it in the sense that if we merge this but not height sliders, it will still function completely as is as its own standalone system. You would get to experience it as differences by Felinids, Harpies, Oni, and Diona.
Description
Part of Issue #467
This is a complete re imagining of the Nyanotrasen Mass Contest System(Long since removed from the game). This system adds a highly flexible function that outputs a ratio of a given entity's mass, that is optionally relative to another entity. I've primarily written this system to be used in conjunction with PR #458 , as it adds several new implementations of variable player mass to the game.
How this differs from the original Mass Contest system is that it is configured via hotloaded CVars, and is inherently clamped so that character mass only modifies functions by a finite amount rather than providing infinite scaling. This essentially means that while an Oni is 25% better at shoving a Felinid to the floor thanks to their different masses, a 2000kg Lamia is also only 25% better at shoving a Felinid to the floor, rather than 50000% better. The inverse is also true, a small player character can only be 25% better or worse at a given implementation. These implementations are not handled directly by the ContestSystem, and are instead handled directly by other systems that call upon it.
This percentage limit can be modified by a new CVar at any time. Additionally, the entire MassContest system can be optionally toggled off completely at any time via CVar, without needing to modify any code that calls upon it.
At this time, I have included three different implementations to serve as suitable examples for how MassContest can be used.
Changelog
:cl: