mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 02:38:02 +00:00
Adventure mode PoI refactor.
Renamed, re-set and cherry-picked a few of the various PoIs and reverted placement behavior.
This commit is contained in:
@@ -1,14 +1,11 @@
|
||||
package forge.adventure.data;
|
||||
|
||||
import com.badlogic.gdx.files.FileHandle;
|
||||
import com.badlogic.gdx.math.Vector2;
|
||||
import com.badlogic.gdx.utils.Array;
|
||||
import com.badlogic.gdx.utils.Json;
|
||||
import forge.adventure.util.Config;
|
||||
import forge.adventure.util.Paths;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Data class that will be used to read Json configuration files
|
||||
* BiomeData
|
||||
@@ -39,13 +36,9 @@ public class PointOfInterestData {
|
||||
}
|
||||
return pointOfInterestList;
|
||||
}
|
||||
public static PointOfInterestData getPointOfInterest(String name, Vector2 index) {
|
||||
ArrayList<PointOfInterestData> candidates = new ArrayList<PointOfInterestData>();
|
||||
public static PointOfInterestData getPointOfInterest(String name) {
|
||||
for(PointOfInterestData data: new Array.ArrayIterator<>(getAllPointOfInterest())){
|
||||
if(data.name.equals(name)) candidates.add(data); //Populate candidates with specified name.
|
||||
}
|
||||
if(candidates.size() > 0){ //If we got any candidates, return a random one.
|
||||
return candidates.get(((int)(index.x*6719+index.y)%candidates.size()));//6719 is just a big prime to avoid collisions
|
||||
if(data.name.equals(name)) return data;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ public class PointOfInterest implements SaveFileContent {
|
||||
public void load(SaveFileData saveFileData) {
|
||||
|
||||
position.set(saveFileData.readVector2("position"));
|
||||
data=PointOfInterestData.getPointOfInterest(saveFileData.readString("name"),position);
|
||||
data=PointOfInterestData.getPointOfInterest(saveFileData.readString("name"));
|
||||
rectangle.set(saveFileData.readRectangle("rectangle"));
|
||||
spriteIndex=saveFileData.readInt("spriteIndex");
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import forge.adventure.util.Config;
|
||||
import forge.adventure.util.Paths;
|
||||
import forge.adventure.util.SaveFileContent;
|
||||
import forge.adventure.util.SaveFileData;
|
||||
import forge.util.MyRandom;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -43,7 +44,7 @@ public class World implements Disposable, SaveFileContent {
|
||||
private PointOfInterestMap mapPoiIds;
|
||||
private BiomeTexture[] biomeTexture;
|
||||
private long seed;
|
||||
private final Random random = new Random();
|
||||
private final Random random = MyRandom.getRandom();
|
||||
private boolean worldDataLoaded=false;
|
||||
|
||||
public Random getRandom()
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"min": 0,
|
||||
"max": 0.2,
|
||||
"resolution": 10
|
||||
}, {
|
||||
},{
|
||||
"spriteName":"Black_2",
|
||||
"min": 0.8,
|
||||
"max": 1.0,
|
||||
@@ -24,5 +24,14 @@
|
||||
"color": "110903",
|
||||
"spriteNames":[ "SwampTree","SwampTree2","DarkGras","Skull","SwampRock","DarkWood","Reed","Waterlily","Shroom","Shroom2"] ,
|
||||
"enemies":[ "Beholder","Big Zombie","Black Wiz1","Black Wiz2","Black Wiz3","Dark Knight","Death Knight","Demon","Ghoul","Ghost","Harpy","Harpy 2","High Vampire","Lich","Rakdos Devil","Skeleton","Skeleton Soldier","Vampire","Zombie","Zombie Lord" ] ,
|
||||
"pointsOfInterest":[ "Black Castle","Swamp Town","Swamp Town2","Zombie Town","Graveyard","VampireCastle","EvilGrove","SkullCaveB","CaveB" ]
|
||||
"pointsOfInterest":[
|
||||
"Black Castle",
|
||||
"Swamp Town","Swamp Town2",
|
||||
"Zombie Town",
|
||||
"Graveyard", "Graveyard1", "Graveyard2", "Graveyard3", "Graveyard4",
|
||||
"VampireCastle", "VampireCastle1", "VampireCastle2", "VampireCastle3",
|
||||
"EvilGrove", "EvilGrove1", "EvilGrove2", "EvilGrove3", "EvilGrove4",
|
||||
"SkullCaveB", "SkullCaveB1", "SkullCaveB2",
|
||||
"CaveB", "CaveB1", "CaveB2", "CaveB3", "CaveB4", "CaveB5", "CaveB6", "CaveB7", "CaveB8", "CaveB9", "CaveBA", "CaveBB", "CaveBC"
|
||||
]
|
||||
}
|
||||
@@ -22,7 +22,16 @@
|
||||
"width": 0.7,
|
||||
"height": 0.7,
|
||||
"color": "10a2e0",
|
||||
"spriteNames":["IslandTree","Coral","Shell"] ,
|
||||
"spriteNames":["IslandTree" ,"Coral" ,"Shell" ],
|
||||
"enemies":[ "Bird","Djinn","Elemental","Merfolk","Merfolk Avatar","Merfolk Fighter","Merfolk Lord","Merfolk Soldier","Merfolk warrior","Blue Wiz1","Blue Wiz2","Blue Wiz3","Geist","Rogue","Sea Monster","Tarkir Djinn" ] ,
|
||||
"pointsOfInterest":[ "Blue Castle","Island Town","Nest","MerfolkPool","DjinnPalace","MageTowerU","CaveU" ]
|
||||
"pointsOfInterest":[
|
||||
"Blue Castle",
|
||||
"Island Town",
|
||||
"NestU",
|
||||
"MerfolkPool", "MerfolkPool1", "MerfolkPool2", "MerfolkPool3", "MerfolkPool4", "MerfolkPool5",
|
||||
"DjinnPalace", "DjinnPalace1", "DjinnPalace2",
|
||||
"Factory", "Factory1",
|
||||
"MageTowerU", "MageTowerU1", "MageTowerU2", "MageTowerU3", "MageTowerU4", "MageTowerU5", "MageTowerU6", "MageTowerU7", "MageTowerU8", "MageTowerU9", "MageTowerUA", "MageTowerUB", "MageTowerUC", "MageTowerUD",
|
||||
"CaveU", "CaveU1", "CaveU2", "CaveU3", "CaveU4", "CaveU5"
|
||||
]
|
||||
}
|
||||
@@ -12,7 +12,7 @@
|
||||
"min": 0,
|
||||
"max": 0.2,
|
||||
"resolution": 10
|
||||
}, {
|
||||
},{
|
||||
"spriteName":"Green_2",
|
||||
"min": 0.8,
|
||||
"max": 1.0,
|
||||
@@ -21,8 +21,16 @@
|
||||
],
|
||||
"width": 0.7,
|
||||
"height": 0.7,
|
||||
"color": "59a650" ,
|
||||
"color": "59a650",
|
||||
"spriteNames":[ "WoodTree","WoodTree2","Bush","Stump","Moss","Stone","Flower","Wood"] ,
|
||||
"enemies":[ "Ape","Bear","Centaur","Centaur Warrior","Dino","Eldraine Faerie","Elf","Elf warrior","Elk","Faerie","Giant Spider","Gorgon","Gorgon 2","Green Beast","Green Wiz1","Green Wiz2","Green Wiz3","High Elf","Hydra","Satyr","Snake","Spider","Treefolk","Treefolk Guardian","Viper","Werewolf","Wurm" ] ,
|
||||
"pointsOfInterest":[ "Green Castle","Forest Town","ElfTown","WurmPond","Grove","CatLairG","CaveG" ]
|
||||
"pointsOfInterest":[
|
||||
"Green Castle",
|
||||
"Forest Town",
|
||||
"ElfTown",
|
||||
"WurmPond",
|
||||
"Grove", "Grove1", "Grove2", "Grove3", "Grove4", "Grove5", "Grove6", "Grove7", "Grove8", "Grove9", "GroveA", "GroveB",
|
||||
"CatLairG", "CatLairG1", "CatLairG2",
|
||||
"CaveG", "CaveG1", "CaveG2", "CaveG3", "CaveG4", "CaveG5", "CaveG6", "CaveG7", "CaveG8", "CaveG9", "CaveGA", "CaveGB"
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -12,7 +12,7 @@
|
||||
"min": 0,
|
||||
"max": 0.2,
|
||||
"resolution": 10
|
||||
}, {
|
||||
},{
|
||||
"spriteName":"Red_2",
|
||||
"min": 0.8,
|
||||
"max": 1.0,
|
||||
@@ -24,5 +24,16 @@
|
||||
"color": "b63729",
|
||||
"spriteNames":[ "MountainTree","MountainTree2","MountainRock","LargeMountainRock","Gravel"] ,
|
||||
"enemies":[ "Amonkhet Minotaur","Ashmouth Devil","Axgard Dwarf","Berserker","Boggart","Cyclops","Devil","Dinosaur","Dragon","Dwarf","Efreet","Fire Elemental","Flame Elemental","Goblin","Goblin Chief","Goblin Warrior","Hellhound","Immersturm Demon","Khan","Minotaur","Minotaur Flayer","Red Beast","Red Wiz1","Red Wiz2","Red Wiz3","Shaman","Troll","Vampire Lord","Viashino","Yeti" ] ,
|
||||
"pointsOfInterest":[ "Red Castle","Mountain Town","YuleTown","BarbarianCamp","Maze","SnowAbbey","SkullCaveR","CaveR" ]
|
||||
"pointsOfInterest":[
|
||||
"Red Castle",
|
||||
"Mountain Town",
|
||||
"YuleTown",
|
||||
"BarbarianCamp", "BarbarianCamp1", "BarbarianCamp2", "BarbarianCamp3",
|
||||
"Maze", "Maze1", "Maze2", "Maze3",
|
||||
"Fort", "Fort5", "FortA",
|
||||
"Factory", "Factory2", "Factory3",
|
||||
"SnowAbbey", "SnowAbbey1", "SnowAbbey2",
|
||||
"SkullCaveR", "SkullCaveR1", "SkullCaveR2",
|
||||
"CaveR", "CaveR1", "CaveR2", "CaveR3", "CaveR4", "CaveR5", "CaveR6", "CaveR7", "CaveR8", "CaveR9", "CaveRA", "CaveRB", "CaveRC", "CaveRD", "CaveRE", "CaveRF", "CaveRG", "CaveRH", "CaveRI", "CaveRJ", "CaveRK", "CaveRL"
|
||||
]
|
||||
}
|
||||
@@ -24,5 +24,14 @@
|
||||
"color": "aeaeae",
|
||||
"spriteNames":[ "WasteTree","Stone","WasteRock"] ,
|
||||
"enemies":[ "Bandit","ClayGolem","Construct","Eldrazi","Gargoyle","Gargoyle 2","Golem","Sliver","Black Wiz1","Black Wiz2","Black Wiz3","Blue Wiz1","Blue Wiz2","Blue Wiz3","Green Wiz1","Green Wiz2","Green Wiz3","Red Wiz1","Red Wiz2","Red Wiz3","White Wiz1","White Wiz2","White Wiz3" ] ,
|
||||
"pointsOfInterest":[ "Colorless Castle","Final Castle","Waste Town","Waste Town2","Waste Town3","Portal","Fort","Factory","MageTowerC","CaveC" ]
|
||||
"pointsOfInterest":[
|
||||
"Final Castle",
|
||||
"Colorless Castle",
|
||||
"Waste Town", "Waste Town2", "Waste Town3",
|
||||
"Portal", "Portal1",
|
||||
"Fort", "Fort1", "Fort2", "Fort3", "Fort4", "Fort5", "Fort6",
|
||||
"Factory", "Factory1", "Factory2", "Factory3",
|
||||
"MageTowerC", "MageTowerC1", "MageTowerC2", "MageTowerC3", "MageTowerC4", "MageTowerC5",
|
||||
"CaveC", "CaveC1", "CaveC2", "CaveC3", "CaveC4", "CaveC5", "CaveC6", "CaveC7", "CaveC8", "CaveC9", "CaveCA", "CaveCB", "CaveCC", "CaveCD", "CaveCE", "CaveCF"
|
||||
]
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"startPointX": 0.5,
|
||||
"startPointX": 0.5,
|
||||
"startPointY": 0.22,
|
||||
"name": "white",
|
||||
"noiseWeight": 0.5,
|
||||
@@ -21,8 +21,18 @@
|
||||
],
|
||||
"width": 0.7,
|
||||
"height": 0.7,
|
||||
"color": "efe697" ,
|
||||
"spriteNames":[ "PlainsTree","Cactus","PlainsRock","LargePlainsRock","DarkGras"] ,
|
||||
"color": "efe697",
|
||||
"spriteNames":[ "PlainsTree", "Cactus" ,"PlainsRock" ,"LargePlainsRock" ,"DarkGras" ],
|
||||
"enemies":[ "Adventurer","Archer","Cat","Cathar","Cleric","Dawnhart Witch","Eldraine Knight","Griffin","Horseman","Human","Human elite","Human guard","Knight","Monk","White Dwarf","White Wiz1","White Wiz2","White Wiz3" ] ,
|
||||
"pointsOfInterest":[ "White Castle","Plains Town","Monastery","Castle","Aerie","CatLairW","NestW","CaveW" ]
|
||||
"pointsOfInterest":[
|
||||
"White Castle",
|
||||
"Plains Town",
|
||||
"Monastery", "Monastery1", "Monastery2", "Monastery3", "Monastery4",
|
||||
"Castle", "Castle1", "Castle2",
|
||||
"Fort7", "Fort8", "Fort9", "FortA", "FortB",
|
||||
"Aerie",
|
||||
"CatLairW", "CatLairW1", "CatLairW2",
|
||||
"NestW",
|
||||
"CaveW", "CaveW1", "CaveW2", "CaveW3", "CaveW4", "CaveW5", "CaveW6"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user