forked from piovium/genius-invokation
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathamber.ts
More file actions
112 lines (105 loc) · 3.04 KB
/
amber.ts
File metadata and controls
112 lines (105 loc) · 3.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
// Copyright (C) 2024 Guyutongxue
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import { character, skill, summon, card, DamageType } from "@gi-tcg/core/builder";
/**
* @id 113041
* @name 兔兔伯爵
* @description
* 我方出战角色受到伤害时:抵消2点伤害。
* 可用次数:1,耗尽时不弃置此牌。
* 结束阶段,如果可用次数已耗尽:弃置此牌,以造成2点火元素伤害。
*/
export const BaronBunny = summon(113041)
.on("decreaseDamaged", (c, e) => c.of(e.target).isActive())
.usage(1, { autoDispose: false })
.decreaseDamage(2)
.on("endPhase", (c) => c.getVariable("usage") <= 0)
.damage(DamageType.Pyro, 2)
.dispose()
.done();
/**
* @id 13041
* @name 神射手
* @description
* 造成2点物理伤害。
*/
export const Sharpshooter = skill(13041)
.type("normal")
.costPyro(1)
.costVoid(2)
.damage(DamageType.Physical, 2)
.done();
/**
* @id 13042
* @name 爆弹玩偶
* @description
* 召唤兔兔伯爵。
*/
export const ExplosivePuppet = skill(13042)
.type("elemental")
.costPyro(3)
.summon(BaronBunny)
.done();
/**
* @id 13043
* @name 箭雨
* @description
* 造成2点火元素伤害,对所有敌方后台角色造成2点穿透伤害。
*/
export const FieryRain = skill(13043)
.type("burst")
.costPyro(3)
.costEnergy(2)
.damage(DamageType.Piercing, 2, "opp standby")
.damage(DamageType.Pyro, 2)
.done();
/**
* @id 1304
* @name 安柏
* @description
* 如果想要成为一名伟大的牌手…
* 首先,要有坐上牌桌的勇气。
*/
export const Amber = character(1304)
.since("v3.7.0")
.tags("pyro", "bow", "mondstadt")
.health(10)
.energy(2)
.skills(Sharpshooter, ExplosivePuppet, FieryRain)
.done();
/**
* @id 213041
* @name 一触即发
* @description
* 战斗行动:我方出战角色为安柏时,装备此牌。
* 安柏装备此牌后,立刻使用一次爆弹玩偶。
* 安柏普通攻击后:如果此牌和兔兔伯爵仍在场,则引爆兔兔伯爵,造成4点火元素伤害。
* (牌组中包含安柏,才能加入牌组)
*/
export const BunnyTriggered = card(213041)
.since("v3.7.0")
.costPyro(3)
.talent(Amber)
.on("enter")
.useSkill(ExplosivePuppet)
.on("useSkill", (c, e) => e.isSkillType("normal"))
.do((c) => {
const bunny = c.$(`my summon with definition id ${BaronBunny}`);
if (bunny) {
c.damage(DamageType.Pyro, 4);
bunny.dispose();
}
})
.done();