More abilities, refactor custom triggers to be typed.
All checks were successful
Build / Build (push) Successful in 48s
All checks were successful
Build / Build (push) Successful in 48s
This commit is contained in:
@@ -23,21 +23,15 @@ public class Drain : Script
|
||||
if (move.User.HasHeldItem("big_root"))
|
||||
healed = (uint)(healed * 1.3f);
|
||||
var invert = false;
|
||||
var parameters = new Dictionary<StringKey, object?>
|
||||
{
|
||||
{ "user", user },
|
||||
{ "target", target },
|
||||
{ "damage", damage },
|
||||
{ "healed", healed },
|
||||
{ "invert", invert },
|
||||
};
|
||||
target.RunScriptHook(x => x.CustomTrigger(CustomTriggers.ModifyDrain, parameters));
|
||||
if (parameters.TryGetValue("invert", out var invertObj) && invertObj is bool invertBool)
|
||||
invert = invertBool;
|
||||
|
||||
var args = new CustomTriggers.ModifyDrainArgs(move, target, hit, damage, healed, invert);
|
||||
target.RunScriptHook(x => x.CustomTrigger(CustomTriggers.ModifyDrain, args));
|
||||
invert = args.Invert;
|
||||
healed = args.Healed;
|
||||
|
||||
if (invert)
|
||||
{
|
||||
user.Damage(damage, DamageSource.Misc);
|
||||
user.Damage(healed, DamageSource.Misc);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user