… | |
… | |
130 | sub MOVE_FLY_LOW (){ 0x02 } |
130 | sub MOVE_FLY_LOW (){ 0x02 } |
131 | sub MOVE_FLY_HIGH (){ 0x04 } |
131 | sub MOVE_FLY_HIGH (){ 0x04 } |
132 | sub MOVE_FLYING (){ 0x06 } |
132 | sub MOVE_FLYING (){ 0x06 } |
133 | sub MOVE_SWIM (){ 0x08 } |
133 | sub MOVE_SWIM (){ 0x08 } |
134 | sub MOVE_BOAT (){ 0x10 } |
134 | sub MOVE_BOAT (){ 0x10 } |
|
|
135 | sub MOVE_SHIP (){ 0x20 } |
135 | sub MOVE_KNOWN (){ 0x1f } # all of above |
136 | sub MOVE_KNOWN (){ 0x3f } # all of above |
136 | sub MOVE_ALL (){ 0x10000 } # very special value |
137 | sub MOVE_ALL (){ 0x10000 } # very special value |
137 | |
138 | |
138 | our %MOVE_TYPE = ( |
139 | our %MOVE_TYPE = ( |
139 | walk => MOVE_WALK, |
140 | walk => MOVE_WALK, |
140 | fly_low => MOVE_FLY_LOW, |
141 | fly_low => MOVE_FLY_LOW, |
141 | fly_high => MOVE_FLY_HIGH, |
142 | fly_high => MOVE_FLY_HIGH, |
142 | flying => MOVE_FLYING, |
143 | flying => MOVE_FLYING, |
143 | swim => MOVE_SWIM, |
144 | swim => MOVE_SWIM, |
144 | boat => MOVE_BOAT, |
145 | boat => MOVE_BOAT, |
|
|
146 | ship => MOVE_SHIP, |
145 | all => MOVE_ALL, |
147 | all => MOVE_ALL, |
146 | ); |
148 | ); |
147 | |
149 | |
148 | our @MOVE_TYPE = qw(all walk flying fly_low fly_high swim boat); |
150 | our @MOVE_TYPE = keys %MOVE_TYPE; |
149 | |
151 | |
150 | { |
152 | { |
151 | package Crossfire::MoveType; |
153 | package Crossfire::MoveType; |
152 | |
154 | |
153 | use overload |
155 | use overload |