blob: 192624aba34d0347a32d3a193174a16cba8c4a98 (
plain)
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
113
114
|
PKMN_CARD_DATA_LENGTH EQU $41
TRN_CARD_DATA_LENGTH EQU $0e
ENERGY_CARD_DATA_LENGTH EQU $0e
;;; generic type constants
; double up as Pokemon card types
const_def
const FIRE ; $0
const GRASS ; $1
const LIGHTNING ; $2
const WATER ; $3
const FIGHTING ; $4
const PSYCHIC ; $5
const COLORLESS ; $6
const UNUSED_TYPE ; $7
NUM_TYPES EQU const_value
;;; card types
TYPE_PKMN_FIRE EQUS "FIRE"
TYPE_PKMN_GRASS EQUS "GRASS"
TYPE_PKMN_LIGHTNING EQUS "LIGHTNING"
TYPE_PKMN_WATER EQUS "WATER"
TYPE_PKMN_FIGHTING EQUS "FIGHTING"
TYPE_PKMN_PSYCHIC EQUS "PSYCHIC"
TYPE_PKMN_COLORLESS EQUS "COLORLESS"
TYPE_PKMN_UNUSED EQUS "UNUSED_TYPE"
const_value set TYPE_PKMN_UNUSED + 1 - TYPE_PKMN_FIRE
const TYPE_ENERGY_FIRE ; $8
const TYPE_ENERGY_GRASS ; $9
const TYPE_ENERGY_LIGHTNING ; $A
const TYPE_ENERGY_WATER ; $B
const TYPE_ENERGY_FIGHTING ; $C
const TYPE_ENERGY_PSYCHIC ; $D
const TYPE_ENERGY_DOUBLE_COLORLESS ; $E
const TYPE_ENERGY_UNUSED ; $F
const TYPE_TRAINER ; $10
const TYPE_TRAINER_UNUSED ; $11
NUM_CARD_TYPES EQU const_value + -1
TYPE_ENERGY_F EQU 3
;;; rarity
CIRCLE EQU $0
DIAMOND EQU $1
STAR EQU $2
PROMOSTAR EQU $FF
;;; set
COLOSSEUM EQU $00
EVOLUTION EQU $10
MYSTERY EQU $20
LABORATORY EQU $30
PROMOTIONAL EQU $40
ENERGY EQU $50
NONE EQU $0
JUNGLE EQU $1
FOSSIL EQU $2
GB EQU $7
PRO EQU $8
;;; evolution stage
BASIC EQU $0
STAGE1 EQU $1
STAGE2 EQU $2
;;; weakness/resistance
WR_FIRE EQU $80
WR_GRASS EQU $40
WR_LIGHTNING EQU $20
WR_WATER EQU $10
WR_FIGHTING EQU $08
WR_PSYCHIC EQU $04
;;; move category (6th param of Pokemon cards move data)
DAMAGE_NORMAL EQU $0
DAMAGE_PLUS EQU $1
DAMAGE_MINUS EQU $2
DAMAGE_X EQU $3
POKEMON_POWER EQU $4
RESIDUAL_F EQU 7
RESIDUAL EQU 1 << RESIDUAL_F
;;; flags 1 (8th param of Pokemon cards move data)
INFLICT_POISON EQU %00000001
INFLICT_SLEEP EQU %00000010
INFLICT_PARALYSIS EQU %00000100
INFLICT_CONFUSION EQU %00001000
LOW_RECOIL EQU %00010000
DAMAGE_TO_OPPONENT_BENCH EQU %00100000
HIGH_RECOIL EQU %01000000
DRAW_CARD EQU %10000000
;;; flags 2 (9th param of Pokemon cards move data)
; bits 5, 6 and 7 cover a wide variety of effects
SWITCH_OPPONENT_POKEMON EQU %00000001
HEAL_USER EQU %00000010
NULLIFY_OR_WEAKEN_ATTACK EQU %00000100
DISCARD_ENERGY EQU %00001000
ATTACHED_ENERGY_BOOST EQU %00010000
FLAG_2_BIT_5 EQU %00100000
FLAG_2_BIT_6 EQU %01000000
FLAG_2_BIT_7 EQU %10000000
;;; flags 3 (10th param of Pokemon cards move data)
; bit 1 covers a wide variety of effects
; bits 2-7 are unused
BOOST_IF_TAKEN_DAMAGE EQU %00000001
FLAG_3_BIT_1 EQU %00000010
;;; special retreat values
UNABLE_RETREAT EQU $64
CARD_COLLECTION_SIZE EQU $100
|