This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
using PkmnLib.Static.Utils;
|
||||
|
||||
namespace PkmnLib.Plugin.Gen7.Scripts.Moves;
|
||||
|
||||
[Script(ScriptCategory.Move, "drain")]
|
||||
@@ -24,6 +22,26 @@ public class Drain : Script
|
||||
var healed = (uint)(damage * DrainModifier);
|
||||
if (move.User.HasHeldItem("big_root"))
|
||||
healed = (uint)(healed * 1.3f);
|
||||
user.Heal(healed);
|
||||
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;
|
||||
|
||||
if (invert)
|
||||
{
|
||||
user.Damage(damage, DamageSource.Misc);
|
||||
}
|
||||
else
|
||||
{
|
||||
user.Heal(healed);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user