pokemon-io-core 0.0.126 → 0.0.128

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.
@@ -6,14 +6,13 @@ const makeStats = (offense, defense, speed, crit) => ({
6
6
  crit,
7
7
  });
8
8
  export const TRIBE_FIGHTERS = [
9
- // --- TIER 1: AZUL (Suma Atk + Def < 100) ---
10
9
  {
11
10
  id: TRIBE_FIGHTER_IDS.LOS_GARCIA,
12
11
  name: "Los García",
13
12
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
14
13
  img: "los_garcia",
15
14
  classIds: [TRIBE_TYPE_IDS.FORMAL],
16
- baseStats: makeStats(55, 35, 90, 15),
15
+ baseStats: makeStats(78, 70, 80, 5),
17
16
  recommendedMoves: [],
18
17
  },
19
18
  {
@@ -22,7 +21,7 @@ export const TRIBE_FIGHTERS = [
22
21
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
23
22
  img: "casado",
24
23
  classIds: [TRIBE_TYPE_IDS.DEPORTISTA, TRIBE_TYPE_IDS.FORMAL],
25
- baseStats: makeStats(55, 35, 90, 15),
24
+ baseStats: makeStats(70, 80, 65, 5),
26
25
  recommendedMoves: [],
27
26
  },
28
27
  {
@@ -31,7 +30,7 @@ export const TRIBE_FIGHTERS = [
31
30
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
32
31
  img: "virtual",
33
32
  classIds: [TRIBE_TYPE_IDS.MISTICO, TRIBE_TYPE_IDS.ARTISTA],
34
- baseStats: makeStats(55, 35, 90, 15),
33
+ baseStats: makeStats(70, 85, 70, 5),
35
34
  recommendedMoves: [],
36
35
  },
37
36
  {
@@ -40,7 +39,7 @@ export const TRIBE_FIGHTERS = [
40
39
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
41
40
  img: "murphy",
42
41
  classIds: [TRIBE_TYPE_IDS.MISTERIOSO],
43
- baseStats: makeStats(55, 35, 90, 15),
42
+ baseStats: makeStats(75, 75, 75, 5),
44
43
  recommendedMoves: [],
45
44
  },
46
45
  {
@@ -49,7 +48,7 @@ export const TRIBE_FIGHTERS = [
49
48
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
50
49
  img: "juan",
51
50
  classIds: [TRIBE_TYPE_IDS.HIPPIE],
52
- baseStats: makeStats(55, 35, 90, 15),
51
+ baseStats: makeStats(70, 80, 70, 5),
53
52
  recommendedMoves: [],
54
53
  },
55
54
  {
@@ -58,7 +57,7 @@ export const TRIBE_FIGHTERS = [
58
57
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
59
58
  img: "simon_y_silvia",
60
59
  classIds: [TRIBE_TYPE_IDS.FIESTERO],
61
- baseStats: makeStats(60, 40, 100, 15),
60
+ baseStats: makeStats(75, 75, 55, 5),
62
61
  recommendedMoves: [],
63
62
  },
64
63
  {
@@ -67,7 +66,7 @@ export const TRIBE_FIGHTERS = [
67
66
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
68
67
  img: "king_kasta",
69
68
  classIds: [TRIBE_TYPE_IDS.ARTISTA, TRIBE_TYPE_IDS.KINKI],
70
- baseStats: makeStats(55, 35, 90, 15),
69
+ baseStats: makeStats(80, 70, 75, 5),
71
70
  recommendedMoves: [],
72
71
  },
73
72
  {
@@ -76,7 +75,7 @@ export const TRIBE_FIGHTERS = [
76
75
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
77
76
  img: "metrika",
78
77
  classIds: [TRIBE_TYPE_IDS.ARTISTA, TRIBE_TYPE_IDS.CHULETA],
79
- baseStats: makeStats(55, 35, 90, 15),
78
+ baseStats: makeStats(80, 70, 75, 5),
80
79
  recommendedMoves: [],
81
80
  },
82
81
  {
@@ -85,7 +84,7 @@ export const TRIBE_FIGHTERS = [
85
84
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
86
85
  img: "chechu",
87
86
  classIds: [TRIBE_TYPE_IDS.MISTERIOSO],
88
- baseStats: makeStats(55, 35, 90, 15),
87
+ baseStats: makeStats(75, 75, 81, 5),
89
88
  recommendedMoves: [],
90
89
  },
91
90
  {
@@ -94,7 +93,7 @@ export const TRIBE_FIGHTERS = [
94
93
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
95
94
  img: "vika",
96
95
  classIds: [TRIBE_TYPE_IDS.MISTERIOSO, TRIBE_TYPE_IDS.HIPPIE],
97
- baseStats: makeStats(55, 35, 90, 15),
96
+ baseStats: makeStats(75, 75, 75, 5),
98
97
  recommendedMoves: [],
99
98
  },
100
99
  {
@@ -103,7 +102,7 @@ export const TRIBE_FIGHTERS = [
103
102
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
104
103
  img: "yung_beef",
105
104
  classIds: [TRIBE_TYPE_IDS.ARTISTA, TRIBE_TYPE_IDS.HIPPIE],
106
- baseStats: makeStats(55, 35, 90, 15),
105
+ baseStats: makeStats(80, 70, 75, 5),
107
106
  recommendedMoves: [],
108
107
  },
109
108
  {
@@ -112,7 +111,7 @@ export const TRIBE_FIGHTERS = [
112
111
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
113
112
  img: "velas",
114
113
  classIds: [TRIBE_TYPE_IDS.DEPORTISTA, TRIBE_TYPE_IDS.FIESTERO],
115
- baseStats: makeStats(55, 35, 90, 15),
114
+ baseStats: makeStats(70, 80, 75, 10),
116
115
  recommendedMoves: [],
117
116
  },
118
117
  {
@@ -121,7 +120,7 @@ export const TRIBE_FIGHTERS = [
121
120
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
122
121
  img: "modric_shaolin",
123
122
  classIds: [TRIBE_TYPE_IDS.MISTERIOSO],
124
- baseStats: makeStats(60, 60, 90, 15),
123
+ baseStats: makeStats(85, 65, 90, 5),
125
124
  recommendedMoves: [],
126
125
  },
127
126
  {
@@ -130,7 +129,7 @@ export const TRIBE_FIGHTERS = [
130
129
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
131
130
  img: "lorena",
132
131
  classIds: [TRIBE_TYPE_IDS.NERD, TRIBE_TYPE_IDS.HIPPIE],
133
- baseStats: makeStats(55, 35, 90, 15),
132
+ baseStats: makeStats(75, 75, 75, 10),
134
133
  recommendedMoves: [],
135
134
  },
136
135
  {
@@ -139,7 +138,7 @@ export const TRIBE_FIGHTERS = [
139
138
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
140
139
  img: "juarez",
141
140
  classIds: [TRIBE_TYPE_IDS.NERD, TRIBE_TYPE_IDS.FIESTERO],
142
- baseStats: makeStats(55, 35, 90, 15),
141
+ baseStats: makeStats(75, 75, 75, 10),
143
142
  recommendedMoves: [],
144
143
  },
145
144
  {
@@ -148,7 +147,7 @@ export const TRIBE_FIGHTERS = [
148
147
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
149
148
  img: "currito",
150
149
  classIds: [TRIBE_TYPE_IDS.DEPORTISTA, TRIBE_TYPE_IDS.FIESTERO],
151
- baseStats: makeStats(55, 35, 90, 15),
150
+ baseStats: makeStats(75, 75, 75, 10),
152
151
  recommendedMoves: [],
153
152
  },
154
153
  {
@@ -157,7 +156,7 @@ export const TRIBE_FIGHTERS = [
157
156
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
158
157
  img: "angel",
159
158
  classIds: [TRIBE_TYPE_IDS.NERD, TRIBE_TYPE_IDS.FORMAL],
160
- baseStats: makeStats(55, 35, 90, 15),
159
+ baseStats: makeStats(75, 75, 75, 10),
161
160
  recommendedMoves: [],
162
161
  },
163
162
  {
@@ -166,7 +165,7 @@ export const TRIBE_FIGHTERS = [
166
165
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
167
166
  img: "ctangana",
168
167
  classIds: [TRIBE_TYPE_IDS.ARTISTA, TRIBE_TYPE_IDS.FORMAL],
169
- baseStats: makeStats(55, 35, 90, 15),
168
+ baseStats: makeStats(75, 75, 75, 5),
170
169
  recommendedMoves: [],
171
170
  },
172
171
  {
@@ -175,7 +174,7 @@ export const TRIBE_FIGHTERS = [
175
174
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
176
175
  img: "duran",
177
176
  classIds: [TRIBE_TYPE_IDS.FIESTERO],
178
- baseStats: makeStats(55, 35, 90, 15),
177
+ baseStats: makeStats(75, 75, 75, 5),
179
178
  recommendedMoves: [],
180
179
  },
181
180
  {
@@ -184,7 +183,7 @@ export const TRIBE_FIGHTERS = [
184
183
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
185
184
  img: "ferchy",
186
185
  classIds: [TRIBE_TYPE_IDS.NERD, TRIBE_TYPE_IDS.FIESTERO],
187
- baseStats: makeStats(55, 35, 90, 15),
186
+ baseStats: makeStats(75, 75, 75, 10),
188
187
  recommendedMoves: [],
189
188
  },
190
189
  {
@@ -193,7 +192,7 @@ export const TRIBE_FIGHTERS = [
193
192
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
194
193
  img: "hector",
195
194
  classIds: [TRIBE_TYPE_IDS.NERD, TRIBE_TYPE_IDS.DEPORTISTA],
196
- baseStats: makeStats(55, 35, 90, 15),
195
+ baseStats: makeStats(75, 75, 75, 5),
197
196
  recommendedMoves: [],
198
197
  },
199
198
  {
@@ -202,7 +201,7 @@ export const TRIBE_FIGHTERS = [
202
201
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
203
202
  img: "melendi",
204
203
  classIds: [TRIBE_TYPE_IDS.ARTISTA, TRIBE_TYPE_IDS.HIPPIE],
205
- baseStats: makeStats(55, 35, 90, 15),
204
+ baseStats: makeStats(75, 75, 75, 5),
206
205
  recommendedMoves: [],
207
206
  },
208
207
  {
@@ -211,7 +210,7 @@ export const TRIBE_FIGHTERS = [
211
210
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
212
211
  img: "selene",
213
212
  classIds: [TRIBE_TYPE_IDS.HIPPIE, TRIBE_TYPE_IDS.MISTICO],
214
- baseStats: makeStats(55, 35, 90, 15),
213
+ baseStats: makeStats(75, 75, 75, 5),
215
214
  recommendedMoves: [],
216
215
  },
217
216
  {
@@ -220,7 +219,7 @@ export const TRIBE_FIGHTERS = [
220
219
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
221
220
  img: "tabara",
222
221
  classIds: [TRIBE_TYPE_IDS.MISTERIOSO],
223
- baseStats: makeStats(55, 35, 90, 15),
222
+ baseStats: makeStats(50, 80, 60, 5),
224
223
  recommendedMoves: [],
225
224
  },
226
225
  {
@@ -229,7 +228,7 @@ export const TRIBE_FIGHTERS = [
229
228
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
230
229
  img: "tsunami",
231
230
  classIds: [TRIBE_TYPE_IDS.FORMAL],
232
- baseStats: makeStats(55, 35, 90, 15),
231
+ baseStats: makeStats(75, 75, 80, 5),
233
232
  recommendedMoves: [],
234
233
  },
235
234
  {
@@ -238,7 +237,7 @@ export const TRIBE_FIGHTERS = [
238
237
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
239
238
  img: "badgyal",
240
239
  classIds: [TRIBE_TYPE_IDS.CHULETA, TRIBE_TYPE_IDS.ARTISTA],
241
- baseStats: makeStats(55, 35, 90, 15),
240
+ baseStats: makeStats(75, 75, 75, 5),
242
241
  recommendedMoves: [],
243
242
  },
244
243
  {
@@ -247,7 +246,7 @@ export const TRIBE_FIGHTERS = [
247
246
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
248
247
  img: "benyart",
249
248
  classIds: [TRIBE_TYPE_IDS.ARTISTA, TRIBE_TYPE_IDS.MISTERIOSO],
250
- baseStats: makeStats(55, 35, 90, 15),
249
+ baseStats: makeStats(80, 70, 78, 5),
251
250
  recommendedMoves: [],
252
251
  },
253
252
  {
@@ -256,7 +255,7 @@ export const TRIBE_FIGHTERS = [
256
255
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
257
256
  img: "ceciliog",
258
257
  classIds: [TRIBE_TYPE_IDS.ARTISTA, TRIBE_TYPE_IDS.LOCO],
259
- baseStats: makeStats(55, 35, 90, 15),
258
+ baseStats: makeStats(80, 70, 75, 5),
260
259
  recommendedMoves: [],
261
260
  },
262
261
  {
@@ -265,7 +264,7 @@ export const TRIBE_FIGHTERS = [
265
264
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
266
265
  img: "delgao",
267
266
  classIds: [TRIBE_TYPE_IDS.ARTISTA, TRIBE_TYPE_IDS.KINKI],
268
- baseStats: makeStats(55, 35, 90, 15),
267
+ baseStats: makeStats(75, 75, 75, 5),
269
268
  recommendedMoves: [],
270
269
  },
271
270
  {
@@ -274,7 +273,7 @@ export const TRIBE_FIGHTERS = [
274
273
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
275
274
  img: "jarfaiter",
276
275
  classIds: [TRIBE_TYPE_IDS.KINKI, TRIBE_TYPE_IDS.ARTISTA],
277
- baseStats: makeStats(55, 35, 90, 15),
276
+ baseStats: makeStats(81, 75, 80, 5),
278
277
  recommendedMoves: [],
279
278
  },
280
279
  {
@@ -283,7 +282,7 @@ export const TRIBE_FIGHTERS = [
283
282
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
284
283
  img: "ñengo",
285
284
  classIds: [TRIBE_TYPE_IDS.ARTISTA, TRIBE_TYPE_IDS.CHULETA],
286
- baseStats: makeStats(55, 35, 90, 15),
285
+ baseStats: makeStats(70, 80, 75, 5),
287
286
  recommendedMoves: [],
288
287
  },
289
288
  {
@@ -292,7 +291,7 @@ export const TRIBE_FIGHTERS = [
292
291
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
293
292
  img: "portero_misterioso",
294
293
  classIds: [TRIBE_TYPE_IDS.MISTERIOSO],
295
- baseStats: makeStats(55, 35, 90, 15),
294
+ baseStats: makeStats(80, 65, 85, 5),
296
295
  recommendedMoves: [],
297
296
  },
298
297
  {
@@ -301,7 +300,7 @@ export const TRIBE_FIGHTERS = [
301
300
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
302
301
  img: "ed_gein",
303
302
  classIds: [TRIBE_TYPE_IDS.LOCO],
304
- baseStats: makeStats(55, 35, 90, 15),
303
+ baseStats: makeStats(75, 75, 75, 5),
305
304
  recommendedMoves: [],
306
305
  },
307
306
  {
@@ -310,7 +309,7 @@ export const TRIBE_FIGHTERS = [
310
309
  description: "Cree que se hará rico mañana. Rápido hablando, frágil si le preguntas qué hace.",
311
310
  img: "jose_breton",
312
311
  classIds: [TRIBE_TYPE_IDS.LOCO],
313
- baseStats: makeStats(55, 35, 90, 15),
312
+ baseStats: makeStats(75, 75, 75, 5),
314
313
  recommendedMoves: [],
315
314
  }
316
315
  ];
@@ -4,3 +4,4 @@ export * from "./clicheSkin.js";
4
4
  export * from "./statuses.js";
5
5
  export * from "./types.js";
6
6
  export * from "./items.js";
7
+ export * from './constants.js';
@@ -4,3 +4,4 @@ export * from "./clicheSkin.js";
4
4
  export * from "./statuses.js";
5
5
  export * from "./types.js";
6
6
  export * from "./items.js";
7
+ export * from './constants.js';
@@ -9,6 +9,9 @@ export const TRIBE_MOVES = [
9
9
  priority: 0,
10
10
  effects: [
11
11
  { kind: "damage", basePower: 30 },
12
+ ],
13
+ narration: [
14
+ "{actor} le da un tortazo a {opponent} con la mano abierta."
12
15
  ]
13
16
  },
14
17
  {
@@ -20,7 +23,11 @@ export const TRIBE_MOVES = [
20
23
  priority: 0,
21
24
  effects: [
22
25
  { kind: "damage", basePower: 40 },
23
- { kind: "damage", flatAmount: 10, target: "self" } // Te hace daño al hígado
26
+ { kind: "damage", flatAmount: 10, target: "self" },
27
+ ],
28
+ narration: [
29
+ "{actor} le da un puñetazo a {opponent} en los dientes.",
30
+ "Ambos se hacen daño..."
24
31
  ]
25
32
  },
26
33
  {
@@ -33,6 +40,10 @@ export const TRIBE_MOVES = [
33
40
  effects: [
34
41
  { kind: 'heal', amount: 10 },
35
42
  { kind: 'modify_stats', defenseDelta: 1, offenseDelta: 1 }
43
+ ],
44
+ narration: [
45
+ "{actor} se pone a hacer un poco de deporte.",
46
+ "Parece que le viene bien..."
36
47
  ]
37
48
  },
38
49
  {
@@ -45,6 +56,10 @@ export const TRIBE_MOVES = [
45
56
  effects: [
46
57
  { kind: "heal", amount: 35 },
47
58
  { kind: "modify_stats", speedDelta: -1, offenseDelta: 1 }
59
+ ],
60
+ narration: [
61
+ "{actor} se frota las partes íntimas",
62
+ "Parece que le gusta...",
48
63
  ]
49
64
  },
50
65
  {
@@ -58,6 +73,10 @@ export const TRIBE_MOVES = [
58
73
  effects: [
59
74
  { kind: "damage", basePower: 30 },
60
75
  { kind: "heal", amount: 10 },
76
+ ],
77
+ narration: [
78
+ "{actor} tiene un apretón y tiene que ir al baño.",
79
+ "Esperemos que no esté ocupado..."
61
80
  ]
62
81
  },
63
82
  {
@@ -70,6 +89,9 @@ export const TRIBE_MOVES = [
70
89
  effects: [
71
90
  { kind: "damage", flatAmount: 10, target: "self" },
72
91
  { kind: "modify_stats", speedDelta: 1, defenseDelta: 1, offenseDelta: 1 }
92
+ ],
93
+ narration: [
94
+ "{actor} se ha puesto a fumar un cigarro...",
73
95
  ]
74
96
  },
75
97
  {
@@ -83,6 +105,10 @@ export const TRIBE_MOVES = [
83
105
  { kind: "damage", basePower: 40 },
84
106
  { kind: "damage", flatAmount: 10, target: "self" },
85
107
  { kind: "apply_status", statusId: TRIBE_STATUS_IDS.ESTUDIAR, target: "self", chance: 0.5 },
108
+ ],
109
+ narration: [
110
+ "{actor} estudia al rival...",
111
+ "Parece que le viene bien..."
86
112
  ]
87
113
  },
88
114
  {
@@ -224,9 +250,8 @@ export const TRIBE_MOVES = [
224
250
  typeId: TRIBE_TYPE_IDS.ARTISTA,
225
251
  accuracy: 100,
226
252
  maxPP: 6,
227
- priority: 0,
253
+ priority: -1,
228
254
  effects: [
229
- { kind: "damage", basePower: 20 },
230
255
  { kind: 'force_switch' }
231
256
  ]
232
257
  },
@@ -297,7 +322,7 @@ export const TRIBE_MOVES = [
297
322
  id: TRIBE_MOVE_IDS.HACHAZO_TOBILLERO,
298
323
  name: "Hachazo tobillero",
299
324
  typeId: TRIBE_TYPE_IDS.LOCO,
300
- accuracy: 60,
325
+ accuracy: 50,
301
326
  maxPP: 3,
302
327
  priority: 0,
303
328
  onlyForFighterIds: [TRIBE_FIGHTER_IDS.ED_GEIN],
@@ -341,6 +366,10 @@ export const TRIBE_MOVES = [
341
366
  effects: [
342
367
  { kind: "damage", basePower: 40 },
343
368
  { kind: 'modify_stats', offenseDelta: -1, target: 'enemy' }
369
+ ],
370
+ narration: [
371
+ "{actor}: Y el airee de la callee...!!",
372
+ "{actor} desafina bastante y daña los oídos de {victim}"
344
373
  ]
345
374
  },
346
375
  ];
@@ -1,18 +1,4 @@
1
1
  import { type TypeDefinition, type TypeEffectivenessMatrix, type TypeId } from "../../core/index.js";
2
- export declare const TRIBE_TYPE_IDS: {
3
- readonly formal: TypeId;
4
- readonly deportista: TypeId;
5
- readonly nerd: TypeId;
6
- readonly chuleta: TypeId;
7
- readonly kinki: TypeId;
8
- readonly artista: TypeId;
9
- readonly fiestero: TypeId;
10
- readonly hippie: TypeId;
11
- readonly mistico: TypeId;
12
- readonly misterioso: TypeId;
13
- readonly loco: TypeId;
14
- };
15
- export type TribeTypeId = (typeof TRIBE_TYPE_IDS)[keyof typeof TRIBE_TYPE_IDS];
16
2
  export declare const TRIBE_TYPES: TypeDefinition[];
17
3
  export declare const TRIBE_TYPE_MATRIX: TypeEffectivenessMatrix;
18
4
  export declare const getTribeTypeEffectiveness: (attackerTypeId: TypeId, defenderTypeId: TypeId) => number;
@@ -1,221 +1,204 @@
1
- import { typeId, } from "../../core/index.js";
2
- export const TRIBE_TYPE_IDS = {
3
- formal: typeId("formal"),
4
- deportista: typeId("deportista"),
5
- nerd: typeId("nerd"),
6
- chuleta: typeId("chuleta"),
7
- kinki: typeId("kinki"),
8
- artista: typeId("artista"),
9
- fiestero: typeId("fiestero"),
10
- hippie: typeId("hippie"),
11
- mistico: typeId("mistico"),
12
- misterioso: typeId("misterioso"),
13
- loco: typeId("loco"),
14
- };
1
+ import { TRIBE_TYPE_IDS } from "./constants.js";
15
2
  export const TRIBE_TYPES = [
16
- // --- FÍSICOS ---
17
3
  {
18
- id: TRIBE_TYPE_IDS.deportista,
4
+ id: TRIBE_TYPE_IDS.DEPORTISTA,
19
5
  displayName: "Deportista",
20
- color: "#f97316", // Orange 500
6
+ color: "#f97316",
21
7
  },
22
8
  {
23
- id: TRIBE_TYPE_IDS.kinki,
9
+ id: TRIBE_TYPE_IDS.KINKI,
24
10
  displayName: "Kinki",
25
- color: "#8a8a8aff", // Neutral 400 (Plata/Navaja)
11
+ color: "#8a8a8aff",
26
12
  },
27
- // --- MENTALES ---
28
13
  {
29
- id: TRIBE_TYPE_IDS.nerd,
14
+ id: TRIBE_TYPE_IDS.NERD,
30
15
  displayName: "Nerd",
31
- color: "#3b82f6", // Blue 500
16
+ color: "#3b82f6",
32
17
  },
33
- // --- SOCIALES ---
34
18
  {
35
- id: TRIBE_TYPE_IDS.fiestero,
19
+ id: TRIBE_TYPE_IDS.FIESTERO,
36
20
  displayName: "Fiestero",
37
- color: "#d946ef", // Fuchsia 500 (Noche)
21
+ color: "#d946ef",
38
22
  },
39
23
  {
40
- id: TRIBE_TYPE_IDS.chuleta,
24
+ id: TRIBE_TYPE_IDS.CHULETA,
41
25
  displayName: "Chuleta",
42
- color: "#facc15", // Yellow 400 (Oro)
26
+ color: "#facc15",
43
27
  },
44
- // --- ESPIRITUALES ---
45
28
  {
46
- id: TRIBE_TYPE_IDS.hippie,
29
+ id: TRIBE_TYPE_IDS.HIPPIE,
47
30
  displayName: "Hippie",
48
- color: "#22c55e", // Green 500
31
+ color: "#22c55e",
49
32
  },
50
33
  {
51
- id: TRIBE_TYPE_IDS.mistico,
34
+ id: TRIBE_TYPE_IDS.MISTICO,
52
35
  displayName: "Místico",
53
- color: "#8b5cf6", // Violet 500
36
+ color: "#8b5cf6",
54
37
  },
55
38
  {
56
- id: TRIBE_TYPE_IDS.formal,
39
+ id: TRIBE_TYPE_IDS.FORMAL,
57
40
  displayName: "Formal",
58
- color: "#c9c9c9ff", // Slate 500
41
+ color: "#c9c9c9ff",
59
42
  },
60
43
  {
61
- id: TRIBE_TYPE_IDS.misterioso,
44
+ id: TRIBE_TYPE_IDS.MISTERIOSO,
62
45
  displayName: "Misterioso",
63
- color: "#64748b", // Slate 500
46
+ color: "#64748b",
64
47
  },
65
48
  {
66
- id: TRIBE_TYPE_IDS.artista,
49
+ id: TRIBE_TYPE_IDS.ARTISTA,
67
50
  displayName: "Artista",
68
- color: "#14bcffff", // Slate 500
51
+ color: "#14bcffff",
69
52
  },
70
53
  {
71
- id: TRIBE_TYPE_IDS.loco,
54
+ id: TRIBE_TYPE_IDS.LOCO,
72
55
  displayName: "Loco",
73
- color: "#de0101ff", // Slate 500
56
+ color: "#de0101ff",
74
57
  }
75
58
  ];
76
59
  export const TRIBE_TYPE_MATRIX = {
77
- [TRIBE_TYPE_IDS.formal]: {
78
- [TRIBE_TYPE_IDS.artista]: 1,
79
- [TRIBE_TYPE_IDS.loco]: 0,
80
- [TRIBE_TYPE_IDS.formal]: 1,
81
- [TRIBE_TYPE_IDS.misterioso]: 0.9,
82
- [TRIBE_TYPE_IDS.mistico]: 0.9,
83
- [TRIBE_TYPE_IDS.hippie]: 0.9,
84
- [TRIBE_TYPE_IDS.fiestero]: 1.1,
85
- [TRIBE_TYPE_IDS.chuleta]: 0.9,
86
- [TRIBE_TYPE_IDS.nerd]: 1,
87
- [TRIBE_TYPE_IDS.kinki]: 0.8,
88
- [TRIBE_TYPE_IDS.deportista]: 1,
89
- },
90
- [TRIBE_TYPE_IDS.deportista]: {
91
- [TRIBE_TYPE_IDS.artista]: 1.1,
92
- [TRIBE_TYPE_IDS.loco]: 0,
93
- [TRIBE_TYPE_IDS.formal]: 1.1,
94
- [TRIBE_TYPE_IDS.misterioso]: 1,
95
- [TRIBE_TYPE_IDS.mistico]: 0.9,
96
- [TRIBE_TYPE_IDS.hippie]: 0.9,
97
- [TRIBE_TYPE_IDS.fiestero]: 1,
98
- [TRIBE_TYPE_IDS.chuleta]: 1.1,
99
- [TRIBE_TYPE_IDS.nerd]: 1,
100
- [TRIBE_TYPE_IDS.kinki]: 1.1,
101
- [TRIBE_TYPE_IDS.deportista]: 1,
102
- },
103
- [TRIBE_TYPE_IDS.kinki]: {
104
- [TRIBE_TYPE_IDS.artista]: 1,
105
- [TRIBE_TYPE_IDS.loco]: 0,
106
- [TRIBE_TYPE_IDS.formal]: 1.2,
107
- [TRIBE_TYPE_IDS.misterioso]: 1,
108
- [TRIBE_TYPE_IDS.mistico]: 1,
109
- [TRIBE_TYPE_IDS.hippie]: 1.1,
110
- [TRIBE_TYPE_IDS.fiestero]: 1,
111
- [TRIBE_TYPE_IDS.chuleta]: 1,
112
- [TRIBE_TYPE_IDS.nerd]: 1.2,
113
- [TRIBE_TYPE_IDS.kinki]: 0.8,
114
- [TRIBE_TYPE_IDS.deportista]: 0.8,
115
- },
116
- [TRIBE_TYPE_IDS.nerd]: {
117
- [TRIBE_TYPE_IDS.artista]: 1.1,
118
- [TRIBE_TYPE_IDS.loco]: 0,
119
- [TRIBE_TYPE_IDS.formal]: 1,
120
- [TRIBE_TYPE_IDS.misterioso]: 1,
121
- [TRIBE_TYPE_IDS.mistico]: 1.2,
122
- [TRIBE_TYPE_IDS.hippie]: 1.2,
123
- [TRIBE_TYPE_IDS.fiestero]: 1.1,
124
- [TRIBE_TYPE_IDS.chuleta]: 0.8,
125
- [TRIBE_TYPE_IDS.nerd]: 1,
126
- [TRIBE_TYPE_IDS.kinki]: 0.9,
127
- [TRIBE_TYPE_IDS.deportista]: 1,
128
- },
129
- [TRIBE_TYPE_IDS.chuleta]: {
130
- [TRIBE_TYPE_IDS.artista]: 1,
131
- [TRIBE_TYPE_IDS.loco]: 0,
132
- [TRIBE_TYPE_IDS.formal]: 1.1,
133
- [TRIBE_TYPE_IDS.misterioso]: 1,
134
- [TRIBE_TYPE_IDS.mistico]: 0.8,
135
- [TRIBE_TYPE_IDS.hippie]: 0.8,
136
- [TRIBE_TYPE_IDS.fiestero]: 1,
137
- [TRIBE_TYPE_IDS.chuleta]: 1,
138
- [TRIBE_TYPE_IDS.nerd]: 1.1,
139
- [TRIBE_TYPE_IDS.kinki]: 1,
140
- [TRIBE_TYPE_IDS.deportista]: 1,
141
- },
142
- [TRIBE_TYPE_IDS.loco]: {
143
- [TRIBE_TYPE_IDS.artista]: 1,
144
- [TRIBE_TYPE_IDS.loco]: 1.2,
145
- [TRIBE_TYPE_IDS.formal]: 1.2,
146
- [TRIBE_TYPE_IDS.misterioso]: 0,
147
- [TRIBE_TYPE_IDS.mistico]: 0.8,
148
- [TRIBE_TYPE_IDS.hippie]: 0.9,
149
- [TRIBE_TYPE_IDS.fiestero]: 0.9,
150
- [TRIBE_TYPE_IDS.chuleta]: 1,
151
- [TRIBE_TYPE_IDS.nerd]: 1.2,
152
- [TRIBE_TYPE_IDS.kinki]: 0.9,
153
- [TRIBE_TYPE_IDS.deportista]: 1.2,
154
- },
155
- [TRIBE_TYPE_IDS.fiestero]: {
156
- [TRIBE_TYPE_IDS.artista]: 0.9,
157
- [TRIBE_TYPE_IDS.loco]: 0.8,
158
- [TRIBE_TYPE_IDS.formal]: 1,
159
- [TRIBE_TYPE_IDS.misterioso]: 1,
160
- [TRIBE_TYPE_IDS.mistico]: 1,
161
- [TRIBE_TYPE_IDS.hippie]: 1,
162
- [TRIBE_TYPE_IDS.fiestero]: 1,
163
- [TRIBE_TYPE_IDS.chuleta]: 1.2,
164
- [TRIBE_TYPE_IDS.nerd]: 1.2,
165
- [TRIBE_TYPE_IDS.kinki]: 1,
166
- [TRIBE_TYPE_IDS.deportista]: 1.2,
167
- },
168
- [TRIBE_TYPE_IDS.hippie]: {
169
- [TRIBE_TYPE_IDS.artista]: 1,
170
- [TRIBE_TYPE_IDS.loco]: 0,
171
- [TRIBE_TYPE_IDS.formal]: 1.2,
172
- [TRIBE_TYPE_IDS.misterioso]: 1,
173
- [TRIBE_TYPE_IDS.mistico]: 0.9,
174
- [TRIBE_TYPE_IDS.hippie]: 1,
175
- [TRIBE_TYPE_IDS.fiestero]: 1,
176
- [TRIBE_TYPE_IDS.chuleta]: 1,
177
- [TRIBE_TYPE_IDS.nerd]: 1,
178
- [TRIBE_TYPE_IDS.kinki]: 0.8,
179
- [TRIBE_TYPE_IDS.deportista]: 0.9,
180
- },
181
- [TRIBE_TYPE_IDS.misterioso]: {
182
- [TRIBE_TYPE_IDS.artista]: 1,
183
- [TRIBE_TYPE_IDS.loco]: 0.8,
184
- [TRIBE_TYPE_IDS.formal]: 1.1,
185
- [TRIBE_TYPE_IDS.misterioso]: 1,
186
- [TRIBE_TYPE_IDS.mistico]: 1,
187
- [TRIBE_TYPE_IDS.hippie]: 1,
188
- [TRIBE_TYPE_IDS.fiestero]: 1,
189
- [TRIBE_TYPE_IDS.chuleta]: 1.2,
190
- [TRIBE_TYPE_IDS.nerd]: 1.1,
191
- [TRIBE_TYPE_IDS.kinki]: 1,
192
- [TRIBE_TYPE_IDS.deportista]: 1.1,
193
- },
194
- [TRIBE_TYPE_IDS.mistico]: {
195
- [TRIBE_TYPE_IDS.artista]: 0.9,
196
- [TRIBE_TYPE_IDS.loco]: 1.2,
197
- [TRIBE_TYPE_IDS.formal]: 1.2,
198
- [TRIBE_TYPE_IDS.misterioso]: 0.9,
199
- [TRIBE_TYPE_IDS.mistico]: 1,
200
- [TRIBE_TYPE_IDS.hippie]: 0.9,
201
- [TRIBE_TYPE_IDS.fiestero]: 1,
202
- [TRIBE_TYPE_IDS.chuleta]: 1,
203
- [TRIBE_TYPE_IDS.nerd]: 1.2,
204
- [TRIBE_TYPE_IDS.kinki]: 0.8,
205
- [TRIBE_TYPE_IDS.deportista]: 0.8,
206
- },
207
- [TRIBE_TYPE_IDS.artista]: {
208
- [TRIBE_TYPE_IDS.artista]: 1,
209
- [TRIBE_TYPE_IDS.loco]: 0.9,
210
- [TRIBE_TYPE_IDS.formal]: 0.8,
211
- [TRIBE_TYPE_IDS.misterioso]: 1,
212
- [TRIBE_TYPE_IDS.mistico]: 1.1,
213
- [TRIBE_TYPE_IDS.hippie]: 1.1,
214
- [TRIBE_TYPE_IDS.fiestero]: 1,
215
- [TRIBE_TYPE_IDS.chuleta]: 0.9,
216
- [TRIBE_TYPE_IDS.nerd]: 1,
217
- [TRIBE_TYPE_IDS.kinki]: 1.1,
218
- [TRIBE_TYPE_IDS.deportista]: 0.9,
60
+ [TRIBE_TYPE_IDS.FORMAL]: {
61
+ [TRIBE_TYPE_IDS.ARTISTA]: 1,
62
+ [TRIBE_TYPE_IDS.LOCO]: 0,
63
+ [TRIBE_TYPE_IDS.FORMAL]: 1,
64
+ [TRIBE_TYPE_IDS.MISTERIOSO]: 0.9,
65
+ [TRIBE_TYPE_IDS.MISTICO]: 0.9,
66
+ [TRIBE_TYPE_IDS.HIPPIE]: 0.9,
67
+ [TRIBE_TYPE_IDS.FIESTERO]: 1.1,
68
+ [TRIBE_TYPE_IDS.CHULETA]: 0.9,
69
+ [TRIBE_TYPE_IDS.NERD]: 1,
70
+ [TRIBE_TYPE_IDS.KINKI]: 0.8,
71
+ [TRIBE_TYPE_IDS.DEPORTISTA]: 1,
72
+ },
73
+ [TRIBE_TYPE_IDS.DEPORTISTA]: {
74
+ [TRIBE_TYPE_IDS.ARTISTA]: 1.1,
75
+ [TRIBE_TYPE_IDS.LOCO]: 0,
76
+ [TRIBE_TYPE_IDS.FORMAL]: 1.1,
77
+ [TRIBE_TYPE_IDS.MISTERIOSO]: 1,
78
+ [TRIBE_TYPE_IDS.MISTICO]: 0.9,
79
+ [TRIBE_TYPE_IDS.HIPPIE]: 0.9,
80
+ [TRIBE_TYPE_IDS.FIESTERO]: 1,
81
+ [TRIBE_TYPE_IDS.CHULETA]: 1.1,
82
+ [TRIBE_TYPE_IDS.NERD]: 1,
83
+ [TRIBE_TYPE_IDS.KINKI]: 1.1,
84
+ [TRIBE_TYPE_IDS.DEPORTISTA]: 1,
85
+ },
86
+ [TRIBE_TYPE_IDS.KINKI]: {
87
+ [TRIBE_TYPE_IDS.ARTISTA]: 1,
88
+ [TRIBE_TYPE_IDS.LOCO]: 0,
89
+ [TRIBE_TYPE_IDS.FORMAL]: 1.2,
90
+ [TRIBE_TYPE_IDS.MISTERIOSO]: 1,
91
+ [TRIBE_TYPE_IDS.MISTICO]: 1,
92
+ [TRIBE_TYPE_IDS.HIPPIE]: 1.1,
93
+ [TRIBE_TYPE_IDS.FIESTERO]: 1,
94
+ [TRIBE_TYPE_IDS.CHULETA]: 1,
95
+ [TRIBE_TYPE_IDS.NERD]: 1.2,
96
+ [TRIBE_TYPE_IDS.KINKI]: 0.8,
97
+ [TRIBE_TYPE_IDS.DEPORTISTA]: 0.8,
98
+ },
99
+ [TRIBE_TYPE_IDS.NERD]: {
100
+ [TRIBE_TYPE_IDS.ARTISTA]: 1.1,
101
+ [TRIBE_TYPE_IDS.LOCO]: 0,
102
+ [TRIBE_TYPE_IDS.FORMAL]: 1,
103
+ [TRIBE_TYPE_IDS.MISTERIOSO]: 1,
104
+ [TRIBE_TYPE_IDS.MISTICO]: 1.2,
105
+ [TRIBE_TYPE_IDS.HIPPIE]: 1.2,
106
+ [TRIBE_TYPE_IDS.FIESTERO]: 1.1,
107
+ [TRIBE_TYPE_IDS.CHULETA]: 0.8,
108
+ [TRIBE_TYPE_IDS.NERD]: 1,
109
+ [TRIBE_TYPE_IDS.KINKI]: 0.9,
110
+ [TRIBE_TYPE_IDS.DEPORTISTA]: 1,
111
+ },
112
+ [TRIBE_TYPE_IDS.CHULETA]: {
113
+ [TRIBE_TYPE_IDS.ARTISTA]: 1,
114
+ [TRIBE_TYPE_IDS.LOCO]: 0,
115
+ [TRIBE_TYPE_IDS.FORMAL]: 1.1,
116
+ [TRIBE_TYPE_IDS.MISTERIOSO]: 1,
117
+ [TRIBE_TYPE_IDS.MISTICO]: 0.8,
118
+ [TRIBE_TYPE_IDS.HIPPIE]: 0.8,
119
+ [TRIBE_TYPE_IDS.FIESTERO]: 1,
120
+ [TRIBE_TYPE_IDS.CHULETA]: 1,
121
+ [TRIBE_TYPE_IDS.NERD]: 1.1,
122
+ [TRIBE_TYPE_IDS.KINKI]: 1,
123
+ [TRIBE_TYPE_IDS.DEPORTISTA]: 1,
124
+ },
125
+ [TRIBE_TYPE_IDS.LOCO]: {
126
+ [TRIBE_TYPE_IDS.ARTISTA]: 1,
127
+ [TRIBE_TYPE_IDS.LOCO]: 1.2,
128
+ [TRIBE_TYPE_IDS.FORMAL]: 1.2,
129
+ [TRIBE_TYPE_IDS.MISTERIOSO]: 0,
130
+ [TRIBE_TYPE_IDS.MISTICO]: 0.8,
131
+ [TRIBE_TYPE_IDS.HIPPIE]: 0.9,
132
+ [TRIBE_TYPE_IDS.FIESTERO]: 0.9,
133
+ [TRIBE_TYPE_IDS.CHULETA]: 1,
134
+ [TRIBE_TYPE_IDS.NERD]: 1.2,
135
+ [TRIBE_TYPE_IDS.KINKI]: 0.9,
136
+ [TRIBE_TYPE_IDS.DEPORTISTA]: 1.2,
137
+ },
138
+ [TRIBE_TYPE_IDS.FIESTERO]: {
139
+ [TRIBE_TYPE_IDS.ARTISTA]: 0.9,
140
+ [TRIBE_TYPE_IDS.LOCO]: 0.8,
141
+ [TRIBE_TYPE_IDS.FORMAL]: 1,
142
+ [TRIBE_TYPE_IDS.MISTERIOSO]: 1,
143
+ [TRIBE_TYPE_IDS.MISTICO]: 1,
144
+ [TRIBE_TYPE_IDS.HIPPIE]: 1,
145
+ [TRIBE_TYPE_IDS.FIESTERO]: 1,
146
+ [TRIBE_TYPE_IDS.CHULETA]: 1.2,
147
+ [TRIBE_TYPE_IDS.NERD]: 1.2,
148
+ [TRIBE_TYPE_IDS.KINKI]: 1,
149
+ [TRIBE_TYPE_IDS.DEPORTISTA]: 1.2,
150
+ },
151
+ [TRIBE_TYPE_IDS.HIPPIE]: {
152
+ [TRIBE_TYPE_IDS.ARTISTA]: 1,
153
+ [TRIBE_TYPE_IDS.LOCO]: 0,
154
+ [TRIBE_TYPE_IDS.FORMAL]: 1.2,
155
+ [TRIBE_TYPE_IDS.MISTERIOSO]: 1,
156
+ [TRIBE_TYPE_IDS.MISTICO]: 0.9,
157
+ [TRIBE_TYPE_IDS.HIPPIE]: 1,
158
+ [TRIBE_TYPE_IDS.FIESTERO]: 1,
159
+ [TRIBE_TYPE_IDS.CHULETA]: 1,
160
+ [TRIBE_TYPE_IDS.NERD]: 1,
161
+ [TRIBE_TYPE_IDS.KINKI]: 0.8,
162
+ [TRIBE_TYPE_IDS.DEPORTISTA]: 0.9,
163
+ },
164
+ [TRIBE_TYPE_IDS.MISTERIOSO]: {
165
+ [TRIBE_TYPE_IDS.ARTISTA]: 1,
166
+ [TRIBE_TYPE_IDS.LOCO]: 0.8,
167
+ [TRIBE_TYPE_IDS.FORMAL]: 1.1,
168
+ [TRIBE_TYPE_IDS.MISTERIOSO]: 1,
169
+ [TRIBE_TYPE_IDS.MISTICO]: 1,
170
+ [TRIBE_TYPE_IDS.HIPPIE]: 1,
171
+ [TRIBE_TYPE_IDS.FIESTERO]: 1,
172
+ [TRIBE_TYPE_IDS.CHULETA]: 1.2,
173
+ [TRIBE_TYPE_IDS.NERD]: 1.1,
174
+ [TRIBE_TYPE_IDS.KINKI]: 1,
175
+ [TRIBE_TYPE_IDS.DEPORTISTA]: 1.1,
176
+ },
177
+ [TRIBE_TYPE_IDS.MISTICO]: {
178
+ [TRIBE_TYPE_IDS.ARTISTA]: 0.9,
179
+ [TRIBE_TYPE_IDS.LOCO]: 1.2,
180
+ [TRIBE_TYPE_IDS.FORMAL]: 1.2,
181
+ [TRIBE_TYPE_IDS.MISTERIOSO]: 0.9,
182
+ [TRIBE_TYPE_IDS.MISTICO]: 1,
183
+ [TRIBE_TYPE_IDS.HIPPIE]: 0.9,
184
+ [TRIBE_TYPE_IDS.FIESTERO]: 1,
185
+ [TRIBE_TYPE_IDS.CHULETA]: 1,
186
+ [TRIBE_TYPE_IDS.NERD]: 1.2,
187
+ [TRIBE_TYPE_IDS.KINKI]: 0.8,
188
+ [TRIBE_TYPE_IDS.DEPORTISTA]: 0.8,
189
+ },
190
+ [TRIBE_TYPE_IDS.ARTISTA]: {
191
+ [TRIBE_TYPE_IDS.ARTISTA]: 1,
192
+ [TRIBE_TYPE_IDS.LOCO]: 0.9,
193
+ [TRIBE_TYPE_IDS.FORMAL]: 0.8,
194
+ [TRIBE_TYPE_IDS.MISTERIOSO]: 1,
195
+ [TRIBE_TYPE_IDS.MISTICO]: 1.1,
196
+ [TRIBE_TYPE_IDS.HIPPIE]: 1.1,
197
+ [TRIBE_TYPE_IDS.FIESTERO]: 1,
198
+ [TRIBE_TYPE_IDS.CHULETA]: 0.9,
199
+ [TRIBE_TYPE_IDS.NERD]: 1,
200
+ [TRIBE_TYPE_IDS.KINKI]: 1.1,
201
+ [TRIBE_TYPE_IDS.DEPORTISTA]: 0.9,
219
202
  },
220
203
  };
221
204
  export const getTribeTypeEffectiveness = (attackerTypeId, defenderTypeId) => {
@@ -4,3 +4,4 @@ export * from "./moves.js";
4
4
  export * from "./pokemonSkin.js";
5
5
  export * from "./statuses.js";
6
6
  export * from "./types.js";
7
+ export * from './constants.js';
@@ -4,3 +4,4 @@ export * from "./moves.js";
4
4
  export * from "./pokemonSkin.js";
5
5
  export * from "./statuses.js";
6
6
  export * from "./types.js";
7
+ export * from './constants.js';
@@ -1,13 +1,4 @@
1
1
  import type { TypeDefinition, TypeEffectivenessMatrix, TypeId } from "../../core/index.js";
2
- export declare const POKEMON_TYPE_IDS: {
3
- readonly fire: TypeId;
4
- readonly water: TypeId;
5
- readonly grass: TypeId;
6
- readonly electric: TypeId;
7
- readonly psychic: TypeId;
8
- readonly rock: TypeId;
9
- };
10
- export type PokemonTypeId = (typeof POKEMON_TYPE_IDS)[keyof typeof POKEMON_TYPE_IDS];
11
2
  export declare const POKEMON_TYPES: TypeDefinition[];
12
3
  export declare const POKEMON_TYPE_MATRIX: TypeEffectivenessMatrix;
13
4
  export declare const getPokemonTypeEffectiveness: (attackerTypeId: TypeId, defenderTypeId: TypeId) => number;
@@ -1,93 +1,85 @@
1
- import { typeId } from "../../core/ids.js";
2
- export const POKEMON_TYPE_IDS = {
3
- fire: typeId("fire"),
4
- water: typeId("water"),
5
- grass: typeId("grass"),
6
- electric: typeId("electric"),
7
- psychic: typeId("psychic"),
8
- rock: typeId("rock"),
9
- };
1
+ import { POKEMON_TYPE_IDS } from "./constants.js";
10
2
  export const POKEMON_TYPES = [
11
3
  {
12
- id: POKEMON_TYPE_IDS.fire,
4
+ id: POKEMON_TYPE_IDS.FIRE,
13
5
  displayName: "Fuego",
14
6
  color: "#EE8130",
15
7
  },
16
8
  {
17
- id: POKEMON_TYPE_IDS.water,
9
+ id: POKEMON_TYPE_IDS.WATER,
18
10
  displayName: "Agua",
19
11
  color: "#25a8fa",
20
12
  },
21
13
  {
22
- id: POKEMON_TYPE_IDS.grass,
14
+ id: POKEMON_TYPE_IDS.GRASS,
23
15
  displayName: "Planta",
24
16
  color: "#7AC74C",
25
17
  },
26
18
  {
27
- id: POKEMON_TYPE_IDS.electric,
19
+ id: POKEMON_TYPE_IDS.ELECTRIC,
28
20
  displayName: "Eléctrico",
29
21
  color: "#F7D02C",
30
22
  },
31
23
  {
32
- id: POKEMON_TYPE_IDS.psychic,
24
+ id: POKEMON_TYPE_IDS.PSYCHIC,
33
25
  displayName: "Psíquico",
34
26
  color: "#e54fff",
35
27
  },
36
28
  {
37
- id: POKEMON_TYPE_IDS.rock,
29
+ id: POKEMON_TYPE_IDS.ROCK,
38
30
  displayName: "Roca",
39
31
  color: "#787878",
40
32
  },
41
33
  ];
42
34
  // Matriz muy simplificada, inspirada en Pokémon
43
35
  export const POKEMON_TYPE_MATRIX = {
44
- [POKEMON_TYPE_IDS.electric]: {
45
- [POKEMON_TYPE_IDS.electric]: 1,
46
- [POKEMON_TYPE_IDS.fire]: 1,
47
- [POKEMON_TYPE_IDS.water]: 1,
48
- [POKEMON_TYPE_IDS.grass]: 1,
49
- [POKEMON_TYPE_IDS.psychic]: 1,
50
- [POKEMON_TYPE_IDS.rock]: 1,
36
+ [POKEMON_TYPE_IDS.ELECTRIC]: {
37
+ [POKEMON_TYPE_IDS.ELECTRIC]: 1,
38
+ [POKEMON_TYPE_IDS.FIRE]: 1,
39
+ [POKEMON_TYPE_IDS.WATER]: 1,
40
+ [POKEMON_TYPE_IDS.GRASS]: 1,
41
+ [POKEMON_TYPE_IDS.PSYCHIC]: 1,
42
+ [POKEMON_TYPE_IDS.ROCK]: 1,
51
43
  },
52
- [POKEMON_TYPE_IDS.fire]: {
53
- [POKEMON_TYPE_IDS.fire]: 0.9,
54
- [POKEMON_TYPE_IDS.water]: 0.9,
55
- [POKEMON_TYPE_IDS.grass]: 1.1,
56
- [POKEMON_TYPE_IDS.electric]: 1,
57
- [POKEMON_TYPE_IDS.psychic]: 1,
58
- [POKEMON_TYPE_IDS.rock]: 1,
44
+ [POKEMON_TYPE_IDS.FIRE]: {
45
+ [POKEMON_TYPE_IDS.FIRE]: 0.9,
46
+ [POKEMON_TYPE_IDS.WATER]: 0.9,
47
+ [POKEMON_TYPE_IDS.GRASS]: 1.1,
48
+ [POKEMON_TYPE_IDS.ELECTRIC]: 1,
49
+ [POKEMON_TYPE_IDS.PSYCHIC]: 1,
50
+ [POKEMON_TYPE_IDS.ROCK]: 1,
59
51
  },
60
- [POKEMON_TYPE_IDS.water]: {
61
- [POKEMON_TYPE_IDS.fire]: 1.1,
62
- [POKEMON_TYPE_IDS.water]: 0.9,
63
- [POKEMON_TYPE_IDS.grass]: 0.9,
64
- [POKEMON_TYPE_IDS.electric]: 1,
65
- [POKEMON_TYPE_IDS.psychic]: 1,
66
- [POKEMON_TYPE_IDS.rock]: 1,
52
+ [POKEMON_TYPE_IDS.WATER]: {
53
+ [POKEMON_TYPE_IDS.FIRE]: 1.1,
54
+ [POKEMON_TYPE_IDS.WATER]: 0.9,
55
+ [POKEMON_TYPE_IDS.GRASS]: 0.9,
56
+ [POKEMON_TYPE_IDS.ELECTRIC]: 1,
57
+ [POKEMON_TYPE_IDS.PSYCHIC]: 1,
58
+ [POKEMON_TYPE_IDS.ROCK]: 1,
67
59
  },
68
- [POKEMON_TYPE_IDS.grass]: {
69
- [POKEMON_TYPE_IDS.fire]: 0.9,
70
- [POKEMON_TYPE_IDS.water]: 1.1,
71
- [POKEMON_TYPE_IDS.grass]: 0.9,
72
- [POKEMON_TYPE_IDS.electric]: 1,
73
- [POKEMON_TYPE_IDS.psychic]: 1,
74
- [POKEMON_TYPE_IDS.rock]: 1,
60
+ [POKEMON_TYPE_IDS.GRASS]: {
61
+ [POKEMON_TYPE_IDS.FIRE]: 0.9,
62
+ [POKEMON_TYPE_IDS.WATER]: 1.1,
63
+ [POKEMON_TYPE_IDS.GRASS]: 0.9,
64
+ [POKEMON_TYPE_IDS.ELECTRIC]: 1,
65
+ [POKEMON_TYPE_IDS.PSYCHIC]: 1,
66
+ [POKEMON_TYPE_IDS.ROCK]: 1,
75
67
  },
76
- [POKEMON_TYPE_IDS.psychic]: {
77
- [POKEMON_TYPE_IDS.fire]: 1,
78
- [POKEMON_TYPE_IDS.water]: 1.1,
79
- [POKEMON_TYPE_IDS.grass]: 0.9,
80
- [POKEMON_TYPE_IDS.electric]: 0.9,
81
- [POKEMON_TYPE_IDS.psychic]: 1,
82
- [POKEMON_TYPE_IDS.rock]: 1,
68
+ [POKEMON_TYPE_IDS.PSYCHIC]: {
69
+ [POKEMON_TYPE_IDS.FIRE]: 1,
70
+ [POKEMON_TYPE_IDS.WATER]: 1.1,
71
+ [POKEMON_TYPE_IDS.GRASS]: 0.9,
72
+ [POKEMON_TYPE_IDS.ELECTRIC]: 0.9,
73
+ [POKEMON_TYPE_IDS.PSYCHIC]: 1,
74
+ [POKEMON_TYPE_IDS.ROCK]: 1,
83
75
  },
84
- [POKEMON_TYPE_IDS.rock]: {
85
- [POKEMON_TYPE_IDS.fire]: 1,
86
- [POKEMON_TYPE_IDS.water]: 1.1,
87
- [POKEMON_TYPE_IDS.grass]: 0.9,
88
- [POKEMON_TYPE_IDS.electric]: 0.9,
89
- [POKEMON_TYPE_IDS.psychic]: 1,
90
- [POKEMON_TYPE_IDS.rock]: 1,
76
+ [POKEMON_TYPE_IDS.ROCK]: {
77
+ [POKEMON_TYPE_IDS.FIRE]: 1,
78
+ [POKEMON_TYPE_IDS.WATER]: 1.1,
79
+ [POKEMON_TYPE_IDS.GRASS]: 0.9,
80
+ [POKEMON_TYPE_IDS.ELECTRIC]: 0.9,
81
+ [POKEMON_TYPE_IDS.PSYCHIC]: 1,
82
+ [POKEMON_TYPE_IDS.ROCK]: 1,
91
83
  },
92
84
  };
93
85
  export const getPokemonTypeEffectiveness = (attackerTypeId, defenderTypeId) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pokemon-io-core",
3
- "version": "0.0.126",
3
+ "version": "0.0.128",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "type": "module",