7 namespace Loot.Modifiers.WeaponModifiers
13 return base.GetTooltip()
14 .WithPositive($
"+{Properties.RoundedPower}% damage, but adds +{_manaCost} mana cost");
19 return base.GetModifierProperties(item)
21 .WithMaxMagnitude(15f);
26 return base.CanRoll(ctx)
28 && ctx.
Item.mana == 0;
31 public override void ModifyWeaponDamage(Item item, Player player, ref
float add, ref
float mult, ref
float flat)
33 base.ModifyWeaponDamage(item, player, ref add, ref mult, ref flat);
34 add += Properties.RoundedPower / 100f;
37 public override bool CanUseItem(Item item, Player player)
39 return base.CanUseItem(item, player)
40 && player.statMana >= item.mana
41 && (item.useAmmo == 0 || player.inventory.Any(x => x.ammo == item.useAmmo));
46 public override void Apply(Item item)
49 _manaCost = Math.Max((
int) (item.useTime * (
float) item.useTime / GetMaxUseTime(item) / 10f), 1);
50 item.mana += _manaCost;
57 if (item.useTime <= 8)
64 if (item.useTime <= number)
Defines a context in which a Modifier might be rolled Which fields are available (not null) depends o...
The ModifierPropertiesBuilder implements the builder pattern for ModifierProperties It provides a str...
override ModifierProperties.ModifierPropertiesBuilder GetModifierProperties(Item item)
override void ModifyWeaponDamage(Item item, Player player, ref float add, ref float mult, ref float flat)
ModifierContextMethod
Defines a method for a context in which a Modifier might be rolled Used in ModifierContext ...
Defines a modifier that can roll on a weapon item You can use this class and add to CanRoll by callin...
override void Apply(Item item)
Allows modders to do something when this modifier is applied If a modder needs ModPlayer hooks...
override bool CanRoll(ModifierContext ctx)
If this Modifier can roll at all in the given context Properties are available here, apart from magnitude and power
Defines the properties of a modifier
int GetMaxUseTime(Item item)
ModifierContextMethod Method
override ModifierTooltipLine.ModifierTooltipBuilder GetTooltip()
override bool CanUseItem(Item item, Player player)