It is currently 07 Jul 2021, 11:58
   
Text Size

Shandalar - Program Bugs

AI doesn't recognize haste on non-summoning-sick creature as redundant (fix completed in vcs)

 

I've seen the AI use Flinthoof Boar 's ability multiple times even when it had no summoning sickness. A strictly haste-giving ability should probably not be used more than once and at all unless the creature has summoning sickness.
Last edited by Korath on 30 Oct 2016, 07:28, edited 1 time in total.
Reason: Retitle from "Flinthoof Boar ability spam"

Comments

Posted by Korath » 30 Oct 2016, 08:36

Not enough information to repro - it doesn't reactivate for me, or ever unless it's summoning sick - but I'll teach the AI that adding haste to a creature without summoning sickness is as useless as adding flying to a creature with flying. For what little good that does in the context of #531.

Posted by Korath » 30 Oct 2016, 10:34

commit d58edf9a2795ef4752dba0d015bca1af01d80331
Author: Korath <dgk@Beleriand.none>
Date: Sun Oct 30 06:31:21 2016 -0400

[GG] FIX #1227, FIX #1229: Pump::redundant(): situational redundancy

These are only recognized in the common case of adding keywords; removing them
is rare enough not to be worth the implmentation effort at this time.

Defender, Flying, Horsemanship, and Shadow deliberately not included, since
plenty of non-combat effects check for them.

Also don't flag adding bushido exalted, flanking, or rampage as redundant even
if the target already has them, unless eliminated below.

Rules:
Attack-despite-defender: Redundant unless has defender and is target's turn
before attackers

Basic landwalks, can't-be-blocked, Fear, Intimidate, Menace (when it's in),
Skulk: redundant unless target's turn before blocking and at least one of
opponent's creatures could currently block

Bushido, Flanking: redundant if after blockers, if after attackers on target's
turn and isn't attacking, or if after attackers on opponent's turn and no
creature are attacking

Can't-block: redundant unless opponent's turn before blockers

Banding: Redundant if have less than two creatures, if target's turn after
declare attackers, or opponent's turn after declare blockers

Exalted, Vigilance: redundant unless target's turn before attackers

First Strike, Double Strike: redundant if after combat damage, if before
blockers and can't be blocked, or if after blockers and isn't blocked

Haste: redundant if target isn't summonsick

Hexproof: redundant if target has shroud

Rampage: redundant on opponent's turn; otherwise treat as Bushido

Reach: redundant if target has flying or can't-block, or it isn't opponent's
turn before blocking

Regeneration: redundant if target has indestructible

Trample: redundant on opponent's turn; otherwise treat as First Strike

Support:
any_can_block_target()
BEFORE_ATTACKERS()

Ticket details

  • Ticket ID: 1229
  • Project: Shandalar
  • Status: Fix completed in VCS
  • Component: Duel AI
  • Project version: Hall of the Sultan 2
  • Priority: Normal
  • Severity: Minor
  • Assigned to: Korath
  • Reported by: lujo
  • Reporter's tickets: List all tickets
  • Reported on: 26 Oct 2016, 12:53
  • Last visited by Korath » 30 Oct 2016, 10:34.
 

Login Form