From 4dd1a344c6474087a3f8782dd54f5c7b4acc67ed Mon Sep 17 00:00:00 2001 From: Daniel Weipert Date: Wed, 23 Aug 2023 00:24:50 +0200 Subject: area connections and town maps --- db/_generated/areas/city-park.json | 2 +- db/_generated/areas/cotton-town.json | 2 +- db/_generated/areas/dryads-grove.json | 1 + db/_generated/areas/leather-town.json | 2 +- db/_generated/areas/paper-town.json | 2 +- db/_generated/areas/route1.json | 2 +- db/_generated/areas/route2.json | 2 +- db/_generated/areas/route3.json | 2 +- db/_generated/currencies.json | 2 +- db/areas.php | 13 ++++++++ db/areas/city-park.json | 2 ++ db/areas/cotton-town.json | 14 +++++++++ db/areas/dryads-grove.json | 15 ++++++++++ db/areas/leather-town.json | 14 +++++++++ db/areas/paper-town.json | 2 ++ db/areas/route1.json | 2 ++ db/areas/route2.json | 2 ++ db/areas/route3.json | 2 ++ db/currencies.php | 43 +++++++++++++++++++++++++++ db/currencies/currencies.php | 42 -------------------------- db/maps/Cotton_town.png | Bin 0 -> 83611 bytes db/maps/cotton-town.svg | 13 ++++++++ index.html | 35 +++++++++++++++------- resources/css/menu.css | 48 ++++++++++++++++++++++++++---- resources/css/town.css | 12 ++++++-- resources/js/classes/Area.js | 12 ++++++++ resources/js/game.js | 3 ++ resources/js/helpers.js | 8 ++++- resources/js/ui.js | 54 ++++++++++++++++++++++++++++++++-- 29 files changed, 280 insertions(+), 73 deletions(-) create mode 100644 db/_generated/areas/dryads-grove.json create mode 100644 db/areas/dryads-grove.json create mode 100644 db/currencies.php delete mode 100644 db/currencies/currencies.php create mode 100644 db/maps/Cotton_town.png create mode 100644 db/maps/cotton-town.svg diff --git a/db/_generated/areas/city-park.json b/db/_generated/areas/city-park.json index 41fe761..9080b55 100644 --- a/db/_generated/areas/city-park.json +++ b/db/_generated/areas/city-park.json @@ -1 +1 @@ -{"encounter_slug":"citypark","encounters":[{"monster":"cardiling","encounter_rate":3,"daytime":true,"exp_req_mod":1,"level_range":[5,8]},{"monster":"cardiwing","encounter_rate":1,"daytime":true,"exp_req_mod":1,"level_range":[8,11]},{"monster":"cataspike","encounter_rate":3,"daytime":true,"exp_req_mod":1,"level_range":[6,9]},{"monster":"eyenemy","encounter_rate":3,"daytime":true,"exp_req_mod":1,"level_range":[5,8]},{"monster":"axylightl","encounter_rate":3,"daytime":false,"exp_req_mod":1,"level_range":[8,12]},{"monster":"tourbidi","encounter_rate":1,"daytime":false,"exp_req_mod":1,"level_range":[8,12]},{"monster":"squabbit","encounter_rate":3,"daytime":false,"exp_req_mod":1,"level_range":[8,12]},{"monster":"puparmor","encounter_rate":1,"daytime":false,"exp_req_mod":1,"level_range":[9,14]}],"requiredEncounters":10,"trainers":[{"name":"Frances","sprite":"florist.png","monsters":[{"slug":"shybulb","level":8},{"slug":"shybulb","level":8}],"inventory":[]}],"environment_slug":"forest","connections":{"route2":{"conditions":[]},"leather-town":{"conditions":["encounters","trainers"]}},"environment":{"slug":"forest","battle_graphics":{"island_back":"woodland_island.png","island_front":"woodland_island.png","background":"forest_background.png"},"battle_music":"music_battle_loop"}} \ No newline at end of file +{"name":"City Park","encounter_slug":"citypark","encounters":[{"monster":"cardiling","encounter_rate":3,"daytime":true,"exp_req_mod":1,"level_range":[5,8]},{"monster":"cardiwing","encounter_rate":1,"daytime":true,"exp_req_mod":1,"level_range":[8,11]},{"monster":"cataspike","encounter_rate":3,"daytime":true,"exp_req_mod":1,"level_range":[6,9]},{"monster":"eyenemy","encounter_rate":3,"daytime":true,"exp_req_mod":1,"level_range":[5,8]},{"monster":"axylightl","encounter_rate":3,"daytime":false,"exp_req_mod":1,"level_range":[8,12]},{"monster":"tourbidi","encounter_rate":1,"daytime":false,"exp_req_mod":1,"level_range":[8,12]},{"monster":"squabbit","encounter_rate":3,"daytime":false,"exp_req_mod":1,"level_range":[8,12]},{"monster":"puparmor","encounter_rate":1,"daytime":false,"exp_req_mod":1,"level_range":[9,14]}],"requiredEncounters":10,"trainers":[{"name":"Frances","sprite":"florist.png","monsters":[{"slug":"shybulb","level":8},{"slug":"shybulb","level":8}],"inventory":[]}],"environment_slug":"forest","connections":{"route2":{"conditions":[],"name":"Route 2"},"leather-town":{"conditions":["encounters","trainers"],"name":"Leather Town"}},"environment":{"slug":"forest","battle_graphics":{"island_back":"woodland_island.png","island_front":"woodland_island.png","background":"forest_background.png"},"battle_music":"music_battle_loop"},"map":false} \ No newline at end of file diff --git a/db/_generated/areas/cotton-town.json b/db/_generated/areas/cotton-town.json index 3956bc8..43eb76c 100644 --- a/db/_generated/areas/cotton-town.json +++ b/db/_generated/areas/cotton-town.json @@ -1 +1 @@ -{"encounter_slug":"","encounters":[],"requiredEncounters":0,"trainers":[],"environment_slug":"interior","events":{"dryads-grove":false},"connections":{"route1":{"conditions":[]},"route2":{"conditions":[]},"dryads-grove":{"conditions":["event.dryads-grove"]}},"environment":{"slug":"interior","battle_graphics":{"island_back":"paper_back_island.png","island_front":"paper_front_island.png","background":"battle_bg03.png"},"battle_music":"music_battle_loop"}} \ No newline at end of file +{"name":"Cotton Town","encounter_slug":"","encounters":[],"requiredEncounters":0,"trainers":[],"environment_slug":"interior","locations":{"healing_center":{"type":"healingCenter","price":10},"cotton_scoop":{"type":"shop","economy":"cotton_scoop","items":[{"item_name":"potion","price":20,"cost":5},{"item_name":"revive","price":100,"cost":20},{"item_name":"tuxeball","price":50,"cost":10}]}},"events":{"dryads-grove":false},"connections":{"route1":{"conditions":[],"name":"Route 1"},"route2":{"conditions":[],"name":"Route 2"},"dryads-grove":{"conditions":["event.dryads-grove"],"name":"Dryad's Grove"}},"environment":{"slug":"interior","battle_graphics":{"island_back":"paper_back_island.png","island_front":"paper_front_island.png","background":"battle_bg03.png"},"battle_music":"music_battle_loop"},"map":"\n \n\n Healing Center<\/text>\n \n\n Shop<\/text>\n \n<\/svg>\n"} \ No newline at end of file diff --git a/db/_generated/areas/dryads-grove.json b/db/_generated/areas/dryads-grove.json new file mode 100644 index 0000000..61275fe --- /dev/null +++ b/db/_generated/areas/dryads-grove.json @@ -0,0 +1 @@ +{"name":"Dryad's Grove","encounter_slug":"","encounters":[],"requiredEncounters":0,"trainers":[],"environment_slug":"interior","connections":[],"environment":{"slug":"interior","battle_graphics":{"island_back":"paper_back_island.png","island_front":"paper_front_island.png","background":"battle_bg03.png"},"battle_music":"music_battle_loop"},"map":false} \ No newline at end of file diff --git a/db/_generated/areas/leather-town.json b/db/_generated/areas/leather-town.json index cf191d6..9cd0551 100644 --- a/db/_generated/areas/leather-town.json +++ b/db/_generated/areas/leather-town.json @@ -1 +1 @@ -{"encounter_slug":"","encounters":[],"requiredEncounters":0,"trainers":[],"environment_slug":"interior","connections":{"city-park":{"conditions":[]},"route3":{"conditions":[]}},"environment":{"slug":"interior","battle_graphics":{"island_back":"paper_back_island.png","island_front":"paper_front_island.png","background":"battle_bg03.png"},"battle_music":"music_battle_loop"}} \ No newline at end of file +{"name":"Leather Town","encounter_slug":"","encounters":[],"requiredEncounters":0,"trainers":[],"environment_slug":"interior","shops":{"leather_scoop":[]},"connections":{"city-park":{"conditions":[],"name":"City Park"},"route3":{"conditions":[],"name":"Route 3"}},"environment":{"slug":"interior","battle_graphics":{"island_back":"paper_back_island.png","island_front":"paper_front_island.png","background":"battle_bg03.png"},"battle_music":"music_battle_loop"},"map":false} \ No newline at end of file diff --git a/db/_generated/areas/paper-town.json b/db/_generated/areas/paper-town.json index 8c0f0d4..6a41be0 100644 --- a/db/_generated/areas/paper-town.json +++ b/db/_generated/areas/paper-town.json @@ -1 +1 @@ -{"encounter_slug":"","encounters":[],"requiredEncounters":0,"trainers":[{"name":"Rival","monsters":[{"slug":"STARTER","level":2}],"inventory":[]}],"environment_slug":"interior","connections":{"route1":{"conditions":["encounters","trainers"]}},"environment":{"slug":"interior","battle_graphics":{"island_back":"paper_back_island.png","island_front":"paper_front_island.png","background":"battle_bg03.png"},"battle_music":"music_battle_loop"}} \ No newline at end of file +{"name":"Paper Town","encounter_slug":"","encounters":[],"requiredEncounters":0,"trainers":[{"name":"Rival","monsters":[{"slug":"STARTER","level":2}],"inventory":[]}],"environment_slug":"interior","connections":{"route1":{"conditions":["encounters","trainers"],"name":"Route 1"}},"environment":{"slug":"interior","battle_graphics":{"island_back":"paper_back_island.png","island_front":"paper_front_island.png","background":"battle_bg03.png"},"battle_music":"music_battle_loop"},"map":false} \ No newline at end of file diff --git a/db/_generated/areas/route1.json b/db/_generated/areas/route1.json index a7c9987..02a1af0 100644 --- a/db/_generated/areas/route1.json +++ b/db/_generated/areas/route1.json @@ -1 +1 @@ -{"encounter_slug":"route1","encounters":[{"monster":"pairagrin","encounter_rate":3.5,"daytime":true,"exp_req_mod":1,"level_range":[2,4]},{"monster":"aardorn","encounter_rate":3.5,"daytime":true,"exp_req_mod":1,"level_range":[2,4]},{"monster":"cataspike","encounter_rate":3.5,"daytime":true,"exp_req_mod":1,"level_range":[2,4]},{"monster":"pairagrin","encounter_rate":3.5,"daytime":false,"exp_req_mod":1,"level_range":[3,5]},{"monster":"aardorn","encounter_rate":3.5,"daytime":false,"exp_req_mod":1,"level_range":[3,5]},{"monster":"cataspike","encounter_rate":3.5,"daytime":false,"exp_req_mod":1,"level_range":[3,5]}],"requiredEncounters":10,"trainers":[{"name":"Bruder Mikki","sprite":"dragonrider.png","monsters":[{"slug":"memnomnom","level":5},{"slug":"jelillow","level":5}],"inventory":[{"slug":"potion","quantity":2}]}],"environment_slug":"forest","connections":{"paper-town":{"conditions":[]},"cotton-town":{"conditions":["encounters","trainers"]}},"environment":{"slug":"forest","battle_graphics":{"island_back":"woodland_island.png","island_front":"woodland_island.png","background":"forest_background.png"},"battle_music":"music_battle_loop"}} \ No newline at end of file +{"name":"Route 1","encounter_slug":"route1","encounters":[{"monster":"pairagrin","encounter_rate":3.5,"daytime":true,"exp_req_mod":1,"level_range":[2,4]},{"monster":"aardorn","encounter_rate":3.5,"daytime":true,"exp_req_mod":1,"level_range":[2,4]},{"monster":"cataspike","encounter_rate":3.5,"daytime":true,"exp_req_mod":1,"level_range":[2,4]},{"monster":"pairagrin","encounter_rate":3.5,"daytime":false,"exp_req_mod":1,"level_range":[3,5]},{"monster":"aardorn","encounter_rate":3.5,"daytime":false,"exp_req_mod":1,"level_range":[3,5]},{"monster":"cataspike","encounter_rate":3.5,"daytime":false,"exp_req_mod":1,"level_range":[3,5]}],"requiredEncounters":10,"trainers":[{"name":"Bruder Mikki","sprite":"dragonrider.png","monsters":[{"slug":"memnomnom","level":5},{"slug":"jelillow","level":5}],"inventory":[{"slug":"potion","quantity":2}]}],"environment_slug":"forest","connections":{"paper-town":{"conditions":[],"name":"Paper Town"},"cotton-town":{"conditions":["encounters","trainers"],"name":"Cotton Town"}},"environment":{"slug":"forest","battle_graphics":{"island_back":"woodland_island.png","island_front":"woodland_island.png","background":"forest_background.png"},"battle_music":"music_battle_loop"},"map":false} \ No newline at end of file diff --git a/db/_generated/areas/route2.json b/db/_generated/areas/route2.json index 719fc7a..5ef92c5 100644 --- a/db/_generated/areas/route2.json +++ b/db/_generated/areas/route2.json @@ -1 +1 @@ -{"encounter_slug":"route2","encounters":[{"monster":"cardiling","encounter_rate":2.5,"daytime":true,"exp_req_mod":1,"level_range":[3,6]},{"monster":"aardorn","encounter_rate":2.5,"daytime":true,"exp_req_mod":1,"level_range":[3,6]},{"monster":"eyenemy","encounter_rate":2.5,"daytime":true,"exp_req_mod":1,"level_range":[3,6]},{"monster":"axylightl","encounter_rate":1,"daytime":true,"exp_req_mod":1,"level_range":[4,7]},{"monster":"cataspike","encounter_rate":2.5,"daytime":true,"exp_req_mod":1,"level_range":[3,6]},{"monster":"cardiling","encounter_rate":2.5,"daytime":false,"exp_req_mod":1,"level_range":[3,6]},{"monster":"aardorn","encounter_rate":2.5,"daytime":false,"exp_req_mod":1,"level_range":[4,8]},{"monster":"eyenemy","encounter_rate":2.5,"daytime":false,"exp_req_mod":1,"level_range":[4,8]},{"monster":"axylightl","encounter_rate":1,"daytime":false,"exp_req_mod":1,"level_range":[5,8]},{"monster":"cataspike","encounter_rate":2.5,"daytime":false,"exp_req_mod":1,"level_range":[4,8]}],"requiredEncounters":10,"trainers":[{"name":"Rival","monsters":[{"slug":"cardiling","level":3},{"slug":"eyenemy","level":6},{"slug":"STARTER","level":6}],"inventory":[]}],"environment_slug":"forest","connections":{"cotton-town":{"conditions":[]},"city-park":{"conditions":["encounters","trainers"]}},"environment":{"slug":"forest","battle_graphics":{"island_back":"woodland_island.png","island_front":"woodland_island.png","background":"forest_background.png"},"battle_music":"music_battle_loop"}} \ No newline at end of file +{"name":"Route 2","encounter_slug":"route2","encounters":[{"monster":"cardiling","encounter_rate":2.5,"daytime":true,"exp_req_mod":1,"level_range":[3,6]},{"monster":"aardorn","encounter_rate":2.5,"daytime":true,"exp_req_mod":1,"level_range":[3,6]},{"monster":"eyenemy","encounter_rate":2.5,"daytime":true,"exp_req_mod":1,"level_range":[3,6]},{"monster":"axylightl","encounter_rate":1,"daytime":true,"exp_req_mod":1,"level_range":[4,7]},{"monster":"cataspike","encounter_rate":2.5,"daytime":true,"exp_req_mod":1,"level_range":[3,6]},{"monster":"cardiling","encounter_rate":2.5,"daytime":false,"exp_req_mod":1,"level_range":[3,6]},{"monster":"aardorn","encounter_rate":2.5,"daytime":false,"exp_req_mod":1,"level_range":[4,8]},{"monster":"eyenemy","encounter_rate":2.5,"daytime":false,"exp_req_mod":1,"level_range":[4,8]},{"monster":"axylightl","encounter_rate":1,"daytime":false,"exp_req_mod":1,"level_range":[5,8]},{"monster":"cataspike","encounter_rate":2.5,"daytime":false,"exp_req_mod":1,"level_range":[4,8]}],"requiredEncounters":10,"trainers":[{"name":"Rival","monsters":[{"slug":"cardiling","level":3},{"slug":"eyenemy","level":6},{"slug":"STARTER","level":6}],"inventory":[]}],"environment_slug":"forest","connections":{"cotton-town":{"conditions":[],"name":"Cotton Town"},"city-park":{"conditions":["encounters","trainers"],"name":"City Park"}},"environment":{"slug":"forest","battle_graphics":{"island_back":"woodland_island.png","island_front":"woodland_island.png","background":"forest_background.png"},"battle_music":"music_battle_loop"},"map":false} \ No newline at end of file diff --git a/db/_generated/areas/route3.json b/db/_generated/areas/route3.json index 6d248cc..fbd07f4 100644 --- a/db/_generated/areas/route3.json +++ b/db/_generated/areas/route3.json @@ -1 +1 @@ -{"encounter_slug":"route3","encounters":[{"monster":"cardiling","encounter_rate":3,"daytime":true,"exp_req_mod":1,"level_range":[7,10]},{"monster":"elofly","encounter_rate":3,"daytime":true,"exp_req_mod":1,"level_range":[7,10]},{"monster":"squabbit","encounter_rate":1,"daytime":true,"exp_req_mod":1,"level_range":[8,11]},{"monster":"shybulb","encounter_rate":3,"daytime":true,"exp_req_mod":1,"level_range":[7,10]},{"monster":"cardiling","encounter_rate":3,"daytime":false,"exp_req_mod":1,"level_range":[9,12]},{"monster":"elofly","encounter_rate":3,"daytime":false,"exp_req_mod":1,"level_range":[9,12]},{"monster":"squabbit","encounter_rate":1,"daytime":false,"exp_req_mod":1,"level_range":[9,12]},{"monster":"shybulb","encounter_rate":3,"daytime":false,"exp_req_mod":1,"level_range":[9,12]}],"requiredEncounters":10,"trainers":[{"name":"Miner Roxby","sprite":"miner.png","monsters":[{"slug":"rockitten","level":13},{"slug":"ignibus","level":13}]}],"environment_slug":"forest","connections":{"leather-town":{"conditions":[]}},"environment":{"slug":"forest","battle_graphics":{"island_back":"woodland_island.png","island_front":"woodland_island.png","background":"forest_background.png"},"battle_music":"music_battle_loop"}} \ No newline at end of file +{"name":"Route 3","encounter_slug":"route3","encounters":[{"monster":"cardiling","encounter_rate":3,"daytime":true,"exp_req_mod":1,"level_range":[7,10]},{"monster":"elofly","encounter_rate":3,"daytime":true,"exp_req_mod":1,"level_range":[7,10]},{"monster":"squabbit","encounter_rate":1,"daytime":true,"exp_req_mod":1,"level_range":[8,11]},{"monster":"shybulb","encounter_rate":3,"daytime":true,"exp_req_mod":1,"level_range":[7,10]},{"monster":"cardiling","encounter_rate":3,"daytime":false,"exp_req_mod":1,"level_range":[9,12]},{"monster":"elofly","encounter_rate":3,"daytime":false,"exp_req_mod":1,"level_range":[9,12]},{"monster":"squabbit","encounter_rate":1,"daytime":false,"exp_req_mod":1,"level_range":[9,12]},{"monster":"shybulb","encounter_rate":3,"daytime":false,"exp_req_mod":1,"level_range":[9,12]}],"requiredEncounters":10,"trainers":[{"name":"Miner Roxby","sprite":"miner.png","monsters":[{"slug":"rockitten","level":13},{"slug":"ignibus","level":13}]}],"environment_slug":"forest","connections":{"leather-town":{"conditions":[],"name":"Leather Town"}},"environment":{"slug":"forest","battle_graphics":{"island_back":"woodland_island.png","island_front":"woodland_island.png","background":"forest_background.png"},"battle_music":"music_battle_loop"},"map":false} \ No newline at end of file diff --git a/db/_generated/currencies.json b/db/_generated/currencies.json index d3dc796..3778e32 100644 --- a/db/_generated/currencies.json +++ b/db/_generated/currencies.json @@ -1 +1 @@ -{"last_updated":"2023-08-21","map":{"AUD":{"rate":1.6995,"symbol":"$","name":"Australian Dollar","decimals":2},"BGN":{"rate":1.9558,"symbol":"\u043b\u0432","name":"Bulgarian Lev","decimals":2},"BRL":{"rate":5.414,"symbol":"R$","name":"Brazilian Real","decimals":2},"CAD":{"rate":1.4723,"symbol":"$","name":"Canadian Dollar","decimals":2},"CHF":{"rate":0.9588,"symbol":"CHF","name":"Swiss Franc","decimals":2},"CNY":{"rate":7.9456,"symbol":"\u00a5","name":"Chinese Yuan","decimals":2},"CZK":{"rate":24.02,"symbol":"K\u010d","name":"Czech Republic Koruna","decimals":2},"DKK":{"rate":7.4524,"symbol":"kr","name":"Danish Krone","decimals":2},"GBP":{"rate":0.85475,"symbol":"\u00a3","name":"British Pound Sterling","decimals":2},"HKD":{"rate":8.5488,"symbol":"$","name":"Hong Kong Dollar","decimals":2},"HUF":{"rate":381.73,"symbol":"Ft","name":"Hungarian Forint","decimals":2},"IDR":{"rate":16718,"symbol":"Rp","name":"Indonesian Rupiah","decimals":2},"ILS":{"rate":4.1395,"symbol":"\u20aa","name":"Israeli New Sheqel","decimals":2},"INR":{"rate":90.66,"symbol":"\u20b9","name":"Indian Rupee","decimals":2},"ISK":{"rate":143.7,"symbol":"kr","name":"Icelandic Kr\u00f3na","decimals":2},"JPY":{"rate":159.15,"symbol":"\u00a5","name":"Japanese Yen","decimals":0},"KRW":{"rate":1460.32,"symbol":"\u20a9","name":"South Korean Won","decimals":2},"MXN":{"rate":18.5927,"symbol":"$","name":"Mexican Peso","decimals":2},"MYR":{"rate":5.0706,"symbol":"RM","name":"Malaysian Ringgit","decimals":2},"NOK":{"rate":11.5205,"symbol":"kr","name":"Norwegian Krone","decimals":2},"NZD":{"rate":1.8407,"symbol":"$","name":"New Zealand Dollar","decimals":2},"PHP":{"rate":61.543,"symbol":"\u20b1","name":"Philippine Peso","decimals":2},"PLN":{"rate":4.4785,"symbol":"z\u0142","name":"Polish Zloty","decimals":2},"RON":{"rate":4.9406,"symbol":"lei","name":"Romanian Leu","decimals":2},"SEK":{"rate":11.9095,"symbol":"kr","name":"Swedish Krona","decimals":2},"SGD":{"rate":1.4791,"symbol":"S$","name":"Singapore Dollar","decimals":2},"THB":{"rate":38.314,"symbol":"\u0e3f","name":"Thai Baht","decimals":2},"TRY":{"rate":29.63,"symbol":"\u20ba","name":"Turkish Lira","decimals":2},"USD":{"rate":1.0908,"symbol":"$","name":"United States Dollar","decimals":2},"ZAR":{"rate":20.676,"symbol":"R","name":"South African Rand","decimals":2},"EUR":{"rate":1,"symbol":"\u20ac","name":"Euro","decimals":2}}} \ No newline at end of file +{"last_updated":"2023-08-22","map":{"AUD":{"rate":1.6878,"symbol":"$","name":"Australian Dollar","decimals":2},"BGN":{"rate":1.9558,"symbol":"\u043b\u0432","name":"Bulgarian Lev","decimals":2},"BRL":{"rate":5.3891,"symbol":"R$","name":"Brazilian Real","decimals":2},"CAD":{"rate":1.4716,"symbol":"$","name":"Canadian Dollar","decimals":2},"CHF":{"rate":0.9565,"symbol":"CHF","name":"Swiss Franc","decimals":2},"CNY":{"rate":7.9387,"symbol":"\u00a5","name":"Chinese Yuan","decimals":2},"CZK":{"rate":24,"symbol":"K\u010d","name":"Czech Republic Koruna","decimals":2},"DKK":{"rate":7.4535,"symbol":"kr","name":"Danish Krone","decimals":2},"GBP":{"rate":0.85288,"symbol":"\u00a3","name":"British Pound Sterling","decimals":2},"HKD":{"rate":8.5328,"symbol":"$","name":"Hong Kong Dollar","decimals":2},"HUF":{"rate":382.03,"symbol":"Ft","name":"Hungarian Forint","decimals":2},"IDR":{"rate":16699,"symbol":"Rp","name":"Indonesian Rupiah","decimals":2},"ILS":{"rate":4.1069,"symbol":"\u20aa","name":"Israeli New Sheqel","decimals":2},"INR":{"rate":90.32,"symbol":"\u20b9","name":"Indian Rupee","decimals":2},"ISK":{"rate":143.7,"symbol":"kr","name":"Icelandic Kr\u00f3na","decimals":2},"JPY":{"rate":158.7,"symbol":"\u00a5","name":"Japanese Yen","decimals":0},"KRW":{"rate":1454.59,"symbol":"\u20a9","name":"South Korean Won","decimals":0},"MXN":{"rate":18.4223,"symbol":"$","name":"Mexican Peso","decimals":2},"MYR":{"rate":5.0603,"symbol":"RM","name":"Malaysian Ringgit","decimals":2},"NOK":{"rate":11.5195,"symbol":"kr","name":"Norwegian Krone","decimals":2},"NZD":{"rate":1.8264,"symbol":"$","name":"New Zealand Dollar","decimals":2},"PHP":{"rate":61.251,"symbol":"\u20b1","name":"Philippine Peso","decimals":2},"PLN":{"rate":4.4643,"symbol":"z\u0142","name":"Polish Zloty","decimals":2},"RON":{"rate":4.9376,"symbol":"lei","name":"Romanian Leu","decimals":2},"SEK":{"rate":11.863,"symbol":"kr","name":"Swedish Krona","decimals":2},"SGD":{"rate":1.4754,"symbol":"S$","name":"Singapore Dollar","decimals":2},"THB":{"rate":38.126,"symbol":"\u0e3f","name":"Thai Baht","decimals":2},"TRY":{"rate":29.614,"symbol":"\u20ba","name":"Turkish Lira","decimals":2},"USD":{"rate":1.0887,"symbol":"$","name":"United States Dollar","decimals":2},"ZAR":{"rate":20.393,"symbol":"R","name":"South African Rand","decimals":2},"EUR":{"rate":1,"symbol":"\u20ac","name":"Euro","decimals":2}}} \ No newline at end of file diff --git a/db/areas.php b/db/areas.php index 55b2177..185589e 100644 --- a/db/areas.php +++ b/db/areas.php @@ -9,9 +9,22 @@ foreach (scandir(__DIR__ . '/areas') as $file) { $area = json_decode(file_get_contents($filePath), true); $encounters = json_decode(@file_get_contents(dirname(__DIR__) . "/modules/tuxemon/mods/tuxemon/db/encounter/$area[encounter_slug].json") ?? '', true); $environment = json_decode(file_get_contents(dirname(__DIR__) . "/modules/tuxemon/mods/tuxemon/db/environment/$area[environment_slug].json"), true); + $map = @file_get_contents(__DIR__ . "/maps/$fileName.svg"); array_push($area['encounters'], ...$encounters['monsters'] ?? []); $area['environment'] = $environment; + $area['map'] = $map; + + foreach ($area['connections'] as $areaSlug => $connection) { + $area['connections'][$areaSlug]['name'] = json_decode(file_get_contents(__DIR__ . "/areas/$areaSlug.json"), true)['name']; + } + + foreach ($area['locations'] ?? [] as $locationId => $location) { + if ($location['type'] == 'shop') { + $scoop = json_decode(file_get_contents(dirname(__DIR__) . "/modules/tuxemon/mods/tuxemon/db/economy/$location[economy].json"), true); + array_unshift($area['locations'][$locationId]['items'], ...$scoop['items']); + } + } file_put_contents(__DIR__ . "/_generated/areas/$fileName.json", json_encode($area)); } diff --git a/db/areas/city-park.json b/db/areas/city-park.json index 113cf51..d0e5af3 100644 --- a/db/areas/city-park.json +++ b/db/areas/city-park.json @@ -1,4 +1,6 @@ { + "name": "City Park", + "encounter_slug": "citypark", "encounters": [], diff --git a/db/areas/cotton-town.json b/db/areas/cotton-town.json index dfd73e5..1f12f73 100644 --- a/db/areas/cotton-town.json +++ b/db/areas/cotton-town.json @@ -1,4 +1,6 @@ { + "name": "Cotton Town", + "encounter_slug": "", "encounters": [], @@ -9,6 +11,18 @@ "environment_slug": "interior", + "locations": { + "healing_center": { + "type": "healingCenter", + "price": 10 + }, + "cotton_scoop": { + "type": "shop", + "economy": "cotton_scoop", + "items": [] + } + }, + "events": { "dryads-grove": false }, diff --git a/db/areas/dryads-grove.json b/db/areas/dryads-grove.json new file mode 100644 index 0000000..a0a75cc --- /dev/null +++ b/db/areas/dryads-grove.json @@ -0,0 +1,15 @@ +{ + "name": "Dryad's Grove", + + "encounter_slug": "", + + "encounters": [], + + "requiredEncounters": 0, + + "trainers": [], + + "environment_slug": "interior", + + "connections": {} +} diff --git a/db/areas/leather-town.json b/db/areas/leather-town.json index 7815dfd..5cb24d7 100644 --- a/db/areas/leather-town.json +++ b/db/areas/leather-town.json @@ -1,4 +1,6 @@ { + "name": "Leather Town", + "encounter_slug": "", "encounters": [], @@ -9,6 +11,18 @@ "environment_slug": "interior", + "locations": { + "healing_center": { + "type": "healingCenter", + "price": 20 + }, + "leather_scoop": { + "type": "shop", + "economy": "leather_scoop", + "items": [] + } + }, + "connections": { "city-park": { "conditions": [] diff --git a/db/areas/paper-town.json b/db/areas/paper-town.json index 7020252..688dd7f 100644 --- a/db/areas/paper-town.json +++ b/db/areas/paper-town.json @@ -1,4 +1,6 @@ { + "name": "Paper Town", + "encounter_slug": "", "encounters": [], diff --git a/db/areas/route1.json b/db/areas/route1.json index 1615772..5c49e04 100644 --- a/db/areas/route1.json +++ b/db/areas/route1.json @@ -1,4 +1,6 @@ { + "name": "Route 1", + "encounter_slug": "route1", "encounters": [], diff --git a/db/areas/route2.json b/db/areas/route2.json index e4c6d2a..b08e1af 100644 --- a/db/areas/route2.json +++ b/db/areas/route2.json @@ -1,4 +1,6 @@ { + "name": "Route 2", + "encounter_slug": "route2", "encounters": [], diff --git a/db/areas/route3.json b/db/areas/route3.json index 3fa7c2f..ea59234 100644 --- a/db/areas/route3.json +++ b/db/areas/route3.json @@ -1,4 +1,6 @@ { + "name": "Route 3", + "encounter_slug": "route3", "encounters": [], diff --git a/db/currencies.php b/db/currencies.php new file mode 100644 index 0000000..7df3993 --- /dev/null +++ b/db/currencies.php @@ -0,0 +1,43 @@ + 0, + 'KRW' => 0, +]; + +$currencies = []; +$apiResponse = json_decode(file_get_contents('https://api.frankfurter.app/latest?base=eur'), true); +$currencies['last_updated'] = $apiResponse['date']; +foreach ($apiResponse['rates'] as $code => $rate) { + $currencies['map'][$code] = [ + 'rate' => $rate, + 'symbol' => $currencySymbols[$code], + 'name' => $currencyNames[$code], + 'decimals' => $decimals[$code] ?? 2, + ]; +} + +// add EUR +$currencies['map']['EUR'] = [ + 'rate' => 1, + 'symbol' => $currencySymbols['EUR'], + 'name' => $currencyNames['EUR'], + 'decimals' => 2, +]; + +file_put_contents( + __DIR__ . '/_generated/currencies.json', + json_encode($currencies) +); diff --git a/db/currencies/currencies.php b/db/currencies/currencies.php deleted file mode 100644 index 7c8b2ac..0000000 --- a/db/currencies/currencies.php +++ /dev/null @@ -1,42 +0,0 @@ - 0, -]; - -$currencies = []; -$apiResponse = json_decode(file_get_contents('https://api.frankfurter.app/latest?base=eur'), true); -$currencies['last_updated'] = $apiResponse['date']; -foreach ($apiResponse['rates'] as $code => $rate) { - $currencies['map'][$code] = [ - 'rate' => $rate, - 'symbol' => $currencySymbols[$code], - 'name' => $currencyNames[$code], - 'decimals' => $decimals[$code] ?? 2, - ]; -} - -// add EUR -$currencies['map']['EUR'] = [ - 'rate' => 1, - 'symbol' => $currencySymbols['EUR'], - 'name' => $currencyNames['EUR'], - 'decimals' => 2, -]; - -file_put_contents( - dirname(__DIR__) . '/_generated/currencies.json', - json_encode($currencies) -); diff --git a/db/maps/Cotton_town.png b/db/maps/Cotton_town.png new file mode 100644 index 0000000..bc795b4 Binary files /dev/null and b/db/maps/Cotton_town.png differ diff --git a/db/maps/cotton-town.svg b/db/maps/cotton-town.svg new file mode 100644 index 0000000..d2d7314 --- /dev/null +++ b/db/maps/cotton-town.svg @@ -0,0 +1,13 @@ + + + + Healing Center + + + Shop + + diff --git a/index.html b/index.html index 0cd65fe..73e5f93 100644 --- a/index.html +++ b/index.html @@ -25,21 +25,23 @@
- +
- Money: - - - - +
+ +
+
+ ¤ + + +
+
+ + +
+ + + +