Stardew Valley: Add walnutsanity prefix to locations (#4934)

This commit is contained in:
Jérémie Bolduc
2025-07-16 11:57:06 -04:00
committed by GitHub
parent 4a43a6ae13
commit 604ab79af9
3 changed files with 231 additions and 206 deletions

View File

@@ -2316,100 +2316,100 @@ id,region,name,tags,mod_name
4069,Museum,Read Note From Gunther,"BOOKSANITY,BOOKSANITY_LOST",
4070,Museum,Read Goblins by M. Jasper,"BOOKSANITY,BOOKSANITY_LOST",
4071,Museum,Read Secret Statues Acrostics,"BOOKSANITY,BOOKSANITY_LOST",
4101,Clint's Blacksmith,Open Golden Coconut,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4102,Island West,Fishing Walnut 1,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4103,Island West,Fishing Walnut 2,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4104,Island North,Fishing Walnut 3,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4105,Island North,Fishing Walnut 4,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4106,Island Southeast,Fishing Walnut 5,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4107,Island East,Jungle Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4108,Island East,Banana Altar,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4109,Leo's Hut,Leo's Tree,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4110,Island Shrine,Gem Birds Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4111,Island Shrine,Gem Birds Shrine,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4112,Island West,Harvesting Walnut 1,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4113,Island West,Harvesting Walnut 2,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4114,Island West,Harvesting Walnut 3,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4115,Island West,Harvesting Walnut 4,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4116,Island West,Harvesting Walnut 5,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4117,Gourmand Frog Cave,Gourmand Frog Melon,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4118,Gourmand Frog Cave,Gourmand Frog Wheat,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4119,Gourmand Frog Cave,Gourmand Frog Garlic,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4120,Island West,Journal Scrap #6,"WALNUTSANITY,WALNUTSANITY_DIG",
4121,Island West,Mussel Node Walnut 1,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4122,Island West,Mussel Node Walnut 2,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4123,Island West,Mussel Node Walnut 3,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4124,Island West,Mussel Node Walnut 4,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4125,Island West,Mussel Node Walnut 5,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4126,Shipwreck,Shipwreck Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4127,Island West,Whack A Mole,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4128,Island West,Starfish Triangle,"WALNUTSANITY,WALNUTSANITY_DIG",
4129,Island West,Starfish Diamond,"WALNUTSANITY,WALNUTSANITY_DIG",
4130,Island West,X in the sand,"WALNUTSANITY,WALNUTSANITY_DIG",
4131,Island West,Diamond Of Indents,"WALNUTSANITY,WALNUTSANITY_DIG",
4132,Island West,Bush Behind Coconut Tree,"WALNUTSANITY,WALNUTSANITY_BUSH",
4133,Island West,Journal Scrap #4,"WALNUTSANITY,WALNUTSANITY_DIG",
4134,Island West,Walnut Room Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4135,Island West,Coast Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4136,Island West,Tiger Slime Walnut,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4137,Island West,Bush Behind Mahogany Tree,"WALNUTSANITY,WALNUTSANITY_BUSH",
4138,Island West,Circle Of Grass,"WALNUTSANITY,WALNUTSANITY_DIG",
4139,Island West,Below Colored Crystals Cave Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4140,Colored Crystals Cave,Colored Crystals,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4141,Island West,Cliff Edge Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4142,Island West,Diamond Of Pebbles,"WALNUTSANITY,WALNUTSANITY_DIG",
4143,Island West,Farm Parrot Express Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4144,Island West,Farmhouse Cliff Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4145,Island North,Big Circle Of Stones,"WALNUTSANITY,WALNUTSANITY_DIG",
4146,Island North,Grove Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4147,Island North,Diamond Of Grass,"WALNUTSANITY,WALNUTSANITY_DIG",
4148,Island North,Small Circle Of Stones,"WALNUTSANITY,WALNUTSANITY_DIG",
4149,Island North,Patch Of Sand,"WALNUTSANITY,WALNUTSANITY_DIG",
4150,Dig Site,Crooked Circle Of Stones,"WALNUTSANITY,WALNUTSANITY_DIG",
4151,Dig Site,Above Dig Site Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4152,Dig Site,Above Field Office Bush 1,"WALNUTSANITY,WALNUTSANITY_BUSH",
4153,Dig Site,Above Field Office Bush 2,"WALNUTSANITY,WALNUTSANITY_BUSH",
4154,Field Office,Complete Large Animal Collection,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4155,Field Office,Complete Snake Collection,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4156,Field Office,Complete Mummified Frog Collection,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4157,Field Office,Complete Mummified Bat Collection,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4158,Field Office,Purple Flowers Island Survey,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4159,Field Office,Purple Starfish Island Survey,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4160,Island North,Bush Behind Volcano Tree,"WALNUTSANITY,WALNUTSANITY_BUSH",
4161,Island North,Arc Of Stones,"WALNUTSANITY,WALNUTSANITY_DIG",
4162,Island North,Protruding Tree Walnut,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4163,Island North,Journal Scrap #10,"WALNUTSANITY,WALNUTSANITY_DIG",
4164,Island North,Northmost Point Circle Of Stones,"WALNUTSANITY,WALNUTSANITY_DIG",
4165,Island North,Hidden Passage Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4166,Volcano Secret Beach,Secret Beach Bush 1,"WALNUTSANITY,WALNUTSANITY_BUSH",
4167,Volcano Secret Beach,Secret Beach Bush 2,"WALNUTSANITY,WALNUTSANITY_BUSH",
4168,Volcano - Floor 5,Volcano Rocks Walnut 1,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4169,Volcano - Floor 5,Volcano Rocks Walnut 2,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4170,Volcano - Floor 10,Volcano Rocks Walnut 3,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4171,Volcano - Floor 10,Volcano Rocks Walnut 4,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4172,Volcano - Floor 10,Volcano Rocks Walnut 5,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4173,Volcano - Floor 5,Volcano Monsters Walnut 1,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4174,Volcano - Floor 5,Volcano Monsters Walnut 2,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4175,Volcano - Floor 10,Volcano Monsters Walnut 3,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4176,Volcano - Floor 10,Volcano Monsters Walnut 4,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4177,Volcano - Floor 10,Volcano Monsters Walnut 5,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4178,Volcano - Floor 5,Volcano Crates Walnut 1,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4179,Volcano - Floor 5,Volcano Crates Walnut 2,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4180,Volcano - Floor 10,Volcano Crates Walnut 3,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4181,Volcano - Floor 10,Volcano Crates Walnut 4,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4182,Volcano - Floor 10,Volcano Crates Walnut 5,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4183,Volcano - Floor 5,Volcano Common Chest Walnut,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4184,Volcano - Floor 10,Volcano Rare Chest Walnut,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4185,Volcano - Floor 10,Forge Entrance Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4186,Volcano - Floor 10,Forge Exit Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4187,Island North,Cliff Over Island South Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4188,Island Southeast,Starfish Tide Pool,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4189,Island Southeast,Diamond Of Yellow Starfish,"WALNUTSANITY,WALNUTSANITY_DIG",
4190,Island Southeast,Mermaid Song,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4191,Pirate Cove,Pirate Darts 1,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4192,Pirate Cove,Pirate Darts 2,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4193,Pirate Cove,Pirate Darts 3,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4194,Pirate Cove,Pirate Cove Patch Of Sand,"WALNUTSANITY,WALNUTSANITY_DIG",
4101,Clint's Blacksmith,Walnutsanity: Open Golden Coconut,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4102,Island West,Walnutsanity: Fishing Walnut 1,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4103,Island West,Walnutsanity: Fishing Walnut 2,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4104,Island North,Walnutsanity: Fishing Walnut 3,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4105,Island North,Walnutsanity: Fishing Walnut 4,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4106,Island Southeast,Walnutsanity: Fishing Walnut 5,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4107,Island East,Walnutsanity: Jungle Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4108,Island East,Walnutsanity: Banana Altar,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4109,Leo's Hut,Walnutsanity: Leo's Tree,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4110,Island Shrine,Walnutsanity: Gem Birds Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4111,Island Shrine,Walnutsanity: Gem Birds Shrine,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4112,Island West,Walnutsanity: Harvesting Walnut 1,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4113,Island West,Walnutsanity: Harvesting Walnut 2,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4114,Island West,Walnutsanity: Harvesting Walnut 3,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4115,Island West,Walnutsanity: Harvesting Walnut 4,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4116,Island West,Walnutsanity: Harvesting Walnut 5,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4117,Gourmand Frog Cave,Walnutsanity: Gourmand Frog Melon,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4118,Gourmand Frog Cave,Walnutsanity: Gourmand Frog Wheat,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4119,Gourmand Frog Cave,Walnutsanity: Gourmand Frog Garlic,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4120,Island West,Walnutsanity: Journal Scrap #6,"WALNUTSANITY,WALNUTSANITY_DIG",
4121,Island West,Walnutsanity: Mussel Node Walnut 1,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4122,Island West,Walnutsanity: Mussel Node Walnut 2,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4123,Island West,Walnutsanity: Mussel Node Walnut 3,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4124,Island West,Walnutsanity: Mussel Node Walnut 4,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4125,Island West,Walnutsanity: Mussel Node Walnut 5,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4126,Shipwreck,Walnutsanity: Shipwreck Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4127,Island West,Walnutsanity: Whack A Mole,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4128,Island West,Walnutsanity: Starfish Triangle,"WALNUTSANITY,WALNUTSANITY_DIG",
4129,Island West,Walnutsanity: Starfish Diamond,"WALNUTSANITY,WALNUTSANITY_DIG",
4130,Island West,Walnutsanity: X in the sand,"WALNUTSANITY,WALNUTSANITY_DIG",
4131,Island West,Walnutsanity: Diamond Of Indents,"WALNUTSANITY,WALNUTSANITY_DIG",
4132,Island West,Walnutsanity: Bush Behind Coconut Tree,"WALNUTSANITY,WALNUTSANITY_BUSH",
4133,Island West,Walnutsanity: Journal Scrap #4,"WALNUTSANITY,WALNUTSANITY_DIG",
4134,Island West,Walnutsanity: Walnut Room Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4135,Island West,Walnutsanity: Coast Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4136,Island West,Walnutsanity: Tiger Slime Walnut,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4137,Island West,Walnutsanity: Bush Behind Mahogany Tree,"WALNUTSANITY,WALNUTSANITY_BUSH",
4138,Island West,Walnutsanity: Circle Of Grass,"WALNUTSANITY,WALNUTSANITY_DIG",
4139,Island West,Walnutsanity: Below Colored Crystals Cave Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4140,Colored Crystals Cave,Walnutsanity: Colored Crystals,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4141,Island West,Walnutsanity: Cliff Edge Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4142,Island West,Walnutsanity: Diamond Of Pebbles,"WALNUTSANITY,WALNUTSANITY_DIG",
4143,Island West,Walnutsanity: Farm Parrot Express Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4144,Island West,Walnutsanity: Farmhouse Cliff Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4145,Island North,Walnutsanity: Big Circle Of Stones,"WALNUTSANITY,WALNUTSANITY_DIG",
4146,Island North,Walnutsanity: Grove Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4147,Island North,Walnutsanity: Diamond Of Grass,"WALNUTSANITY,WALNUTSANITY_DIG",
4148,Island North,Walnutsanity: Small Circle Of Stones,"WALNUTSANITY,WALNUTSANITY_DIG",
4149,Island North,Walnutsanity: Patch Of Sand,"WALNUTSANITY,WALNUTSANITY_DIG",
4150,Dig Site,Walnutsanity: Crooked Circle Of Stones,"WALNUTSANITY,WALNUTSANITY_DIG",
4151,Dig Site,Walnutsanity: Above Dig Site Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4152,Dig Site,Walnutsanity: Above Field Office Bush 1,"WALNUTSANITY,WALNUTSANITY_BUSH",
4153,Dig Site,Walnutsanity: Above Field Office Bush 2,"WALNUTSANITY,WALNUTSANITY_BUSH",
4154,Field Office,Walnutsanity: Complete Large Animal Collection,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4155,Field Office,Walnutsanity: Complete Snake Collection,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4156,Field Office,Walnutsanity: Complete Mummified Frog Collection,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4157,Field Office,Walnutsanity: Complete Mummified Bat Collection,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4158,Field Office,Walnutsanity: Purple Flowers Island Survey,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4159,Field Office,Walnutsanity: Purple Starfish Island Survey,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4160,Island North,Walnutsanity: Bush Behind Volcano Tree,"WALNUTSANITY,WALNUTSANITY_BUSH",
4161,Island North,Walnutsanity: Arc Of Stones,"WALNUTSANITY,WALNUTSANITY_DIG",
4162,Island North,Walnutsanity: Protruding Tree Walnut,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4163,Island North,Walnutsanity: Journal Scrap #10,"WALNUTSANITY,WALNUTSANITY_DIG",
4164,Island North,Walnutsanity: Northmost Point Circle Of Stones,"WALNUTSANITY,WALNUTSANITY_DIG",
4165,Island North,Walnutsanity: Hidden Passage Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4166,Volcano Secret Beach,Walnutsanity: Secret Beach Bush 1,"WALNUTSANITY,WALNUTSANITY_BUSH",
4167,Volcano Secret Beach,Walnutsanity: Secret Beach Bush 2,"WALNUTSANITY,WALNUTSANITY_BUSH",
4168,Volcano - Floor 5,Walnutsanity: Volcano Rocks Walnut 1,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4169,Volcano - Floor 5,Walnutsanity: Volcano Rocks Walnut 2,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4170,Volcano - Floor 10,Walnutsanity: Volcano Rocks Walnut 3,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4171,Volcano - Floor 10,Walnutsanity: Volcano Rocks Walnut 4,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4172,Volcano - Floor 10,Walnutsanity: Volcano Rocks Walnut 5,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4173,Volcano - Floor 5,Walnutsanity: Volcano Monsters Walnut 1,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4174,Volcano - Floor 5,Walnutsanity: Volcano Monsters Walnut 2,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4175,Volcano - Floor 10,Walnutsanity: Volcano Monsters Walnut 3,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4176,Volcano - Floor 10,Walnutsanity: Volcano Monsters Walnut 4,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4177,Volcano - Floor 10,Walnutsanity: Volcano Monsters Walnut 5,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4178,Volcano - Floor 5,Walnutsanity: Volcano Crates Walnut 1,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4179,Volcano - Floor 5,Walnutsanity: Volcano Crates Walnut 2,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4180,Volcano - Floor 10,Walnutsanity: Volcano Crates Walnut 3,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4181,Volcano - Floor 10,Walnutsanity: Volcano Crates Walnut 4,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4182,Volcano - Floor 10,Walnutsanity: Volcano Crates Walnut 5,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4183,Volcano - Floor 5,Walnutsanity: Volcano Common Chest Walnut,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4184,Volcano - Floor 10,Walnutsanity: Volcano Rare Chest Walnut,"WALNUTSANITY,WALNUTSANITY_REPEATABLE",
4185,Volcano - Floor 10,Walnutsanity: Forge Entrance Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4186,Volcano - Floor 10,Walnutsanity: Forge Exit Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4187,Island North,Walnutsanity: Cliff Over Island South Bush,"WALNUTSANITY,WALNUTSANITY_BUSH",
4188,Island Southeast,Walnutsanity: Starfish Tide Pool,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4189,Island Southeast,Walnutsanity: Diamond Of Yellow Starfish,"WALNUTSANITY,WALNUTSANITY_DIG",
4190,Island Southeast,Walnutsanity: Mermaid Song,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4191,Pirate Cove,Walnutsanity: Pirate Darts 1,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4192,Pirate Cove,Walnutsanity: Pirate Darts 2,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4193,Pirate Cove,Walnutsanity: Pirate Darts 3,"WALNUTSANITY,WALNUTSANITY_PUZZLE",
4194,Pirate Cove,Walnutsanity: Pirate Cove Patch Of Sand,"WALNUTSANITY,WALNUTSANITY_DIG",
5001,Stardew Valley,Level 1 Luck,"LUCK_LEVEL,SKILL_LEVEL",Luck Skill
5002,Stardew Valley,Level 2 Luck,"LUCK_LEVEL,SKILL_LEVEL",Luck Skill
5003,Stardew Valley,Level 3 Luck,"LUCK_LEVEL,SKILL_LEVEL",Luck Skill
1 id region name tags mod_name
2316 4069 Museum Read Note From Gunther BOOKSANITY,BOOKSANITY_LOST
2317 4070 Museum Read Goblins by M. Jasper BOOKSANITY,BOOKSANITY_LOST
2318 4071 Museum Read Secret Statues Acrostics BOOKSANITY,BOOKSANITY_LOST
2319 4101 Clint's Blacksmith Open Golden Coconut Walnutsanity: Open Golden Coconut WALNUTSANITY,WALNUTSANITY_PUZZLE
2320 4102 Island West Fishing Walnut 1 Walnutsanity: Fishing Walnut 1 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2321 4103 Island West Fishing Walnut 2 Walnutsanity: Fishing Walnut 2 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2322 4104 Island North Fishing Walnut 3 Walnutsanity: Fishing Walnut 3 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2323 4105 Island North Fishing Walnut 4 Walnutsanity: Fishing Walnut 4 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2324 4106 Island Southeast Fishing Walnut 5 Walnutsanity: Fishing Walnut 5 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2325 4107 Island East Jungle Bush Walnutsanity: Jungle Bush WALNUTSANITY,WALNUTSANITY_BUSH
2326 4108 Island East Banana Altar Walnutsanity: Banana Altar WALNUTSANITY,WALNUTSANITY_PUZZLE
2327 4109 Leo's Hut Leo's Tree Walnutsanity: Leo's Tree WALNUTSANITY,WALNUTSANITY_PUZZLE
2328 4110 Island Shrine Gem Birds Bush Walnutsanity: Gem Birds Bush WALNUTSANITY,WALNUTSANITY_BUSH
2329 4111 Island Shrine Gem Birds Shrine Walnutsanity: Gem Birds Shrine WALNUTSANITY,WALNUTSANITY_PUZZLE
2330 4112 Island West Harvesting Walnut 1 Walnutsanity: Harvesting Walnut 1 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2331 4113 Island West Harvesting Walnut 2 Walnutsanity: Harvesting Walnut 2 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2332 4114 Island West Harvesting Walnut 3 Walnutsanity: Harvesting Walnut 3 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2333 4115 Island West Harvesting Walnut 4 Walnutsanity: Harvesting Walnut 4 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2334 4116 Island West Harvesting Walnut 5 Walnutsanity: Harvesting Walnut 5 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2335 4117 Gourmand Frog Cave Gourmand Frog Melon Walnutsanity: Gourmand Frog Melon WALNUTSANITY,WALNUTSANITY_PUZZLE
2336 4118 Gourmand Frog Cave Gourmand Frog Wheat Walnutsanity: Gourmand Frog Wheat WALNUTSANITY,WALNUTSANITY_PUZZLE
2337 4119 Gourmand Frog Cave Gourmand Frog Garlic Walnutsanity: Gourmand Frog Garlic WALNUTSANITY,WALNUTSANITY_PUZZLE
2338 4120 Island West Journal Scrap #6 Walnutsanity: Journal Scrap #6 WALNUTSANITY,WALNUTSANITY_DIG
2339 4121 Island West Mussel Node Walnut 1 Walnutsanity: Mussel Node Walnut 1 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2340 4122 Island West Mussel Node Walnut 2 Walnutsanity: Mussel Node Walnut 2 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2341 4123 Island West Mussel Node Walnut 3 Walnutsanity: Mussel Node Walnut 3 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2342 4124 Island West Mussel Node Walnut 4 Walnutsanity: Mussel Node Walnut 4 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2343 4125 Island West Mussel Node Walnut 5 Walnutsanity: Mussel Node Walnut 5 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2344 4126 Shipwreck Shipwreck Bush Walnutsanity: Shipwreck Bush WALNUTSANITY,WALNUTSANITY_BUSH
2345 4127 Island West Whack A Mole Walnutsanity: Whack A Mole WALNUTSANITY,WALNUTSANITY_PUZZLE
2346 4128 Island West Starfish Triangle Walnutsanity: Starfish Triangle WALNUTSANITY,WALNUTSANITY_DIG
2347 4129 Island West Starfish Diamond Walnutsanity: Starfish Diamond WALNUTSANITY,WALNUTSANITY_DIG
2348 4130 Island West X in the sand Walnutsanity: X in the sand WALNUTSANITY,WALNUTSANITY_DIG
2349 4131 Island West Diamond Of Indents Walnutsanity: Diamond Of Indents WALNUTSANITY,WALNUTSANITY_DIG
2350 4132 Island West Bush Behind Coconut Tree Walnutsanity: Bush Behind Coconut Tree WALNUTSANITY,WALNUTSANITY_BUSH
2351 4133 Island West Journal Scrap #4 Walnutsanity: Journal Scrap #4 WALNUTSANITY,WALNUTSANITY_DIG
2352 4134 Island West Walnut Room Bush Walnutsanity: Walnut Room Bush WALNUTSANITY,WALNUTSANITY_BUSH
2353 4135 Island West Coast Bush Walnutsanity: Coast Bush WALNUTSANITY,WALNUTSANITY_BUSH
2354 4136 Island West Tiger Slime Walnut Walnutsanity: Tiger Slime Walnut WALNUTSANITY,WALNUTSANITY_REPEATABLE
2355 4137 Island West Bush Behind Mahogany Tree Walnutsanity: Bush Behind Mahogany Tree WALNUTSANITY,WALNUTSANITY_BUSH
2356 4138 Island West Circle Of Grass Walnutsanity: Circle Of Grass WALNUTSANITY,WALNUTSANITY_DIG
2357 4139 Island West Below Colored Crystals Cave Bush Walnutsanity: Below Colored Crystals Cave Bush WALNUTSANITY,WALNUTSANITY_BUSH
2358 4140 Colored Crystals Cave Colored Crystals Walnutsanity: Colored Crystals WALNUTSANITY,WALNUTSANITY_PUZZLE
2359 4141 Island West Cliff Edge Bush Walnutsanity: Cliff Edge Bush WALNUTSANITY,WALNUTSANITY_BUSH
2360 4142 Island West Diamond Of Pebbles Walnutsanity: Diamond Of Pebbles WALNUTSANITY,WALNUTSANITY_DIG
2361 4143 Island West Farm Parrot Express Bush Walnutsanity: Farm Parrot Express Bush WALNUTSANITY,WALNUTSANITY_BUSH
2362 4144 Island West Farmhouse Cliff Bush Walnutsanity: Farmhouse Cliff Bush WALNUTSANITY,WALNUTSANITY_BUSH
2363 4145 Island North Big Circle Of Stones Walnutsanity: Big Circle Of Stones WALNUTSANITY,WALNUTSANITY_DIG
2364 4146 Island North Grove Bush Walnutsanity: Grove Bush WALNUTSANITY,WALNUTSANITY_BUSH
2365 4147 Island North Diamond Of Grass Walnutsanity: Diamond Of Grass WALNUTSANITY,WALNUTSANITY_DIG
2366 4148 Island North Small Circle Of Stones Walnutsanity: Small Circle Of Stones WALNUTSANITY,WALNUTSANITY_DIG
2367 4149 Island North Patch Of Sand Walnutsanity: Patch Of Sand WALNUTSANITY,WALNUTSANITY_DIG
2368 4150 Dig Site Crooked Circle Of Stones Walnutsanity: Crooked Circle Of Stones WALNUTSANITY,WALNUTSANITY_DIG
2369 4151 Dig Site Above Dig Site Bush Walnutsanity: Above Dig Site Bush WALNUTSANITY,WALNUTSANITY_BUSH
2370 4152 Dig Site Above Field Office Bush 1 Walnutsanity: Above Field Office Bush 1 WALNUTSANITY,WALNUTSANITY_BUSH
2371 4153 Dig Site Above Field Office Bush 2 Walnutsanity: Above Field Office Bush 2 WALNUTSANITY,WALNUTSANITY_BUSH
2372 4154 Field Office Complete Large Animal Collection Walnutsanity: Complete Large Animal Collection WALNUTSANITY,WALNUTSANITY_PUZZLE
2373 4155 Field Office Complete Snake Collection Walnutsanity: Complete Snake Collection WALNUTSANITY,WALNUTSANITY_PUZZLE
2374 4156 Field Office Complete Mummified Frog Collection Walnutsanity: Complete Mummified Frog Collection WALNUTSANITY,WALNUTSANITY_PUZZLE
2375 4157 Field Office Complete Mummified Bat Collection Walnutsanity: Complete Mummified Bat Collection WALNUTSANITY,WALNUTSANITY_PUZZLE
2376 4158 Field Office Purple Flowers Island Survey Walnutsanity: Purple Flowers Island Survey WALNUTSANITY,WALNUTSANITY_PUZZLE
2377 4159 Field Office Purple Starfish Island Survey Walnutsanity: Purple Starfish Island Survey WALNUTSANITY,WALNUTSANITY_PUZZLE
2378 4160 Island North Bush Behind Volcano Tree Walnutsanity: Bush Behind Volcano Tree WALNUTSANITY,WALNUTSANITY_BUSH
2379 4161 Island North Arc Of Stones Walnutsanity: Arc Of Stones WALNUTSANITY,WALNUTSANITY_DIG
2380 4162 Island North Protruding Tree Walnut Walnutsanity: Protruding Tree Walnut WALNUTSANITY,WALNUTSANITY_PUZZLE
2381 4163 Island North Journal Scrap #10 Walnutsanity: Journal Scrap #10 WALNUTSANITY,WALNUTSANITY_DIG
2382 4164 Island North Northmost Point Circle Of Stones Walnutsanity: Northmost Point Circle Of Stones WALNUTSANITY,WALNUTSANITY_DIG
2383 4165 Island North Hidden Passage Bush Walnutsanity: Hidden Passage Bush WALNUTSANITY,WALNUTSANITY_BUSH
2384 4166 Volcano Secret Beach Secret Beach Bush 1 Walnutsanity: Secret Beach Bush 1 WALNUTSANITY,WALNUTSANITY_BUSH
2385 4167 Volcano Secret Beach Secret Beach Bush 2 Walnutsanity: Secret Beach Bush 2 WALNUTSANITY,WALNUTSANITY_BUSH
2386 4168 Volcano - Floor 5 Volcano Rocks Walnut 1 Walnutsanity: Volcano Rocks Walnut 1 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2387 4169 Volcano - Floor 5 Volcano Rocks Walnut 2 Walnutsanity: Volcano Rocks Walnut 2 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2388 4170 Volcano - Floor 10 Volcano Rocks Walnut 3 Walnutsanity: Volcano Rocks Walnut 3 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2389 4171 Volcano - Floor 10 Volcano Rocks Walnut 4 Walnutsanity: Volcano Rocks Walnut 4 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2390 4172 Volcano - Floor 10 Volcano Rocks Walnut 5 Walnutsanity: Volcano Rocks Walnut 5 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2391 4173 Volcano - Floor 5 Volcano Monsters Walnut 1 Walnutsanity: Volcano Monsters Walnut 1 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2392 4174 Volcano - Floor 5 Volcano Monsters Walnut 2 Walnutsanity: Volcano Monsters Walnut 2 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2393 4175 Volcano - Floor 10 Volcano Monsters Walnut 3 Walnutsanity: Volcano Monsters Walnut 3 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2394 4176 Volcano - Floor 10 Volcano Monsters Walnut 4 Walnutsanity: Volcano Monsters Walnut 4 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2395 4177 Volcano - Floor 10 Volcano Monsters Walnut 5 Walnutsanity: Volcano Monsters Walnut 5 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2396 4178 Volcano - Floor 5 Volcano Crates Walnut 1 Walnutsanity: Volcano Crates Walnut 1 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2397 4179 Volcano - Floor 5 Volcano Crates Walnut 2 Walnutsanity: Volcano Crates Walnut 2 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2398 4180 Volcano - Floor 10 Volcano Crates Walnut 3 Walnutsanity: Volcano Crates Walnut 3 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2399 4181 Volcano - Floor 10 Volcano Crates Walnut 4 Walnutsanity: Volcano Crates Walnut 4 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2400 4182 Volcano - Floor 10 Volcano Crates Walnut 5 Walnutsanity: Volcano Crates Walnut 5 WALNUTSANITY,WALNUTSANITY_REPEATABLE
2401 4183 Volcano - Floor 5 Volcano Common Chest Walnut Walnutsanity: Volcano Common Chest Walnut WALNUTSANITY,WALNUTSANITY_REPEATABLE
2402 4184 Volcano - Floor 10 Volcano Rare Chest Walnut Walnutsanity: Volcano Rare Chest Walnut WALNUTSANITY,WALNUTSANITY_REPEATABLE
2403 4185 Volcano - Floor 10 Forge Entrance Bush Walnutsanity: Forge Entrance Bush WALNUTSANITY,WALNUTSANITY_BUSH
2404 4186 Volcano - Floor 10 Forge Exit Bush Walnutsanity: Forge Exit Bush WALNUTSANITY,WALNUTSANITY_BUSH
2405 4187 Island North Cliff Over Island South Bush Walnutsanity: Cliff Over Island South Bush WALNUTSANITY,WALNUTSANITY_BUSH
2406 4188 Island Southeast Starfish Tide Pool Walnutsanity: Starfish Tide Pool WALNUTSANITY,WALNUTSANITY_PUZZLE
2407 4189 Island Southeast Diamond Of Yellow Starfish Walnutsanity: Diamond Of Yellow Starfish WALNUTSANITY,WALNUTSANITY_DIG
2408 4190 Island Southeast Mermaid Song Walnutsanity: Mermaid Song WALNUTSANITY,WALNUTSANITY_PUZZLE
2409 4191 Pirate Cove Pirate Darts 1 Walnutsanity: Pirate Darts 1 WALNUTSANITY,WALNUTSANITY_PUZZLE
2410 4192 Pirate Cove Pirate Darts 2 Walnutsanity: Pirate Darts 2 WALNUTSANITY,WALNUTSANITY_PUZZLE
2411 4193 Pirate Cove Pirate Darts 3 Walnutsanity: Pirate Darts 3 WALNUTSANITY,WALNUTSANITY_PUZZLE
2412 4194 Pirate Cove Pirate Cove Patch Of Sand Walnutsanity: Pirate Cove Patch Of Sand WALNUTSANITY,WALNUTSANITY_DIG
2413 5001 Stardew Valley Level 1 Luck LUCK_LEVEL,SKILL_LEVEL Luck Skill
2414 5002 Stardew Valley Level 2 Luck LUCK_LEVEL,SKILL_LEVEL Luck Skill
2415 5003 Stardew Valley Level 3 Luck LUCK_LEVEL,SKILL_LEVEL Luck Skill

View File

@@ -443,27 +443,27 @@ def set_walnut_puzzle_rules(logic: StardewLogic, multiworld, player, world_optio
if WalnutsanityOptionName.puzzles not in world_options.walnutsanity:
return
set_rule(multiworld.get_location("Open Golden Coconut", player), logic.has(Geode.golden_coconut))
set_rule(multiworld.get_location("Banana Altar", player), logic.has(Fruit.banana))
set_rule(multiworld.get_location("Leo's Tree", player), logic.tool.has_tool(Tool.axe))
set_rule(multiworld.get_location("Gem Birds Shrine", player), logic.has(Mineral.amethyst) & logic.has(Mineral.aquamarine) &
set_rule(multiworld.get_location("Walnutsanity: Open Golden Coconut", player), logic.has(Geode.golden_coconut))
set_rule(multiworld.get_location("Walnutsanity: Banana Altar", player), logic.has(Fruit.banana))
set_rule(multiworld.get_location("Walnutsanity: Leo's Tree", player), logic.tool.has_tool(Tool.axe))
set_rule(multiworld.get_location("Walnutsanity: Gem Birds Shrine", player), logic.has(Mineral.amethyst) & logic.has(Mineral.aquamarine) &
logic.has(Mineral.emerald) & logic.has(Mineral.ruby) & logic.has(Mineral.topaz) &
logic.region.can_reach_all((Region.island_north, Region.island_west, Region.island_east, Region.island_south)))
set_rule(multiworld.get_location("Gourmand Frog Melon", player), logic.has(Fruit.melon) & logic.region.can_reach(Region.island_west))
set_rule(multiworld.get_location("Gourmand Frog Wheat", player), logic.has(Vegetable.wheat) &
logic.region.can_reach(Region.island_west) & logic.region.can_reach_location("Gourmand Frog Melon"))
set_rule(multiworld.get_location("Gourmand Frog Garlic", player), logic.has(Vegetable.garlic) &
logic.region.can_reach(Region.island_west) & logic.region.can_reach_location("Gourmand Frog Wheat"))
set_rule(multiworld.get_location("Whack A Mole", player), logic.tool.has_tool(Tool.watering_can, ToolMaterial.iridium))
set_rule(multiworld.get_location("Complete Large Animal Collection", player), logic.walnut.can_complete_large_animal_collection())
set_rule(multiworld.get_location("Complete Snake Collection", player), logic.walnut.can_complete_snake_collection())
set_rule(multiworld.get_location("Complete Mummified Frog Collection", player), logic.walnut.can_complete_frog_collection())
set_rule(multiworld.get_location("Complete Mummified Bat Collection", player), logic.walnut.can_complete_bat_collection())
set_rule(multiworld.get_location("Purple Flowers Island Survey", player), logic.walnut.can_start_field_office)
set_rule(multiworld.get_location("Purple Starfish Island Survey", player), logic.walnut.can_start_field_office)
set_rule(multiworld.get_location("Protruding Tree Walnut", player), logic.combat.has_slingshot)
set_rule(multiworld.get_location("Starfish Tide Pool", player), logic.tool.has_fishing_rod(1))
set_rule(multiworld.get_location("Mermaid Song", player), logic.has(Furniture.flute_block))
set_rule(multiworld.get_location("Walnutsanity: Gourmand Frog Melon", player), logic.has(Fruit.melon) & logic.region.can_reach(Region.island_west))
set_rule(multiworld.get_location("Walnutsanity: Gourmand Frog Wheat", player), logic.has(Vegetable.wheat) &
logic.region.can_reach(Region.island_west) & logic.region.can_reach_location("Walnutsanity: Gourmand Frog Melon"))
set_rule(multiworld.get_location("Walnutsanity: Gourmand Frog Garlic", player), logic.has(Vegetable.garlic) &
logic.region.can_reach(Region.island_west) & logic.region.can_reach_location("Walnutsanity: Gourmand Frog Wheat"))
set_rule(multiworld.get_location("Walnutsanity: Whack A Mole", player), logic.tool.has_tool(Tool.watering_can, ToolMaterial.iridium))
set_rule(multiworld.get_location("Walnutsanity: Complete Large Animal Collection", player), logic.walnut.can_complete_large_animal_collection())
set_rule(multiworld.get_location("Walnutsanity: Complete Snake Collection", player), logic.walnut.can_complete_snake_collection())
set_rule(multiworld.get_location("Walnutsanity: Complete Mummified Frog Collection", player), logic.walnut.can_complete_frog_collection())
set_rule(multiworld.get_location("Walnutsanity: Complete Mummified Bat Collection", player), logic.walnut.can_complete_bat_collection())
set_rule(multiworld.get_location("Walnutsanity: Purple Flowers Island Survey", player), logic.walnut.can_start_field_office)
set_rule(multiworld.get_location("Walnutsanity: Purple Starfish Island Survey", player), logic.walnut.can_start_field_office)
set_rule(multiworld.get_location("Walnutsanity: Protruding Tree Walnut", player), logic.combat.has_slingshot)
set_rule(multiworld.get_location("Walnutsanity: Starfish Tide Pool", player), logic.tool.has_fishing_rod(1))
set_rule(multiworld.get_location("Walnutsanity: Mermaid Song", player), logic.has(Furniture.flute_block))
def set_walnut_bushes_rules(logic, multiworld, player, world_options):
@@ -490,13 +490,13 @@ def set_walnut_repeatable_rules(logic, multiworld, player, world_options):
if WalnutsanityOptionName.repeatables not in world_options.walnutsanity:
return
for i in range(1, 6):
set_rule(multiworld.get_location(f"Fishing Walnut {i}", player), logic.tool.has_fishing_rod(1))
set_rule(multiworld.get_location(f"Harvesting Walnut {i}", player), logic.skill.can_get_farming_xp)
set_rule(multiworld.get_location(f"Mussel Node Walnut {i}", player), logic.tool.has_tool(Tool.pickaxe))
set_rule(multiworld.get_location(f"Volcano Rocks Walnut {i}", player), logic.tool.has_tool(Tool.pickaxe))
set_rule(multiworld.get_location(f"Volcano Monsters Walnut {i}", player), logic.combat.has_galaxy_weapon)
set_rule(multiworld.get_location(f"Volcano Crates Walnut {i}", player), logic.combat.has_any_weapon)
set_rule(multiworld.get_location(f"Tiger Slime Walnut", player), logic.monster.can_kill(Monster.tiger_slime))
set_rule(multiworld.get_location(f"Walnutsanity: Fishing Walnut {i}", player), logic.tool.has_fishing_rod(1))
set_rule(multiworld.get_location(f"Walnutsanity: Harvesting Walnut {i}", player), logic.skill.can_get_farming_xp)
set_rule(multiworld.get_location(f"Walnutsanity: Mussel Node Walnut {i}", player), logic.tool.has_tool(Tool.pickaxe))
set_rule(multiworld.get_location(f"Walnutsanity: Volcano Rocks Walnut {i}", player), logic.tool.has_tool(Tool.pickaxe))
set_rule(multiworld.get_location(f"Walnutsanity: Volcano Monsters Walnut {i}", player), logic.combat.has_galaxy_weapon)
set_rule(multiworld.get_location(f"Walnutsanity: Volcano Crates Walnut {i}", player), logic.combat.has_any_weapon)
set_rule(multiworld.get_location(f"Walnutsanity: Tiger Slime Walnut", player), logic.monster.can_kill(Monster.tiger_slime))
def set_cropsanity_rules(logic: StardewLogic, multiworld, player, world_content: StardewContent):

View File

@@ -1,26 +1,46 @@
import unittest
from .bases import SVTestBase
from ..options import ExcludeGingerIsland, Walnutsanity, ToolProgression, SkillProgression
from ..strings.ap_names.ap_option_names import WalnutsanityOptionName
class TestWalnutsanityNone(SVTestBase):
class SVWalnutsanityTestBase(SVTestBase):
expected_walnut_locations: set[str] = set()
unexpected_walnut_locations: set[str] = set()
@classmethod
def setUpClass(cls) -> None:
if cls is SVWalnutsanityTestBase:
raise unittest.SkipTest("Base tests disabled")
super().setUpClass()
def test_walnut_locations(self):
location_names = {location.name for location in self.multiworld.get_locations()}
for location in self.expected_walnut_locations:
self.assertIn(location, location_names, f"{location} should be in the location names")
for location in self.unexpected_walnut_locations:
self.assertNotIn(location, location_names, f"{location} should not be in the location names")
class TestWalnutsanityNone(SVWalnutsanityTestBase):
options = {
ExcludeGingerIsland: ExcludeGingerIsland.option_false,
Walnutsanity: Walnutsanity.preset_none,
SkillProgression: ToolProgression.option_progressive,
ToolProgression: ToolProgression.option_progressive,
}
def test_no_walnut_locations(self):
location_names = {location.name for location in self.multiworld.get_locations()}
self.assertNotIn("Open Golden Coconut", location_names)
self.assertNotIn("Fishing Walnut 4", location_names)
self.assertNotIn("Journal Scrap #6", location_names)
self.assertNotIn("Starfish Triangle", location_names)
self.assertNotIn("Bush Behind Coconut Tree", location_names)
self.assertNotIn("Purple Starfish Island Survey", location_names)
self.assertNotIn("Volcano Monsters Walnut 3", location_names)
self.assertNotIn("Cliff Over Island South Bush", location_names)
unexpected_walnut_locations = {
"Walnutsanity: Open Golden Coconut",
"Walnutsanity: Fishing Walnut 4",
"Walnutsanity: Journal Scrap #6",
"Walnutsanity: Starfish Triangle",
"Walnutsanity: Bush Behind Coconut Tree",
"Walnutsanity: Purple Starfish Island Survey",
"Walnutsanity: Volcano Monsters Walnut 3",
"Walnutsanity: Cliff Over Island South Bush",
}
def test_logic_received_walnuts(self):
# You need to receive 0, and collect 40
@@ -48,28 +68,30 @@ class TestWalnutsanityNone(SVTestBase):
self.assertTrue(self.multiworld.state.can_reach_location("Parrot Express", self.player))
class TestWalnutsanityPuzzles(SVTestBase):
class TestWalnutsanityPuzzles(SVWalnutsanityTestBase):
options = {
ExcludeGingerIsland: ExcludeGingerIsland.option_false,
Walnutsanity: frozenset({WalnutsanityOptionName.puzzles}),
SkillProgression: ToolProgression.option_progressive,
ToolProgression: ToolProgression.option_progressive,
}
def test_only_puzzle_walnut_locations(self):
location_names = {location.name for location in self.multiworld.get_locations()}
self.assertIn("Open Golden Coconut", location_names)
self.assertNotIn("Fishing Walnut 4", location_names)
self.assertNotIn("Journal Scrap #6", location_names)
self.assertNotIn("Starfish Triangle", location_names)
self.assertNotIn("Bush Behind Coconut Tree", location_names)
self.assertIn("Purple Starfish Island Survey", location_names)
self.assertNotIn("Volcano Monsters Walnut 3", location_names)
self.assertNotIn("Cliff Over Island South Bush", location_names)
expected_walnut_locations = {
"Walnutsanity: Open Golden Coconut",
"Walnutsanity: Purple Starfish Island Survey",
}
unexpected_walnut_locations = {
"Walnutsanity: Fishing Walnut 4",
"Walnutsanity: Journal Scrap #6",
"Walnutsanity: Starfish Triangle",
"Walnutsanity: Bush Behind Coconut Tree",
"Walnutsanity: Volcano Monsters Walnut 3",
"Walnutsanity: Cliff Over Island South Bush",
}
def test_field_office_locations_require_professor_snail(self):
location_names = ["Complete Large Animal Collection", "Complete Snake Collection", "Complete Mummified Frog Collection",
"Complete Mummified Bat Collection", "Purple Flowers Island Survey", "Purple Starfish Island Survey", ]
location_names = ["Walnutsanity: Complete Large Animal Collection", "Walnutsanity: Complete Snake Collection",
"Walnutsanity: Complete Mummified Frog Collection", "Walnutsanity: Complete Mummified Bat Collection",
"Walnutsanity: Purple Flowers Island Survey", "Walnutsanity: Purple Starfish Island Survey", ]
self.collect("Island Obelisk")
self.collect("Island North Turtle")
self.collect("Island West Turtle")
@@ -90,40 +112,42 @@ class TestWalnutsanityPuzzles(SVTestBase):
self.assert_can_reach_location(location)
class TestWalnutsanityBushes(SVTestBase):
class TestWalnutsanityBushes(SVWalnutsanityTestBase):
options = {
ExcludeGingerIsland: ExcludeGingerIsland.option_false,
Walnutsanity: frozenset({WalnutsanityOptionName.bushes}),
}
def test_only_bush_walnut_locations(self):
location_names = {location.name for location in self.multiworld.get_locations()}
self.assertNotIn("Open Golden Coconut", location_names)
self.assertNotIn("Fishing Walnut 4", location_names)
self.assertNotIn("Journal Scrap #6", location_names)
self.assertNotIn("Starfish Triangle", location_names)
self.assertIn("Bush Behind Coconut Tree", location_names)
self.assertNotIn("Purple Starfish Island Survey", location_names)
self.assertNotIn("Volcano Monsters Walnut 3", location_names)
self.assertIn("Cliff Over Island South Bush", location_names)
expected_walnut_locations = {
"Walnutsanity: Bush Behind Coconut Tree",
"Walnutsanity: Cliff Over Island South Bush",
}
unexpected_walnut_locations = {
"Walnutsanity: Open Golden Coconut",
"Walnutsanity: Fishing Walnut 4",
"Walnutsanity: Journal Scrap #6",
"Walnutsanity: Starfish Triangle",
"Walnutsanity: Purple Starfish Island Survey",
"Walnutsanity: Volcano Monsters Walnut 3",
}
class TestWalnutsanityPuzzlesAndBushes(SVTestBase):
class TestWalnutsanityPuzzlesAndBushes(SVWalnutsanityTestBase):
options = {
ExcludeGingerIsland: ExcludeGingerIsland.option_false,
Walnutsanity: frozenset({WalnutsanityOptionName.puzzles, WalnutsanityOptionName.bushes}),
}
def test_only_bush_walnut_locations(self):
location_names = {location.name for location in self.multiworld.get_locations()}
self.assertIn("Open Golden Coconut", location_names)
self.assertNotIn("Fishing Walnut 4", location_names)
self.assertNotIn("Journal Scrap #6", location_names)
self.assertNotIn("Starfish Triangle", location_names)
self.assertIn("Bush Behind Coconut Tree", location_names)
self.assertIn("Purple Starfish Island Survey", location_names)
self.assertNotIn("Volcano Monsters Walnut 3", location_names)
self.assertIn("Cliff Over Island South Bush", location_names)
expected_walnut_locations = {
"Walnutsanity: Open Golden Coconut",
"Walnutsanity: Bush Behind Coconut Tree",
"Walnutsanity: Purple Starfish Island Survey",
"Walnutsanity: Cliff Over Island South Bush",
}
unexpected_walnut_locations = {
"Walnutsanity: Fishing Walnut 4",
"Walnutsanity: Journal Scrap #6",
"Walnutsanity: Starfish Triangle",
"Walnutsanity: Volcano Monsters Walnut 3",
}
def test_logic_received_walnuts(self):
# You need to receive 25, and collect 15
@@ -136,58 +160,59 @@ class TestWalnutsanityPuzzlesAndBushes(SVTestBase):
self.assertTrue(self.multiworld.state.can_reach_location("Parrot Express", self.player))
class TestWalnutsanityDigSpots(SVTestBase):
class TestWalnutsanityDigSpots(SVWalnutsanityTestBase):
options = {
ExcludeGingerIsland: ExcludeGingerIsland.option_false,
Walnutsanity: frozenset({WalnutsanityOptionName.dig_spots}),
}
def test_only_dig_spots_walnut_locations(self):
location_names = {location.name for location in self.multiworld.get_locations()}
self.assertNotIn("Open Golden Coconut", location_names)
self.assertNotIn("Fishing Walnut 4", location_names)
self.assertIn("Journal Scrap #6", location_names)
self.assertIn("Starfish Triangle", location_names)
self.assertNotIn("Bush Behind Coconut Tree", location_names)
self.assertNotIn("Purple Starfish Island Survey", location_names)
self.assertNotIn("Volcano Monsters Walnut 3", location_names)
self.assertNotIn("Cliff Over Island South Bush", location_names)
expected_walnut_locations = {
"Walnutsanity: Journal Scrap #6",
"Walnutsanity: Starfish Triangle",
}
unexpected_walnut_locations = {
"Walnutsanity: Open Golden Coconut",
"Walnutsanity: Fishing Walnut 4",
"Walnutsanity: Bush Behind Coconut Tree",
"Walnutsanity: Purple Starfish Island Survey",
"Walnutsanity: Volcano Monsters Walnut 3",
"Walnutsanity: Cliff Over Island South Bush",
}
class TestWalnutsanityRepeatables(SVTestBase):
class TestWalnutsanityRepeatables(SVWalnutsanityTestBase):
options = {
ExcludeGingerIsland: ExcludeGingerIsland.option_false,
Walnutsanity: frozenset({WalnutsanityOptionName.repeatables}),
}
def test_only_repeatable_walnut_locations(self):
location_names = {location.name for location in self.multiworld.get_locations()}
self.assertNotIn("Open Golden Coconut", location_names)
self.assertIn("Fishing Walnut 4", location_names)
self.assertNotIn("Journal Scrap #6", location_names)
self.assertNotIn("Starfish Triangle", location_names)
self.assertNotIn("Bush Behind Coconut Tree", location_names)
self.assertNotIn("Purple Starfish Island Survey", location_names)
self.assertIn("Volcano Monsters Walnut 3", location_names)
self.assertNotIn("Cliff Over Island South Bush", location_names)
expected_walnut_locations = {
"Walnutsanity: Fishing Walnut 4",
"Walnutsanity: Volcano Monsters Walnut 3",
}
unexpected_walnut_locations = {
"Walnutsanity: Open Golden Coconut",
"Walnutsanity: Journal Scrap #6",
"Walnutsanity: Starfish Triangle",
"Walnutsanity: Bush Behind Coconut Tree",
"Walnutsanity: Purple Starfish Island Survey",
"Walnutsanity: Cliff Over Island South Bush",
}
class TestWalnutsanityAll(SVTestBase):
class TestWalnutsanityAll(SVWalnutsanityTestBase):
options = {
ExcludeGingerIsland: ExcludeGingerIsland.option_false,
Walnutsanity: Walnutsanity.preset_all,
}
def test_all_walnut_locations(self):
location_names = {location.name for location in self.multiworld.get_locations()}
self.assertIn("Open Golden Coconut", location_names)
self.assertIn("Fishing Walnut 4", location_names)
self.assertIn("Journal Scrap #6", location_names)
self.assertIn("Starfish Triangle", location_names)
self.assertIn("Bush Behind Coconut Tree", location_names)
self.assertIn("Purple Starfish Island Survey", location_names)
self.assertIn("Volcano Monsters Walnut 3", location_names)
self.assertIn("Cliff Over Island South Bush", location_names)
expected_walnut_locations = {
"Walnutsanity: Open Golden Coconut",
"Walnutsanity: Fishing Walnut 4",
"Walnutsanity: Journal Scrap #6",
"Walnutsanity: Starfish Triangle",
"Walnutsanity: Bush Behind Coconut Tree",
"Walnutsanity: Purple Starfish Island Survey",
"Walnutsanity: Volcano Monsters Walnut 3",
"Walnutsanity: Cliff Over Island South Bush",
}
def test_logic_received_walnuts(self):
# You need to receive 40, and collect 4