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
totalLevelfloatTotal level of all players involved in the boss fight.
bossLevelfloatLevel of the boss that was defeated.
playerCountintNumber of players who participated in the boss fight.
exponentfloatExponent to control the scaling effect.
minScalefloatMinimum 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
managerSystemManagerpluginsList<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
managerSystemManagerpluginsList<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
managerSystemManagerpluginsList<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
consumedEventsList<VBloodConsumed>List of V-Blood consumed events containing information about the bosses defeated.
dropOnEntityEntity?Optional entity to drop loot on, defaults to the boss entity if not provided.
effectiveLevelfloatOptional effective level to use for loot scaling, defaults to 0.