## Attack: Instantly deals damage equal to source's STR minus target's DEF. ## Self-removes after dealing damage (instant effect). extends EffectBase func on_add(ctx: EffectCtx) -> void: var source_str: Stat = ctx.source.get_stat("str") var target_def: Stat = ctx.target.get_stat("def") var target_hp: Stat = ctx.target.get_stat("hp") var damage: int = max(0, source_str.get_value() - target_def.get_value()) target_hp.sub_base(damage) ctx.target.set_effect(ctx.def, 0, null)