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
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
**ENEMY HP**: 10
|
||||
|
||||
No attributes exist for this enemy.
|
||||
|
||||
#### 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.
|
||||
|
||||
* `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_2` - timer after being hit - #$10 down to #$00
|
||||
* `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.
|
||||
* `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_Y_VELOCITY_FRACT` to move gemini by 1 every #$02 frames
|
||||
* `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
|
||||
seeks (#$13), then the bubble pair will continue in last direction.
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
**ENEMY HP**: 1
|
||||
|
||||
#### Attributes
|
||||
|
||||
* `.... .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
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
**ENEMY HP**: 1
|
||||
|
||||
#### Attributes
|
||||
|
||||
* `.... ..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
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
**ENEMY HP**: 1
|
||||
|
||||
#### Attributes
|
||||
|
||||
* `.... ..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
|
||||
|
||||
**ENEMY HP**: n/a
|
||||
|
||||
Generates Garth and Rangel enemies following a pattern specified in
|
||||
`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
|
||||
very similar to the moving flame enemy, which is also in the vertical level.
|
||||
|
||||

|
||||
|
||||
**ENEMY HP**: n/a
|
||||
|
||||
#### Attributes
|
||||
|
||||
* `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
|
||||
floating rock platform enemy, which is also in the vertical level
|
||||
|
||||

|
||||
|
||||
**ENEMY HP**: n/a
|
||||
|
||||
#### Attributes
|
||||
|
||||
* `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
|
||||
|
||||
**ENEMY HP**: n/a
|
||||
|
||||
### 13 - Falling Rock
|
||||
|
||||
Other Names: Boulder
|
||||
|
||||

|
||||
|
||||
**ENEMY HP**: n/a
|
||||
|
||||
#### Logic
|
||||
|
||||
* `ENEMY_VAR_1` - y position of most recent ground collision
|
||||
|
@ -832,6 +883,8 @@ Other Names: Boulder
|
|||
|
||||
Other Names: Boss Mouth, Gromaides
|
||||
|
||||
**ENEMY HP**: 32
|
||||
|
||||
#### Logic
|
||||
|
||||
* `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
|
||||
game.
|
||||
|
||||

|
||||

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

|
||||

|
||||

|
||||

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

|
||||
|
||||
**ENEMY HP**: n/a
|
||||
|
||||
No attributes exist for this enemy.
|
||||
|
||||
### 14 - Alien Carrier
|
||||
|
||||
Other Names: Guldaf, Boss UFO
|
||||
|
||||
**ENEMY HP**: 32
|
||||
|
||||
No attributes exist for this enemy.
|
||||
|
||||
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.
|
||||
|
||||
#### Logic
|
||||
|
@ -972,6 +1047,12 @@ create a fading in effect.
|
|||
|
||||
Other Names: Mini UFO
|
||||
|
||||

|
||||

|
||||

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

|
||||
|
||||
**ENEMY HP**: 1
|
||||
|
||||
## Level 6 - Energy Zone
|
||||
|
||||
### 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,
|
||||
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
|
||||
```
|
||||
|
||||
| Weapon | Strength |
|
||||
|---------|----------|
|
||||
| Default | 0 |
|
||||
| M | 2 |
|
||||
| F | 1 |
|
||||
| S | 3 |
|
||||
| L | 2 |
|
||||
| Weapon | Strength | HP |
|
||||
|---------|----------|----|
|
||||
| Default | 0 | 64 |
|
||||
| M | 2 | 80 |
|
||||
| F | 1 | 72 |
|
||||
| S | 3 | 88 |
|
||||
| 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
|
||||
|
||||
|
@ -1054,6 +1148,8 @@ Other Names: Saucer, Spiked Disk Projectile
|
|||
|
||||
Other Names: Moving Claw
|
||||
|
||||
**ENEMY HP**: n/a
|
||||
|
||||
Mechanical claw similar to arcade claw machines
|
||||
|
||||
#### Attributes
|
||||
|
@ -1082,6 +1178,8 @@ Other Names: Spiked Wall
|
|||
|
||||
A spiked wall that rises from the ground in front of the player
|
||||
|
||||
**ENEMY HP**: 16
|
||||
|
||||
#### Attributes
|
||||
|
||||
* `.... ..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
|
||||
|
||||
**ENEMY HP**: 16
|
||||
|
||||
#### Attributes
|
||||
|
||||
* `.... ..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
|
||||
|
||||
**ENEMY HP**: n/a
|
||||
|
||||
### 14 - Mining Cart
|
||||
|
||||
Other Names: Moving Cart
|
||||
|
||||
Moving mining cart that can be destroyed.
|
||||
|
||||

|
||||

|
||||
|
||||
**ENEMY HP**: 3
|
||||
|
||||
#### Attributes
|
||||
|
||||
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
|
||||
|
||||

|
||||

|
||||
|
||||
**ENEMY HP**: 3
|
||||
|
||||
#### Attributes
|
||||
|
||||
* #$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
|
||||
|
||||
**ENEMY HP**: 32
|
||||
|
||||
### 17 - Mortar Launcher
|
||||
|
||||
Other Names: Boss Mortar
|
||||
|
||||
Launches mortar shots (enemy type #$0b) on the boss screen.
|
||||
|
||||
**ENEMY HP**: 8
|
||||
|
||||
### Attributes
|
||||
|
||||
* `...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
|
||||
randomly be generated on the left side.
|
||||
|
||||
**ENEMY HP**: n/a
|
||||
|
||||
#### Logic
|
||||
|
||||
* `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
|
||||
lda boss_gemini_attack_delay_tbl,y ; load random attack delay
|
||||
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
|
||||
lda #$1d ; a = #$1d (#$1d = 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_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)
|
||||
; sprite_68, sprite_69, sprite_6b, sprite_6c
|
||||
; sprite_68, sprite_69, sprite_6a, sprite_6b, sprite_6c
|
||||
boss_gemini_sprite_tbl:
|
||||
.byte $68,$69,$6a ; ENEMY_VAR_3 is #$00
|
||||
.byte $68,$6b,$6c ; ENEMY_VAR_3 is #$01
|
||||
|
|
Loading…
Reference in New Issue