{ "schema": 1, "source": { "path": "prototype/site/data/catalog.json", "sha256": "fb99bcd75ca6308091fa56b45f8da551276a496a1f96acbb44225efe491fdfef", "authority_revision": "phase8-p8-3r2-contact-rear-actions-replacement" }, "names_zh": { "PF-B01": "护心卫士", "PF-B02": "锋刃手", "PF-B03": "长枪使", "PF-B04": "逐风行者", "PF-B05": "远弦射手", "PF-B06": "裂隙法师", "PF-B07": "仁心医者", "PF-B08": "结契师", "PF-B09": "机关匠", "PF-B10": "暮兆术士", "PF-B11": "律钟师", "PF-B12": "辎重官", "PF-A01": "门垒卫", "PF-A02": "冲城卫", "PF-A03": "终光刃", "PF-A04": "回锋剑士", "PF-A05": "钩阵统领", "PF-A06": "日耀枪骑", "PF-A07": "传步刺客", "PF-A08": "逆风刃", "PF-A09": "定穴射手", "PF-A10": "箭雨使", "PF-A11": "风暴算师", "PF-A12": "空星术士", "PF-A13": "战地医师", "PF-A14": "延疗师", "PF-A15": "三联契师", "PF-A16": "担契者", "PF-A17": "哨械师", "PF-A18": "陷阵工匠", "PF-A19": "苍白先知", "PF-A20": "苦兆术士", "PF-A21": "行军钟师", "PF-A22": "寂音师", "PF-A23": "觅迹补给官", "PF-A24": "阵线搬运师", "TR-001": "先行一步", "TR-002": "耐心起手", "TR-003": "窄阵护卫", "TR-004": "长久记忆", "TR-005": "空闲之手", "TR-006": "开放步法", "TR-007": "深口袋", "TR-008": "静默双手", "TR-009": "配重步", "TR-010": "共饮药杯", "TR-011": "醒目目标", "TR-012": "迟步补位", "TR-013": "节俭节拍", "TR-014": "厚重袖口", "TR-015": "远听者", "TR-016": "灰烬胃口", "TR-017": "一丝不苟", "TR-018": "薄血", "TR-019": "后阵守望", "TR-020": "器具誓约", "TR-021": "松散阵形", "TR-022": "石刻计数", "TR-023": "借来节奏", "TR-024": "净断", "TR-025": "风险账本", "TR-026": "空隙射程", "TR-027": "定声", "TR-028": "二次草拟", "TR-029": "摊开手掌", "TR-030": "反转带扣", "TR-031": "风暴胆识", "TR-032": "温和收尾", "TR-033": "分心并顾", "TR-034": "久经风霜", "TR-035": "空剑鞘", "TR-036": "最后见证", "EQ-001": "退步靴", "EQ-002": "钉前护胫", "EQ-003": "传步腰带", "EQ-004": "寻隙凉鞋", "EQ-005": "铅坠束带", "EQ-006": "后钩披风", "EQ-007": "转轴脚环", "EQ-008": "静路绑带", "EQ-009": "救援环扣", "EQ-010": "前位主张", "EQ-011": "邻位带扣", "EQ-012": "开阵系带", "EQ-013": "交步徽记", "EQ-014": "静默后甲", "EQ-015": "接力马刺", "EQ-016": "空位铃", "EQ-017": "撑钩护腕", "EQ-018": "远行缎带", "EQ-019": "定步石", "EQ-020": "守线标签", "EQ-021": "威胁镜片", "EQ-022": "前标粉笔", "EQ-023": "后阵呼哨", "EQ-024": "仁慈刻度盘", "EQ-025": "分选硬币", "EQ-026": "召唤刺针", "EQ-027": "伤势测带", "EQ-028": "破盾缝锥", "EQ-029": "疾影墨水", "EQ-030": "末目标绳结", "EQ-031": "护卫标签", "EQ-032": "显形粉末", "EQ-033": "对面镜盾", "EQ-034": "低潮量规", "EQ-035": "开侧弦线", "EQ-036": "双重准星", "EQ-037": "打断账册", "EQ-038": "旧伤罗盘", "EQ-039": "崩解瞄具", "EQ-040": "破选别针", "AR-001": "开放账册", "AR-002": "巧匠橱窗", "AR-003": "共同目标", "AR-004": "窄域搜寻", "AR-005": "二次面谈", "AR-006": "新生资质", "AR-007": "满员长凳", "AR-008": "精简队伍", "EN-R1-01": "晶板啮兽", "EN-R1-02": "疾风雀", "EN-R1-03": "台地冲羊", "EN-R1-04": "钟茎食草兽", "EN-R1-05": "晶背兽", "EN-R1-06": "原野潜猎者", "EN-R1-07": "鸣哨飞蠓", "EN-R1-08": "玻根幼芽", "EN-R1-09": "横风书记", "EN-R1-10": "崖沿跃客", "EN-R1-11": "狂风执令官", "EN-R1-12": "棱晶角兽", "BO-R1-01": "千镜角鹿", "BO-R1-02": "风织机", "RG-01": "风镜原野", "CTR-R1-01": "风镜初渡", "CTR-R1-02": "风织机通路" }, "execution_tags": { "PF-B01": ["front_hold", "guard", "intercept", "push_resist"], "PF-B02": ["single_pressure", "edge", "execute", "overflow_convert"], "PF-B03": ["reach_control", "poise", "pierce", "move_cost"], "PF-B04": ["reorder", "momentum", "swap", "push_protect"], "PF-B05": ["projectile", "aim", "rear_target", "line_stability"], "PF-B06": ["area", "charge", "echo", "interrupt_cost"], "PF-B07": ["restore", "remedy", "cleanse", "no_overheal_gain"], "PF-B08": ["enable", "bond", "neighbor_link", "tag_variety"], "PF-B09": ["construct", "parts", "device", "salvage_on_move"], "PF-B10": ["impair", "omen", "hinder", "expiry_extend"], "PF-B11": ["tempo", "verse", "ally_advance", "enemy_delay"], "PF-B12": ["supply", "item_refresh", "retreat_step", "target_rotation"], "PF-A01": ["front_hold", "directional_intercept", "guard_refund"], "PF-A02": ["front_hold", "guard_spend", "push", "follow_step"], "PF-A03": ["single_pressure", "edge_wager", "execute", "exposed_cost"], "PF-A04": ["single_pressure", "edge_reserve", "block", "return_cut"], "PF-A05": ["reach_control", "poise_spend", "pull", "enemy_reorder"], "PF-A06": ["reach_control", "poise_spend", "line_pierce", "declining_damage"], "PF-A07": ["reorder", "momentum_spend", "swap", "ally_advance"], "PF-A08": ["reorder", "sprint", "multi_target", "exposed_cost"], "PF-A09": ["projectile", "aim_spend", "movement_delay", "interrupt"], "PF-A10": ["projectile", "aim_spend", "three_targets", "no_repeat"], "PF-A11": ["area", "charge", "cadence_chain", "declining_damage"], "PF-A12": ["area", "charge_preserve", "self_hinder", "focused_release"], "PF-A13": ["restore", "remedy", "heal", "rear_swap"], "PF-A14": ["restore", "remedy_spend", "delayed_heal", "damage_bonus"], "PF-A15": ["enable", "bond", "three_link", "same_tag_fray"], "PF-A16": ["enable", "bond_gain", "cost_transfer", "self_burden"], "PF-A17": ["construct", "parts_spend", "rear_device", "repeat_target"], "PF-A18": ["construct", "parts_spend", "position_trap", "forced_move_trigger"], "PF-A19": ["impair", "omen", "linked_expiry", "cleanse_risk"], "PF-A20": ["impair", "consume_hindrance", "burst", "expose"], "PF-A21": ["tempo", "verse_spend", "neighbor_sync", "slowest_timing"], "PF-A22": ["tempo", "verse_spend", "sound_interrupt", "self_silence"], "PF-A23": ["supply", "enemy_sample", "shop_counter", "future_value"], "PF-A24": ["supply", "item_trigger_transfer", "neighbor_only", "item_stays"], "TR-001": ["position_trigger", "reach_bonus", "foremost_filter_cost"], "TR-002": ["action_count", "resource_gain", "opening_delay"], "TR-003": ["neighbor_count", "free_intercept", "guard_transfer_lock"], "TR-004": ["repeat_target", "duration_bonus", "retarget_delay"], "TR-005": ["swap", "carry_footprint", "object_action_loss"], "TR-006": ["forced_move", "counterattack", "self_exposed"], "TR-007": ["consumable", "duplicate_target", "cooldown_cost"], "TR-008": ["rear_cover", "sound_immunity", "resource_lock"], "TR-009": ["pull_resist", "movement_transfer", "failure_hinder"], "TR-010": ["healing_received", "neighbor_splash", "self_heal_cost"], "TR-011": ["target_priority", "survive_hit", "focus_gain"], "TR-012": ["ally_fallen", "delayed_collapse", "action_lock"], "TR-013": ["basic_count", "item_cooldown", "resource_reset"], "TR-014": ["interrupt_convert", "delay", "slower_resolve"], "TR-015": ["enable_range", "distant_receive", "adjacent_lock"], "TR-016": ["hindered_kill", "resource_restore", "plain_kill_cost"], "TR-017": ["reserved_target", "reach_validate", "forced_fizzle"], "TR-018": ["area_damage", "action_advance", "single_heal_cost"], "TR-019": ["rear_intruder", "auto_mark", "forward_reach_cost"], "TR-020": ["item_priority", "first_trigger", "technique_wait"], "TR-021": ["swap_role", "resource_gain", "repeat_partner_hinder"], "TR-022": ["same_attacker_count", "guard_gain", "mark_clear"], "TR-023": ["action_advance", "cadence_copy", "repeat_advance_lock"], "TR-024": ["cleanse", "positive_tag_cost", "resource_gain"], "TR-025": ["survive_exposed", "shop_discount", "clear_on_safe_end"], "TR-026": ["summon_pass", "basic_reach", "summon_no_damage"], "TR-027": ["stationary", "sound_uninterruptible", "move_silence"], "TR-028": ["self_hindrance", "short_replace", "second_extend"], "TR-029": ["resource_share", "extended_range", "adjacent_exclusion"], "TR-030": ["overpush", "center_step", "positive_tag_drop"], "TR-031": ["enemy_windup", "focus_gain", "interrupt_reset"], "TR-032": ["overkill", "remedy_convert", "execute_lock"], "TR-033": ["equipment_mark", "two_marks", "profession_mark_cost"], "TR-034": ["region_hazard", "first_immunity", "second_extend"], "TR-035": ["empty_armament", "alternate_target", "equip_cost"], "TR-036": ["lone_band", "forecast", "reach_bonus", "concealment_lock"], "EQ-001": ["first_direct_hit", "rear_step", "next_basic_delay"], "EQ-002": ["first_push", "push_resist", "post_basic_hinder"], "EQ-003": ["ally_swap", "ally_advance", "wearer_delay"], "EQ-004": ["vacated_position", "forward_step", "guard_loss"], "EQ-005": ["forced_move", "movement_reduce", "pace_cost"], "EQ-006": ["rear_target", "front_pull", "next_action_delay"], "EQ-007": ["position_change", "trigger_reset", "cooldown_cost"], "EQ-008": ["stationary", "poise_gain", "move_reset"], "EQ-009": ["ally_low_hp", "rescue_step", "self_delay"], "EQ-010": ["front_entry", "target_priority", "guard_cost"], "EQ-011": ["neighbor_hit", "guard_share", "pace_cost"], "EQ-012": ["open_line", "reach_bonus", "guard_lock"], "EQ-013": ["cross_swap", "action_advance", "self_hinder"], "EQ-014": ["rear_position", "projectile_resist", "move_disable"], "EQ-015": ["wearer_swap", "position_trigger_refresh", "partner_lock"], "EQ-016": ["empty_position", "cadence_advance", "position_fill_reset"], "EQ-017": ["guarded", "pull_resist", "guard_break_cost"], "EQ-018": ["three_positions", "item_refresh", "repeat_reset"], "EQ-019": ["stationary_count", "guard_gain", "forced_move_reset"], "EQ-020": ["neighbor_move", "safe_step", "item_pause"], "EQ-021": ["threat_preview", "target_reveal", "damage_cost"], "EQ-022": ["foremost_mark", "ally_focus", "rear_exposed"], "EQ-023": ["rear_threat", "target_redirect", "front_delay"], "EQ-024": ["lowest_hp", "heal_target", "overheal_lock"], "EQ-025": ["equal_targets", "alternate_family", "critical_lock"], "EQ-026": ["summon", "target_mark", "owner_delay"], "EQ-027": ["wounded_target", "damage_bonus", "healthy_cost"], "EQ-028": ["guarded_enemy", "guard_strip", "raw_damage_cost"], "EQ-029": ["fastest_enemy", "hinder", "slow_target_lock"], "EQ-030": ["last_target", "repeat_bonus", "retarget_cost"], "EQ-031": ["ally_targeted", "intercept", "self_exposed"], "EQ-032": ["screened_enemy", "screen_remove", "damage_lock"], "EQ-033": ["front_attack", "reflect", "rear_bypass"], "EQ-034": ["low_resource", "resource_gain", "full_resource_delay"], "EQ-035": ["open_flank", "rear_target", "foremost_damage_cost"], "EQ-036": ["area_action", "second_target", "primary_damage_cost"], "EQ-037": ["interrupt", "cooldown_refresh", "failed_interrupt_cost"], "EQ-038": ["oldest_hindrance", "cleanse", "urgent_newer_cost"], "EQ-039": ["enemy_collapse", "reserved_target", "double_collapse_fizzle"], "EQ-040": ["equal_target_families", "alternate_default", "critical_lock"], "AR-001": ["market_slots", "recruit_plus", "equipment_minus", "conflict_ar002"], "AR-002": ["market_slots", "equipment_plus", "recruit_minus", "conflict_ar001"], "AR-003": ["recruit_price", "common_discount", "rare_surcharge", "conflict_ar004"], "AR-004": ["recruit_weights", "narrow_profession", "other_surcharge", "conflict_ar003"], "AR-005": ["recruit_offer", "extra_candidate", "discard_one", "conflict_ar006"], "AR-006": ["trait_reroll", "preserve_combat_fields", "once_per_market", "conflict_ar005"], "AR-007": ["reserve_capacity", "capacity_plus", "upkeep_cost", "conflict_ar008"], "AR-008": ["reserve_capacity", "capacity_minus", "death_guarantee", "conflict_ar007"], "EN-R1-01": ["foremost_bite", "repeat_count", "neighbor_guard_chip"], "EN-R1-02": ["rear_projectile", "rearmost_target", "forward_step"], "EN-R1-03": ["headwind_charge", "foremost_target", "push"], "EN-R1-04": ["positive_tag", "consume_oldest", "no_damage"], "EN-R1-05": ["projectile_screen", "first_reflect", "no_chain"], "EN-R1-06": ["reach_filter", "long_reach_target", "foremost_fallback"], "EN-R1-07": ["band_count", "majority_delay", "order_pressure"], "EN-R1-08": ["rear_growth", "forward_step", "rear_shield"], "EN-R1-09": ["front_rear_line", "swap_crossing", "hinder"], "EN-R1-10": ["enemy_reorder", "leap_front", "changed_target_strike"], "EN-R1-11": ["elite", "indexed_position", "push_or_projectile"], "EN-R1-12": ["elite", "two_footprint", "screen_rotation", "damage_family"], "BO-R1-01": ["boss", "two_footprint", "three_panes", "sweep_push"], "BO-R1-02": ["boss", "stationary", "gust_footprint", "spindle_reverse"], "RG-01": ["region", "windglass", "push", "projectile_screen"], "CTR-R1-01": ["contract", "twelve_rounds", "boss_bo_r1_01", "clear_rg01_c01"], "CTR-R1-02": ["contract", "twelve_rounds", "boss_bo_r1_02", "clear_rg01_c02"] }, "professions": [ { "id": "PF-B01", "name": "Hearthguard", "family": "base", "role": "front-hold; front", "rules": "Shield Knock hits foremost reachable and Guard 1 neighbor. Guard gained when struck, spent to intercept one neighbor hit. Set Feet: cannot be pushed while Guarded, but steps slower.", "cadence": "reach 1; steady: intercept lethal neighbor hit, refresh own Guard, then Knock nearest.", "strategy": "Countered by rear pressure and Guard stripping; enables slow casters and adjacency items.", "production": "P/O/A/V/S: broad shield overlay, brace/knock family, square amber guard cue, wood-metal block event." }, { "id": "PF-B02", "name": "Edgehand", "family": "base", "role": "single-pressure; front/center", "rules": "Testing Cut hits nearest exposed enemy. Edge gained on alternating targets, spent to finish a marked target. No Waste: overflow damage becomes one Edge, not splash.", "cadence": "reach 1; fast: finish legal low target, alternate target for Edge, then nearest exposed.", "strategy": "Countered by decoys and heavy protection; likes marks and enemy reorder.", "production": "P/O/A/V/S: paired short-blade overlay, alternating slash poses, chevron Edge cue, dry cut/finish pair." }, { "id": "PF-B03", "name": "Longspoke", "family": "base", "role": "reach-control; center", "rules": "Measured Thrust strikes through one unit. Poise gained by attacking without moving, spent to extend reach or resist pull. Keep Distance: loses Poise after a step.", "cadence": "reach 2; steady: interrupt approaching short-reach threat, pierce aligned front pair, then foremost.", "strategy": "Countered by forced movement and rear divers; protects center damage through controlled reach.", "production": "P/O/A/V/S: modular polearm, plant/thrust/pivot family, straight-line white cue, haft plant and air-cut events." }, { "id": "PF-B04", "name": "Wayrunner", "family": "base", "role": "reorder; any", "rules": "Passing Strike swaps with the neighbor ahead after hitting. Momentum gained per distinct position visited, spent on a long step. Open Route: allies moved through are briefly unpushable.", "cadence": "reach 1; fast: escape marked danger, fill exposed front gap, then cycle toward least-visited position.", "strategy": "Countered by roots and narrow safe bands; enables position triggers and rescues fragile units.", "production": "P/O/A/V/S: light hooked blade, run/brake/swap family, footprint cue, cloth rush and heel-stop events." }, { "id": "PF-B05", "name": "Farstring", "family": "base", "role": "projectile-pressure; rear", "rules": "Draw Shot targets foremost legal enemy; each uninterrupted shot gains Aim, spent to select rearmost. Clear Arc: loses Aim when an ally is pulled behind the Farstring.", "cadence": "line reach projectile; steady: spend Aim on dangerous rear caster, hit marked target, then foremost.", "strategy": "Countered by projectile screens and rear intrusion; likes stable protection and target marks.", "production": "P/O/A/V/S: bow family, draw/loose/reacquire, arc-and-notch cue, bow snap and distinct blocked shot." }, { "id": "PF-B06", "name": "Riftcaller", "family": "base", "role": "area-pressure; rear", "rules": "Rift Spark hits foremost and echoes lightly to its neighbor. Charge gained while wind-up completes, spent to widen an area. Unstable Weave: interruption clears Charge.", "cadence": "line spell reach; slow: widen against clustered pair, punish summoned unit, then Spark highest cluster value.", "strategy": "Countered by interrupts and forced retarget; likes time protection and grouping effects.", "production": "P/O/A/V/S: focus rod, two-stage channel/cast, forked diamond cue, rising tone with captioned discharge." }, { "id": "PF-B07", "name": "Kindhand", "family": "base", "role": "restore; center/rear", "rules": "Tending Pulse heals lowest-vitality reachable ally. Remedy gained when healing actual loss, spent to cleanse one hindrance. Honest Care: overheal grants no Remedy.", "cadence": "reach 2 allied; steady: prevent lethal forecast, cleanse action-blocking status, then heal lowest ratio.", "strategy": "Countered by split pressure and heal denial; likes Guard, shared damage, and predictable cadence.", "production": "P/O/A/V/S: satchel and hand-lamp, assess/tend/cleanse, open-circle cue, soft chime plus captioned cleanse." }, { "id": "PF-B08", "name": "Bondwright", "family": "base", "role": "enable; center", "rules": "Joining Thread lightly damages an enemy and links the caster to one neighbor. Bond gained when linked units use different action tags, spent to share Guard or Remedy. Tension: same-tag repeats fray the link.", "cadence": "reach 2; steady: repair broken useful link, share resource before threshold, then hit linked enemy.", "strategy": "Countered by isolation and repetitive parties; amplifies mixed roles and alternating cadences.", "production": "P/O/A/V/S: knot-frame focus, cast/tie/release, braided line cue with shape dashes, two-tone pluck event." }, { "id": "PF-B09", "name": "Coilsmith", "family": "base", "role": "construct; center/rear", "rules": "Tool Tap attacks nearest threat. Parts gained every second basic, spent to deploy a one-footprint device behind self. Pack Up: stepping salvages half unspent Parts but removes device.", "cadence": "reach 1 basic; steady: replace destroyed device, trigger safe utility, then Tap nearest device threat.", "strategy": "Countered by rear compression and device hunters; likes stable order and Parts equipment.", "production": "P/O/A/V/S: tool rig and compact device kit, place/tune/pack, cog-square cue, ratchet and device-state events." }, { "id": "PF-B10", "name": "Gloamreader", "family": "base", "role": "impair; rear", "rules": "Dimming Word damages the enemy with highest current cadence and applies Hindered. Omen gained when a debuff expires, spent to extend a different debuff. No Echo: cannot extend own same tag twice.", "cadence": "line spell reach; slow: stop imminent major action, extend ally-applied status, then dim fastest enemy.", "strategy": "Countered by cleanse and staggered immunity; likes varied statuses and long fights.", "production": "P/O/A/V/S: tablet veil, inscribe/close/release, broken-ring cue, whispered consonant texture with captions." }, { "id": "PF-B11", "name": "Bellkeeper", "family": "base", "role": "tempo; center", "rules": "Time Bell strikes nearest and advances the slower neighbor's next basic. Verse gained when allies act in three different cadence bands, spent to delay an enemy wind-up. Offbeat: repeated band gives no Verse.", "cadence": "reach 1/line delay; steady: delay major action, advance restorative neighbor, then strike nearest.", "strategy": "Countered by silence and uniform-speed builds; enables slow wind-ups and cadence alternation.", "production": "P/O/A/V/S: handbell frame, strike/listen/cutoff, three-bar cue, pitch-coded but fully captioned bell events." }, { "id": "PF-B12", "name": "Packwarden", "family": "base", "role": "supply; center/rear", "rules": "Rationed Blow hits nearest; every third basic creates one Supply, spent to refresh a neighbor's item cooldown or grant a safe retreat step. Inventory Rule: cannot target self twice in succession.", "cadence": "reach 1; steady: enable urgent item, move endangered rearward neighbor, then build Supply.", "strategy": "Countered by item lock and isolation; supports proc gear and replaceable front lines.", "production": "P/O/A/V/S: pack-frame and tally tags, handoff/strike/guide, stacked-tab cue, buckle and counted click events." }, { "id": "PF-A01", "name": "Gatebearer", "family": "advanced", "role": "PF-B01; interception becomes directional", "rules": "front-hold/front; Gate Arc intercepts only attacks crossing the bearer, refunding Guard when prediction is correct.", "cadence": "reach 1; reserve Guard for crossing attacks, then protect neighbor behind.", "strategy": "Rear-origin attacks bypass it; superb with fragile unit directly behind. Opposes PF-A02 aggression.", "production": "O/A/V/S: tall gate shield, swing-open brace, doorway cue, resonant latch block." }, { "id": "PF-A02", "name": "Ramward", "family": "advanced", "role": "PF-B01; Guard becomes forward displacement", "rules": "control/front; Driving Wall spends Guard to push foremost enemy and follow into the new front.", "cadence": "reach 1; push channeling or short-reach threat, otherwise maintain Guard.", "strategy": "Immovable enemies waste its conversion; groups enemies for area roles. Opposes PF-A01 protection.", "production": "O/A/V/S: convex shield, two-step drive, wedge cue, shove impact layers." }, { "id": "PF-A03", "name": "Lastlight", "family": "advanced", "role": "PF-B02; Edge wagers on execution", "rules": "finish/front/center; Final Measure reserves all Edge; kill refunds half, survival leaves user Exposed.", "cadence": "reach 1; wager only when visible forecast crosses defeat threshold.", "strategy": "Barriers and death prevention punish wager; marks improve forecast. Opposes PF-A04 patience.", "production": "O/A/V/S: narrow dueling blade, held finish pose, closing-line cue, silence-then-hit event." }, { "id": "PF-A04", "name": "Turnblade", "family": "advanced", "role": "PF-B02; Edge becomes a deterministic counter", "rules": "pressure/front; Turn Aside reserves one Edge as an explicit Block charge against the next eligible direct component targeting self. Trigger TURNBLADE_RETURN declares observed_role=actual_recipient, outcome_ids=AO_BLOCKED, component_tags=direct+block_eligible, once_scope=action, and allow_derived=false; it queues Return Cut against the source next tick.", "cadence": "reach 2 counter; reserve Edge only for a telegraphed Block-eligible component due before the next basic; fire Return Cut only while its source remains legal and reachable, otherwise log the suppressed source reason.", "strategy": "Unblockable/area components and sources beyond reach deny the return; readable single-target telegraphs and reach control enable it. Opposes PF-A03 execution.", "production": "O/A/V/S: guard-ring blade, brace/return family, AO_BLOCKED square-to-arrow cue, parry scrape and return cut." }, { "id": "PF-A05", "name": "Hookmarshal", "family": "advanced", "role": "PF-B03; Poise controls enemy order", "rules": "reach-control/center; Crook Pull spends Poise to pull a reach-legal enemy one position forward.", "cadence": "reach 2; pull protected caster when counterline can absorb it, then thrust.", "strategy": "Pull immunity and front traps punish it; empowers Edgehand and short reach. Opposes PF-A06 static damage.", "production": "O/A/V/S: hooked polearm, catch/haul, hooked-line cue, chainless wood-and-cloth pull." }, { "id": "PF-A06", "name": "Sunlance", "family": "advanced", "role": "PF-B03; Poise becomes piercing setup", "rules": "pressure/center; Noon Line spends all Poise to pierce every intervening enemy with declining effect.", "cadence": "line reach; fire only through two or more legal targets, else build Poise.", "strategy": "Spacing and forced movement collapse value; grouping and stable front enable it. Opposes PF-A05 reorder.", "production": "O/A/V/S: long bright spear, extended plant/cast, straight sunbar cue, layered pass-through hits." }, { "id": "PF-A07", "name": "Relayknife", "family": "advanced", "role": "PF-B04; movement hands timing to allies", "rules": "enable/any; Pass The Turn spends Momentum on swap, advancing the swapped ally's basic while delaying own.", "cadence": "adjacent ally; rescue endangered unit or advance a ready counter before cycling.", "strategy": "Roots or selfish carry builds reduce value; slow high-impact basics benefit. Opposes PF-A08 self-routing.", "production": "O/A/V/S: baton knife, tap-and-pass motion, paired footprints, handoff click." }, { "id": "PF-A08", "name": "Backdraft", "family": "advanced", "role": "PF-B04; full-line route becomes attack", "rules": "reorder-pressure/any; Wake Cut damages each unique enemy passed while sprinting rear to front, then becomes Exposed.", "cadence": "line traversal only when path is open; retreat after wake if threatened.", "strategy": "Occupied path and focus fire punish it; Guard and pull setup open routes. Opposes PF-A07 ally timing.", "production": "O/A/V/S: scarf blade, full-line sprint, tapered wake cue, sequential rush hits." }, { "id": "PF-A09", "name": "Pinseeker", "family": "advanced", "role": "PF-B05; Aim selects action parts", "rules": "precision/rear; Joint Pin spends Aim to delay a telegraphed movement or interruptible wind-up instead of dealing full damage.", "cadence": "line projectile; pin highest-impact legal telegraph, otherwise preserve Aim.", "strategy": "Screens and uninterruptible actions counter it; Bellkeeper extends pin windows. Opposes PF-A10 coverage.", "production": "O/A/V/S: pin bow, low draw, joint-cross cue, taut snap with delayed thunk." }, { "id": "PF-A10", "name": "Rainbow", "family": "advanced", "role": "PF-B05; Aim becomes distributed volley", "rules": "area/rear; Falling String spends Aim to strike three distinct legal targets; cannot repeat one target.", "cadence": "line projectile; volley at three targets, otherwise basic to build Aim.", "strategy": "Single durable enemy wastes breadth; debuff-on-hit gear multiplies it. Opposes PF-A09 precision.", "production": "O/A/V/S: split-limb bow, upward release, three-notch cue, staggered arrow rain." }, { "id": "PF-A11", "name": "Stormledger", "family": "advanced", "role": "PF-B06; Charge chains by cadence", "rules": "area/rear; Rolling Sum jumps to the next enemy whose action is later, losing power each jump.", "cadence": "line spell; start on fastest enemy when at least two later targets exist.", "strategy": "Uniform timing and isolation limit chain; tempo delays reshape the sequence. Opposes PF-A12 focused channel.", "production": "O/A/V/S: page-rod, sequential cast, numbered bolt cue, pitch-descending chain." }, { "id": "PF-A12", "name": "Hollowstar", "family": "advanced", "role": "PF-B06; Charge is stored through interruption at a cost", "rules": "pressure/rear; Held Rift preserves Charge when interrupted but applies self Hindered; release focuses one target.", "cadence": "line spell; retain through one interruption, release at marked high-threat enemy.", "strategy": "Repeated interrupts compound delay; Guard and cleanse protect payoff. Opposes PF-A11 distributed chain.", "production": "O/A/V/S: dark aperture focus, brace/release, hollow diamond cue, muted charge then bass impact." }, { "id": "PF-A13", "name": "Fieldmender", "family": "advanced", "role": "PF-B07; Remedy follows moving patients", "rules": "restore/center; Walking Triage heals a target then swaps it one step rearward if the space relation is legal.", "cadence": "allied reach 2; extract lowest-vitality exposed ally, otherwise cleanse.", "strategy": "Reorder locks and rear pressure counter extraction; front replacements benefit. Opposes PF-A14 delayed care.", "production": "O/A/V/S: sling lamp, support-and-step, rear arrow in circle, bandage rustle and step." }, { "id": "PF-A14", "name": "Aftercare", "family": "advanced", "role": "PF-B07; Remedy schedules future healing", "rules": "restore/rear; Promise Dose spends Remedy now to heal after target's next action, stronger if it takes damage first.", "cadence": "allied reach line; schedule on forecast target, never duplicate an active promise.", "strategy": "Burst before trigger defeats it; predictable tanks and action acceleration enable it. Opposes PF-A13 immediate extraction.", "production": "O/A/V/S: sealed vial lamp, tag-and-release, hourglass-cross cue, delayed glass chime." }, { "id": "PF-A15", "name": "Chainhost", "family": "advanced", "role": "PF-B08; one Bond links three different roles", "rules": "enable/center; Third Knot extends a link through both neighbors; any same-tag repeat frays both sides.", "cadence": "adjacent network; build only with three distinct action tags, share to weakest side.", "strategy": "Displacement and role duplication break it; mixed cadence lines gain coverage. Opposes PF-A16 pair focus.", "production": "O/A/V/S: triple knot frame, three-hand sweep, tri-braid cue, three-note pluck." }, { "id": "PF-A16", "name": "Burdenmate", "family": "advanced", "role": "PF-B08; Bond transfers a chosen cost", "rules": "protect/center; Take The Clause moves one visible hindrance or item cooldown from neighbor to self, gaining Bond.", "cadence": "neighbor only; take action-blocking cost if self can still act, then share resource.", "strategy": "Isolation and nontransferable boss tags stop it; cleanse and self-cost equipment enable it. Opposes PF-A15 network breadth.", "production": "O/A/V/S: split knot frame, pull-to-chest, divided-circle cue, tension snap." }, { "id": "PF-A17", "name": "Sentrymaker", "family": "advanced", "role": "PF-B09; Parts create rear projectile device", "rules": "construct/rear; Needle Post occupies one footprint behind user and shoots user's last basic target.", "cadence": "mirrored line reach; deploy only with rear room, retune when target invalid.", "strategy": "Rear compression/device hunters remove it; marks stabilize target. Opposes PF-A18 frontline trap.", "production": "O/A/V/S: fold-out post, plant/aim/fold, tripod cue, clockwork shot events." }, { "id": "PF-A18", "name": "Snarewright", "family": "advanced", "role": "PF-B09; Parts arm a vacated position", "rules": "control/center; Latch Tile triggers when an enemy is pushed or pulled across its indexed line position.", "cadence": "position target; arm ahead of predicted reorder, otherwise conserve Parts.", "strategy": "No displacement means dormant value; Hookmarshal and Ramward trigger it. Opposes PF-A17 repeated shots.", "production": "O/A/V/S: flat latch kit, place/arm/spring, toothed-square cue, clamp event." }, { "id": "PF-A19", "name": "Paleoracle", "family": "advanced", "role": "PF-B10; Omen copies expiry timing", "rules": "impair/rear; Borrowed End makes a different hindrance expire when the copied source expires, sharing cleanse risk.", "cadence": "line spell; pair long ally status with urgent enemy status.", "strategy": "Cleanse removes both schedule value; varied debuff durations enable planning. Opposes PF-A20 consumption.", "production": "O/A/V/S: twin tablet, cross-inscribe, linked broken rings, paired whisper cutoff." }, { "id": "PF-A20", "name": "Dreadtaster", "family": "advanced", "role": "PF-B10; consumes hindrance for burst", "rules": "pressure/rear; Bitter Proof removes one enemy hindrance to damage and expose it based on remaining duration.", "cadence": "line spell; consume just before cleanse or kill window, never erase needed control early.", "strategy": "Premature use wastes setup; many short debuffs and finishers enable it. Opposes PF-A19 duration control.", "production": "O/A/V/S: tasting needle and veil, draw/strike, collapsing ring cue, inhale-to-crack event." }, { "id": "PF-A21", "name": "Marchbell", "family": "advanced", "role": "PF-B11; Verse synchronizes basics", "rules": "tempo/center; Common Step spends Verse so both neighbors' next basics resolve together after the slower one.", "cadence": "neighbors; synchronize complementary basics, avoid simultaneous overkill.", "strategy": "Area interrupts and redundant targets punish sync; combo tags and shared target rules benefit. Opposes PF-A22 enemy denial.", "production": "O/A/V/S: broad bell, two-side conducting, paired bars cue, merged beat event." }, { "id": "PF-A22", "name": "Quietus", "family": "advanced", "role": "PF-B11; Verse cancels sound-tagged wind-ups", "rules": "control/center/rear; Held Clapper spends all Verse to interrupt one sound or command telegraph, then self-silences.", "cadence": "line control; reserve for preview-tagged major action, otherwise advance ally.", "strategy": "Non-sound threats bypass it; forecast and cleanse support the self-cost. Opposes PF-A21 ally acceleration.", "production": "O/A/V/S: wrapped bell, catch-clapper pose, crossed-wave cue, sudden mix duck with caption." }, { "id": "PF-A23", "name": "Trailfactor", "family": "advanced", "role": "PF-B12; Supply alters post-battle offers", "rules": "supply/rear; Field Sample marks first defeated enemy family; post-battle shop guarantees one matching counter tag, spending stored Supply.", "cadence": "battle reach 1; sample novel threat, use Supply on urgent item refresh.", "strategy": "Repeated familiar enemies lower value; diverse routes and missing counter gear reward it. Opposes PF-A24 immediate line logistics.", "production": "O/A/V/S: sample pack, tag/scoop/ledger, specimen-tab cue, cork and pencil events." }, { "id": "PF-A24", "name": "Lineporter", "family": "advanced", "role": "PF-B12; Supply moves equipment triggers", "rules": "enable/center; Hand Carry transfers one unused once-per-battle item trigger to a legal neighbor; item itself stays equipped.", "cadence": "neighbor only; move a trigger to the unit with legal target, else retreat-step endangered ally.", "strategy": "Bound/self-only items cannot transfer; proc gear and mixed eligibility benefit. Opposes PF-A23 future offers.", "production": "O/A/V/S: open-frame pack, pass token, hand-arrow cue, clasp-release event." } ], "traits": [ { "id": "TR-001", "name": "First Through", "benefit": "First action after becoming foremost gains reach +1.", "cost": "That action cannot target the current foremost enemy.", "evidence": "Front-arrow badge pulses; result names chosen farther target.", "prohibited": "PF-B01, PF-A01, PF-H01; self-only target actions." }, { "id": "TR-002", "name": "Patient Start", "benefit": "After two allied actions resolve, first basic gains one local resource.", "cost": "Starts battle with its first basic delayed one cadence band.", "evidence": "Two-notch timer under portrait; report shows delayed and paid tick.", "prohibited": "PF-A21; opening-action equipment." }, { "id": "TR-003", "name": "Narrow Guard", "benefit": "When only one neighbor exists, intercepts one non-area hit without spending resource.", "cost": "While two neighbors exist, cannot receive transferred Guard.", "evidence": "One/two-neighbor shield icon; intercept has trait source label.", "prohibited": "PF-A15; forced-intercept equipment." }, { "id": "TR-004", "name": "Long Memory", "benefit": "Repeating the last legal target increases status duration by one tick.", "cost": "Changing target delays the next action by one tick.", "evidence": "Prior-target ring and tick preview; report groups repeats/switches.", "prohibited": "Target-randomizing equipment; PF-A10." }, { "id": "TR-005", "name": "Spare Hand", "benefit": "May carry one construct or summon footprint through a swap.", "cost": "Carried object loses its next automatic action.", "evidence": "Object attaches visibly during swap; result logs skipped action.", "prohibited": "PF-H04; immovable-device items." }, { "id": "TR-006", "name": "Open Stance", "benefit": "After a push or pull, immediately basic-attacks the mover if reachable.", "cost": "Becomes Exposed until that basic resolves.", "evidence": "Bent-arrow badge and exposed outline; counter target logged.", "prohibited": "Displacement immunity equipment; PF-A04." }, { "id": "TR-007", "name": "Deep Pocket", "benefit": "First consumable equipment trigger each battle is preserved for a second legal target.", "cost": "Both uses have one longer cooldown band.", "evidence": "Two-charge item pip and extended clock; results split both uses.", "prohibited": "PF-A24; single-use wager items." }, { "id": "TR-008", "name": "Quiet Hands", "benefit": "Cannot be targeted by sound-tagged enemy actions while behind two allies.", "cost": "Own sound-tagged actions generate no local resource.", "evidence": "Muted-wave badge; rejected targets explain depth condition.", "prohibited": "PF-A22; PF-B11." }, { "id": "TR-009", "name": "Counterweight", "benefit": "Resists first pull and transfers its movement to the neighbor ahead.", "cost": "If that neighbor cannot move, both become Hindered.", "evidence": "Linked weight icon; preview shows legal recipient; failure logs blockage.", "prohibited": "PF-B01; movement-lock equipment." }, { "id": "TR-010", "name": "Shared Cup", "benefit": "Effective healing received also restores a smaller amount to lowest-vitality neighbor.", "cost": "Direct self-healing is reduced.", "evidence": "Cup arc identifies neighbor before resolution; result separates shared heal.", "prohibited": "PF-H01; no-neighbor formation starts." }, { "id": "TR-011", "name": "Bright Target", "benefit": "Enemies prefer this recruit over equal-reach candidates.", "cost": "Each attack survived grants one Focus, capped until the recruit moves.", "evidence": "Visible threat flare and Focus pips; report cites target-score source.", "prohibited": "Untargetable-opening items; PF-A08." }, { "id": "TR-012", "name": "Late Step", "benefit": "When neighbor ahead dies, steps into the gap only after completing current wind-up.", "cost": "Cannot act during the subsequent collapse tick.", "evidence": "Pending-step ghost silhouette; result shows preserved cast and lost tick.", "prohibited": "Instant-collapse equipment; no-wind-up actions." }, { "id": "TR-013", "name": "Frugal Rhythm", "benefit": "Every third basic that spends no resource shortens one equipment cooldown.", "cost": "Resource-spending actions reset the three-basic count.", "evidence": "Three-bead counter; reset and refresh named in results.", "prohibited": "PF-B12; equipment without cooldowns." }, { "id": "TR-014", "name": "Heavy Sleeve", "benefit": "First interrupt becomes a delay instead of cancellation.", "cost": "Wind-up after the delay resolves one cadence band slower.", "evidence": "Sleeve bar catches interrupt cue; report contrasts old/new completion tick.", "prohibited": "Uninterruptible-cast equipment; PF-A12." }, { "id": "TR-015", "name": "Far Listener", "benefit": "May receive enable actions from one additional position away.", "cost": "Cannot receive them from an immediate neighbor while at full vitality.", "evidence": "Distant-ear arc and rejected-neighbor reason.", "prohibited": "PF-A15; adjacency-only bond equipment." }, { "id": "TR-016", "name": "Ash Appetite", "benefit": "Defeating a Hindered enemy restores one local resource.", "cost": "Defeating an unhindered enemy removes one local resource if available.", "evidence": "Status-check flame icon; both gain/loss events captioned.", "prohibited": "Professions with no local resource; status-immunity items." }, { "id": "TR-017", "name": "Exacting", "benefit": "The first action each battle gains +1 reach only for completion validation against its reserved target; movement that remains inside that reach follows the same unit ID and records TARGET_MOVED_STILL_LEGAL on its terminal outcome.", "cost": "If that reservation instead emits AO_INVALID_REACH, AO_INVALID_UNTARGETABLE, AO_INVALID_FALLEN, or AO_INVALID_FILTER, its policy is forced to fizzle, then emits AO_FIZZLED with zero resource or cooldown refund; it cannot retarget or ground-resolve.", "evidence": "Reservation frame shows the one-use extended reach; results show the invalid record, AO_FIZZLED, or the followed-target detail and accepted wager.", "prohibited": "Ground-resolve equipment; PF-A10." }, { "id": "TR-018", "name": "Thin Blood", "benefit": "Taking area damage advances next action by one tick.", "cost": "Direct single-target healing is less effective.", "evidence": "Area-hit speed notch and cracked-drop badge; report quantifies lost care.", "prohibited": "Area immunity equipment; PF-B07." }, { "id": "TR-019", "name": "Backwatch", "benefit": "First enemy entering the allied rear is immediately Marked.", "cost": "While no rear intruder exists, recruit's forward reach is reduced by one.", "evidence": "Rear eye badge; reach preview updates; intrusion mark logged.", "prohibited": "PF-B05; reach-1 professions." }, { "id": "TR-020", "name": "Oathbound Tool", "benefit": "The Recruit's equipped item's first trigger gains priority over its profession action.", "cost": "Until that trigger resolves or expires, the Recruit's first technique waits.", "evidence": "One-slot oath ribbon and queue state; delayed technique has a reason.", "prohibited": "Triggerless equipment; PF-A24." }, { "id": "TR-021", "name": "Loose Formation", "benefit": "Gains one local resource after swapping with a different profession role.", "cost": "Repeating a swap partner applies Hindered to self.", "evidence": "Partner-role bead track; repeat warning in formation preview.", "prohibited": "PF-H04; swap-lock equipment." }, { "id": "TR-022", "name": "Stone Count", "benefit": "Third hit from the same enemy grants Guard and clears its Mark.", "cost": "Changing attackers resets count.", "evidence": "Attacker portrait with three stones; reset shown on target change.", "prohibited": "Forced-target equipment; PF-A01." }, { "id": "TR-023", "name": "Borrowed Pace", "benefit": "After receiving an action advance, copies the giver's cadence for one basic.", "cost": "If copied cadence is slower, cannot be advanced again until that basic.", "evidence": "Donor-color-independent bar shape; report records copied band.", "prohibited": "PF-A21; cadence-fixed equipment." }, { "id": "TR-024", "name": "Clean Break", "benefit": "First cleanse also removes the recruit's oldest positive tag and grants local resource.", "cost": "If no positive tag exists, cleanse takes one extra tick.", "evidence": "Paired plus/minus token; tooltip previews removed tag.", "prohibited": "PF-A16; positive-tag-lock items." }, { "id": "TR-025", "name": "Risk Ledger", "benefit": "Surviving while Exposed adds one discount step to this recruit's next shop equipment purchase.", "cost": "Ending battle never Exposed clears all accumulated steps.", "evidence": "Persistent personal tally visible in roster/shop; result states kept/cleared.", "prohibited": "Exposed-immunity equipment; retreat-only encounters." }, { "id": "TR-026", "name": "Hollow Reach", "benefit": "Basics may pass through a summoned footprint.", "cost": "Basics deal no effect to summoned units.", "evidence": "Hollow projectile/line cue; illegal summon target reason.", "prohibited": "Summon-hunter equipment; PF-A17." }, { "id": "TR-027", "name": "Rooted Voice", "benefit": "Sound and command actions cannot be interrupted while recruit has not moved.", "cost": "Moving self-silences until next basic resolves.", "evidence": "Rooted waveform icon; movement preview shows silence interval.", "prohibited": "PF-B04, PF-A08, PF-H04." }, { "id": "TR-028", "name": "Second Draft", "benefit": "First self-applied hindrance is replaced by Hindered of shorter duration.", "cost": "Second self-applied hindrance lasts one tick longer.", "evidence": "Two-page counter; replacement/extension source is explicit.", "prohibited": "Self-cost-free equipment; PF-A16." }, { "id": "TR-029", "name": "Open Palm", "benefit": "Resource-sharing actions can target through one intervening ally.", "cost": "Sharing with a distant ally gives nothing to immediate neighbors that cadence.", "evidence": "Straight handoff line; opportunity cost shown on neighbor pips.", "prohibited": "PF-H06; no-resource professions." }, { "id": "TR-030", "name": "Turncoat Buckle", "benefit": "When pushed behind the current rearmost position, immediately steps to center.", "cost": "Drops one active positive equipment tag during the step.", "evidence": "Buckle opens and center ghost appears; dropped tag named in log.", "prohibited": "Position-lock equipment; PF-A08." }, { "id": "TR-031", "name": "Storm Nerve", "benefit": "Each completed enemy major wind-up grants Focus.", "cost": "An interrupted enemy major action removes all stored Focus.", "evidence": "Major-action rings feed Focus pips; interruption loss bursts visibly.", "prohibited": "Focusless professions; PF-A09." }, { "id": "TR-032", "name": "Gentle Finish", "benefit": "Overkill is converted into Remedy for the lowest-vitality ally.", "cost": "Cannot benefit from execution-threshold effects.", "evidence": "Overkill trail bends to ally; threshold rejection is explicit.", "prohibited": "PF-A03; execution-tag equipment." }, { "id": "TR-033", "name": "Split Attention", "benefit": "Can maintain two Marks placed by equipment.", "cost": "Profession-applied Marks last one tick less.", "evidence": "Two half-eye pips; source-specific duration in inspect.", "prohibited": "Equipment set without Marks; markless professions." }, { "id": "TR-034", "name": "Weathered", "benefit": "First region hazard each battle has no effect.", "cost": "Second hazard of a different tag has extended duration.", "evidence": "Region hazard shield with empty/filled halves; result cites both tags.", "prohibited": "Hazard-immunity equipment; single-hazard challenge rules." }, { "id": "TR-035", "name": "Empty Scabbard", "benefit": "With no armament-tag item, basic gains a profession-specific alternate target rule.", "cost": "Equipping an armament disables the trait and adds one cost tier to that shop action.", "evidence": "Empty-slot target preview and explicit disabled state.", "prohibited": "Required-armament professions; bound armament items." }, { "id": "TR-036", "name": "Last Witness", "benefit": "When the only living member in a line band, reveals next enemy target and gains reach +1.", "cost": "Cannot receive invisibility or untargetable tags.", "evidence": "Lone-band eye and forecast line; rejected concealment has trait reason.", "prohibited": "Concealment equipment; PF-B01." } ], "equipment": [ { "id": "EQ-001", "name": "Stepback Soles", "fit": "garb; any", "class": "B", "effect": "After first direct hit, step one position rearward if legal.", "tradeoff": "Next basic waits one tick; full rear makes trigger dormant.", "production": "I/O/V/S: split-heel boots, rear arrow, heel scrape." }, { "id": "EQ-002", "name": "Frontpin Greaves", "fit": "garb; front", "class": "B", "effect": "Resist the first enemy push until wearer completes a basic.", "tradeoff": "The completed basic Hinders wearer for one tick.", "production": "I/O/V/S: pegged greaves, brace notch, stone pin." }, { "id": "EQ-003", "name": "Passing Sash", "fit": "garb; any", "class": "B", "effect": "First allied swap through wearer advances the passing ally's basic.", "tradeoff": "Wearer's next basic is delayed equally.", "production": "I/O/V/S: two-tail sash, handoff arrows, cloth snap." }, { "id": "EQ-004", "name": "Gapfinder Sandals", "fit": "garb; any", "class": "B", "effect": "On a neighbor's defeat, choose collapse toward wearer instead of default once.", "tradeoff": "Wearer becomes Exposed during the collapse tick.", "production": "I/O/V/S: open-toe route marks, gap ghost, quick step." }, { "id": "EQ-005", "name": "Leadweight Belt", "fit": "garb; front/center", "class": "B", "effect": "First pull on wearer pulls the neighbor ahead instead when legal.", "tradeoff": "Illegal transfer Hinders both units.", "production": "I/O/V/S: hanging weight, forked pull cue, buckle strain." }, { "id": "EQ-006", "name": "Rearhook Cloak", "fit": "garb; rear", "class": "B", "effect": "First enemy entering allied rear is pulled one position forward after acting.", "tradeoff": "Wearer must remain rearmost; movement disables hook until next basic.", "production": "I/O/V/S: hooked hem, return arrow, cloth catch." }, { "id": "EQ-007", "name": "Pivot Anklet", "fit": "charm; any", "class": "B", "effect": "After wearer swaps, next basic targets the unit opposite the swap direction.", "tradeoff": "No legal opposite target causes a fizzle without resource gain.", "production": "I/V/S: compass anklet, pivot reticle, metal tick." }, { "id": "EQ-008", "name": "Stillroad Wrap", "fit": "garb; any", "class": "B", "effect": "Two cadences without movement grant immunity to next forced step.", "tradeoff": "Moving voluntarily clears the stored immunity.", "production": "I/O/V/S: wrapped calves, two-bead root cue, cloth tighten." }, { "id": "EQ-009", "name": "Rescue Loop", "fit": "kit; support", "class": "B", "effect": "First heal on a foremost ally also pulls that ally one position rearward.", "tradeoff": "Heal resolves weaker if pull is illegal.", "production": "I/O/V/S: rope loop, heal-arrow cue, soft rope slide." }, { "id": "EQ-010", "name": "Forward Claim", "fit": "charm; any", "class": "B", "effect": "First time wearer becomes foremost, mark current foremost enemy.", "tradeoff": "Mark ends if wearer moves rearward.", "production": "I/V/S: pennant clasp, paired front markers, flag flick." }, { "id": "EQ-011", "name": "Neighbor's Buckle", "fit": "garb; any", "class": "B", "effect": "When wearer receives Guard, give one Guard token to neighbor behind.", "tradeoff": "Wearer cannot receive Guard from that neighbor that cadence.", "production": "I/O/V/S: twin buckle, rear handoff cue, clasp click." }, { "id": "EQ-012", "name": "Open-Line Cord", "fit": "charm; any", "class": "B", "effect": "With no neighbor ahead, basics gain reach +1.", "tradeoff": "Gaining a front neighbor immediately ends any reserved long target.", "production": "I/V/S: loose cord, reach ruler, cord pluck." }, { "id": "EQ-013", "name": "Crossstep Token", "fit": "charm; any", "class": "B", "effect": "First targeted enemy movement grants wearer one legal step after its action.", "tradeoff": "Skipping the step delays wearer's next action.", "production": "I/V/S: crossed feet token, follow cue, two-step tap." }, { "id": "EQ-014", "name": "Quiet Rearplate", "fit": "guard; rear", "class": "B", "effect": "While rearmost, first area hit is converted to a direct hit.", "tradeoff": "Direct hit may now trigger single-target enemy riders.", "production": "I/O/V/S: narrow backplate, area-to-point cue, muted clang." }, { "id": "EQ-015", "name": "Relay Spur", "fit": "garb; reorder", "class": "B", "effect": "A swap initiated by wearer refreshes the swapped ally's position trigger.", "tradeoff": "Same ally cannot be chosen twice consecutively.", "production": "I/O/V/S: forked spur, reset loop, bright heel click." }, { "id": "EQ-016", "name": "Empty-Space Bell", "fit": "charm; any", "class": "B", "effect": "A vacant neighbor position makes wearer's next item trigger occur before basic.", "tradeoff": "If vacancy collapses first, item goes on short cooldown unused.", "production": "I/V/S: hollow bell, vacancy square, small cutoff chime." }, { "id": "EQ-017", "name": "Bracehook Cuff", "fit": "guard; front/center", "class": "B", "effect": "When neighbor is pulled, wearer may share the pull as a swap.", "tradeoff": "Both become Hindered after shared movement.", "production": "I/O/V/S: hooked cuff, split arrow, leather strain." }, { "id": "EQ-018", "name": "Longway Ribbon", "fit": "garb; any", "class": "B", "effect": "Traversing three unique positions refreshes one movement item.", "tradeoff": "Returning to a repeated position resets progress.", "production": "I/O/V/S: three-knot ribbon, footprint track, flutter count." }, { "id": "EQ-019", "name": "Settle Stone", "fit": "charm; any", "class": "B", "effect": "After involuntary movement, wearer keeps reserved target if still reachable.", "tradeoff": "Retarget is forbidden; illegal target fizzles normally.", "production": "I/V/S: flat stone, solid target tether, dull knock." }, { "id": "EQ-020", "name": "Linekeeper Tab", "fit": "kit; support", "class": "B", "effect": "Once per battle, prevent an allied swap that would expose lowest-vitality unit.", "tradeoff": "Prevention spends wearer's next item opportunity.", "production": "I/O/V/S: red tally tab, blocked swap cue, stamp click." }, { "id": "EQ-021", "name": "Threatglass Lens", "fit": "charm; any", "class": "B", "effect": "First basic targets enemy with longest shown wind-up instead of default.", "tradeoff": "If no wind-up exists, wearer waits one tick before defaulting.", "production": "I/O/V/S: clear lens, clock reticle, glass focus." }, { "id": "EQ-022", "name": "Frontmark Chalk", "fit": "kit; any", "class": "B", "effect": "Basic on foremost enemy Marks it for wearer's neighbor behind.", "tradeoff": "Wearer cannot benefit from that Mark.", "production": "I/V/S: chalk wedge, neighbor eye cue, chalk stroke." }, { "id": "EQ-023", "name": "Rearcall Whistle", "fit": "kit; reach 2+", "class": "B", "effect": "First legal attack selects rearmost enemy and reveals intervening screens.", "tradeoff": "Attack deals no status on that use.", "production": "I/O/V/S: flat whistle, rear line cue, captioned chirp." }, { "id": "EQ-024", "name": "Mercy Dial", "fit": "charm; restore", "class": "B", "effect": "Healing prefers ally whose next incoming hit is earliest, not lowest vitality.", "tradeoff": "Unforecast damage is ignored by the dial.", "production": "I/V/S: rotating cross dial, timeline reticle, soft click." }, { "id": "EQ-025", "name": "Split-Choice Coin", "fit": "charm; any", "class": "B", "effect": "On exact target-score tie, choose rearmost rather than random tie rule.", "tradeoff": "After tie resolves, wearer becomes Exposed one tick.", "production": "I/V/S: split coin, rear tie arrow, coin flip." }, { "id": "EQ-026", "name": "Summon Pricker", "fit": "armament; any", "class": "B", "effect": "Basics prefer enemy footprints with independent actions.", "tradeoff": "Against no footprint, basic recovery is one tick longer.", "production": "I/O/V/S: short pricker, footprint reticle, dry prick." }, { "id": "EQ-027", "name": "Woundreader Tape", "fit": "kit; pressure", "class": "B", "effect": "First basic targets enemy most recently effectively healed.", "tradeoff": "Target outside reach causes default with no item benefit.", "production": "I/O/V/S: marked tape, heal-history cue, tape pull." }, { "id": "EQ-028", "name": "Guard-Seam Pick", "fit": "armament; any", "class": "B", "effect": "Basic prefers target currently protecting a neighbor.", "tradeoff": "Damage cannot defeat the protector on that item-triggered hit.", "production": "I/O/V/S: seam pick, guard-link reticle, metal pry." }, { "id": "EQ-029", "name": "Fastest-Shadow Ink", "fit": "charm; impair", "class": "B", "effect": "Debuffs prefer enemy with shortest next-action time.", "tradeoff": "Applied duration is one tick shorter.", "production": "I/V/S: ink drop, short clock cue, quick brush." }, { "id": "EQ-030", "name": "Last-Target Knot", "fit": "charm; any", "class": "B", "effect": "If prior target dies, next action follows its nearest living neighbor.", "tradeoff": "If both neighbors equidistant, action fizzles.", "production": "I/V/S: linked knot, neighbor branch cue, string snap." }, { "id": "EQ-031", "name": "Bodyguard Tag", "fit": "kit; support", "class": "B", "effect": "Choose one neighbor in Prepare; enable actions prefer that unit while below half vitality.", "tradeoff": "Other allies receive weaker enable duration.", "production": "I/O/V/S: name-free tag, chosen outline, buckle tap." }, { "id": "EQ-032", "name": "Unmasking Powder", "fit": "kit; line reach", "class": "B", "effect": "First hit on untargetable-window enemy becomes a reveal instead of damage.", "tradeoff": "Powder is spent for battle even if reveal ends same tick.", "production": "I/V/S: powder cone, open-eye cloud, soft burst." }, { "id": "EQ-033", "name": "Counterface Mirror", "fit": "guard; front", "class": "B", "effect": "First forced-target effect aimed at wearer is reflected as Mark on source.", "tradeoff": "Wearer remains the legal target for that action.", "production": "I/O/V/S: small mirror guard, return-eye cue, glass ping." }, { "id": "EQ-034", "name": "Lowwater Gauge", "fit": "charm; any", "class": "B", "effect": "At action ready, target lowest current local-resource enemy if legal.", "tradeoff": "Enemy resource type is revealed to wearer only after first gain.", "production": "I/V/S: shallow gauge, meter reticle, liquid tick." }, { "id": "EQ-035", "name": "Open-Flank String", "fit": "armament; reach 2+", "class": "B", "effect": "Attacks prefer enemy with no living neighbor ahead.", "tradeoff": "A new front neighbor invalidates reserve; action retargets foremost.", "production": "I/O/V/S: fork string, empty-front cue, twang." }, { "id": "EQ-036", "name": "Twin Reticle", "fit": "charm; area", "class": "B", "effect": "Area action centers between two adjacent legal targets rather than foremost.", "tradeoff": "Single-target state prevents item trigger.", "production": "I/V/S: paired circles, midpoint cue, double click." }, { "id": "EQ-037", "name": "Interrupt Ledger", "fit": "kit; control", "class": "B", "effect": "After any ally interrupts, wearer targets that interrupted enemy next.", "tradeoff": "If unreachable, wearer skips one basic rather than defaulting.", "production": "I/O/V/S: slim ledger, interrupt tether, page tick." }, { "id": "EQ-038", "name": "Oldest-Harm Compass", "fit": "charm; restore", "class": "B", "effect": "Cleanse targets ally with oldest active hindrance.", "tradeoff": "Newer action-blocking hindrance is not prioritized.", "production": "I/V/S: aged compass, duration rings, slow click." }, { "id": "EQ-039", "name": "Collapse Sight", "fit": "armament; any", "class": "B", "effect": "Reserved target follows one deterministic enemy collapse.", "tradeoff": "Second collapse before resolution causes fizzle.", "production": "I/O/V/S: sliding sight, one-step tether, rail slide." }, { "id": "EQ-040", "name": "Choicebreaker Pin", "fit": "charm; any", "class": "B", "effect": "First action with two equally legal target families alternates from previewed default.", "tradeoff": "Target receives no critical effect.", "production": "I/V/S: half-turn pin, alternate reticle, pin turn." } ], "artifacts": [ { "id": "AR-001", "name": "Open Ledger", "rule": "Every shop shows one extra recruit, but equipment offer count is one lower.", "tradeoff": "Conflicts AR-002; shop header displays exchanged slots before entry.", "production": "I/V/S: open roster pages, slot exchange cue, page fan." }, { "id": "AR-002", "name": "Toolwright's Window", "rule": "Every shop shows one extra equipment item, but recruit offer count is one lower.", "tradeoff": "Conflicts AR-001; shop header previews composition.", "production": "I/V/S: tool window icon, reverse slot cue, latch slide." }, { "id": "AR-003", "name": "Common Cause", "rule": "First Common recruit of each shop costs one product-defined tier less; Uncommon/Rare costs one tier more.", "tradeoff": "Conflicts AR-004; every price shows artifact delta.", "production": "I/V/S: one-notch banner, price arrows, soft stamp." }, { "id": "AR-004", "name": "Narrow Search", "rule": "Shops guarantee one Uncommon-or-Rare recruit but suppress one base-profession role weight.", "tradeoff": "Conflicts AR-003; suppressed role is chosen and visible for the run.", "production": "I/V/S: narrow lens, rarity/role exchange cue, glass close." }, { "id": "AR-005", "name": "Second Interview", "rule": "Once per shop, reject one recruit to generate a new presentation with the same combat record.", "tradeoff": "Conflicts AR-006; no power reroll, replacement signature is previewed.", "production": "I/V/S: two portrait frames, locked-rule cue, card slide." }, { "id": "AR-006", "name": "Fresh Aptitude", "rule": "Once per shop, reroll one recruit's trait while keeping profession, grades, level, gear, and cost tier.", "tradeoff": "Conflicts AR-005; old/new benefit and cost compare before acceptance.", "production": "I/V/S: rotating trait badge, before/after cue, token turn." }, { "id": "AR-007", "name": "Full Bench", "rule": "Owned reserve capacity is higher, but every undeployed recruit adds a small shop upkeep tier.", "tradeoff": "Conflicts AR-008; upkeep total is shown before buying.", "production": "I/V/S: long bench, reserve-to-cost cue, bench creak." }, { "id": "AR-008", "name": "Lean Company", "rule": "Reserve capacity is lower; after a death, next legal recruit is guaranteed within recovery cost tier.", "tradeoff": "Conflicts AR-007; capacity and guarantee state remain on roster/shop.", "production": "I/V/S: short bench, vacancy guarantee cue, firm knock." } ], "enemies": [ { "id": "EN-R1-01", "name": "Pane Nibbler", "class": "ordinary", "rule": "Bites the foremost unit; after two uninterrupted bites, chips Guard from that unit's neighbor.", "responses": "Reorder the neighbor; interrupt the second bite. Teaches adjacency protection.", "production": "Third bite becomes a two-target arc. P/A/V/S: low glass-jaw, double-bite ticks, chipped-square cue, brittle clicks." }, { "id": "EN-R1-02", "name": "Gust Finch", "class": "ordinary", "rule": "From rear, telegraphs a projectile at the rearmost allied unit and steps forward after firing.", "responses": "Use projectile screen; pull the shooter into short reach. Tests rear safety.", "production": "Each blocked shot shortens its next step. P/A/V/S: fork-wing silhouette, perch/loose, feather-arrow cue, wind snap." }, { "id": "EN-R1-03", "name": "Terrace Ram", "class": "ordinary", "rule": "Headwind charge pushes the foremost allied unit one position rearward, targeting foremost only.", "responses": "Brace against push; leave a durable replacement directly behind. Combines with collapse.", "production": "Failed push grants it Guard. P/A/V/S: wedge-horn body, paw/charge, chevron lane cue, hoof rumble." }, { "id": "EN-R1-04", "name": "Bellstem Grazer", "class": "ordinary", "rule": "Eats the oldest positive tag on the foremost reachable ally instead of dealing damage.", "responses": "Delay positive tag until after bite; expose an untagged front. Introduces dispel timing.", "production": "Consumed tag makes next bite reach 2. P/A/V/S: tall stem-antler, sniff/pluck, hollow-plus cue, plucked chime." }, { "id": "EN-R1-05", "name": "Shardback", "class": "ordinary", "rule": "Reflects the first projectile each cadence to its source; reflection is previewed and cannot chain.", "responses": "Use melee/spell first; spend a low-value projectile to open the screen.", "production": "At half vitality, screen resets once. P/A/V/S: faceted shell, flare/turn, mirrored arrow cue, glass ping." }, { "id": "EN-R1-06", "name": "Verge Stalker", "class": "ordinary", "rule": "Targets the first ally with reach greater than 1; otherwise attacks foremost.", "responses": "Equip short reach; Guard the identified long-reach unit. Teaches target-filter preview.", "production": "Marked target becomes Exposed after two hits. P/A/V/S: long forelegs, scan/pounce, reach-ruler cue, scrape/hiss." }, { "id": "EN-R1-07", "name": "Whistle Midge", "class": "ordinary", "rule": "A swarm delays the next action of whichever allied band contains the most units.", "responses": "Balance band occupancy; cleanse the visible delay. Interacts with order bands.", "production": "Repeats on a band only after another band is hit. P/A/V/S: triangular swarm, orbit/dive, band-bracket cue, filtered whistle." }, { "id": "EN-R1-08", "name": "Glassroot Sprout", "class": "ordinary", "rule": "Starts as a rear footprint and grows one position forward each cadence; on reaching front, shields all enemies behind it.", "responses": "Defeat it early at range; push it backward before growth.", "production": "Growth cannot be interrupted twice consecutively. P/A/V/S: staged crystal plant, three growth poses, numbered sprout cue, rising cracks." }, { "id": "EN-R1-09", "name": "Crosswind Scribe", "class": "ordinary", "rule": "Draws a line between allied foremost and rearmost; next swap crossing the line becomes Hindered.", "responses": "Avoid swapping that cadence; cleanse then use movement anyway.", "production": "Uncrossed line converts to a weak area hit. P/A/V/S: kite-robed caster, draw/release, dotted span cue, chalk-wind stroke." }, { "id": "EN-R1-10", "name": "Ledge Hopper", "class": "ordinary", "rule": "Leaps over its own foremost neighbor to become front, then strikes the first ally whose target changed.", "responses": "Hold targets stable; intercept the announced leap strike.", "production": "If no target changed, Hopper becomes Exposed. P/A/V/S: spring-legged silhouette, vault/stab, target-turn cue, stone tap." }, { "id": "EN-R1-11", "name": "Gale Bailiff", "class": "elite", "rule": "Declares Stand Order on one indexed allied position; leaving it causes a line-wide push, remaining causes focused projectiles.", "responses": "Choose a braced occupant; deliberately leave before ranged wind-up and absorb push.", "production": "Alternates ordered index front/rear. P/A/V/S: tall banner coat, point/stamp, numbered pennant cue, gavel-gust event." }, { "id": "EN-R1-12", "name": "Prism Ox", "class": "elite", "rule": "Occupies two enemy footprints; frontal damage rotates its prism, changing whether it screens projectiles, spells, or pushes.", "responses": "Rotate with a cheap legal hit; attack through the currently unscreened family.", "production": "At low vitality rotation occurs every hit. P/A/V/S: two-footprint ox, heavy pivot, three-shape prism cue, bass glass rotation." } ], "bosses": [ { "id": "BO-R1-01", "name": "The Many-Paned Stag", "class": "RG-01", "rule": "Rotates three panes that screen projectile, spell, or forced movement; antler sweep pushes the current foremost after each rotation.", "responses": "Rotate with cheap unscreened hit, then use open family; brace sweep and punish recovery. Failure: wrong family fed pane timing.", "production": "Half vitality rotates two steps. P/A/V/S/M: two-footprint stag, pane-antler kit, tri-screen cue, glass-horn boss motif." }, { "id": "BO-R1-02", "name": "Gale Loom", "class": "RG-01", "rule": "Stationary wind engine inserts a gust footprint front-to-rear; attacks on its weak spindle reverse gust direction.", "responses": "Break spindle to redirect gust through enemies; hold stable order and race core. Failure: uncontrolled gust exposed rear.", "production": "At half vitality two gusts move from opposite ends. P/A/V/S/M: loom-engine, spindle/gust phases, numbered wind paths, mechanical gale stem." } ], "region": { "id": "RG-01", "name": "Windglass Verge", "framing": "open grass terraces where suspended mineral panes redirect aether gusts. The guild charts a safe trade crossing.", "pressure": "Introduces front-to-rear reach, basic protection, visible projectile screens, and simple pushes. Pressures the player to field a front holder without making one profession mandatory.", "progression": "Two-threat tutorials become three-unit compositions; glass-wind hazard telegraphs a push one cadence ahead. Shops emphasize EQ-001..EQ-040; first clear opens all base profession shop weights.", "assignment": "EN-R1-01..EN-R1-12; BO-R1-01..BO-R1-02; artifacts AR-001..AR-008.", "production": "E/P/A/V/S/M: bright terrace layers, wind direction shapes, 12 silhouette kits, two boss scale kits, calm-to-gale music stem." }, "contracts": [ { "id": "CTR-R1-01", "name": "First Windglass Crossing", "region_id": "RG-01", "ordinal": 1, "round_count": 12, "boss_id": "BO-R1-01", "clear_fact": "CLEAR-RG01-C01", "first_clear_renown": 14 }, { "id": "CTR-R1-02", "name": "Gale Loom Passage", "region_id": "RG-01", "ordinal": 2, "round_count": 12, "boss_id": "BO-R1-02", "clear_fact": "CLEAR-RG01-C02", "first_clear_renown": 18 } ] }