From 7757fd78b72410b23443111c359502ae84411115 Mon Sep 17 00:00:00 2001 From: Petr Baudis Date: Sun, 4 Jul 2010 23:05:22 +0200 Subject: [PATCH] pattern_match_{capture,aescape}: Simplify trait-based PF test --- pattern.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/pattern.c b/pattern.c index 9def684..0751102 100644 --- a/pattern.c +++ b/pattern.c @@ -145,10 +145,7 @@ pattern_match_capture(struct pattern_config *pc, pattern_spec ps, if (!trait_at(b, m->coord, m->color).cap) return f; /* Capturable! */ - if (!(PS_PF(CAPTURE, LADDER) - || PS_PF(CAPTURE, RECAPTURE) - || PS_PF(CAPTURE, ATARIDEF) - || PS_PF(CAPTURE, KO))) { + if (!(ps[FEAT_CAPTURE] & ~PATTERN_SPEC_MATCHFAST[FEAT_CAPTURE])) { if (PS_PF(CAPTURE, 1STONE)) f->payload |= (trait_at(b, m->coord, m->color).cap1 == trait_at(b, m->coord, m->color).cap) << PF_CAPTURE_1STONE; if (PS_PF(CAPTURE, TRAPPED)) @@ -258,7 +255,7 @@ pattern_match_aescape(struct pattern_config *pc, pattern_spec ps, if (!trait_at(b, m->coord, stone_other(m->color)).cap) return f; /* Opponent can capture something! */ - if (!PS_PF(AESCAPE, LADDER)) { + if (!(ps[FEAT_AESCAPE] & ~PATTERN_SPEC_MATCHFAST[FEAT_AESCAPE])) { if (PS_PF(AESCAPE, 1STONE)) f->payload |= (trait_at(b, m->coord, stone_other(m->color)).cap1 == trait_at(b, m->coord, stone_other(m->color)).cap) << PF_AESCAPE_1STONE; if (PS_PF(CAPTURE, TRAPPED)) -- 2.11.4.GIT