mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 11:18:01 +00:00
expanded teleport actor on maps added capitals
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package forge.adventure.editor;
|
||||
|
||||
import forge.adventure.data.PointOfInterestData;
|
||||
import forge.adventure.util.Config;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
@@ -16,6 +17,7 @@ public class PointOfInterestEdit extends JComponent {
|
||||
JTextField sprite = new JTextField();
|
||||
FilePicker map = new FilePicker(new String[]{"tmx"});
|
||||
JSpinner radiusFactor= new JSpinner(new SpinnerNumberModel(0.0f, 0.0f, 2.0f, 0.1f));
|
||||
SwingAtlasPreview preview=new SwingAtlasPreview(256,2000);
|
||||
|
||||
|
||||
private boolean updating=false;
|
||||
@@ -34,6 +36,7 @@ public class PointOfInterestEdit extends JComponent {
|
||||
parameters.add("Sprite:",sprite);
|
||||
parameters.add("Map:",map);
|
||||
parameters.add("Radius factor:",radiusFactor);
|
||||
parameters.add(preview);
|
||||
|
||||
add(parameters);
|
||||
|
||||
@@ -80,6 +83,7 @@ public class PointOfInterestEdit extends JComponent {
|
||||
map.getEdit().setText(currentData.map);
|
||||
radiusFactor.setValue(currentData.radiusFactor);
|
||||
|
||||
preview.setSpritePath(currentData.spriteAtlas,currentData.sprite);
|
||||
updating=false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ public class PointOfInterestEditor extends JComponent {
|
||||
JList<PointOfInterestData> list = new JList<>(model);
|
||||
JToolBar toolBar = new JToolBar("toolbar");
|
||||
PointOfInterestEdit edit=new PointOfInterestEdit();
|
||||
|
||||
static HashMap<String,SwingAtlas> atlas=new HashMap<>();
|
||||
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import org.apache.commons.lang3.tuple.Pair;
|
||||
import javax.swing.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -17,9 +18,13 @@ public class SwingAtlasPreview extends Box {
|
||||
private String sprite="";
|
||||
private String spriteName="";
|
||||
Timer timer;
|
||||
public SwingAtlasPreview() {
|
||||
public SwingAtlasPreview()
|
||||
{
|
||||
this(32,200);
|
||||
}
|
||||
public SwingAtlasPreview(int imageSize,int timeDelay) {
|
||||
super(BoxLayout.Y_AXIS);
|
||||
timer = new Timer(200, new AbstractAction() {
|
||||
timer = new Timer(timeDelay, new AbstractAction() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
counter++;
|
||||
@@ -28,7 +33,9 @@ public class SwingAtlasPreview extends Box {
|
||||
}
|
||||
}
|
||||
});
|
||||
this.imageSize=imageSize;
|
||||
}
|
||||
static Map<String,Map<Integer,SwingAtlas>> cache=new HashMap<>();
|
||||
public SwingAtlasPreview(int size) {
|
||||
this();
|
||||
imageSize=size;
|
||||
@@ -47,7 +54,16 @@ public class SwingAtlasPreview extends Box {
|
||||
labels.clear();
|
||||
this.sprite=sprite;
|
||||
this.spriteName=name;
|
||||
SwingAtlas atlas=new SwingAtlas(Config.instance().getFile(sprite),imageSize);
|
||||
SwingAtlas atlas;
|
||||
if(!cache.containsKey(sprite))
|
||||
{
|
||||
cache.put(sprite,new HashMap<>() );
|
||||
}
|
||||
if(!cache.get(sprite).containsKey(imageSize))
|
||||
{
|
||||
cache.get(sprite).put(imageSize,new SwingAtlas(Config.instance().getFile(sprite),imageSize) );
|
||||
}
|
||||
atlas=cache.get(sprite).get(imageSize);
|
||||
int maxCount=0;
|
||||
for(Map.Entry<String, ArrayList<ImageIcon>> element:atlas.getImages().entrySet())
|
||||
{
|
||||
|
||||
@@ -37,6 +37,7 @@ public class CharacterSprite extends MapActor {
|
||||
}
|
||||
|
||||
protected void load(String path) {
|
||||
if(path==null||path.isEmpty())return;
|
||||
TextureAtlas atlas = Config.instance().getAtlas(path);
|
||||
/*
|
||||
for (Texture texture : new ObjectSet.ObjectSetIterator<>( atlas.getTextures()))
|
||||
|
||||
@@ -8,17 +8,23 @@ import forge.adventure.util.MapDialog;
|
||||
/**
|
||||
* Map actor that will show a text message with optional choices
|
||||
*/
|
||||
public class DialogActor extends MapActor {
|
||||
public class DialogActor extends CharacterSprite {
|
||||
private final MapStage stage;
|
||||
private final TextureRegion textureRegion;
|
||||
private final MapDialog dialog;
|
||||
|
||||
public DialogActor(MapStage stage, int id, String S, TextureRegion textureRegion) {
|
||||
super(id);
|
||||
super(id,"");
|
||||
this.stage = stage;
|
||||
dialog = new MapDialog(S, stage, id);
|
||||
this.textureRegion = textureRegion;
|
||||
}
|
||||
public DialogActor(MapStage stage, int id, String S, String sprite) {
|
||||
super(id,sprite);
|
||||
this.stage = stage;
|
||||
dialog = new MapDialog(S, stage, id);
|
||||
this.textureRegion = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlayerCollide() {
|
||||
@@ -29,8 +35,10 @@ public class DialogActor extends MapActor {
|
||||
|
||||
@Override
|
||||
public void draw(Batch batch, float alpha) {
|
||||
batch.draw(textureRegion, getX(), getY(), getWidth(), getHeight());
|
||||
super.draw(batch, alpha);
|
||||
if(textureRegion!=null)
|
||||
batch.draw(textureRegion, getX(), getY(), getWidth(), getHeight());
|
||||
else
|
||||
super.draw(batch, alpha);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package forge.adventure.character;
|
||||
|
||||
import com.badlogic.gdx.math.Vector2;
|
||||
import forge.adventure.scene.SceneType;
|
||||
import forge.adventure.scene.TileMapScene;
|
||||
import forge.adventure.stage.MapStage;
|
||||
@@ -12,29 +13,28 @@ public class EntryActor extends MapActor{
|
||||
private final MapStage stage;
|
||||
String targetMap;
|
||||
|
||||
public EntryActor(MapStage stage,String sourceMap, int id,String targetMap,float x,float y,float w,float h,String direction)
|
||||
public EntryActor(MapStage stage, int id,String targetMap,float x,float y,float w,float h,String direction,boolean spawnPlayerThere)
|
||||
{
|
||||
super(id);
|
||||
this.stage = stage;
|
||||
this.targetMap = targetMap;
|
||||
|
||||
|
||||
if((targetMap==null||targetMap.isEmpty()&&sourceMap.isEmpty())||//if target is null and "from world"
|
||||
!sourceMap.isEmpty()&&targetMap.equals(sourceMap)) //or if source is this target
|
||||
if(spawnPlayerThere) //or if source is this target
|
||||
{
|
||||
switch(direction)
|
||||
{
|
||||
case "up":
|
||||
stage.GetPlayer().setPosition(x,y+h);
|
||||
stage.GetPlayer().setPosition(x+w/2-stage.GetPlayer().getWidth()/2,y+h);
|
||||
break;
|
||||
case "down":
|
||||
stage.GetPlayer().setPosition(x,y-stage.GetPlayer().getHeight());
|
||||
stage.GetPlayer().setPosition(x+w/2-stage.GetPlayer().getWidth()/2,y-stage.GetPlayer().getHeight());
|
||||
break;
|
||||
case "right":
|
||||
stage.GetPlayer().setPosition(x-stage.GetPlayer().getWidth(),y);
|
||||
stage.GetPlayer().setPosition(x-stage.GetPlayer().getWidth(),y+h/2-stage.GetPlayer().getHeight()/2);
|
||||
break;
|
||||
case "left":
|
||||
stage.GetPlayer().setPosition(x+w,y);
|
||||
stage.GetPlayer().setPosition(x+w,y+h/2-stage.GetPlayer().getHeight()/2);
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
@@ -23,6 +23,13 @@ public class ItemData {
|
||||
public String iconName;
|
||||
public boolean questItem=false;
|
||||
public int cost=1000;
|
||||
|
||||
public boolean usableOnMap;
|
||||
public boolean usableInPoi;
|
||||
public String commandOnUse;
|
||||
public int manaNeeded;
|
||||
|
||||
|
||||
public ItemData()
|
||||
{
|
||||
|
||||
|
||||
@@ -19,6 +19,10 @@ public class PointOfInterestData {
|
||||
public String sprite;
|
||||
public String map;
|
||||
public float radiusFactor;
|
||||
public float offsetX=0f;
|
||||
public float offsetY=0f;
|
||||
|
||||
public boolean markOnMap;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -46,6 +46,7 @@ public class GameScene extends HudScene {
|
||||
Forge.clearTransitionScreen();
|
||||
Forge.clearCurrentScreen();
|
||||
super.enter();
|
||||
WorldStage.getInstance().handlePointsOfInterestCollision();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -78,6 +78,7 @@ public class MapStage extends GameStage {
|
||||
//These maps are defined as embedded properties within the Tiled maps.
|
||||
private EffectData effect; //"Dungeon Effect": Character Effect applied to all adversaries within the map.
|
||||
private boolean preventEscape = false; //Prevents player from escaping the dungeon by any means that aren't an exit.
|
||||
private boolean foundPlayerSpawn;
|
||||
|
||||
|
||||
public boolean getDialogOnlyInput() {
|
||||
@@ -343,6 +344,7 @@ public class MapStage extends GameStage {
|
||||
|
||||
GetPlayer().stop();
|
||||
spriteLayer = null;
|
||||
foundPlayerSpawn=false;
|
||||
for (MapLayer layer : map.getLayers()) {
|
||||
if (layer.getProperties().containsKey("spriteLayer") && layer.getProperties().get("spriteLayer", boolean.class)) {
|
||||
spriteLayer = layer;
|
||||
@@ -404,7 +406,18 @@ public class MapStage extends GameStage {
|
||||
float y = Float.parseFloat(prop.get("y").toString());
|
||||
float w = Float.parseFloat(prop.get("width").toString());
|
||||
float h = Float.parseFloat(prop.get("height").toString());
|
||||
EntryActor entry = new EntryActor(this, sourceMap, id, prop.get("teleport").toString(), x, y, w, h, prop.get("direction").toString());
|
||||
|
||||
String targetMap=prop.get("teleport").toString();
|
||||
boolean spawnPlayerThere=(targetMap==null||targetMap.isEmpty()&&sourceMap.isEmpty())||//if target is null and "from world"
|
||||
!sourceMap.isEmpty()&&targetMap.equals(sourceMap);
|
||||
if(foundPlayerSpawn)
|
||||
spawnPlayerThere=false;
|
||||
if((prop.containsKey("spawn")&&prop.get("spawn").toString()=="true")&&spawnPlayerThere)
|
||||
{
|
||||
foundPlayerSpawn=true;
|
||||
spawnPlayerThere=true;
|
||||
}//set spawn to option with "spawn" over other entries
|
||||
EntryActor entry = new EntryActor(this, id, prop.get("teleport").toString(), x, y, w, h, prop.get("direction").toString(),spawnPlayerThere);
|
||||
addMapActor(obj, entry);
|
||||
break;
|
||||
case "reward":
|
||||
@@ -486,7 +499,11 @@ public class MapStage extends GameStage {
|
||||
case "dialog":
|
||||
if(obj instanceof TiledMapTileMapObject) {
|
||||
TiledMapTileMapObject tiledObj = (TiledMapTileMapObject) obj;
|
||||
DialogActor dialog = new DialogActor(this, id, prop.get("dialog").toString(), tiledObj.getTextureRegion());
|
||||
DialogActor dialog;
|
||||
if(prop.containsKey("sprite"))
|
||||
dialog= new DialogActor(this, id, prop.get("dialog").toString(), prop.get("sprite").toString());
|
||||
else
|
||||
dialog= new DialogActor(this, id, prop.get("dialog").toString(), tiledObj.getTextureRegion());
|
||||
addMapActor(obj, dialog);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -81,7 +81,7 @@ public class WorldBackground extends Actor {
|
||||
|
||||
}
|
||||
|
||||
private void loadChunk(int x, int y) {
|
||||
public void loadChunk(int x, int y) {
|
||||
if (chunksSprites[x][y] == null)
|
||||
chunksSprites[x][y] = MapSprite.GetMapSprites(x, y);
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package forge.adventure.stage;
|
||||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.math.GridPoint2;
|
||||
import com.badlogic.gdx.math.Rectangle;
|
||||
import com.badlogic.gdx.math.Vector2;
|
||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
||||
@@ -176,7 +177,7 @@ public class WorldStage extends GameStage implements SaveFileContent {
|
||||
}
|
||||
|
||||
}
|
||||
private void handlePointsOfInterestCollision() {
|
||||
public void handlePointsOfInterestCollision() {
|
||||
|
||||
for (Actor actor : foregroundSprites.getChildren()) {
|
||||
if (actor.getClass() == PointOfInterestMapSprite.class) {
|
||||
@@ -286,6 +287,9 @@ public class WorldStage extends GameStage implements SaveFileContent {
|
||||
"\nEnemy will use Preconstructed or Random Generated Decks. Genetic AI Decks will be available to some enemies on Hard difficulty.", WorldSave.getCurrentSave().getPlayer().getSelectedDeck());
|
||||
WorldSave.getCurrentSave().getPlayer().clearAnnounceFantasy();
|
||||
}
|
||||
GridPoint2 pos = background.translateFromWorldToChunk(player.getX(), player.getY());
|
||||
background.loadChunk(pos.x,pos.y);
|
||||
handlePointsOfInterestCollision();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -426,7 +426,7 @@ public class World implements Disposable, SaveFileContent {
|
||||
List<Rectangle> otherPoints = new ArrayList<>();
|
||||
|
||||
clearTerrain((int) (data.width * data.playerStartPosX), (int) (data.height * data.playerStartPosY), 10);
|
||||
otherPoints.add(new Rectangle(((float) data.width * data.playerStartPosX * (float) data.tileSize) - data.tileSize * 3, ((float) data.height * data.playerStartPosY * data.tileSize) - data.tileSize * 3, data.tileSize * 6, data.tileSize * 6));
|
||||
//otherPoints.add(new Rectangle(((float) data.width * data.playerStartPosX * (float) data.tileSize) - data.tileSize * 3, ((float) data.height * data.playerStartPosY * data.tileSize) - data.tileSize * 3, data.tileSize * 6, data.tileSize * 6));
|
||||
int biomeIndex2 = -1;
|
||||
for (BiomeData biome : data.GetBiomes()) {
|
||||
biomeIndex2++;
|
||||
@@ -443,6 +443,9 @@ public class World implements Disposable, SaveFileContent {
|
||||
y *= (biome.height * height / 2);
|
||||
y += (height - (biome.startPointY * height));
|
||||
|
||||
y += (poi.offsetY * (biome.height * height));
|
||||
x += (poi.offsetX * (biome.width * width));
|
||||
|
||||
if ((int) x < 0 || (int) y <= 0 || (int) y >= height || (int) x >= width || biomeIndex2 != highestBiome(getBiome((int) x, (int) y))) {
|
||||
continue;
|
||||
}
|
||||
@@ -492,8 +495,16 @@ public class World implements Disposable, SaveFileContent {
|
||||
|
||||
|
||||
Color color = biome.GetColor();
|
||||
pix.setColor(color.r, 0.1f, 0.1f, 1);
|
||||
pix.fillRectangle((int) x / data.tileSize - 3, height - (int) y / data.tileSize - 3, 6, 6);
|
||||
if(poi.markOnMap)
|
||||
{
|
||||
pix.setColor(0.1f, 0.1f, 1f, 1);
|
||||
pix.fillCircle((int) x / data.tileSize - 3, height - (int) y / data.tileSize - 3, 10);
|
||||
}
|
||||
else
|
||||
{
|
||||
pix.setColor(1, 0.1f, 0.1f, 1);
|
||||
pix.fillCircle((int) x / data.tileSize - 3, height - (int) y / data.tileSize - 3, 3);
|
||||
}
|
||||
|
||||
|
||||
if (poi.type != null && poi.type.equals("town")) {
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
"height": 4300,
|
||||
"width": 2
|
||||
},
|
||||
"activeFile": "map/main_story/skep.tmx",
|
||||
"activeFile": "map/main_story/spawn.tmx",
|
||||
"automapping.whileDrawing": false,
|
||||
"expandedProjectPaths": [
|
||||
"map/main_story",
|
||||
"map",
|
||||
"obj",
|
||||
"tileset"
|
||||
"tileset",
|
||||
"obj"
|
||||
],
|
||||
"file.lastUsedOpenFilter": "All Files (*)",
|
||||
"fileStates": {
|
||||
@@ -1428,14 +1428,11 @@
|
||||
}
|
||||
},
|
||||
"map/debug_map.tmx": {
|
||||
"expandedObjectLayers": [
|
||||
4
|
||||
],
|
||||
"scale": 3,
|
||||
"selectedLayer": 4,
|
||||
"viewCenter": {
|
||||
"x": 179.5,
|
||||
"y": 274.3333333333333
|
||||
"x": 221.66666666666663,
|
||||
"y": 302.83333333333337
|
||||
}
|
||||
},
|
||||
"map/djinnpalace_1.tmx": {
|
||||
@@ -2095,23 +2092,23 @@
|
||||
"scale": 2,
|
||||
"selectedLayer": 4,
|
||||
"viewCenter": {
|
||||
"x": 235.25,
|
||||
"y": 208.5
|
||||
"x": 235.5,
|
||||
"y": 208.75
|
||||
}
|
||||
},
|
||||
"map/main_story/blue_castle.tmx": {
|
||||
"scale": 3,
|
||||
"selectedLayer": 4,
|
||||
"viewCenter": {
|
||||
"x": 215.16666666666666,
|
||||
"y": 331.3333333333333
|
||||
"x": 214.99999999999997,
|
||||
"y": 331.16666666666663
|
||||
}
|
||||
},
|
||||
"map/main_story/colorless_castle.tmx": {
|
||||
"scale": 2,
|
||||
"selectedLayer": 1,
|
||||
"viewCenter": {
|
||||
"x": 242.75,
|
||||
"x": 243,
|
||||
"y": 339.25
|
||||
}
|
||||
},
|
||||
@@ -2124,41 +2121,83 @@
|
||||
}
|
||||
},
|
||||
"map/main_story/final_castle.tmx": {
|
||||
"expandedObjectLayers": [
|
||||
4
|
||||
],
|
||||
"scale": 1.5,
|
||||
"selectedLayer": 4,
|
||||
"viewCenter": {
|
||||
"x": 273,
|
||||
"y": 250.66666666666669
|
||||
"x": 240,
|
||||
"y": 912
|
||||
}
|
||||
},
|
||||
"map/main_story/forest_capital.tmx": {
|
||||
"scale": 1,
|
||||
"selectedLayer": 0,
|
||||
"viewCenter": {
|
||||
"x": 240,
|
||||
"y": 136
|
||||
}
|
||||
},
|
||||
"map/main_story/green_castle.tmx": {
|
||||
"scale": 3,
|
||||
"selectedLayer": 4,
|
||||
"viewCenter": {
|
||||
"x": 218.5,
|
||||
"y": 308
|
||||
"x": 232,
|
||||
"y": 239.66666666666666
|
||||
}
|
||||
},
|
||||
"map/main_story/island_capital.tmx": {
|
||||
"scale": 1,
|
||||
"selectedLayer": 0,
|
||||
"viewCenter": {
|
||||
"x": 240,
|
||||
"y": 136
|
||||
}
|
||||
},
|
||||
"map/main_story/mountain_capital.tmx": {
|
||||
"scale": 1,
|
||||
"selectedLayer": 0,
|
||||
"viewCenter": {
|
||||
"x": 240,
|
||||
"y": 136
|
||||
}
|
||||
},
|
||||
"map/main_story/plains_capital.tmx": {
|
||||
"scale": 8,
|
||||
"selectedLayer": 5,
|
||||
"viewCenter": {
|
||||
"x": 320,
|
||||
"y": 320
|
||||
}
|
||||
},
|
||||
"map/main_story/red_castle.tmx": {
|
||||
"scale": 2,
|
||||
"selectedLayer": 4,
|
||||
"viewCenter": {
|
||||
"x": 272.25,
|
||||
"y": 328
|
||||
"x": 232,
|
||||
"y": 240
|
||||
}
|
||||
},
|
||||
"map/main_story/skep.tmx": {
|
||||
"expandedObjectLayers": [
|
||||
4
|
||||
],
|
||||
"scale": 1.5,
|
||||
"selectedLayer": 4,
|
||||
"viewCenter": {
|
||||
"x": 232.33333333333331,
|
||||
"y": 233.3333333333333
|
||||
"x": 358.6666666666667,
|
||||
"y": 348.3333333333333
|
||||
}
|
||||
},
|
||||
"map/main_story/spawn.tmx": {
|
||||
"scale": 1.5,
|
||||
"selectedLayer": 4,
|
||||
"viewCenter": {
|
||||
"x": 840.6666666666667,
|
||||
"y": 323.6666666666667
|
||||
}
|
||||
},
|
||||
"map/main_story/swamp_capital.tmx": {
|
||||
"scale": 1,
|
||||
"selectedLayer": 0,
|
||||
"viewCenter": {
|
||||
"x": 240,
|
||||
"y": 136
|
||||
}
|
||||
},
|
||||
"map/main_story/unbenannt.tmx": {
|
||||
@@ -2169,6 +2208,14 @@
|
||||
"y": 480.34259430595574
|
||||
}
|
||||
},
|
||||
"map/main_story/white_capital.tmx": {
|
||||
"scale": 1,
|
||||
"selectedLayer": 0,
|
||||
"viewCenter": {
|
||||
"x": 232,
|
||||
"y": 240
|
||||
}
|
||||
},
|
||||
"map/main_story/white_castle.tmx": {
|
||||
"scale": 2,
|
||||
"selectedLayer": 4,
|
||||
@@ -2707,14 +2754,11 @@
|
||||
}
|
||||
},
|
||||
"map/waste_town.tmx": {
|
||||
"expandedObjectLayers": [
|
||||
4
|
||||
],
|
||||
"scale": 1.5,
|
||||
"selectedLayer": 4,
|
||||
"viewCenter": {
|
||||
"x": 214.33333333333331,
|
||||
"y": 298.6666666666667
|
||||
"x": 214.66666666666663,
|
||||
"y": 299
|
||||
}
|
||||
},
|
||||
"map/waste_town_2.tmx": {
|
||||
@@ -2758,12 +2802,12 @@
|
||||
}
|
||||
},
|
||||
"tileset/buildings.tsx": {
|
||||
"scaleInDock": 1.5,
|
||||
"scaleInDock": 3,
|
||||
"scaleInEditor": 2
|
||||
},
|
||||
"tileset/main.tsx": {
|
||||
"dynamicWrapping": false,
|
||||
"scaleInDock": 1,
|
||||
"scaleInDock": 3,
|
||||
"scaleInEditor": 2
|
||||
}
|
||||
},
|
||||
@@ -2774,25 +2818,32 @@
|
||||
"map.tileWidth": 16,
|
||||
"map.width": 90,
|
||||
"openFiles": [
|
||||
"map/waste_town.tmx",
|
||||
"map/main_story/skep.tmx",
|
||||
"map/debug_map.tmx"
|
||||
"map/main_story/green_castle.tmx",
|
||||
"map/main_story/red_castle.tmx",
|
||||
"map/main_story/white_capital.tmx",
|
||||
"map/main_story/forest_capital.tmx",
|
||||
"map/main_story/swamp_capital.tmx",
|
||||
"map/main_story/mountain_capital.tmx",
|
||||
"map/main_story/island_capital.tmx",
|
||||
"map/main_story/plains_capital.tmx",
|
||||
"map/main_story/spawn.tmx",
|
||||
"map/main_story/final_castle.tmx"
|
||||
],
|
||||
"project": "main.tiled-project",
|
||||
"property.type": "string",
|
||||
"recentFiles": [
|
||||
"map/magetower_10.tmx",
|
||||
"map/magetower_12.tmx",
|
||||
"map/magetower_11.tmx",
|
||||
"map/main_story/blue_castle.tmx",
|
||||
"map/waste_town.tmx",
|
||||
"map/debug_map.tmx",
|
||||
"map/main_story/green_castle.tmx",
|
||||
"map/main_story/red_castle.tmx",
|
||||
"map/main_story/white_capital.tmx",
|
||||
"map/main_story/forest_capital.tmx",
|
||||
"map/main_story/swamp_capital.tmx",
|
||||
"map/main_story/mountain_capital.tmx",
|
||||
"map/main_story/island_capital.tmx",
|
||||
"map/main_story/plains_capital.tmx",
|
||||
"map/main_story/final_castle.tmx",
|
||||
"map/main_story/spawn.tmx",
|
||||
"map/main_story/skep.tmx",
|
||||
"map/waste_town_3.tmx",
|
||||
"map/waste_town_2.tmx",
|
||||
"map/snowabbey_1.tmx",
|
||||
"map/snowabbey_2.tmx",
|
||||
"map/snowabbey_3.tmx"
|
||||
"map/debug_map.tmx"
|
||||
],
|
||||
"resizeMap.removeObjects": true,
|
||||
"textEdit.monospace": true
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<template>
|
||||
<tileset firstgid="1" source="../tileset/buildings.tsx"/>
|
||||
<object name="Inn" type="spellsmith" gid="1391" width="16" height="16"/>
|
||||
<object name="Spellsmith" type="spellsmith" gid="1391" width="16" height="16"/>
|
||||
</template>
|
||||
|
||||
@@ -4,12 +4,6 @@ size: 448,800
|
||||
format: RGBA8888
|
||||
filter: Nearest,Nearest
|
||||
repeat: none
|
||||
IslandTown
|
||||
xy: 144, 0
|
||||
size: 48, 48
|
||||
IslandTown
|
||||
xy: 144, 0
|
||||
size: 48, 48
|
||||
IslandTown
|
||||
xy: 144, 0
|
||||
size: 48, 48
|
||||
@@ -19,33 +13,33 @@ MountainTown
|
||||
SwampTown
|
||||
xy: 0, 0
|
||||
size: 48, 48
|
||||
SwampTown
|
||||
xy: 97, 336
|
||||
size: 32, 32
|
||||
ForestTown
|
||||
xy: 352, 496
|
||||
size: 32, 32
|
||||
ForestTown
|
||||
xy: 384, 496
|
||||
size: 32, 32
|
||||
ForestTown
|
||||
xy: 416, 496
|
||||
size: 32, 32
|
||||
ForestTown
|
||||
xy: 0, 48
|
||||
size: 32, 32
|
||||
PlainsTown
|
||||
xy: 96, 0
|
||||
size: 48, 48
|
||||
PlainsTown
|
||||
xy: 160, 272
|
||||
size: 32, 32
|
||||
WasteTown
|
||||
xy: 272, 128
|
||||
size: 48, 48
|
||||
WasteTown
|
||||
xy: 320, 128
|
||||
size: 48, 48
|
||||
IslandCapital
|
||||
xy: 128, 592
|
||||
size: 64, 64
|
||||
MountainCapital
|
||||
xy: 128, 720
|
||||
size: 64, 64
|
||||
SwampCapital
|
||||
xy: 128, 464
|
||||
size: 64, 64
|
||||
ForestCapital
|
||||
xy: 64, 656
|
||||
size: 64, 64
|
||||
PlainsCapital
|
||||
xy: 0, 464
|
||||
size: 64, 64
|
||||
Spawn
|
||||
xy: 304, 288
|
||||
size: 16, 16
|
||||
Gate
|
||||
xy: 384, 128
|
||||
size: 64, 48
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 228 KiB After Width: | Height: | Size: 228 KiB |
Binary file not shown.
@@ -234,3 +234,24 @@ FortuneCoin
|
||||
SpiritGuard
|
||||
xy: 192,160
|
||||
size: 16, 16
|
||||
MulticolorRune
|
||||
xy: 352,64
|
||||
size: 16, 16
|
||||
ColorlessRune
|
||||
xy: 336,80
|
||||
size: 16, 16
|
||||
BlackRune
|
||||
xy: 352,80
|
||||
size: 16, 16
|
||||
RedRune
|
||||
xy: 336,96
|
||||
size: 16, 16
|
||||
GreenRune
|
||||
xy: 352,96
|
||||
size: 16, 16
|
||||
BlueRune
|
||||
xy: 336,112
|
||||
size: 16, 16
|
||||
WhiteRune
|
||||
xy: 352,112
|
||||
size: 16, 16
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 267 KiB After Width: | Height: | Size: 270 KiB |
@@ -1,5 +1,5 @@
|
||||
|
||||
player.png
|
||||
knight.png
|
||||
size: 64,96
|
||||
format: RGBA8888
|
||||
filter: Nearest,Nearest
|
||||
|
||||
@@ -59,6 +59,7 @@
|
||||
"pointsOfInterest": [
|
||||
"Black Castle",
|
||||
"Swamp Town",
|
||||
"Swamp Capital",
|
||||
"Swamp Town2",
|
||||
"Zombie Town",
|
||||
"Graveyard",
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
"pointsOfInterest": [
|
||||
"Blue Castle",
|
||||
"Island Town",
|
||||
"Island Capital",
|
||||
"NestU",
|
||||
"MerfolkPool",
|
||||
"MerfolkPool1",
|
||||
|
||||
@@ -63,6 +63,7 @@
|
||||
],
|
||||
"pointsOfInterest": [
|
||||
"Green Castle",
|
||||
"Forest Capital",
|
||||
"Forest Town",
|
||||
"ElfTown",
|
||||
"WurmPond",
|
||||
|
||||
@@ -1,317 +1,387 @@
|
||||
[
|
||||
{
|
||||
"name": "Sol Ring",
|
||||
"equipmentSlot": "Left",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"Sol Ring"
|
||||
]
|
||||
},
|
||||
"iconName": "SolRing"
|
||||
},
|
||||
{
|
||||
"name": "Mox Emerald",
|
||||
"equipmentSlot": "Neck",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"Mox Emerald"
|
||||
]
|
||||
},
|
||||
"description": "",
|
||||
"iconName": "MoxEmerald"
|
||||
},
|
||||
{
|
||||
"name": "Black Lotus",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"Black Lotus"
|
||||
]
|
||||
},
|
||||
"iconName": "BlackLotus"
|
||||
},
|
||||
{
|
||||
"name": "Mox Jet",
|
||||
"equipmentSlot": "Neck",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"Mox Jet"
|
||||
]
|
||||
},
|
||||
"iconName": "MoxJet"
|
||||
},
|
||||
{
|
||||
"name": "Mox Pearl",
|
||||
"equipmentSlot": "Neck",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"Mox Pearl"
|
||||
]
|
||||
},
|
||||
"description": "",
|
||||
"iconName": "MoxPearl"
|
||||
},
|
||||
{
|
||||
"name": "Mox Ruby",
|
||||
"equipmentSlot": "Neck",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"Mox Ruby"
|
||||
]
|
||||
},
|
||||
"iconName": "MoxRuby"
|
||||
},
|
||||
{
|
||||
"name": "Mox Sapphire",
|
||||
"equipmentSlot": "Neck",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"Mox Sapphire"
|
||||
]
|
||||
},
|
||||
"iconName": "MoxSapphire"
|
||||
},
|
||||
{
|
||||
"name": "Life Amulet",
|
||||
"equipmentSlot": "Neck",
|
||||
"effect": {
|
||||
"lifeModifier": 2
|
||||
},
|
||||
"iconName": "LifeAmulet"
|
||||
},
|
||||
{
|
||||
"name": "Red Key",
|
||||
"description": "A mysterious red key.",
|
||||
"iconName": "RedKey",
|
||||
"questItem": true
|
||||
},
|
||||
{
|
||||
"name": "White Key",
|
||||
"description": "A mysterious white key.",
|
||||
"iconName": "WhiteKey",
|
||||
"questItem": true
|
||||
},
|
||||
{
|
||||
"name": "Blue Key",
|
||||
"description": "A mysterious blue key.",
|
||||
"iconName": "BlueKey",
|
||||
"questItem": true
|
||||
},
|
||||
{
|
||||
"name": "Green Key",
|
||||
"description": "A mysterious green key.",
|
||||
"iconName": "GreenKey",
|
||||
"questItem": true
|
||||
},
|
||||
{
|
||||
"name": "Black Key",
|
||||
"description": "A mysterious black key.",
|
||||
"iconName": "BlackKey",
|
||||
"questItem": true
|
||||
},
|
||||
{
|
||||
"name": "Strange Key",
|
||||
"description": "A mysterious key.",
|
||||
"iconName": "StrangeKey",
|
||||
"questItem": true
|
||||
},
|
||||
{
|
||||
"name": "Jungle Shield",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"g_0_1_plant"
|
||||
]
|
||||
},
|
||||
"iconName": "JungleShield"
|
||||
},
|
||||
{
|
||||
"name": "Iron Shield",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"c_0_2_a_wall_defender"
|
||||
]
|
||||
},
|
||||
"iconName": "IronShield",
|
||||
"cost": 500
|
||||
},
|
||||
{
|
||||
"name": "Steel Shield",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"lifeModifier": 1,
|
||||
"startBattleWithCard": [
|
||||
"w_0_3_wall_defender"
|
||||
]
|
||||
},
|
||||
"iconName": "SteelShield",
|
||||
"cost": 1500
|
||||
},
|
||||
{
|
||||
"name": "Spirit Guard",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"lifeModifier": 2,
|
||||
"startBattleWithCard": [
|
||||
"Geist of the Archives"
|
||||
]
|
||||
},
|
||||
"iconName": "SpiritGuard"
|
||||
},
|
||||
{
|
||||
"name": "Iron Armor",
|
||||
"equipmentSlot": "Body",
|
||||
"effect": {
|
||||
"lifeModifier": 3
|
||||
},
|
||||
"iconName": "IronArmor",
|
||||
"cost": 500
|
||||
},
|
||||
{
|
||||
"name": "Steel Armor",
|
||||
"equipmentSlot": "Body",
|
||||
"effect": {
|
||||
"lifeModifier": 5
|
||||
},
|
||||
"iconName": "SteelArmor",
|
||||
"cost": 1500
|
||||
},
|
||||
{
|
||||
"name": "Leather Boots",
|
||||
"equipmentSlot": "Boots",
|
||||
"effect": {
|
||||
"moveSpeed": 1.2
|
||||
},
|
||||
"iconName": "LeatherBoots"
|
||||
},
|
||||
{
|
||||
"name": "Iron Boots",
|
||||
"equipmentSlot": "Boots",
|
||||
"effect": {
|
||||
"lifeModifier": 1,
|
||||
"moveSpeed": 1.35
|
||||
},
|
||||
"iconName": "IronBoots",
|
||||
"cost": 500
|
||||
},
|
||||
{
|
||||
"name": "Steel Boots",
|
||||
"equipmentSlot": "Boots",
|
||||
"effect": {
|
||||
"lifeModifier": 2,
|
||||
"moveSpeed": 1.4
|
||||
},
|
||||
"iconName": "SteelBoots",
|
||||
"cost": 1500
|
||||
},
|
||||
{
|
||||
"name": "Cheat",
|
||||
"equipmentSlot": "Neck",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"Blightsteel Colossus",
|
||||
"Lightning Greaves"
|
||||
]
|
||||
},
|
||||
"iconName": "Goose"
|
||||
},
|
||||
{
|
||||
"name": "Shell Wand",
|
||||
"equipmentSlot": "Left",
|
||||
"effect": {
|
||||
"opponent": {
|
||||
"lifeModifier": -2
|
||||
}
|
||||
},
|
||||
"iconName": "ShellWand"
|
||||
},
|
||||
{
|
||||
"name": "Flame Sword",
|
||||
"equipmentSlot": "Left",
|
||||
"effect": {
|
||||
"opponent": {
|
||||
"lifeModifier": -5
|
||||
}
|
||||
},
|
||||
"iconName": "FlameSword"
|
||||
},
|
||||
{
|
||||
"name": "Dungeon Map",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"Dungeon Map"
|
||||
]
|
||||
},
|
||||
"iconName": "DungeonMap"
|
||||
},
|
||||
{
|
||||
"name": "Blood Vial",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"c_a_blood_draw"
|
||||
]
|
||||
},
|
||||
"iconName": "Blood"
|
||||
},
|
||||
{
|
||||
"name": "Charm",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"c_a_clue_draw"
|
||||
]
|
||||
},
|
||||
"iconName": "Clue"
|
||||
},
|
||||
{
|
||||
"name": "Snack",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"c_a_food_sac"
|
||||
]
|
||||
},
|
||||
"iconName": "Cheese"
|
||||
},
|
||||
{
|
||||
"name": "Change",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"c_a_gold_sac"
|
||||
]
|
||||
},
|
||||
"iconName": "Gold"
|
||||
},
|
||||
{
|
||||
"name": "Treasure",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"c_a_treasure_sac"
|
||||
]
|
||||
},
|
||||
"iconName": "Treasure"
|
||||
},
|
||||
{
|
||||
"name": "Manasight Amulet",
|
||||
"equipmentSlot": "Neck",
|
||||
"description": "Grants Manasight, letting you know the colors used by your adversaries.",
|
||||
"effect": {
|
||||
"colorView": true
|
||||
},
|
||||
"iconName": "RelicAmulet"
|
||||
},
|
||||
{
|
||||
"name": "Fortune Coin",
|
||||
"equipmentSlot": "Left",
|
||||
"effect": {
|
||||
"goldModifier": 0.85,
|
||||
"cardRewardBonus": 1
|
||||
},
|
||||
"iconName": "FortuneCoin"
|
||||
}
|
||||
{
|
||||
"name": "Sol Ring",
|
||||
"equipmentSlot": "Left",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"Sol Ring"
|
||||
]
|
||||
},
|
||||
"iconName": "SolRing"
|
||||
},
|
||||
{
|
||||
"name": "Mox Emerald",
|
||||
"equipmentSlot": "Neck",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"Mox Emerald"
|
||||
]
|
||||
},
|
||||
"description": "",
|
||||
"iconName": "MoxEmerald"
|
||||
},
|
||||
{
|
||||
"name": "Black Lotus",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"Black Lotus"
|
||||
]
|
||||
},
|
||||
"iconName": "BlackLotus"
|
||||
},
|
||||
{
|
||||
"name": "Mox Jet",
|
||||
"equipmentSlot": "Neck",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"Mox Jet"
|
||||
]
|
||||
},
|
||||
"iconName": "MoxJet"
|
||||
},
|
||||
{
|
||||
"name": "Mox Pearl",
|
||||
"equipmentSlot": "Neck",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"Mox Pearl"
|
||||
]
|
||||
},
|
||||
"description": "",
|
||||
"iconName": "MoxPearl"
|
||||
},
|
||||
{
|
||||
"name": "Mox Ruby",
|
||||
"equipmentSlot": "Neck",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"Mox Ruby"
|
||||
]
|
||||
},
|
||||
"iconName": "MoxRuby"
|
||||
},
|
||||
{
|
||||
"name": "Mox Sapphire",
|
||||
"equipmentSlot": "Neck",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"Mox Sapphire"
|
||||
]
|
||||
},
|
||||
"iconName": "MoxSapphire"
|
||||
},
|
||||
{
|
||||
"name": "Life Amulet",
|
||||
"equipmentSlot": "Neck",
|
||||
"effect": {
|
||||
"lifeModifier": 2
|
||||
},
|
||||
"iconName": "LifeAmulet"
|
||||
},
|
||||
{
|
||||
"name": "Red Key",
|
||||
"description": "A mysterious red key.",
|
||||
"iconName": "RedKey",
|
||||
"questItem": true
|
||||
},
|
||||
{
|
||||
"name": "White Key",
|
||||
"description": "A mysterious white key.",
|
||||
"iconName": "WhiteKey",
|
||||
"questItem": true
|
||||
},
|
||||
{
|
||||
"name": "Blue Key",
|
||||
"description": "A mysterious blue key.",
|
||||
"iconName": "BlueKey",
|
||||
"questItem": true
|
||||
},
|
||||
{
|
||||
"name": "Green Key",
|
||||
"description": "A mysterious green key.",
|
||||
"iconName": "GreenKey",
|
||||
"questItem": true
|
||||
},
|
||||
{
|
||||
"name": "Black Key",
|
||||
"description": "A mysterious black key.",
|
||||
"iconName": "BlackKey",
|
||||
"questItem": true
|
||||
},
|
||||
{
|
||||
"name": "Strange Key",
|
||||
"description": "A mysterious key.",
|
||||
"iconName": "StrangeKey",
|
||||
"questItem": true
|
||||
},
|
||||
{
|
||||
"name": "Jungle Shield",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"g_0_1_plant"
|
||||
]
|
||||
},
|
||||
"iconName": "JungleShield"
|
||||
},
|
||||
{
|
||||
"name": "Iron Shield",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"c_0_2_a_wall_defender"
|
||||
]
|
||||
},
|
||||
"iconName": "IronShield",
|
||||
"cost": 500
|
||||
},
|
||||
{
|
||||
"name": "Steel Shield",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"lifeModifier": 1,
|
||||
"startBattleWithCard": [
|
||||
"w_0_3_wall_defender"
|
||||
]
|
||||
},
|
||||
"iconName": "SteelShield",
|
||||
"cost": 1500
|
||||
},
|
||||
{
|
||||
"name": "Spirit Guard",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"lifeModifier": 2,
|
||||
"startBattleWithCard": [
|
||||
"Geist of the Archives"
|
||||
]
|
||||
},
|
||||
"iconName": "SpiritGuard"
|
||||
},
|
||||
{
|
||||
"name": "Iron Armor",
|
||||
"equipmentSlot": "Body",
|
||||
"effect": {
|
||||
"lifeModifier": 3
|
||||
},
|
||||
"iconName": "IronArmor",
|
||||
"cost": 500
|
||||
},
|
||||
{
|
||||
"name": "Steel Armor",
|
||||
"equipmentSlot": "Body",
|
||||
"effect": {
|
||||
"lifeModifier": 5
|
||||
},
|
||||
"iconName": "SteelArmor",
|
||||
"cost": 1500
|
||||
},
|
||||
{
|
||||
"name": "Leather Boots",
|
||||
"equipmentSlot": "Boots",
|
||||
"effect": {
|
||||
"moveSpeed": 1.2
|
||||
},
|
||||
"iconName": "LeatherBoots"
|
||||
},
|
||||
{
|
||||
"name": "Iron Boots",
|
||||
"equipmentSlot": "Boots",
|
||||
"effect": {
|
||||
"lifeModifier": 1,
|
||||
"moveSpeed": 1.35
|
||||
},
|
||||
"iconName": "IronBoots",
|
||||
"cost": 500
|
||||
},
|
||||
{
|
||||
"name": "Steel Boots",
|
||||
"equipmentSlot": "Boots",
|
||||
"effect": {
|
||||
"lifeModifier": 2,
|
||||
"moveSpeed": 1.4
|
||||
},
|
||||
"iconName": "SteelBoots",
|
||||
"cost": 1500
|
||||
},
|
||||
{
|
||||
"name": "Cheat",
|
||||
"equipmentSlot": "Neck",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"Blightsteel Colossus",
|
||||
"Lightning Greaves"
|
||||
]
|
||||
},
|
||||
"iconName": "Goose"
|
||||
},
|
||||
{
|
||||
"name": "Shell Wand",
|
||||
"equipmentSlot": "Left",
|
||||
"effect": {
|
||||
"opponent": {
|
||||
"lifeModifier": -2
|
||||
}
|
||||
},
|
||||
"iconName": "ShellWand"
|
||||
},
|
||||
{
|
||||
"name": "Flame Sword",
|
||||
"equipmentSlot": "Left",
|
||||
"effect": {
|
||||
"opponent": {
|
||||
"lifeModifier": -5
|
||||
}
|
||||
},
|
||||
"iconName": "FlameSword"
|
||||
},
|
||||
{
|
||||
"name": "Dungeon Map",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"Dungeon Map"
|
||||
]
|
||||
},
|
||||
"iconName": "DungeonMap"
|
||||
},
|
||||
{
|
||||
"name": "Blood Vial",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"c_a_blood_draw"
|
||||
]
|
||||
},
|
||||
"iconName": "Blood"
|
||||
},
|
||||
{
|
||||
"name": "Charm",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"c_a_clue_draw"
|
||||
]
|
||||
},
|
||||
"iconName": "Clue"
|
||||
},
|
||||
{
|
||||
"name": "Snack",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"c_a_food_sac"
|
||||
]
|
||||
},
|
||||
"iconName": "Cheese"
|
||||
},
|
||||
{
|
||||
"name": "Change",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"c_a_gold_sac"
|
||||
]
|
||||
},
|
||||
"iconName": "Gold"
|
||||
},
|
||||
{
|
||||
"name": "Treasure",
|
||||
"equipmentSlot": "Right",
|
||||
"effect": {
|
||||
"startBattleWithCard": [
|
||||
"c_a_treasure_sac"
|
||||
]
|
||||
},
|
||||
"iconName": "Treasure"
|
||||
},
|
||||
{
|
||||
"name": "Manasight Amulet",
|
||||
"equipmentSlot": "Neck",
|
||||
"effect": {
|
||||
"colorView": true
|
||||
},
|
||||
"description": "Grants Manasight, letting you know the colors used by your adversaries.",
|
||||
"iconName": "RelicAmulet"
|
||||
},
|
||||
{
|
||||
"name": "Fortune Coin",
|
||||
"equipmentSlot": "Left",
|
||||
"effect": {
|
||||
"name": "",
|
||||
"goldModifier": 0.85,
|
||||
"cardRewardBonus": 1
|
||||
},
|
||||
"description": "",
|
||||
"iconName": "FortuneCoin"
|
||||
},
|
||||
{
|
||||
"name": "Colorless rune",
|
||||
"equipmentSlot": "",
|
||||
"effect": {
|
||||
"name": "",
|
||||
"goldModifier": 0.85,
|
||||
"cardRewardBonus": 1
|
||||
},
|
||||
"description": "Teleports you to the center",
|
||||
"iconName": "ColorlessRune",
|
||||
"questItem": true,
|
||||
"cost": 100
|
||||
},
|
||||
{
|
||||
"name": "White rune",
|
||||
"equipmentSlot": "",
|
||||
"effect": {
|
||||
"name": ""
|
||||
},
|
||||
"description": "Teleports you to the plains",
|
||||
"iconName": "WhiteRune",
|
||||
"questItem": true,
|
||||
"cost": 100
|
||||
},
|
||||
{
|
||||
"name": "Black rune",
|
||||
"equipmentSlot": "",
|
||||
"effect": {
|
||||
"name": ""
|
||||
},
|
||||
"description": "Teleports you to the swamp",
|
||||
"iconName": "BlackRune",
|
||||
"questItem": true,
|
||||
"cost": 100
|
||||
},
|
||||
{
|
||||
"name": "Blue rune",
|
||||
"equipmentSlot": "",
|
||||
"effect": {
|
||||
"name": ""
|
||||
},
|
||||
"description": "Teleports you to the island",
|
||||
"iconName": "BlueRune",
|
||||
"questItem": true,
|
||||
"cost": 100
|
||||
},
|
||||
{
|
||||
"name": "Red rune",
|
||||
"equipmentSlot": "",
|
||||
"effect": {
|
||||
"name": ""
|
||||
},
|
||||
"description": "Teleports you to the mountain",
|
||||
"iconName": "RedRune",
|
||||
"questItem": true,
|
||||
"cost": 100
|
||||
},
|
||||
{
|
||||
"name": "Green rune",
|
||||
"equipmentSlot": "",
|
||||
"effect": {
|
||||
"name": ""
|
||||
},
|
||||
"description": "Teleports you to the forest",
|
||||
"iconName": "GreenRune",
|
||||
"questItem": true,
|
||||
"cost": 100
|
||||
}
|
||||
]
|
||||
File diff suppressed because it is too large
Load Diff
@@ -63,6 +63,7 @@
|
||||
"pointsOfInterest": [
|
||||
"Red Castle",
|
||||
"Mountain Town",
|
||||
"Mountain Capital",
|
||||
"YuleTown",
|
||||
"BarbarianCamp",
|
||||
"BarbarianCamp1",
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
"Doppelganger"
|
||||
],
|
||||
"pointsOfInterest": [
|
||||
"Spawn",
|
||||
"Final Castle",
|
||||
"Colorless Castle",
|
||||
"Skep",
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
"pointsOfInterest": [
|
||||
"White Castle",
|
||||
"Plains Town",
|
||||
"Plains Capital",
|
||||
"Monastery",
|
||||
"Monastery1",
|
||||
"Monastery2",
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"width": 700,
|
||||
"height": 700,
|
||||
"playerStartPosX": 0.5025,
|
||||
"playerStartPosY": 0.495,
|
||||
"playerStartPosX": 0.5,
|
||||
"playerStartPosY": 0.5,
|
||||
"noiseZoomBiome": 30,
|
||||
"tileSize": 16,
|
||||
"roadTileset": {
|
||||
|
||||
Reference in New Issue
Block a user