Mimic work
This commit is contained in:
@@ -268,6 +268,8 @@ class EnemySprite(FastEnum):
|
||||
HeartPiece = 0xeb
|
||||
SomariaPlatform = 0xed
|
||||
CastleMantle = 0xee
|
||||
GreenMimic = 0xef
|
||||
RedMimic = 0xf0
|
||||
MedallionTablet = 0xf2
|
||||
PositionTarget = 0xf3
|
||||
Boulders = 0xf4
|
||||
@@ -387,7 +389,7 @@ def init_enemy_stats():
|
||||
EnemySprite.CannonTrooper: EnemyStats(EnemySprite.CannonTrooper, False, True, 1, health=3, dmg=1),
|
||||
EnemySprite.CricketRat: EnemyStats(EnemySprite.CricketRat, False, True, 2, health=(2, 8), dmg=(0, 5)),
|
||||
EnemySprite.Snake: EnemyStats(EnemySprite.Snake, False, True, (1, 7), health=(4, 8), dmg=(1, 5)),
|
||||
EnemySprite.Keese: EnemyStats(EnemySprite.Keese, False, True, (0, 7), health=(1, 4), ignore=True,
|
||||
EnemySprite.Keese: EnemyStats(EnemySprite.Keese, False, False, (0, 7), health=(1, 4), ignore=True,
|
||||
dmg=(0, 5), dmask=0x80),
|
||||
|
||||
# skip helmafireball for damage
|
||||
@@ -495,6 +497,8 @@ def init_enemy_stats():
|
||||
EnemySprite.MagicShopAssistant: EnemyStats(EnemySprite.MagicShopAssistant, True, ignore=True, dmg=0),
|
||||
EnemySprite.HeartPiece: EnemyStats(EnemySprite.HeartPiece, True, ignore=True, dmg=0),
|
||||
EnemySprite.CastleMantle: EnemyStats(EnemySprite.CastleMantle, True, dmg=0),
|
||||
EnemySprite.GreenMimic: EnemyStats(EnemySprite.GreenMimic, False, True, 5, health=16, dmg=4),
|
||||
EnemySprite.RedMimic: EnemyStats(EnemySprite.RedMimic, False, True, 5, health=8, dmg=4),
|
||||
}
|
||||
return stats
|
||||
|
||||
@@ -2346,8 +2350,8 @@ enemy_names = {
|
||||
0x80: 'Firesnake',
|
||||
0x81: 'Hover',
|
||||
0x82: 'AntiFairyCircle',
|
||||
0x83: 'GreenEyegoreMimic',
|
||||
0x84: 'RedEyegoreMimic',
|
||||
0x83: 'GreenEyegore',
|
||||
0x84: 'RedEyegore',
|
||||
0x85: 'YellowStalfos', # falling stalfos that shoots head
|
||||
0x86: 'Kodongo',
|
||||
0x88: 'Mothula',
|
||||
@@ -2444,6 +2448,8 @@ enemy_names = {
|
||||
0xeb: 'HeartPiece',
|
||||
0xed: 'SomariaPlatform',
|
||||
0xee: 'CastleMantle',
|
||||
0xef: 'GreenMimic',
|
||||
0xf0: 'RedMimic',
|
||||
0xf2: 'MedallionTablet',
|
||||
0xf3: 'PositionTarget',
|
||||
0xf4: 'Boulders'
|
||||
@@ -2513,6 +2519,7 @@ sprite_translation = {
|
||||
'GreenEyegoreMimic': EnemySprite.GreenEyegoreMimic,
|
||||
'GreenGuard': EnemySprite.GreenGuard,
|
||||
'GreenKnifeGuard': EnemySprite.GreenKnifeGuard,
|
||||
'GreenMimic': EnemySprite.GreenMimic,
|
||||
'GreenZirro': EnemySprite.GreenZirro,
|
||||
'HardhatBeetle': EnemySprite.HardhatBeetle,
|
||||
'Hinox': EnemySprite.Hinox,
|
||||
@@ -2542,6 +2549,7 @@ sprite_translation = {
|
||||
'RedBushGuard': EnemySprite.RedBushGuard,
|
||||
'RedEyegoreMimic': EnemySprite.RedEyegoreMimic,
|
||||
'RedJavelinGuard': EnemySprite.RedJavelinGuard,
|
||||
'RedMimic': EnemySprite.RedMimic,
|
||||
'RedSpearGuard': EnemySprite.RedSpearGuard,
|
||||
'RedZazak': EnemySprite.RedZazak,
|
||||
'Ropa': EnemySprite.Ropa,
|
||||
|
||||
@@ -463,6 +463,9 @@ def write_enemy_shuffle_settings(world, player, rom):
|
||||
if world.dropshuffle[player] in ['underworld']:
|
||||
rom.write_byte(snes_to_pc(0x368109), 0x01)
|
||||
if world.enemy_shuffle[player] != 'none':
|
||||
# enable new mimics
|
||||
rom.write_byte(snes_to_pc(0x368105), 0x01)
|
||||
|
||||
# killable thief
|
||||
rom.write_byte(snes_to_pc(0x368108), 0xc4)
|
||||
rom.write_byte(snes_to_pc(0x0DB237), 4) # health value: # todo: thief health value
|
||||
|
||||
@@ -360,6 +360,8 @@ def init_sprite_requirements():
|
||||
SpriteRequirement(EnemySprite.MagicShopAssistant).affix().sub_group(0, 0x4b).sub_group(3, 0x5a),
|
||||
SpriteRequirement(EnemySprite.SomariaPlatform).affix().sub_group(2, 0x27),
|
||||
SpriteRequirement(EnemySprite.CastleMantle).affix().sub_group(0, 0x5d),
|
||||
SpriteRequirement(EnemySprite.GreenMimic).sub_group(1, 0x2c),
|
||||
SpriteRequirement(EnemySprite.RedMimic).sub_group(1, 0x2c),
|
||||
SpriteRequirement(EnemySprite.MedallionTablet).affix().sub_group(2, 0x12),
|
||||
|
||||
# overlord requirements - encapsulated mostly in the required sheets
|
||||
|
||||
@@ -300,3 +300,5 @@ SubClassTable:
|
||||
0xD5: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
||||
0xD6: [0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
||||
0xD7: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0]
|
||||
0xEF: [0, 1, 1, 2, 2, 1, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0]
|
||||
0xF0: [0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0]
|
||||
|
||||
@@ -38,6 +38,7 @@ UW: # Total 94431
|
||||
Gibo: 294 # 0.33993% raw:321 2.84071%
|
||||
GreenBushGuard: 325 # 0.30816% raw:291 2.57522%
|
||||
GreenEyegoreMimic: 175 # 0.57291% raw:541 4.78761%
|
||||
GreenMimic: 175 # 0.57291% raw:541 4.78761%
|
||||
GreenGuard: 55 # 1.80237% raw:1702 15.06195%
|
||||
GreenKnifeGuard: 621 # 0.16096% raw:152 1.34513%
|
||||
GreenZirro: 180 # 0.55702% raw:526 4.65487%
|
||||
@@ -68,6 +69,7 @@ UW: # Total 94431
|
||||
RedBari: 49 # 2.02688% raw:1914 16.93805%
|
||||
RedBushGuard: 163 # 0.61526% raw:581 5.14159%
|
||||
RedEyegoreMimic: 175 # 0.57291% raw:541 4.78761%
|
||||
RedMimic: 175 # 0.57291% raw:541 4.78761%
|
||||
RedJavelinGuard: 163 # 0.61526% raw:581 5.14159%
|
||||
RedSpearGuard: 44 # 2.28527% raw:2158 19.09735%
|
||||
RedZazak: 294 # 0.33993% raw:321 2.84071%
|
||||
@@ -137,6 +139,7 @@ OW: # Total 117724
|
||||
Gibo: 247 # 0.40519% raw:477 4.22124%
|
||||
GreenBushGuard: 291 # 0.34403% raw:405 3.58407%
|
||||
GreenEyegoreMimic: 171 # 0.58527% raw:689 6.09735%
|
||||
GreenMimic: 171 # 0.58527% raw:689 6.09735%
|
||||
GreenGuard: 48 # 2.06330% raw:2429 21.49558%
|
||||
GreenKnifeGuard: 589 # 0.16989% raw:200 1.76991%
|
||||
GreenZirro: 158 # 0.63369% raw:746 6.60177%
|
||||
@@ -167,6 +170,7 @@ OW: # Total 117724
|
||||
RedBari: 47 # 2.11767% raw:2493 22.06195%
|
||||
RedBushGuard: 121 # 0.82651% raw:973 8.61062%
|
||||
RedEyegoreMimic: 171 # 0.58527% raw:689 6.09735%
|
||||
RedMimic: 171 # 0.58527% raw:689 6.09735%
|
||||
RedJavelinGuard: 121 # 0.82651% raw:973 8.61062%
|
||||
RedSpearGuard: 39 # 2.56617% raw:3021 26.73451%
|
||||
RedZazak: 247 # 0.40519% raw:477 4.22124%
|
||||
|
||||
@@ -65,7 +65,7 @@ SheetChoices:
|
||||
- slots: [1]
|
||||
assignments:
|
||||
1: 0x2c
|
||||
weight: 2 # Beamos, Popos
|
||||
weight: 4 # Beamos, Popos, Mimics (2)
|
||||
- slots: [1]
|
||||
assignments:
|
||||
1: 0x49
|
||||
@@ -131,7 +131,7 @@ SheetChoices:
|
||||
- slots: [2]
|
||||
assignments:
|
||||
2: 0x2e
|
||||
weight: 4 # GreenEyeGoreMimic(x2!), RedEyeGoreMimic(x2!)
|
||||
weight: 2 # GreenEyeGoreMimic, RedEyeGoreMimic (Eyegores only)
|
||||
|
||||
# Slot 3 (21 enemy types require slot 3)
|
||||
- slots: [3]
|
||||
|
||||
Reference in New Issue
Block a user