mirror of
				https://github.com/MarioSpore/Grinch-AP.git
				synced 2025-10-21 20:21:32 -06:00 
			
		
		
		
	lufia2ac: use an appropriate dungeon sprite and battle theme for each boss (#1914)
This commit is contained in:
		| @@ -174,6 +174,39 @@ class Boss(RandomGroupsChoice): | ||||
|     option_master = 0x26 | ||||
|     default = option_master | ||||
|  | ||||
|     _sprite: Dict[int, int] = { | ||||
|         option_lizard_man: 0x9E, | ||||
|         option_big_catfish: 0xC5, | ||||
|         option_regal_goblin: 0x9D, | ||||
|         option_follower_x2: 0x76, | ||||
|         option_camu: 0x75, | ||||
|         option_tarantula: 0xC6, | ||||
|         option_pierre: 0x77, | ||||
|         option_daniele: 0x78, | ||||
|         option_gades_a: 0x7A, | ||||
|         option_mummy_x4: 0xA8, | ||||
|         option_troll_x3: 0xA9, | ||||
|         option_gades_b: 0x7A, | ||||
|         option_idura_a: 0x74, | ||||
|         option_lion_x2: 0xB7, | ||||
|         option_idura_b: 0x74, | ||||
|         option_idura_c: 0x74, | ||||
|         option_rogue_flower: 0x96, | ||||
|         option_soldier_x4: 0x18, | ||||
|         option_gargoyle_x4: 0xC4, | ||||
|         option_venge_ghost: 0xD0, | ||||
|         option_white_dragon_x3: 0xC3, | ||||
|         option_fire_dragon: 0xC0, | ||||
|         option_ghost_ship: 0xC8, | ||||
|         option_tank: 0xC7, | ||||
|         option_gades_c: 0x7A, | ||||
|         option_amon: 0x79, | ||||
|         option_erim: 0x38, | ||||
|         option_daos: 0x7B, | ||||
|         option_egg_dragon: 0xC0, | ||||
|         option_master: 0x94, | ||||
|     } | ||||
|  | ||||
|     random_groups = { | ||||
|         "random-low": ["lizard_man", "big_catfish", "regal_goblin", "follower_x2", "camu", "tarantula", "pierre", | ||||
|                        "daniele", "mummy_x4", "troll_x3"], | ||||
| @@ -187,6 +220,15 @@ class Boss(RandomGroupsChoice): | ||||
|     def flag(self) -> int: | ||||
|         return 0xFE if self.value == Boss.option_master else 0xFF | ||||
|  | ||||
|     @property | ||||
|     def music(self) -> int: | ||||
|         return 0x1B if self.value in {Boss.option_master, Boss.option_gades_a, Boss.option_gades_b, Boss.option_gades_c, | ||||
|                                       Boss.option_amon, Boss.option_erim, Boss.option_daos} else 0x19 | ||||
|  | ||||
|     @property | ||||
|     def sprite(self) -> int: | ||||
|         return Boss._sprite[self.value] | ||||
|  | ||||
|  | ||||
| class CapsuleCravingsJPStyle(Toggle): | ||||
|     """Make capsule monster cravings behave as in the Japanese version. | ||||
|   | ||||
| @@ -207,8 +207,10 @@ class L2ACWorld(World): | ||||
|                 rom_bytearray[offset:offset + 1] = self.o.party_starting_level.value.to_bytes(1, "little") | ||||
|             for offset in range(0x02B39A, 0x02B457, 0x1B): | ||||
|                 rom_bytearray[offset:offset + 3] = self.o.party_starting_level.xp.to_bytes(3, "little") | ||||
|             rom_bytearray[0x03AE49:0x03AE49 + 1] = self.o.boss.sprite.to_bytes(1, "little") | ||||
|             rom_bytearray[0x05699E:0x05699E + 147] = self.get_goal_text_bytes() | ||||
|             rom_bytearray[0x056AA3:0x056AA3 + 24] = self.o.default_party.event_script | ||||
|             rom_bytearray[0x072740:0x072740 + 1] = self.o.boss.music.to_bytes(1, "little") | ||||
|             rom_bytearray[0x072742:0x072742 + 1] = self.o.boss.value.to_bytes(1, "little") | ||||
|             rom_bytearray[0x072748:0x072748 + 1] = self.o.boss.flag.to_bytes(1, "little") | ||||
|             rom_bytearray[0x09D59B:0x09D59B + 256] = self.get_node_connection_table() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 el-u
					el-u