 5935093615
			
		
	
	5935093615
	
	
	
		
			
			* Commit for PR * Commit for PR * Update worlds/mlss/Client.py Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com> * Update worlds/mlss/__init__.py Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com> * Update worlds/mlss/__init__.py Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com> * Update worlds/mlss/docs/setup_en.md Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com> * Remove deprecated import. Updated settings and romfile syntax * Updated Options to new system. Changed all references from MultiWorld to World * Changed switch statements to if else * Update en_Mario & Luigi Superstar Saga.md * Updated client.py * Update Client.py * Update worlds/mlss/docs/en_Mario & Luigi Superstar Saga.md Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * Updated logic, Updated patch implementation, Removed unused imports, Cleaned up Code * Update __init__.py * Changed reference from world to mlssworld * Update worlds/mlss/docs/en_Mario & Luigi Superstar Saga.md Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * Update worlds/mlss/docs/en_Mario & Luigi Superstar Saga.md Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * Update worlds/mlss/docs/en_Mario & Luigi Superstar Saga.md Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * Update worlds/mlss/docs/en_Mario & Luigi Superstar Saga.md Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * Update worlds/mlss/docs/en_Mario & Luigi Superstar Saga.md Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * Update worlds/mlss/docs/en_Mario & Luigi Superstar Saga.md Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * Fix merge conflict + update prep * v1.2 * Leftover print commands * Update basepatch.bsdiff * Update basepatch.bsdiff * v1.3 * Update Rom.py * Change tracker locations to serverside, no longer locations. Various code cleanup and logic changes. * Event removal continuation. * Partial Implementation of APPP (Incomplete)) * v1.4 Implemented APPP * Docs Updated * Update Rom.py * Update setup_en.md * Update Rom.py * Update Rules.py * Fix for APPP being broken on webhost * Update Rom.py * Update Rom.py * Location name fixes + pants color fixes * Update Rules.py * Fix for ultra hammer cutscene * Fixed compat. issues with python ver. 3.8 * Updated hidden block yaml option * pre-v1.5 * Update Client.py * Update basepatch.bsdiff * v1.5 * Update XP multiplier to have a minimum of 0 * Update 'Beanfruit' to 'Bean Fruit' * v1.6 * Update Rom.py * Update basepatch.bsdiff * Initial review refactor * Revert state logic changes. Continuation of refactor. * Fixed failed generations. Finished refactor. * Reworked colors. Removed all .txt files * Actually removed the .txt files this time * Update Rom.py * Update README.md Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update worlds/mlss/Options.py Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update worlds/mlss/Client.py Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update worlds/mlss/docs/en_Mario & Luigi Superstar Saga.md Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update worlds/mlss/__init__.py Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update worlds/mlss/docs/en_Mario & Luigi Superstar Saga.md Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update worlds/mlss/Data.py Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Review refactor. * Update README.md Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update worlds/mlss/Rules.py Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Add coin blocks to LocationName * Refactor. * Update Items.py * Delete mlss.apworld * Small asm bugfix * Update basepatch.bsdiff * Client sends less messages to server * Update basepatch.bsdiff --------- Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com> Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
		
			
				
	
	
		
			156 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			156 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| def canDig(state, player):
 | |
|     return state.has("Green Goblet", player) and state.has("Hammers", player)
 | |
| 
 | |
| 
 | |
| def canMini(state, player):
 | |
|     return state.has("Red Goblet", player) and state.has("Hammers", player)
 | |
| 
 | |
| 
 | |
| def canDash(state, player):
 | |
|     return state.has("Red Pearl Bean", player) and state.has("Firebrand", player)
 | |
| 
 | |
| 
 | |
| def canCrash(state, player):
 | |
|     return state.has("Green Pearl Bean", player) and state.has("Thunderhand", player)
 | |
| 
 | |
| 
 | |
| def hammers(state, player):
 | |
|     return state.has("Hammers", player)
 | |
| 
 | |
| 
 | |
| def super(state, player):
 | |
|     return state.has("Hammers", player, 2)
 | |
| 
 | |
| 
 | |
| def ultra(state, player):
 | |
|     return state.has("Hammers", player, 3)
 | |
| 
 | |
| 
 | |
| def fruits(state, player):
 | |
|     return (
 | |
|         state.has("Red Chuckola Fruit", player)
 | |
|         and state.has("Purple Chuckola Fruit", player)
 | |
|         and state.has("White Chuckola Fruit", player)
 | |
|     )
 | |
| 
 | |
| 
 | |
| def pieces(state, player):
 | |
