First couple abilities implemented
All checks were successful
Build / Build (push) Successful in 48s

This commit is contained in:
2025-05-31 12:29:03 +02:00
parent c1a7b806b1
commit b090aa65f9
34 changed files with 733 additions and 50 deletions

View File

@@ -0,0 +1,33 @@
namespace PkmnLib.Plugin.Gen7.Scripts.Abilities;
[Script(ScriptCategory.Ability, "aftermath")]
public class Aftermath : Script
{
private IExecutingMove? _lastAttack;
/// <inheritdoc />
public override void OnIncomingHit(IExecutingMove move, IPokemon target, byte hit)
{
_lastAttack = move;
}
/// <inheritdoc />
public override void OnFaint(IPokemon pokemon, DamageSource source)
{
if (source != DamageSource.MoveDamage)
return;
if (_lastAttack is null || !_lastAttack.UseMove.HasFlag("contact"))
return;
var user = _lastAttack.User;
if (!user.IsUsable)
return;
if (user.BattleData is null)
return;
EventBatchId eventBatchId = new();
user.BattleData.Battle.EventHook.Invoke(new AbilityTriggerEvent(pokemon)
{
BatchId = eventBatchId,
});
user.Damage(user.MaxHealth / 4, DamageSource.Misc, eventBatchId);
}
}