pokemon-io-core 0.0.22 → 0.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/items.d.ts +2 -1
- package/dist/core/moves.d.ts +20 -3
- package/dist/skins/pokemon/items.js +114 -24
- package/dist/skins/pokemon/statuses.js +26 -6
- package/package.json +1 -1
package/dist/core/items.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { ItemId } from "./ids";
|
|
2
|
-
import type { EffectDefinition } from "./moves";
|
|
2
|
+
import type { EffectDefinition, TargetKind } from "./moves";
|
|
3
3
|
export type ItemCategory = "damage" | "heal_shield" | "status_buff";
|
|
4
4
|
export interface ItemDefinition {
|
|
5
5
|
id: ItemId;
|
|
6
6
|
name: string;
|
|
7
7
|
category: ItemCategory;
|
|
8
|
+
target: TargetKind;
|
|
8
9
|
maxUses: number;
|
|
9
10
|
image: string;
|
|
10
11
|
effects: EffectDefinition[];
|
package/dist/core/moves.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { MoveId,
|
|
1
|
+
import type { MoveId, StatusId, TypeId } from "./ids";
|
|
2
|
+
import { StatusKind } from "./status";
|
|
2
3
|
export type MoveKind = "damage" | "heal" | "status" | "hybrid";
|
|
3
4
|
export type TargetKind = "self" | "enemy";
|
|
4
|
-
export type EffectKind = "damage" | "heal" | "shield" | "modify_stats" | "apply_status" | "modify_hit_chance" | "modify_crit_chance" | "modify_priority" | "modify_effective_speed";
|
|
5
|
+
export type EffectKind = "damage" | "heal" | "shield" | "modify_stats" | "apply_status" | "clear_status" | "modify_hit_chance" | "modify_crit_chance" | "modify_priority" | "modify_effective_speed";
|
|
5
6
|
export interface DamageEffect {
|
|
6
7
|
kind: "damage";
|
|
7
8
|
amount: number;
|
|
@@ -28,6 +29,22 @@ export interface ApplyStatusEffect {
|
|
|
28
29
|
kind: "apply_status";
|
|
29
30
|
statusId: StatusId;
|
|
30
31
|
}
|
|
32
|
+
export interface ClearStatusEffect {
|
|
33
|
+
kind: "clear_status";
|
|
34
|
+
statusIds?: StatusId[];
|
|
35
|
+
/**
|
|
36
|
+
* Filtros opcionales por tipo de estado (hard_cc / soft).
|
|
37
|
+
* Ejemplo: una berry que limpia solo debuffs “soft”.
|
|
38
|
+
*/
|
|
39
|
+
kinds?: StatusKind[];
|
|
40
|
+
/**
|
|
41
|
+
* Si quieres que limpie TODO sin importar id ni tipo:
|
|
42
|
+
* - statusIds === undefined
|
|
43
|
+
* - kinds === undefined
|
|
44
|
+
* - clearAll === true
|
|
45
|
+
*/
|
|
46
|
+
clearAll?: boolean;
|
|
47
|
+
}
|
|
31
48
|
export interface ModifyHitChanceEffect {
|
|
32
49
|
kind: "modify_hit_chance";
|
|
33
50
|
delta: number;
|
|
@@ -44,7 +61,7 @@ export interface ModifyEffectiveSpeedEffect {
|
|
|
44
61
|
kind: "modify_effective_speed";
|
|
45
62
|
multiplier: number;
|
|
46
63
|
}
|
|
47
|
-
export type EffectDefinition = DamageEffect | HealEffect | ShieldEffect | ModifyStatsEffect | ApplyStatusEffect | ModifyHitChanceEffect | ModifyCritChanceEffect | ModifyPriorityEffect | ModifyEffectiveSpeedEffect;
|
|
64
|
+
export type EffectDefinition = DamageEffect | HealEffect | ShieldEffect | ClearStatusEffect | ModifyStatsEffect | ApplyStatusEffect | ModifyHitChanceEffect | ModifyCritChanceEffect | ModifyPriorityEffect | ModifyEffectiveSpeedEffect;
|
|
48
65
|
export interface MoveDefinition {
|
|
49
66
|
id: MoveId;
|
|
50
67
|
name: string;
|
|
@@ -1,53 +1,143 @@
|
|
|
1
1
|
export const POKEMON_ITEMS = [
|
|
2
|
-
{
|
|
3
|
-
id: "potion",
|
|
4
|
-
name: "Poción",
|
|
5
|
-
category: "heal_shield",
|
|
6
|
-
maxUses: 2,
|
|
7
|
-
effects: [{ kind: "heal", amount: 30 }],
|
|
8
|
-
image: 'antidote',
|
|
9
|
-
},
|
|
10
2
|
{
|
|
11
3
|
id: "super_potion",
|
|
12
4
|
name: "Super Poción",
|
|
13
5
|
category: "heal_shield",
|
|
6
|
+
target: "self",
|
|
14
7
|
maxUses: 1,
|
|
15
|
-
effects: [{ kind: "heal", amount:
|
|
16
|
-
image:
|
|
8
|
+
effects: [{ kind: "heal", amount: 50 }],
|
|
9
|
+
image: "hiper-potion",
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
id: "potion",
|
|
13
|
+
name: "Poción",
|
|
14
|
+
category: "heal_shield",
|
|
15
|
+
target: "self",
|
|
16
|
+
maxUses: 2,
|
|
17
|
+
effects: [{ kind: "heal", amount: 25 }],
|
|
18
|
+
image: "potion",
|
|
17
19
|
},
|
|
18
20
|
{
|
|
19
21
|
id: "apple",
|
|
20
22
|
name: "Manzana",
|
|
21
23
|
category: "heal_shield",
|
|
24
|
+
target: "self",
|
|
22
25
|
maxUses: 3,
|
|
23
|
-
effects: [{ kind: "heal", amount:
|
|
24
|
-
image:
|
|
26
|
+
effects: [{ kind: "heal", amount: 17 }],
|
|
27
|
+
image: "fancy-apple",
|
|
25
28
|
},
|
|
26
29
|
{
|
|
27
30
|
id: "mushroom",
|
|
28
31
|
name: "Seta",
|
|
29
32
|
category: "heal_shield",
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
target: "self",
|
|
34
|
+
maxUses: 4,
|
|
35
|
+
effects: [{ kind: "heal", amount: 14 }],
|
|
36
|
+
image: "mushroom",
|
|
33
37
|
},
|
|
34
38
|
{
|
|
35
|
-
id: "
|
|
36
|
-
name: "
|
|
37
|
-
|
|
39
|
+
id: "shotgun",
|
|
40
|
+
name: "Escopeta",
|
|
41
|
+
target: "enemy",
|
|
42
|
+
category: "damage",
|
|
43
|
+
maxUses: 2,
|
|
44
|
+
effects: [
|
|
45
|
+
{ kind: "damage", amount: 15 },
|
|
46
|
+
{ kind: "apply_status", statusId: "burn" },
|
|
47
|
+
],
|
|
48
|
+
image: "shotgun",
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
id: "pistol",
|
|
52
|
+
name: "Pistola",
|
|
53
|
+
category: "damage",
|
|
54
|
+
target: "enemy",
|
|
55
|
+
maxUses: 4,
|
|
56
|
+
effects: [
|
|
57
|
+
{ kind: "damage", amount: 8 },
|
|
58
|
+
{ kind: "apply_status", statusId: "burn" },
|
|
59
|
+
],
|
|
60
|
+
image: "pistol",
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
id: "riffle",
|
|
64
|
+
name: "Rifle",
|
|
65
|
+
target: "enemy",
|
|
66
|
+
category: "damage",
|
|
38
67
|
maxUses: 3,
|
|
39
|
-
effects: [
|
|
40
|
-
|
|
68
|
+
effects: [
|
|
69
|
+
{ kind: "damage", amount: 10 },
|
|
70
|
+
{ kind: "apply_status", statusId: "burn" },
|
|
71
|
+
],
|
|
72
|
+
image: "riffle",
|
|
41
73
|
},
|
|
42
74
|
{
|
|
43
|
-
id: "
|
|
44
|
-
name: "
|
|
75
|
+
id: "sniper",
|
|
76
|
+
name: "Sniper",
|
|
77
|
+
target: "enemy",
|
|
45
78
|
category: "damage",
|
|
46
79
|
maxUses: 1,
|
|
47
80
|
effects: [
|
|
48
|
-
{ kind: "damage", amount:
|
|
81
|
+
{ kind: "damage", amount: 30 },
|
|
49
82
|
{ kind: "apply_status", statusId: "burn" },
|
|
50
83
|
],
|
|
51
|
-
image:
|
|
84
|
+
image: "sniper",
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
id: "blue-berry",
|
|
88
|
+
name: "Baya azul",
|
|
89
|
+
category: "status_buff",
|
|
90
|
+
maxUses: 1,
|
|
91
|
+
target: "self",
|
|
92
|
+
effects: [
|
|
93
|
+
{
|
|
94
|
+
kind: "clear_status",
|
|
95
|
+
statusIds: ["burn"], // cura QUEMADURA
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
image: "blue-berry",
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
id: "pink-berry",
|
|
102
|
+
name: "Baya rosa",
|
|
103
|
+
category: "status_buff",
|
|
104
|
+
maxUses: 1,
|
|
105
|
+
target: "self",
|
|
106
|
+
effects: [
|
|
107
|
+
{
|
|
108
|
+
kind: "clear_status",
|
|
109
|
+
statusIds: ["poison"], // cura VENENO
|
|
110
|
+
},
|
|
111
|
+
],
|
|
112
|
+
image: "pink-berry",
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
id: "yellow-berry",
|
|
116
|
+
name: "Baya amarilla",
|
|
117
|
+
category: "status_buff",
|
|
118
|
+
maxUses: 1,
|
|
119
|
+
target: "self",
|
|
120
|
+
effects: [
|
|
121
|
+
{
|
|
122
|
+
kind: "clear_status",
|
|
123
|
+
statusIds: ["paralysis"], // cura PARÁLISIS
|
|
124
|
+
},
|
|
125
|
+
],
|
|
126
|
+
image: "yellow-berry",
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
id: "green-berry",
|
|
130
|
+
name: "Baya verde",
|
|
131
|
+
category: "status_buff",
|
|
132
|
+
maxUses: 1,
|
|
133
|
+
target: "self",
|
|
134
|
+
effects: [
|
|
135
|
+
{
|
|
136
|
+
kind: "clear_status",
|
|
137
|
+
statusIds: ["burn", "poison"], // por ejemplo: limpia quemadura o veneno
|
|
138
|
+
kinds: ["soft"], // redundante pero semántico
|
|
139
|
+
},
|
|
140
|
+
],
|
|
141
|
+
image: "green-berry",
|
|
52
142
|
},
|
|
53
143
|
];
|
|
@@ -3,19 +3,39 @@ export const POKEMON_STATUSES = [
|
|
|
3
3
|
id: "burn",
|
|
4
4
|
name: "Quemado",
|
|
5
5
|
kind: "soft",
|
|
6
|
+
minDurationTurns: 3,
|
|
7
|
+
maxDurationTurns: 5,
|
|
8
|
+
effectsPerStack: [
|
|
9
|
+
{ kind: "damage", amount: 6 }, // DoT
|
|
10
|
+
{ kind: "modify_stats", offenseDelta: -10 } // pega menos
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
id: "poison",
|
|
15
|
+
name: "Envenenado",
|
|
16
|
+
kind: "soft",
|
|
17
|
+
minDurationTurns: 3,
|
|
18
|
+
maxDurationTurns: 5,
|
|
19
|
+
effectsPerStack: [
|
|
20
|
+
{ kind: "damage", amount: 8 }
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
id: "paralysis",
|
|
25
|
+
name: "Paralizado",
|
|
26
|
+
kind: "soft",
|
|
6
27
|
minDurationTurns: 2,
|
|
7
28
|
maxDurationTurns: 4,
|
|
8
29
|
effectsPerStack: [
|
|
9
|
-
|
|
10
|
-
{ kind: "damage", amount: 10 }
|
|
30
|
+
{ kind: "modify_effective_speed", multiplier: 0.5 }
|
|
11
31
|
]
|
|
12
32
|
},
|
|
13
33
|
{
|
|
14
|
-
id: "
|
|
15
|
-
name: "
|
|
34
|
+
id: "sleep",
|
|
35
|
+
name: "Dormido",
|
|
16
36
|
kind: "hard_cc",
|
|
17
37
|
minDurationTurns: 1,
|
|
18
|
-
maxDurationTurns:
|
|
19
|
-
effectsPerStack: []
|
|
38
|
+
maxDurationTurns: 3,
|
|
39
|
+
effectsPerStack: [] // el hard_cc lo interpreta el motor
|
|
20
40
|
}
|
|
21
41
|
];
|