Class VBloodLootSystem
System for handling loot drops from V-Blood bosses.
public class VBloodLootSystem : System<VBloodLootSystemConfig>, ISystem, IManageableLifecycle<SystemManager>, IManageableLifecycle, IReloadable, IManageable<SystemManager>, IManageable
- Inheritance
-
VBloodLootSystem
- Implements
- Inherited Members
- Extension Methods
Methods
ComputeLootRateScale(float, float, int, float, float)
Computes the loot rate scale based on the total level of players, boss level, and player count.
public static float ComputeLootRateScale(float totalLevel, float bossLevel, int playerCount, float exponent = 0.5, float minScale = 0.05)
Parameters
totalLevel
floatTotal level of all players involved in the boss fight.
bossLevel
floatLevel of the boss that was defeated.
playerCount
intNumber of players who participated in the boss fight.
exponent
floatExponent to control the scaling effect.
minScale
floatMinimum scale value to ensure loot rate does not drop too low.
Returns
Initialize(SystemManager, List<IPlugin>)
Initializes the lifecycle of the manager with a specific type.
public override void Initialize(SystemManager manager, List<IPlugin> plugins)
Parameters
manager
SystemManagerplugins
List<IPlugin>
Load(SystemManager, List<IPlugin>)
Loads the manager and its dependencies with a specific type.
public override void Load(SystemManager manager, List<IPlugin> plugins)
Parameters
manager
SystemManagerplugins
List<IPlugin>
Terminate(SystemManager, List<IPlugin>)
Terminates the manager and cleans up resources with a specific type.
public override void Terminate(SystemManager manager, List<IPlugin> plugins)
Parameters
manager
SystemManagerplugins
List<IPlugin>
TryDropLoot(List<VBloodConsumed>, Entity?, float)
Attempts to drop loot for the given list of V-Blood consumed events.
public DropResult TryDropLoot(List<VBloodConsumed> consumedEvents, Entity? dropOnEntity = null, float effectiveLevel = 0)
Parameters
consumedEvents
List<VBloodConsumed>List of V-Blood consumed events containing information about the bosses defeated.
dropOnEntity
Entity?Optional entity to drop loot on, defaults to the boss entity if not provided.
effectiveLevel
floatOptional effective level to use for loot scaling, defaults to 0.