Merge branch 'DoorDevUnstable' into OverworldShuffleDev
This commit is contained in:
6
Doors.py
6
Doors.py
@@ -1061,8 +1061,10 @@ def create_doors(world, player):
|
|||||||
create_door(player, 'TR Crystaroller Down Stairs', Sprl).dir(Dn, 0x04, 0, HTH).ss(A, 0x12, 0x80, True, True).small_key().pos(0),
|
create_door(player, 'TR Crystaroller Down Stairs', Sprl).dir(Dn, 0x04, 0, HTH).ss(A, 0x12, 0x80, True, True).small_key().pos(0),
|
||||||
create_door(player, 'TR Dark Ride Up Stairs', Sprl).dir(Up, 0xb5, 0, HTH).ss(A, 0x1b, 0x6c),
|
create_door(player, 'TR Dark Ride Up Stairs', Sprl).dir(Up, 0xb5, 0, HTH).ss(A, 0x1b, 0x6c),
|
||||||
create_door(player, 'TR Dark Ride SW', Nrml).dir(So, 0xb5, Left, High).trap(0x4).pos(0).portal(Z, 0x22),
|
create_door(player, 'TR Dark Ride SW', Nrml).dir(So, 0xb5, Left, High).trap(0x4).pos(0).portal(Z, 0x22),
|
||||||
create_door(player, 'TR Dark Ride Path', Lgcl),
|
create_door(player, 'TR Dark Ride Normal Path', Lgcl),
|
||||||
create_door(player, 'TR Dark Ride Ledges Path', Lgcl),
|
create_door(player, 'TR Dark Ride Ledge Path', Lgcl),
|
||||||
|
create_door(player, 'TR Dark Ride Backward Path', Lgcl),
|
||||||
|
create_door(player, 'TR Dark Ride Return Path', Lgcl),
|
||||||
create_door(player, 'TR Dash Bridge NW', Nrml).dir(No, 0xc5, Left, High).pos(1),
|
create_door(player, 'TR Dash Bridge NW', Nrml).dir(No, 0xc5, Left, High).pos(1),
|
||||||
create_door(player, 'TR Dash Bridge SW', Nrml).dir(So, 0xc5, Left, High).pos(2).portal(Z, 0x02),
|
create_door(player, 'TR Dash Bridge SW', Nrml).dir(So, 0xc5, Left, High).pos(2).portal(Z, 0x02),
|
||||||
create_door(player, 'TR Dash Bridge WS', Nrml).dir(We, 0xc5, Bot, High).small_key().pos(0),
|
create_door(player, 'TR Dash Bridge WS', Nrml).dir(We, 0xc5, Bot, High).small_key().pos(0),
|
||||||
|
|||||||
11
ItemList.py
11
ItemList.py
@@ -855,8 +855,8 @@ def customize_shops(world, player):
|
|||||||
if len(choices) > 0:
|
if len(choices) > 0:
|
||||||
shop, idx, loc, item = random.choice(choices)
|
shop, idx, loc, item = random.choice(choices)
|
||||||
upgrade = ItemFactory('Bomb Upgrade (+5)', player)
|
upgrade = ItemFactory('Bomb Upgrade (+5)', player)
|
||||||
up_price = final_price(loc, upgrade.price, world, player)
|
up_price = final_price(loc.name, upgrade.price, world, player)
|
||||||
rep_price = final_price(loc, item.price, world, player)
|
rep_price = final_price(loc.name, item.price, world, player)
|
||||||
shop.add_inventory(idx, upgrade.name, up_price, 6,
|
shop.add_inventory(idx, upgrade.name, up_price, 6,
|
||||||
item.name, rep_price, player=item.player)
|
item.name, rep_price, player=item.player)
|
||||||
loc.item = upgrade
|
loc.item = upgrade
|
||||||
@@ -869,8 +869,8 @@ def customize_shops(world, player):
|
|||||||
if len(choices) > 0:
|
if len(choices) > 0:
|
||||||
shop, idx, loc, item = random.choice(choices)
|
shop, idx, loc, item = random.choice(choices)
|
||||||
upgrade = ItemFactory('Arrow Upgrade (+5)', player)
|
upgrade = ItemFactory('Arrow Upgrade (+5)', player)
|
||||||
up_price = final_price(loc, upgrade.price, world, player)
|
up_price = final_price(loc.name, upgrade.price, world, player)
|
||||||
rep_price = final_price(loc, item.price, world, player)
|
rep_price = final_price(loc.name, item.price, world, player)
|
||||||
shop.add_inventory(idx, upgrade.name, up_price, 6,
|
shop.add_inventory(idx, upgrade.name, up_price, 6,
|
||||||
item.name, rep_price, player=item.player)
|
item.name, rep_price, player=item.player)
|
||||||
loc.item = upgrade
|
loc.item = upgrade
|
||||||
@@ -936,7 +936,8 @@ def balance_prices(world, player):
|
|||||||
slot = shop_to_location_table[loc.parent_region.name].index(loc.name)
|
slot = shop_to_location_table[loc.parent_region.name].index(loc.name)
|
||||||
needed_money += loc.parent_region.shop.inventory[slot]['price']
|
needed_money += loc.parent_region.shop.inventory[slot]['price']
|
||||||
|
|
||||||
target = available_money - needed_money
|
modifier = world.money_balance[player]/100
|
||||||
|
target = available_money - needed_money * modifier
|
||||||
# remove the first set of shops from consideration (or used them for discounting)
|
# remove the first set of shops from consideration (or used them for discounting)
|
||||||
state, done = CollectionState(world), False
|
state, done = CollectionState(world), False
|
||||||
unchecked_locations = world.get_locations().copy()
|
unchecked_locations = world.get_locations().copy()
|
||||||
|
|||||||
2
Main.py
2
Main.py
@@ -40,7 +40,7 @@ from source.enemizer.DamageTables import DamageTable
|
|||||||
from source.enemizer.Enemizer import randomize_enemies
|
from source.enemizer.Enemizer import randomize_enemies
|
||||||
from source.rom.DataTables import init_data_tables
|
from source.rom.DataTables import init_data_tables
|
||||||
|
|
||||||
version_number = '1.4.8'
|
version_number = '1.4.8.1'
|
||||||
version_branch = '-u'
|
version_branch = '-u'
|
||||||
__version__ = f'{version_number}{version_branch}'
|
__version__ = f'{version_number}{version_branch}'
|
||||||
|
|
||||||
|
|||||||
@@ -141,6 +141,10 @@ These are now independent of retro mode and have three options: None, Random, an
|
|||||||
|
|
||||||
# Patch Notes
|
# Patch Notes
|
||||||
|
|
||||||
|
* 1.4.8.1
|
||||||
|
- Fixed broken doors generation
|
||||||
|
- Fixed bomb/arrow upgrade ignoring custom pricing
|
||||||
|
- Extended `money_balance` to apply to price balancing for non-custom shops.
|
||||||
* 1.4.8
|
* 1.4.8
|
||||||
- New option: Mirror Scroll - to add the item to the starting inventory in non-doors modes (Thanks Telethar!)
|
- New option: Mirror Scroll - to add the item to the starting inventory in non-doors modes (Thanks Telethar!)
|
||||||
- Customizer: Ability to customize shop prices and control money balancing. `money_balance` is a percentage betwen 0 and 100 that attempts to ensure you have that much percentage of money available for purchases. (100 is default, 0 essentially ignores money considerations)
|
- Customizer: Ability to customize shop prices and control money balancing. `money_balance` is a percentage betwen 0 and 100 that attempts to ensure you have that much percentage of money available for purchases. (100 is default, 0 essentially ignores money considerations)
|
||||||
|
|||||||
@@ -46,6 +46,13 @@ Player 1's settings will be determined by rolling the mystery weights and player
|
|||||||
|
|
||||||
Start inventory is not supported here. It has a separate section.
|
Start inventory is not supported here. It has a separate section.
|
||||||
|
|
||||||
|
#### Extra Settings
|
||||||
|
|
||||||
|
Some settings are intended to only be accessed using the customizer:
|
||||||
|
|
||||||
|
* `aga_randomness` setting this to false, turns off blue balls and ganon warp randomness
|
||||||
|
* `money_balance` this is a percent (0-100). For numbers less than 100, both price balancing and money balancing will only attempt to ensure the player has access to only a percentage of the required funds. When 0, this should effectively disable money balancing. Grinding for rupees may be necessary whenever this is less than 100.
|
||||||
|
|
||||||
###### Not Yet Implemented
|
###### Not Yet Implemented
|
||||||
|
|
||||||
Rom/Adjust flags like sprite, quickswap are not outputing with the print_template_yaml or print_custom_yaml settings
|
Rom/Adjust flags like sprite, quickswap are not outputing with the print_template_yaml or print_custom_yaml settings
|
||||||
@@ -309,4 +316,19 @@ drops:
|
|||||||
Fish: Big Magic
|
Fish: Big Magic
|
||||||
```
|
```
|
||||||
|
|
||||||
Prize packs expect a list of eight items each (anything not specified will be whatever randomization would have normally occurred). The special drops expect a single item. Packs 1 through 7 are supported. Prize pack 0 is not customizable.
|
Prize packs expect a list of eight items each (anything not specified will be whatever randomization would have normally occurred). The special drops expect a single item. Packs 1 through 7 are supported. Prize pack 0 is not customizable.
|
||||||
|
|
||||||
|
## prices
|
||||||
|
|
||||||
|
This must be defined by player. You may have the prices of items in shops defined using the following
|
||||||
|
|
||||||
|
```
|
||||||
|
prices:
|
||||||
|
1:
|
||||||
|
Capacity Upgrade - Left: 100
|
||||||
|
Capacity Upgrade - Right: 200
|
||||||
|
Dark Death Mountain Shop - Left: 100
|
||||||
|
Dark Death Mountain Shop - Middle: 150
|
||||||
|
Dark Death Mountain Shop - Right: 300
|
||||||
|
Dark Lake Hylia Shop - Left: 200
|
||||||
|
```
|
||||||
@@ -166,6 +166,10 @@ bosses:
|
|||||||
Palace of Darkness: Arrghus
|
Palace of Darkness: Arrghus
|
||||||
Thieves Town: Blind
|
Thieves Town: Blind
|
||||||
Ganons Tower (top): Vitreous
|
Ganons Tower (top): Vitreous
|
||||||
|
prices:
|
||||||
|
1:
|
||||||
|
Capacity Upgrade - Left: 5
|
||||||
|
Capacity Upgrade - Right: 216
|
||||||
start_inventory:
|
start_inventory:
|
||||||
1:
|
1:
|
||||||
- Pegasus Boots
|
- Pegasus Boots
|
||||||
|
|||||||
Reference in New Issue
Block a user