|     return (
 | |
|         state.has("Beanstar Piece 1", player)
 | |
|         and state.has("Beanstar Piece 2", player)
 | |
|         and state.has("Beanstar Piece 3", player)
 | |
|         and state.has("Beanstar Piece 4", player)
 | |
|     )
 | |
| 
 | |
| 
 | |
| def neon(state, player):
 | |
|     return (
 | |
|         state.has("Blue Neon Egg", player)
 | |
|         and state.has("Red Neon Egg", player)
 | |
|         and state.has("Green Neon Egg", player)
 | |
|         and state.has("Yellow Neon Egg", player)
 | |
|         and state.has("Purple Neon Egg", player)
 | |
|         and state.has("Orange Neon Egg", player)
 | |
|         and state.has("Azure Neon Egg", player)
 | |
|     )
 | |
| 
 | |
| 
 | |
| def spangle(state, player):
 | |
|     return state.has("Spangle", player)
 | |
| 
 | |
| 
 | |
| def rose(state, player):
 | |
|     return state.has("Peasley's Rose", player)
 | |
| 
 | |
| 
 | |
| def brooch(state, player):
 | |
|     return state.has("Beanbean Brooch", player)
 | |
| 
 | |
| 
 | |
| def thunder(state, player):
 | |
|     return state.has("Thunderhand", player)
 | |
| 
 | |
| 
 | |
| def fire(state, player):
 | |
|     return state.has("Firebrand", player)
 | |
| 
 | |
| 
 | |
| def dressBeanstar(state, player):
 | |
|     return state.has("Peach's Extra Dress", player) and state.has("Fake Beanstar", player)
 | |
| 
 | |
| 
 | |
| def membership(state, player):
 | |
|     return state.has("Membership Card", player)
 | |
| 
 | |
| 
 | |
| def winkle(state, player):
 | |
|     return state.has("Winkle Card", player)
 | |
| 
 | |
| 
 | |
| def beanFruit(state, player):
 | |
|     return (
 | |
|         state.has("Bean Fruit 1", player)
 | |
|         and state.has("Bean Fruit 2", player)
 | |
|         and state.has("Bean Fruit 3", player)
 | |
|         and state.has("Bean Fruit 4", player)
 | |
|         and state.has("Bean Fruit 5", player)
 | |
|         and state.has("Bean Fruit 6", player)
 | |
|         and state.has("Bean Fruit 7", player)
 | |
|     )
 | |
| 
 | |
| 
 | |
| def surfable(state, player):
 | |
|     return ultra(state, player) and (
 | |
|         (canDig(state, player) and canMini(state, player)) or (membership(state, player) and fire(state, player))
 | |
|     )
 | |
| 
 | |
| 
 | |
| def postJokes(state, player):
 | |
|     return (
 | |
|         surfable(state, player)
 | |
|         and canDig(state, player)
 | |
|         and dressBeanstar(state, player)
 | |
|         and pieces(state, player)
 | |
|         and fruits(state, player)
 | |
|         and brooch(state, player)
 | |
|         and rose(state, player)
 | |
|         and canDash(state, player)
 | |
|     )
 | |
| 
 | |
| 
 | |
| def teehee(state, player):
 | |
|     return super(state, player) or canDash(state, player)
 | |
| 
 | |
| 
 | |
| def castleTown(state, player):
 | |
|     return fruits(state, player) and brooch(state, player)
 | |
| 
 | |
| 
 | |
| def fungitown(state, player):
 | |
|     return (
 | |
|         castleTown(state, player)
 | |
|         and thunder(state, player)
 | |
|         and rose(state, player)
 | |
|         and (super(state, player) or canDash(state, player))
 | |
|     )
 | |
| 
 | |
| 
 | |
| def piranha_shop(state, player):
 | |
|     return state.can_reach("Shop Mom Piranha Flag", "Region", player)
 | |
| 
 | |
| 
 | |
| def fungitown_shop(state, player):
 | |
|     return state.can_reach("Shop Enter Fungitown Flag", "Region", player)
 | |
| 
 | |
| 
 | |
| def star_shop(state, player):
 | |
|     return state.can_reach("Shop Beanstar Complete Flag", "Region", player)
 | |
| 
 | |
| 
 | |
| def birdo_shop(state, player):
 | |
|     return state.can_reach("Shop Birdo Flag", "Region", player)
 | |
| 
 | |
| 
 | |
| def fungitown_birdo_shop(state, player):
 | |
|     return state.can_reach("Fungitown Shop Birdo Flag", "Region", player)
 |