enemy hp documentation
This commit is contained in:
parent
64c118612d
commit
237c99a184
|
@ -669,6 +669,14 @@ Fire ring emitted from #$10 Boss Eye (Garmakilma).
|
||||||
|
|
||||||
Other Names: Boss Gemini, Boss Metal Helmet
|
Other Names: Boss Gemini, Boss Metal Helmet
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
**ENEMY HP**: 10
|
||||||
|
|
||||||
No attributes exist for this enemy.
|
No attributes exist for this enemy.
|
||||||
|
|
||||||
#### Logic
|
#### Logic
|
||||||
|
@ -682,12 +690,12 @@ not for anything with the y velocity, but rather to control speed of x movement
|
||||||
and keep track of x distance from initial position respectively.
|
and keep track of x distance from initial position respectively.
|
||||||
|
|
||||||
* `ENEMY_FRAME` - offset into `boss_gemini_sprite_tbl`, which contains the exact
|
* `ENEMY_FRAME` - offset into `boss_gemini_sprite_tbl`, which contains the exact
|
||||||
sprite code: `sprite_68`, `sprite_69`, `sprite_6b`, `sprite_6c`.
|
sprite code: `sprite_68`, `sprite_69`, `sprite_6a`, `sprite_6b`, `sprite_6c`.
|
||||||
* `ENEMY_VAR_1` - initial x position
|
* `ENEMY_VAR_1` - initial x position
|
||||||
* `ENEMY_VAR_2` - timer after being hit - #$10 down to #$00
|
* `ENEMY_VAR_2` - timer after being hit - #$10 down to #$00
|
||||||
* `ENEMY_VAR_3` - whether or not the boss gemini's health is low (less than
|
* `ENEMY_VAR_3` - whether or not the boss gemini's health is low (less than
|
||||||
#$07). Used to show a red brain instead of a green one.
|
#$07). Used to show a red brain instead of a green one.
|
||||||
* `ENEMY_VAR_4` - actual representation of ENEMY_HP
|
* `ENEMY_VAR_4` - actual representation of ENEMY_HP, initialized to #$0a
|
||||||
* `ENEMY_X_VELOCITY_FRACT` - always #$80 (.50). Used with
|
* `ENEMY_X_VELOCITY_FRACT` - always #$80 (.50). Used with
|
||||||
`ENEMY_Y_VELOCITY_FRACT` to move gemini by 1 every #$02 frames
|
`ENEMY_Y_VELOCITY_FRACT` to move gemini by 1 every #$02 frames
|
||||||
* `ENEMY_X_VELOCITY_FAST` - x direction of boss gemini
|
* `ENEMY_X_VELOCITY_FAST` - x direction of boss gemini
|
||||||
|
@ -713,6 +721,15 @@ Red and blue molecule-like orbs that are created by #$1c Boss Gemini (Godomuga).
|
||||||
They seek the player for a determined amount of time. If after set number of
|
They seek the player for a determined amount of time. If after set number of
|
||||||
seeks (#$13), then the bubble pair will continue in last direction.
|
seeks (#$13), then the bubble pair will continue in last direction.
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
**ENEMY HP**: 1
|
||||||
|
|
||||||
#### Attributes
|
#### Attributes
|
||||||
|
|
||||||
* `.... .xxx` - specifies how frequently the bubbles will spin. Initialized in
|
* `.... .xxx` - specifies how frequently the bubbles will spin. Initialized in
|
||||||
|
@ -733,6 +750,16 @@ Value is an offset into `spinning_bullet_spin_tbl`.
|
||||||
|
|
||||||
Other Names: Blue Jumping Guy, Boss Blue Soldier, Blue Soldier
|
Other Names: Blue Jumping Guy, Boss Blue Soldier, Blue Soldier
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
**ENEMY HP**: 1
|
||||||
|
|
||||||
#### Attributes
|
#### Attributes
|
||||||
|
|
||||||
* `.... ..xx` - specifies initial position (see `red_blue_soldier_init_pos_tbl`)
|
* `.... ..xx` - specifies initial position (see `red_blue_soldier_init_pos_tbl`)
|
||||||
|
@ -754,6 +781,14 @@ Other Names: Blue Jumping Guy, Boss Blue Soldier, Blue Soldier
|
||||||
|
|
||||||
Other Names: Red Shooting Guy, Boss Red Soldier, Red Soldier
|
Other Names: Red Shooting Guy, Boss Red Soldier, Red Soldier
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
**ENEMY HP**: 1
|
||||||
|
|
||||||
#### Attributes
|
#### Attributes
|
||||||
|
|
||||||
* `.... ..xx` - specifies initial position (see `red_blue_soldier_init_pos_tbl`)
|
* `.... ..xx` - specifies initial position (see `red_blue_soldier_init_pos_tbl`)
|
||||||
|
@ -774,6 +809,8 @@ Other Names: Red Shooting Guy, Boss Red Soldier, Red Soldier
|
||||||
|
|
||||||
Other Names: Red Blue Soldier Generator
|
Other Names: Red Blue Soldier Generator
|
||||||
|
|
||||||
|
**ENEMY HP**: n/a
|
||||||
|
|
||||||
Generates Garth and Rangel enemies following a pattern specified in
|
Generates Garth and Rangel enemies following a pattern specified in
|
||||||
`red_blue_solider_data_tbl`.
|
`red_blue_solider_data_tbl`.
|
||||||
|
|
||||||
|
@ -801,6 +838,10 @@ No attributes exist for this enemy.
|
||||||
Floats back and forth to allow players to jump higher in level. This enemy is
|
Floats back and forth to allow players to jump higher in level. This enemy is
|
||||||
very similar to the moving flame enemy, which is also in the vertical level.
|
very similar to the moving flame enemy, which is also in the vertical level.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
**ENEMY HP**: n/a
|
||||||
|
|
||||||
#### Attributes
|
#### Attributes
|
||||||
|
|
||||||
* `000` - platform starts out moving left at 1 unit per frame
|
* `000` - platform starts out moving left at 1 unit per frame
|
||||||
|
@ -811,6 +852,10 @@ very similar to the moving flame enemy, which is also in the vertical level.
|
||||||
Flame that goes back and forth over bridge. This enemy is very similar to the
|
Flame that goes back and forth over bridge. This enemy is very similar to the
|
||||||
floating rock platform enemy, which is also in the vertical level
|
floating rock platform enemy, which is also in the vertical level
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
**ENEMY HP**: n/a
|
||||||
|
|
||||||
#### Attributes
|
#### Attributes
|
||||||
|
|
||||||
* `010` - Flame starts out moving left at 1 unit per frame
|
* `010` - Flame starts out moving left at 1 unit per frame
|
||||||
|
@ -820,10 +865,16 @@ floating rock platform enemy, which is also in the vertical level
|
||||||
|
|
||||||
Generates #13 Falling Rocks
|
Generates #13 Falling Rocks
|
||||||
|
|
||||||
|
**ENEMY HP**: n/a
|
||||||
|
|
||||||
### 13 - Falling Rock
|
### 13 - Falling Rock
|
||||||
|
|
||||||
Other Names: Boulder
|
Other Names: Boulder
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
**ENEMY HP**: n/a
|
||||||
|
|
||||||
#### Logic
|
#### Logic
|
||||||
|
|
||||||
* `ENEMY_VAR_1` - y position of most recent ground collision
|
* `ENEMY_VAR_1` - y position of most recent ground collision
|
||||||
|
@ -832,6 +883,8 @@ Other Names: Boulder
|
||||||
|
|
||||||
Other Names: Boss Mouth, Gromaides
|
Other Names: Boss Mouth, Gromaides
|
||||||
|
|
||||||
|
**ENEMY HP**: 32
|
||||||
|
|
||||||
#### Logic
|
#### Logic
|
||||||
|
|
||||||
* `ENEMY_VAR_1` - dragon HP, used to keep track of HP between opening and
|
* `ENEMY_VAR_1` - dragon HP, used to keep track of HP between opening and
|
||||||
|
@ -851,6 +904,11 @@ for each arm. Each side then spawns 4 additional dragon arm orb enemies. Loops
|
||||||
through 5 different attack patterns. This is the most complicated enemy in the
|
through 5 different attack patterns. This is the most complicated enemy in the
|
||||||
game.
|
game.
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
**ENEMY HP**: 16
|
||||||
|
|
||||||
#### Attributes
|
#### Attributes
|
||||||
|
|
||||||
* `.... ...x` - dragon arm orb side
|
* `.... ...x` - dragon arm orb side
|
||||||
|
@ -913,8 +971,17 @@ simplify defining the enemy vars.
|
||||||
|
|
||||||
No attributes exist for this enemy.
|
No attributes exist for this enemy.
|
||||||
|
|
||||||
|
**ENEMY HP**: n/a
|
||||||
|
|
||||||
### 11 - Ice Grenade
|
### 11 - Ice Grenade
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
**ENEMY HP**: n/a
|
||||||
|
|
||||||
No attributes exist for this enemy.
|
No attributes exist for this enemy.
|
||||||
|
|
||||||
#### Logic
|
#### Logic
|
||||||
|
@ -925,6 +992,8 @@ No attributes exist for this enemy.
|
||||||
|
|
||||||
Other Names: Dogra
|
Other Names: Dogra
|
||||||
|
|
||||||
|
**ENEMY HP**: 71
|
||||||
|
|
||||||
#### Attributes
|
#### Attributes
|
||||||
|
|
||||||
* `.... ...x` - tank attack delay index into `tank_attack_delay_tbl`
|
* `.... ...x` - tank attack delay index into `tank_attack_delay_tbl`
|
||||||
|
@ -949,16 +1018,22 @@ Other Names: Dogra
|
||||||
|
|
||||||
Other Names: Pipe Joint, Ice Joint
|
Other Names: Pipe Joint, Ice Joint
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
**ENEMY HP**: n/a
|
||||||
|
|
||||||
No attributes exist for this enemy.
|
No attributes exist for this enemy.
|
||||||
|
|
||||||
### 14 - Alien Carrier
|
### 14 - Alien Carrier
|
||||||
|
|
||||||
Other Names: Guldaf, Boss UFO
|
Other Names: Guldaf, Boss UFO
|
||||||
|
|
||||||
|
**ENEMY HP**: 32
|
||||||
|
|
||||||
No attributes exist for this enemy.
|
No attributes exist for this enemy.
|
||||||
|
|
||||||
Appears randomly and creates flying saucers (enemy type - #$15) and drop bombs
|
Appears randomly and creates flying saucers (enemy type - #$15) and drop bombs
|
||||||
(enemy type - #$16). One of the few enemies that use BG_PALETTE_ADJ_TIMER to
|
(enemy type - #$16). One of the few enemies that use `BG_PALETTE_ADJ_TIMER` to
|
||||||
create a fading in effect.
|
create a fading in effect.
|
||||||
|
|
||||||
#### Logic
|
#### Logic
|
||||||
|
@ -972,6 +1047,12 @@ create a fading in effect.
|
||||||
|
|
||||||
Other Names: Mini UFO
|
Other Names: Mini UFO
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
**ENEMY HP**: 1
|
||||||
|
|
||||||
No attributes exist for this enemy. Direction of flying saucer is determined by
|
No attributes exist for this enemy. Direction of flying saucer is determined by
|
||||||
Alien Carrier.
|
Alien Carrier.
|
||||||
|
|
||||||
|
@ -979,6 +1060,10 @@ Alien Carrier.
|
||||||
|
|
||||||
Bombs dropped from the Alien Carrier
|
Bombs dropped from the Alien Carrier
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
**ENEMY HP**: 1
|
||||||
|
|
||||||
## Level 6 - Energy Zone
|
## Level 6 - Energy Zone
|
||||||
|
|
||||||
### 10 - 12 - Fire Beam
|
### 10 - 12 - Fire Beam
|
||||||
|
@ -1011,20 +1096,29 @@ These 4 enemy types are very similar. They differ in the direction they fire
|
||||||
Other Names: Gordea, JJ, Jumping Joey, Jumping Jack Flash, Giant Boss Robot,
|
Other Names: Gordea, JJ, Jumping Joey, Jumping Jack Flash, Giant Boss Robot,
|
||||||
Giant Armored Soldier, Boss Giant
|
Giant Armored Soldier, Boss Giant
|
||||||
|
|
||||||
No attributes exist for this enemy. His health is calculated based on player's
|

|
||||||
`PLAYER_WEAPON_STRENGTH` value. The formula is below
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
**ENEMY HP**:
|
||||||
|
|
||||||
```
|
```
|
||||||
(PLAYER_WEAPON_STRENGTH * #$08) + #$40
|
(PLAYER_WEAPON_STRENGTH * #$08) + #$40
|
||||||
```
|
```
|
||||||
|
|
||||||
| Weapon | Strength |
|
| Weapon | Strength | HP |
|
||||||
|---------|----------|
|
|---------|----------|----|
|
||||||
| Default | 0 |
|
| Default | 0 | 64 |
|
||||||
| M | 2 |
|
| M | 2 | 80 |
|
||||||
| F | 1 |
|
| F | 1 | 72 |
|
||||||
| S | 3 |
|
| S | 3 | 88 |
|
||||||
| L | 2 |
|
| L | 2 | 80 |
|
||||||
|
|
||||||
|
No attributes exist for this enemy. His health is calculated based on player's
|
||||||
|
`PLAYER_WEAPON_STRENGTH` value. The formula is below
|
||||||
|
|
||||||
|
|
||||||
#### Logic
|
#### Logic
|
||||||
|
|
||||||
|
@ -1054,6 +1148,8 @@ Other Names: Saucer, Spiked Disk Projectile
|
||||||
|
|
||||||
Other Names: Moving Claw
|
Other Names: Moving Claw
|
||||||
|
|
||||||
|
**ENEMY HP**: n/a
|
||||||
|
|
||||||
Mechanical claw similar to arcade claw machines
|
Mechanical claw similar to arcade claw machines
|
||||||
|
|
||||||
#### Attributes
|
#### Attributes
|
||||||
|
@ -1082,6 +1178,8 @@ Other Names: Spiked Wall
|
||||||
|
|
||||||
A spiked wall that rises from the ground in front of the player
|
A spiked wall that rises from the ground in front of the player
|
||||||
|
|
||||||
|
**ENEMY HP**: 16
|
||||||
|
|
||||||
#### Attributes
|
#### Attributes
|
||||||
|
|
||||||
* `.... ..xx` - bits 0 and 1 are an index into `rising_spike_wall_delay_tbl`,
|
* `.... ..xx` - bits 0 and 1 are an index into `rising_spike_wall_delay_tbl`,
|
||||||
|
@ -1111,6 +1209,8 @@ rising spiked wall by using offset 16 into `collision_code_f_adj_tbl`.
|
||||||
|
|
||||||
Similar to Rising Spiked Wall (#$11), but taller and stationary
|
Similar to Rising Spiked Wall (#$11), but taller and stationary
|
||||||
|
|
||||||
|
**ENEMY HP**: 16
|
||||||
|
|
||||||
#### Attributes
|
#### Attributes
|
||||||
|
|
||||||
* `.... ..xx` - index into `spiked_wall_destroyed_data_tbl`
|
* `.... ..xx` - index into `spiked_wall_destroyed_data_tbl`
|
||||||
|
@ -1130,12 +1230,19 @@ rising spiked wall by using offset 16 into `collision_code_f_adj_tbl`.
|
||||||
|
|
||||||
Other Names: Mine Cart Generator
|
Other Names: Mine Cart Generator
|
||||||
|
|
||||||
|
**ENEMY HP**: n/a
|
||||||
|
|
||||||
### 14 - Mining Cart
|
### 14 - Mining Cart
|
||||||
|
|
||||||
Other Names: Moving Cart
|
Other Names: Moving Cart
|
||||||
|
|
||||||
Moving mining cart that can be destroyed.
|
Moving mining cart that can be destroyed.
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
**ENEMY HP**: 3
|
||||||
|
|
||||||
#### Attributes
|
#### Attributes
|
||||||
|
|
||||||
This enemy is only ever created by #$13 (Mining Cart Generator), so enemy
|
This enemy is only ever created by #$13 (Mining Cart Generator), so enemy
|
||||||
|
@ -1151,6 +1258,11 @@ Other Names: Immobile Cart
|
||||||
|
|
||||||
Stationary mining cart that can start moving when a player lands on it
|
Stationary mining cart that can start moving when a player lands on it
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
**ENEMY HP**: 3
|
||||||
|
|
||||||
#### Attributes
|
#### Attributes
|
||||||
|
|
||||||
* #$80 - the cart should be destroyed when colliding with background (only
|
* #$80 - the cart should be destroyed when colliding with background (only
|
||||||
|
@ -1162,12 +1274,16 @@ Stationary mining cart that can start moving when a player lands on it
|
||||||
|
|
||||||
Other Names: Armored Door With Siren
|
Other Names: Armored Door With Siren
|
||||||
|
|
||||||
|
**ENEMY HP**: 32
|
||||||
|
|
||||||
### 17 - Mortar Launcher
|
### 17 - Mortar Launcher
|
||||||
|
|
||||||
Other Names: Boss Mortar
|
Other Names: Boss Mortar
|
||||||
|
|
||||||
Launches mortar shots (enemy type #$0b) on the boss screen.
|
Launches mortar shots (enemy type #$0b) on the boss screen.
|
||||||
|
|
||||||
|
**ENEMY HP**: 8
|
||||||
|
|
||||||
### Attributes
|
### Attributes
|
||||||
|
|
||||||
* `...x` - initial attack delay. bit 0 set is a #$10 delay, bit 0 clear is a
|
* `...x` - initial attack delay. bit 0 set is a #$10 delay, bit 0 clear is a
|
||||||
|
@ -1194,6 +1310,8 @@ one mortar launcher is destroyed, or if 20 waves of soldier attack have
|
||||||
occurred, then even if the player is close to the left side, soldiers will
|
occurred, then even if the player is close to the left side, soldiers will
|
||||||
randomly be generated on the left side.
|
randomly be generated on the left side.
|
||||||
|
|
||||||
|
**ENEMY HP**: n/a
|
||||||
|
|
||||||
#### Logic
|
#### Logic
|
||||||
|
|
||||||
* `ENEMY_VAR_1` - number of soldiers to generate for current attack wave
|
* `ENEMY_VAR_1` - number of soldiers to generate for current attack wave
|
||||||
|
|
|
@ -5519,7 +5519,7 @@ boss_gemini_routine_02:
|
||||||
tay ; transfer random number between 0 and 3 to offset register
|
tay ; transfer random number between 0 and 3 to offset register
|
||||||
lda boss_gemini_attack_delay_tbl,y ; load random attack delay
|
lda boss_gemini_attack_delay_tbl,y ; load random attack delay
|
||||||
sec ; set carry flag in preparation for subtraction
|
sec ; set carry flag in preparation for subtraction
|
||||||
sbc $08 ; subtract multiplied weapon strength from attack delay. the strong the weapon, the shorter the attack delay
|
sbc $08 ; subtract multiplied weapon strength from attack delay. the stronger the weapon, the shorter the attack delay
|
||||||
sta ENEMY_ATTACK_DELAY,x ; set delay between attacks
|
sta ENEMY_ATTACK_DELAY,x ; set delay between attacks
|
||||||
lda #$1d ; a = #$1d (#$1d = spinning bubbles)
|
lda #$1d ; a = #$1d (#$1d = spinning bubbles)
|
||||||
jsr generate_enemy_a ; generate #$1d enemy (spinning bubbles)
|
jsr generate_enemy_a ; generate #$1d enemy (spinning bubbles)
|
||||||
|
@ -5594,7 +5594,7 @@ boss_gemini_routine_02:
|
||||||
; ENEMY_FRAME is #$00, #$01, or #$02, but if ENEMY_VAR_3 is #$01, then #$03 is added so
|
; ENEMY_FRAME is #$00, #$01, or #$02, but if ENEMY_VAR_3 is #$01, then #$03 is added so
|
||||||
; ENEMY_VAR_3 = #$00 -> sprite_68, sprite_69, sprite_6a
|
; ENEMY_VAR_3 = #$00 -> sprite_68, sprite_69, sprite_6a
|
||||||
; ENEMY_VAR_3 = #$01 -> sprite_68, sprite_6b, sprite_6c (hit by bullet, or almost dead, red brain)
|
; ENEMY_VAR_3 = #$01 -> sprite_68, sprite_6b, sprite_6c (hit by bullet, or almost dead, red brain)
|
||||||
; sprite_68, sprite_69, sprite_6b, sprite_6c
|
; sprite_68, sprite_69, sprite_6a, sprite_6b, sprite_6c
|
||||||
boss_gemini_sprite_tbl:
|
boss_gemini_sprite_tbl:
|
||||||
.byte $68,$69,$6a ; ENEMY_VAR_3 is #$00
|
.byte $68,$69,$6a ; ENEMY_VAR_3 is #$00
|
||||||
.byte $68,$6b,$6c ; ENEMY_VAR_3 is #$01
|
.byte $68,$6b,$6c ; ENEMY_VAR_3 is #$01
|
||||||
|
|
Loading…
Reference in New Issue