Files
gplan-2/game/data/tables/feats.tres
T

863 lines
14 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[gd_resource type="Resource" script_class="FeatTable" load_steps=2 format=3]
[ext_resource type="Script" path="res://data/schemas/feat_table.gd" id="1"]
[resource]
script = ExtResource("1")
rows = [
{
"feat_id": "twin_pick",
"display_name": "双管镐",
"rarity": "common",
"desc": "每第 2 次付费开格返 1 AP",
"triggers": [
{
"on": "dig_paid",
"do": {
"kind": "counter_add",
"counter_id": "adv_twin_digs",
"value": 1
}
},
{
"on": "dig_paid",
"when": [
{
"fact": "counter",
"id": "adv_twin_digs",
"op": "mod_eq",
"value": 2,
"ref": 1
}
],
"do": {
"kind": "grant_ap",
"value": 1
}
}
]
},
{
"feat_id": "geologist",
"display_name": "地质学家",
"rarity": "common",
"desc": "每首开一种新类型资源格集 1 点,满 4 种→揭示 1 格",
"triggers": [
{
"on": "dig_reveal",
"when": [
{
"fact": "new_resource_type",
"op": "eq",
"value": true
}
],
"do": {
"kind": "counter_add",
"counter_id": "geo_types",
"value": 1
}
},
{
"on": "dig_reveal",
"when": [
{
"fact": "counter",
"id": "geo_types",
"op": "eq",
"value": 3
}
],
"do": {
"kind": "reveal_tiles",
"value": 1
}
},
{
"on": "dig_reveal",
"when": [
{
"fact": "counter",
"id": "geo_types",
"op": "eq",
"value": 3
}
],
"do": {
"kind": "counter_add",
"counter_id": "geo_types",
"set": 0
}
}
]
},
{
"feat_id": "hard_hat",
"display_name": "安全帽",
"rarity": "excellent",
"desc": "开安全格攒 1 层;触陷阱耗层,每层减 1 伤害(一次清零)",
"triggers": [
{
"on": "dig_reveal",
"do": {
"kind": "counter_add",
"counter_id": "helm_layers",
"value": 1
}
},
{
"on": "mine_hit",
"do": {
"kind": "damage_reduce",
"value_counter": "helm_layers"
}
},
{
"on": "mine_hit",
"when": [
{
"fact": "counter",
"id": "helm_layers",
"op": "gte",
"value": 1
}
],
"do": {
"kind": "counter_add",
"counter_id": "helm_layers",
"set": 0
}
}
]
},
{
"feat_id": "skip_mining",
"display_name": "跳格采掘",
"rarity": "excellent",
"desc": "挖开空白格攒 1 点,3 点→揭示 1 格",
"triggers": [
{
"on": "dig_reveal",
"when": [
{
"fact": "is_blank_zero",
"op": "eq",
"value": true
}
],
"do": {
"kind": "counter_add",
"counter_id": "skip_pts",
"value": 1
}
},
{
"on": "dig_reveal",
"when": [
{
"fact": "counter",
"id": "skip_pts",
"op": "eq",
"value": 2
}
],
"do": {
"kind": "reveal_tiles",
"value": 1
}
},
{
"on": "dig_reveal",
"when": [
{
"fact": "counter",
"id": "skip_pts",
"op": "eq",
"value": 2
}
],
"do": {
"kind": "counter_add",
"counter_id": "skip_pts",
"set": 0
}
}
]
},
{
"feat_id": "blast_accounting",
"display_name": "爆破会计",
"rarity": "common",
"desc": "轮末:本轮开格花费 AP≥5 → +1 GP",
"triggers": [
{
"on": "dig_paid",
"do": {
"kind": "counter_add",
"counter_id": "round_blast_spent",
"value": 1,
"value_event": "ap_cost"
}
},
{
"on": "round_end",
"when": [
{
"fact": "counter",
"id": "round_blast_spent",
"op": "gte",
"value": 5
}
],
"do": {
"kind": "grant_gp",
"value": 1
}
}
]
},
{
"feat_id": "frontier_miner",
"display_name": "边陲矿工",
"rarity": "common",
"desc": "挖开棋盘边缘格:产出 +1",
"triggers": [
{
"on": "dig_reveal",
"when": [
{
"fact": "is_edge_cell",
"op": "eq",
"value": true
}
],
"do": {
"kind": "grant_material",
"value": 1
}
}
]
},
{
"feat_id": "seal_echo",
"display_name": "封印回响",
"rarity": "excellent",
"desc": "封印命中计数;轮末计数≥2 → 返 1 AP(下轮)",
"triggers": [
{
"on": "seal_hit",
"do": {
"kind": "counter_add",
"counter_id": "echo_seals",
"value": 1
}
},
{
"on": "round_end",
"when": [
{
"fact": "counter",
"id": "echo_seals",
"op": "gte",
"value": 2
}
],
"do": {
"kind": "grant_ap",
"value": 1,
"mode": "queue"
}
},
{
"on": "round_end",
"when": [
{
"fact": "counter",
"id": "echo_seals",
"op": "gte",
"value": 2
}
],
"do": {
"kind": "counter_add",
"counter_id": "echo_seals",
"set": 0
}
}
]
},
{
"feat_id": "warning_beacon",
"display_name": "示警烟火",
"rarity": "common",
"desc": "封印命中:揭示周围 3×3 的资源类型(不揭安危)",
"triggers": [
{
"on": "seal_hit",
"do": {
"kind": "preview_area",
"value": 1
}
}
]
},
{
"feat_id": "seal_smith",
"display_name": "封印匠",
"rarity": "rare",
"desc": "封印命中每第 3 次 → 该危险格中立移除",
"triggers": [
{
"on": "seal_hit",
"do": {
"kind": "counter_add",
"counter_id": "smith_seals",
"value": 1
}
},
{
"on": "seal_hit",
"when": [
{
"fact": "counter",
"id": "smith_seals",
"op": "mod_eq",
"value": 3,
"ref": 2
}
],
"do": {
"kind": "remove_mines",
"value": 1
}
}
]
},
{
"feat_id": "seal_stake",
"display_name": "封印桩",
"rarity": "common",
"desc": "封印命中:本轮 AC +1",
"triggers": [
{
"on": "seal_hit",
"do": {
"kind": "ac_bonus",
"value": 1,
"mode": "round"
}
}
]
},
{
"feat_id": "pain_memory",
"display_name": "疼痛记忆",
"rarity": "rare",
"desc": "触陷阱攒 1 层;下次攻击附加层值伤害,用后清零",
"triggers": [
{
"on": "mine_hit",
"do": {
"kind": "counter_add",
"counter_id": "pain_layers",
"value": 1
}
},
{
"on": "attack_commit",
"when": [
{
"fact": "counter",
"id": "pain_layers",
"op": "gte",
"value": 1
}
],
"do": {
"kind": "attack_bonus",
"value_counter": "pain_layers"
}
},
{
"on": "attack_commit",
"when": [
{
"fact": "counter",
"id": "pain_layers",
"op": "gte",
"value": 1
}
],
"do": {
"kind": "counter_add",
"counter_id": "pain_layers",
"set": 0
}
}
]
},
{
"feat_id": "fuse_wire",
"display_name": "保险丝",
"rarity": "rare",
"desc": "单次受伤 ≥5 攒 1 点,2 点→护盾 1 层",
"triggers": [
{
"on": "damage_taken",
"when": [
{
"fact": "amount",
"op": "gte",
"value": 5
}
],
"do": {
"kind": "counter_add",
"counter_id": "fuse_pts",
"value": 1
}
},
{
"on": "damage_taken",
"when": [
{
"fact": "counter",
"id": "fuse_pts",
"op": "eq",
"value": 1
}
],
"do": {
"kind": "shield",
"value": 1
}
},
{
"on": "damage_taken",
"when": [
{
"fact": "counter",
"id": "fuse_pts",
"op": "eq",
"value": 1
}
],
"do": {
"kind": "counter_add",
"counter_id": "fuse_pts",
"set": 0
}
}
]
},
{
"feat_id": "blood_insight",
"display_name": "见血开窍",
"rarity": "common",
"desc": "触陷阱:揭示 1 格",
"triggers": [
{
"on": "mine_hit",
"do": {
"kind": "reveal_tiles",
"value": 1
}
}
]
},
{
"feat_id": "trap_instinct",
"display_name": "陷阱本能",
"rarity": "excellent",
"desc": "触陷阱:本轮攻击 +2(走攻击面板乘区)",
"triggers": [
{
"on": "mine_hit",
"do": {
"kind": "counter_add",
"counter_id": "round_instinct_atk",
"value": 2
}
},
{
"on": "attack_commit",
"do": {
"kind": "attack_bonus",
"value_counter": "round_instinct_atk"
}
}
]
},
{
"feat_id": "chain_traps",
"display_name": "连环陷阱",
"rarity": "excellent",
"desc": "同轮第 2 次及以后的触陷阱:每次额外 +1 层(疼痛记忆同账)",
"triggers": [
{
"on": "mine_hit",
"do": {
"kind": "counter_add",
"counter_id": "round_mines",
"value": 1
}
},
{
"on": "mine_hit",
"when": [
{
"fact": "counter",
"id": "round_mines",
"op": "gte",
"value": 1
}
],
"do": {
"kind": "counter_add",
"counter_id": "pain_layers",
"value": 1
}
}
]
},
{
"feat_id": "trap_burst",
"display_name": "陷阱爆发",
"rarity": "rare",
"desc": "触陷阱:全体存活敌受陷阱伤×1.5 直伤",
"triggers": [
{
"on": "mine_hit",
"do": {
"kind": "blast_scaled",
"mult": 1.5
}
}
]
},
{
"feat_id": "blood_honey",
"display_name": "血蜜",
"rarity": "common",
"desc": "触陷阱:回复 2 生命(陷阱伤仍净亏血)",
"triggers": [
{
"on": "mine_hit",
"do": {
"kind": "heal",
"value": 2
}
}
]
},
{
"feat_id": "stone_skin",
"display_name": "石肤",
"rarity": "excellent",
"desc": "受伤:AC +1(本场累计,上限 3)",
"triggers": [
{
"on": "damage_taken",
"do": {
"kind": "ac_bonus",
"value": 1,
"mode": "battle",
"cap": 3
}
}
]
},
{
"feat_id": "last_stand",
"display_name": "背水",
"rarity": "rare",
"desc": "生命≤50%:受伤额外 −2",
"triggers": [
{
"on": "damage_taken",
"when": [
{
"fact": "hp_ratio",
"op": "lte",
"value": 50
}
],
"do": {
"kind": "damage_reduce",
"value": 2
}
}
]
},
{
"feat_id": "breaker_strike",
"display_name": "破封一击",
"rarity": "excellent",
"desc": "挖开带封印的危险格:+1 层(疼痛记忆同账)",
"triggers": [
{
"on": "mine_hit",
"when": [
{
"fact": "dug_under_seal",
"op": "eq",
"value": true
}
],
"do": {
"kind": "counter_add",
"counter_id": "pain_layers",
"value": 1
}
}
]
},
{
"feat_id": "map_exchange",
"display_name": "弃图兑换",
"rarity": "excellent",
"desc": "停手:剩余 AP≥3 → 折为攻击伤害",
"triggers": [
{
"on": "dig_stop",
"when": [
{
"fact": "ap_left",
"op": "gte",
"value": 3
}
],
"do": {
"kind": "counter_add",
"counter_id": "stop_swap",
"value": 0,
"value_event": "ap_left"
}
},
{
"on": "attack_commit",
"when": [
{
"fact": "counter",
"id": "stop_swap",
"op": "gte",
"value": 1
}
],
"do": {
"kind": "attack_bonus",
"value_counter": "stop_swap"
}
},
{
"on": "attack_commit",
"when": [
{
"fact": "counter",
"id": "stop_swap",
"op": "gte",
"value": 1
}
],
"do": {
"kind": "counter_add",
"counter_id": "stop_swap",
"set": 0
}
}
]
},
{
"feat_id": "last_drop",
"display_name": "一滴不剩",
"rarity": "common",
"desc": "上轮 AP 耗尽 → +1 AP",
"triggers": [
{
"on": "round_start",
"when": [
{
"fact": "ap_exhausted_last",
"op": "eq",
"value": true
}
],
"do": {
"kind": "grant_ap",
"value": 1,
"mode": "queue"
}
}
]
},
{
"feat_id": "market_close",
"display_name": "收盘",
"rarity": "common",
"desc": "轮末:本轮开格 ≥8 → +1 GP",
"triggers": [
{
"on": "dig_reveal",
"do": {
"kind": "counter_add",
"counter_id": "round_digs",
"value": 1
}
},
{
"on": "round_end",
"when": [
{
"fact": "counter",
"id": "round_digs",
"op": "gte",
"value": 8
}
],
"do": {
"kind": "grant_gp",
"value": 1
}
}
]
},
{
"feat_id": "execution_scholar",
"display_name": "斩首学者",
"rarity": "common",
"desc": "击杀:揭示 1 格",
"triggers": [
{
"on": "kill",
"do": {
"kind": "reveal_tiles",
"value": 1
}
}
]
},
{
"feat_id": "executioner",
"display_name": "处刑台",
"rarity": "excellent",
"desc": "敌血量≤30%:主角对其伤害 +2",
"triggers": [
{
"on": "enemy_hp_threshold",
"when": [
{
"fact": "pct",
"op": "lte",
"value": 30
}
],
"do": {
"kind": "target_attack_bonus",
"value": 2
}
}
]
},
{
"feat_id": "field_dressing",
"display_name": "战地包扎",
"rarity": "common",
"desc": "战斗胜利:回复 3 生命",
"triggers": [
{
"on": "battle_won",
"do": {
"kind": "heal",
"value": 3
}
}
]
},
{
"feat_id": "blood_tax",
"display_name": "血税",
"rarity": "rare",
"desc": "本局每触一次陷阱,最大生命 −2;每封印命中一次,攻击 +1(下一战起生效)",
"triggers": [
{
"on": "mine_hit",
"do": {
"kind": "bonus_delta",
"axis": "max_hp",
"delta": -2
}
},
{
"on": "seal_hit",
"do": {
"kind": "bonus_delta",
"axis": "atk",
"delta": 1
}
}
]
},
{
"feat_id": "venom_edge",
"display_name": "淬毒刃纹",
"rarity": "rare",
"desc": "克制命中追加 +2 伤害",
"triggers": [
{
"on": "clamp_check",
"when": [
{
"fact": "matchup",
"op": "advantageous"
}
],
"do": {
"kind": "modify_ticket",
"mode": "clamp_bonus",
"delta": 2
}
}
]
},
{
"feat_id": "seal_burst",
"display_name": "封印爆裂",
"rarity": "rare",
"desc": "封印命中:全体存活敌 3 点群伤",
"triggers": [
{
"on": "seal_hit",
"do": {
"kind": "open_ticket",
"channel": "blast",
"value": 3
}
}
]
},
{
"feat_id": "perfect_insurance",
"display_name": "完美保险",
"rarity": "rare",
"desc": "本场首次封印落空,不计入完美封印判定",
"triggers": [
{
"on": "seal_missed",
"when": [
{
"fact": "counter",
"id": "insurance_used",
"op": "lt",
"value": 1
}
],
"do": {
"kind": "forgive_seal_miss",
"counter_id": "insurance_used",
"value": 1
}
}
]
}
]