added custom cards to adventure

do not show dialog if all options are invalid
changed castles to have 2 floors
added custom cards for each castle
added possibility for a respawn on maps
This commit is contained in:
Grimm
2022-09-27 02:04:56 +02:00
parent 1734657e4d
commit 34ca9907ca
33 changed files with 1361 additions and 212 deletions

View File

@@ -18,6 +18,7 @@ public final class ImageKeys {
public static final String BOOSTERBOX_PREFIX = "x:"; public static final String BOOSTERBOX_PREFIX = "x:";
public static final String PRECON_PREFIX = "p:"; public static final String PRECON_PREFIX = "p:";
public static final String TOURNAMENTPACK_PREFIX = "o:"; public static final String TOURNAMENTPACK_PREFIX = "o:";
public static final String ADVENTURECARD_PREFIX = "a:";
public static final String HIDDEN_CARD = "hidden"; public static final String HIDDEN_CARD = "hidden";
public static final String MORPH_IMAGE = "morph"; public static final String MORPH_IMAGE = "morph";
@@ -33,6 +34,7 @@ public final class ImageKeys {
private static String CACHE_CARD_PICS_DIR, CACHE_TOKEN_PICS_DIR, CACHE_ICON_PICS_DIR, CACHE_BOOSTER_PICS_DIR, private static String CACHE_CARD_PICS_DIR, CACHE_TOKEN_PICS_DIR, CACHE_ICON_PICS_DIR, CACHE_BOOSTER_PICS_DIR,
CACHE_FATPACK_PICS_DIR, CACHE_BOOSTERBOX_PICS_DIR, CACHE_PRECON_PICS_DIR, CACHE_TOURNAMENTPACK_PICS_DIR; CACHE_FATPACK_PICS_DIR, CACHE_BOOSTERBOX_PICS_DIR, CACHE_PRECON_PICS_DIR, CACHE_TOURNAMENTPACK_PICS_DIR;
public static String ADVENTURE_CARD_PICS_DIR;
private static Map<String, String> CACHE_CARD_PICS_SUBDIR; private static Map<String, String> CACHE_CARD_PICS_SUBDIR;
private static Map<String, Boolean> editionImageLookup = new HashMap<>(); private static Map<String, Boolean> editionImageLookup = new HashMap<>();
@@ -112,7 +114,10 @@ public final class ImageKeys {
} else if (key.startsWith(ImageKeys.TOURNAMENTPACK_PREFIX)) { } else if (key.startsWith(ImageKeys.TOURNAMENTPACK_PREFIX)) {
filename = key.substring(ImageKeys.TOURNAMENTPACK_PREFIX.length()); filename = key.substring(ImageKeys.TOURNAMENTPACK_PREFIX.length());
dir = CACHE_TOURNAMENTPACK_PICS_DIR; dir = CACHE_TOURNAMENTPACK_PICS_DIR;
} else { } else if (key.startsWith(ImageKeys.ADVENTURECARD_PREFIX)) {
filename = key.substring(ImageKeys.ADVENTURECARD_PREFIX.length());
dir = ADVENTURE_CARD_PICS_DIR;
}else {
filename = key; filename = key;
dir = CACHE_CARD_PICS_DIR; dir = CACHE_CARD_PICS_DIR;
} }

View File

@@ -37,7 +37,7 @@ import java.io.Serializable;
* *
* @author Forge * @author Forge
*/ */
public final class PaperCard implements Comparable<IPaperCard>, InventoryItemFromSet, IPaperCard, Serializable { public class PaperCard implements Comparable<IPaperCard>, InventoryItemFromSet, IPaperCard, Serializable {
private static final long serialVersionUID = 2942081982620691205L; private static final long serialVersionUID = 2942081982620691205L;
// Reference to rules // Reference to rules

View File

@@ -332,6 +332,7 @@ public class Forge implements ApplicationListener {
} }
private static void loadAdventureResources(boolean startScene) { private static void loadAdventureResources(boolean startScene) {
try { try {
Config.instance().loadResources();
if (startScene) if (startScene)
switchScene(StartScene.instance()); switchScene(StartScene.instance());
} catch (Exception e) { } catch (Exception e) {

View File

@@ -10,34 +10,24 @@ import forge.adventure.stage.MapStage;
public class EntryActor extends MapActor{ public class EntryActor extends MapActor{
private final MapStage stage; private final MapStage stage;
String targetMap; String targetMap;
private float x;
private float y;
private float w;
private float h;
private String direction;
public EntryActor(MapStage stage, int id,String targetMap,float x,float y,float w,float h,String direction,boolean spawnPlayerThere) public EntryActor(MapStage stage, int id,String targetMap,float x,float y,float w,float h,String direction)
{ {
super(id); super(id);
this.stage = stage; this.stage = stage;
this.targetMap = targetMap; this.targetMap = targetMap;
this.x = x;
this.y = y;
this.w = w;
this.h = h;
if(spawnPlayerThere) //or if source is this target this.direction = direction;
{
switch(direction)
{
case "up":
stage.getPlayerSprite().setPosition(x+w/2-stage.getPlayerSprite().getWidth()/2,y+h);
break;
case "down":
stage.getPlayerSprite().setPosition(x+w/2-stage.getPlayerSprite().getWidth()/2,y-stage.getPlayerSprite().getHeight());
break;
case "right":
stage.getPlayerSprite().setPosition(x-stage.getPlayerSprite().getWidth(),y+h/2-stage.getPlayerSprite().getHeight()/2);
break;
case "left":
stage.getPlayerSprite().setPosition(x+w,y+h/2-stage.getPlayerSprite().getHeight()/2);
break;
}
}
} }
public MapStage getMapStage() public MapStage getMapStage()
@@ -58,5 +48,23 @@ public class EntryActor extends MapActor{
} }
} }
public void spawn() {
switch(direction)
{
case "up":
stage.getPlayerSprite().setPosition(x+w/2-stage.getPlayerSprite().getWidth()/2,y+h);
break;
case "down":
stage.getPlayerSprite().setPosition(x+w/2-stage.getPlayerSprite().getWidth()/2,y-stage.getPlayerSprite().getHeight());
break;
case "right":
stage.getPlayerSprite().setPosition(x-stage.getPlayerSprite().getWidth(),y+h/2-stage.getPlayerSprite().getHeight()/2);
break;
case "left":
stage.getPlayerSprite().setPosition(x+w,y+h/2-stage.getPlayerSprite().getHeight()/2);
break;
}
}
} }

View File

@@ -105,6 +105,7 @@ public class TileMapScene extends HudScene {
stage.getPlayerSprite().setPosition(0, 0); stage.getPlayerSprite().setPosition(0, 0);
WorldSave.getCurrentSave().getWorld().setSeed(point.getSeedOffset()); WorldSave.getCurrentSave().getWorld().setSeed(point.getSeedOffset());
tiledMapRenderer.loadMap(map, ""); tiledMapRenderer.loadMap(map, "");
stage.getPlayerSprite().stop();
} }
public boolean inTown() { public boolean inTown() {
@@ -121,6 +122,7 @@ public class TileMapScene extends HudScene {
WorldSave.getCurrentSave().getWorld().setSeed(rootPoint.getSeedOffset()); WorldSave.getCurrentSave().getWorld().setSeed(rootPoint.getSeedOffset());
tiledMapRenderer.loadMap(map, oldMap); tiledMapRenderer.loadMap(map, oldMap);
oldMap = targetMap; oldMap = targetMap;
stage.getPlayerSprite().stop();
} }

View File

@@ -80,7 +80,7 @@ public class MapStage extends GameStage {
private int selected = 0; private int selected = 0;
public InputEvent eventTouchDown, eventTouchUp; public InputEvent eventTouchDown, eventTouchUp;
TextraButton selectedKey; TextraButton selectedKey;
private boolean foundPlayerSpawn=false; private boolean respawnEnemies;
public boolean getDialogOnlyInput() { public boolean getDialogOnlyInput() {
@@ -246,6 +246,9 @@ public class MapStage extends GameStage {
setDialogStage(GameHUD.getInstance()); setDialogStage(GameHUD.getInstance());
showDialog(); showDialog();
} }
Array<EntryActor> otherEntries=new Array<>();
Array<EntryActor> spawnClassified=new Array<>();
Array<EntryActor> sourceMapMatch=new Array<>();
public void loadMap(TiledMap map, String sourceMap) { public void loadMap(TiledMap map, String sourceMap) {
isLoadingMatch = false; isLoadingMatch = false;
@@ -278,6 +281,14 @@ public class MapStage extends GameStage {
effect = JSONStringLoader.parse(EffectData.class, map.getProperties().get("dungeonEffect").toString(), ""); effect = JSONStringLoader.parse(EffectData.class, map.getProperties().get("dungeonEffect").toString(), "");
effectDialog(effect); effectDialog(effect);
} }
if(MP.get("respawnEnemies")!=null&&MP.get("respawnEnemies") instanceof Boolean&&(Boolean)MP.get("respawnEnemies"))
{
respawnEnemies=true;
}
else
{
respawnEnemies=false;
}
if (MP.get("preventEscape") != null) preventEscape = (boolean) MP.get("preventEscape"); if (MP.get("preventEscape") != null) preventEscape = (boolean) MP.get("preventEscape");
if (MP.get("music") != null && !MP.get("music").toString().isEmpty()) { if (MP.get("music") != null && !MP.get("music").toString().isEmpty()) {
@@ -286,7 +297,9 @@ public class MapStage extends GameStage {
getPlayerSprite().stop(); getPlayerSprite().stop();
spriteLayer = null; spriteLayer = null;
foundPlayerSpawn=false; otherEntries.clear();
spawnClassified.clear();
sourceMapMatch.clear();
for (MapLayer layer : map.getLayers()) { for (MapLayer layer : map.getLayers()) {
if (layer.getProperties().containsKey("spriteLayer") && layer.getProperties().get("spriteLayer", boolean.class)) { if (layer.getProperties().containsKey("spriteLayer") && layer.getProperties().get("spriteLayer", boolean.class)) {
spriteLayer = layer; spriteLayer = layer;
@@ -297,6 +310,12 @@ public class MapStage extends GameStage {
loadObjects(layer, sourceMap); loadObjects(layer, sourceMap);
} }
} }
if(!spawnClassified.isEmpty())
spawnClassified.first().spawn();
else if(!sourceMapMatch.isEmpty())
sourceMapMatch.first().spawn();
else if(!otherEntries.isEmpty())
otherEntries.first().spawn();
//reduce geometry in collision rectangles //reduce geometry in collision rectangles
int oldSize; int oldSize;
@@ -329,6 +348,7 @@ public class MapStage extends GameStage {
}while (oldSize!=collisionRect.size); }while (oldSize!=collisionRect.size);
if (spriteLayer == null) System.err.print("Warning: No spriteLayer present in map.\n"); if (spriteLayer == null) System.err.print("Warning: No spriteLayer present in map.\n");
getPlayerSprite().stop();
} }
static public boolean containsOrEquals(Rectangle r1,Rectangle r2) { static public boolean containsOrEquals(Rectangle r1,Rectangle r2) {
@@ -387,13 +407,18 @@ public class MapStage extends GameStage {
boolean spawnPlayerThere=(targetMap==null||targetMap.isEmpty()&&sourceMap.isEmpty())||//if target is null and "from world" boolean spawnPlayerThere=(targetMap==null||targetMap.isEmpty()&&sourceMap.isEmpty())||//if target is null and "from world"
!sourceMap.isEmpty()&&targetMap.equals(sourceMap); !sourceMap.isEmpty()&&targetMap.equals(sourceMap);
if(foundPlayerSpawn) EntryActor entry=new EntryActor(this, id, prop.get("teleport").toString(), x, y, w, h, prop.get("direction").toString());
spawnPlayerThere=false;
if((prop.containsKey("spawn")&& prop.get("spawn").toString().equals("true"))&&spawnPlayerThere) if((prop.containsKey("spawn")&& prop.get("spawn").toString().equals("true"))&&spawnPlayerThere)
{ {
foundPlayerSpawn=true; spawnClassified.add(entry);
}//set spawn to option with "spawn" over other entries }else if(spawnPlayerThere)
EntryActor entry = new EntryActor(this, id, prop.get("teleport").toString(), x, y, w, h, prop.get("direction").toString(),spawnPlayerThere); {
sourceMapMatch.add(entry);
}
else
{
otherEntries.add(entry);
}
addMapActor(obj, entry); addMapActor(obj, entry);
break; break;
case "reward": case "reward":
@@ -591,7 +616,8 @@ public class MapStage extends GameStage {
if (currentMob.defeatDialog == null) { if (currentMob.defeatDialog == null) {
currentMob.remove(); currentMob.remove();
actors.removeValue(currentMob, true); actors.removeValue(currentMob, true);
changes.deleteObject(currentMob.getId()); if(!respawnEnemies||currentMob.getData().boss)
changes.deleteObject(currentMob.getId());
} else { } else {
currentMob.defeatDialog.activate(); currentMob.defeatDialog.activate();
player.setAnimation(CharacterSprite.AnimationTypes.Idle); player.setAnimation(CharacterSprite.AnimationTypes.Idle);

View File

@@ -6,24 +6,34 @@ import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.Json; import com.badlogic.gdx.utils.Json;
import com.badlogic.gdx.utils.JsonWriter; import com.badlogic.gdx.utils.JsonWriter;
import com.badlogic.gdx.utils.ObjectMap; import com.badlogic.gdx.utils.ObjectMap;
import forge.CardStorageReader;
import forge.Forge; import forge.Forge;
import forge.ImageKeys;
import forge.adventure.data.ConfigData; import forge.adventure.data.ConfigData;
import forge.adventure.data.DifficultyData; import forge.adventure.data.DifficultyData;
import forge.adventure.data.RewardData;
import forge.adventure.data.SettingData; import forge.adventure.data.SettingData;
import forge.card.ColorSet; import forge.card.*;
import forge.deck.Deck; import forge.deck.Deck;
import forge.deck.DeckProxy; import forge.deck.DeckProxy;
import forge.deck.DeckgenUtil; import forge.deck.DeckgenUtil;
import forge.gui.GuiBase; import forge.gui.GuiBase;
import forge.item.PaperCard;
import forge.localinstance.properties.ForgeConstants; import forge.localinstance.properties.ForgeConstants;
import forge.localinstance.properties.ForgePreferences; import forge.localinstance.properties.ForgePreferences;
import forge.localinstance.properties.ForgeProfileProperties; import forge.localinstance.properties.ForgeProfileProperties;
import forge.model.FModel; import forge.model.FModel;
import forge.util.FileUtil;
import java.io.File; import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
/** /**
* Main resource class to access files from the selected adventure * Main resource class to access files from the selected adventure
@@ -100,6 +110,7 @@ public class Config {
configData=new ConfigData(); configData=new ConfigData();
} }
} }
private String resPath() { private String resPath() {
@@ -229,4 +240,31 @@ public class Config {
handle.writeString(json.prettyPrint(json.toJson(settingsData, SettingData.class)),false); handle.writeString(json.prettyPrint(json.toJson(settingsData, SettingData.class)),false);
} }
public void loadResources() {
RewardData.getAllCards();//initialize before loading custom cards
final CardRules.Reader rulesReader = new CardRules.Reader();
ImageKeys.ADVENTURE_CARD_PICS_DIR=Config.currentConfig.getFilePath(forge.adventure.util.Paths.CUSTOM_CARDS_PICS);// not the cleanest solution
for(File cardFile:new File(getFilePath(forge.adventure.util.Paths.CUSTOM_CARDS)).listFiles())
{
FileInputStream fileInputStream;
try {
fileInputStream = new FileInputStream(cardFile);
rulesReader.reset();
final List<String> lines = FileUtil.readAllLines(new InputStreamReader(fileInputStream, Charset.forName(CardStorageReader.DEFAULT_CHARSET_NAME)), true);
CardRules rules= rulesReader.readCard(lines, com.google.common.io.Files.getNameWithoutExtension(cardFile.getName()));
rules.setCustom();
PaperCard card=new PaperCard(rules, CardEdition.UNKNOWN.getCode(), CardRarity.Special){
@Override
public String getImageKey(boolean altState) {
return ImageKeys.ADVENTURECARD_PREFIX + getName();
}
};
FModel.getMagicDb().getCommonCards().addCard(card);
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
}
}
}
} }

View File

@@ -22,7 +22,7 @@ import forge.util.Localizer;
public class MapDialog { public class MapDialog {
private final MapStage stage; private final MapStage stage;
private final Array<DialogData> data; private Array<DialogData> data;
private final int parentID; private final int parentID;
private final static float WIDTH = 260f; private final static float WIDTH = 260f;
static private final String defaultJSON = "[\n" + static private final String defaultJSON = "[\n" +
@@ -41,12 +41,21 @@ public class MapDialog {
public MapDialog(String S, MapStage stage, int parentID) { public MapDialog(String S, MapStage stage, int parentID) {
this.stage = stage; this.stage = stage;
this.parentID = parentID; this.parentID = parentID;
if (S.isEmpty()) { try
System.err.print("Dialog error. Dialog property is empty.\n"); {
this.data = JSONStringLoader.parse(Array.class, DialogData.class, defaultJSON, defaultJSON);
return; if (S.isEmpty()) {
System.err.print("Dialog error. Dialog property is empty.\n");
this.data = JSONStringLoader.parse(Array.class, DialogData.class, defaultJSON, defaultJSON);
return;
}
this.data = JSONStringLoader.parse(Array.class, DialogData.class, S, defaultJSON);
}
catch (Exception exception)
{
exception.printStackTrace();
} }
this.data = JSONStringLoader.parse(Array.class, DialogData.class, S, defaultJSON);
} }
static AudioClip audio=null; static AudioClip audio=null;
@@ -70,6 +79,7 @@ public class MapDialog {
A.setWrap(true); A.setWrap(true);
D.getContentTable().add(A).width(WIDTH); //Add() returns a Cell, which is what the width is being applied to. D.getContentTable().add(A).width(WIDTH); //Add() returns a Cell, which is what the width is being applied to.
if(dialog.options != null) { if(dialog.options != null) {
int i=0;
for(DialogData option:dialog.options) { for(DialogData option:dialog.options) {
if( isConditionOk(option.condition) ) { if( isConditionOk(option.condition) ) {
String name; //Get localized label if present. String name; //Get localized label if present.
@@ -80,9 +90,13 @@ public class MapDialog {
D.getButtonTable().add(B).width(WIDTH - 10); //The button table also returns a Cell when adding. D.getButtonTable().add(B).width(WIDTH - 10); //The button table also returns a Cell when adding.
//TODO: Reducing the space a tiny bit could help. But should be fine as long as there aren't more than 4-5 options. //TODO: Reducing the space a tiny bit could help. But should be fine as long as there aren't more than 4-5 options.
D.getButtonTable().row(); //Add a row. Tried to allow a few per row but it was a bit erratic. D.getButtonTable().row(); //Add a row. Tried to allow a few per row but it was a bit erratic.
i++;
} }
} }
stage.showDialog(); if(i==0)
stage.hideDialog();
else
stage.showDialog();
} }
else { else {
stage.hideDialog(); stage.hideDialog();

View File

@@ -26,4 +26,6 @@ public class Paths {
public static final String EFFECT_SPRINT = "particle_effects/sprint.p"; public static final String EFFECT_SPRINT = "particle_effects/sprint.p";
public static final String EFFECT_FLY = "particle_effects/fly.p"; public static final String EFFECT_FLY = "particle_effects/fly.p";
public static final String EFFECT_TELEPORT = "particle_effects/teleport.p"; public static final String EFFECT_TELEPORT = "particle_effects/teleport.p";
public static final String CUSTOM_CARDS = "custom_cards";
public static final String CUSTOM_CARDS_PICS = "custom_card_pics";
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -0,0 +1,8 @@
Name:Akroma presence
ManaCost:no cost
Colors:White
Types:Enchantment
K:Hexproof
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigGainLife | TriggerDescription$ At the beginning of your upkeep you gain 4 life.
SVar:TrigGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 4
Oracle: At the beginning of your upkeep gain 4 life.

View File

@@ -0,0 +1,8 @@
Name:Ghalta presence
ManaCost:no cost
Colors:Green
Types:Enchantment
K:Hexproof
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDestroyAll | TriggerDescription$ At the beginning of your upkeep, destroy all artifacts and enchantments you dont control.
SVar:TrigDestroyAll:DB$ DestroyAll | ValidCards$ Artifact.YouDontCtrl,Enchantment.YouDontCtrl,Planeswalker.YouDontCtrl |
Oracle:At the beginning of your upkeep, destroy all artifacts and enchantments you dont control.

View File

@@ -0,0 +1,10 @@
Name:Griselbrand presence
ManaCost:no cost
Colors:Black
Types:Enchantment
K:Hexproof
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDrain | TriggerDescription$ At the beginning of your end step, each opponent loses 1 life and you gain 1 life.
SVar:TrigDrain:DB$ LoseLife | Defined$ Player.Opponent | LifeAmount$ 1 | SubAbility$ DBGainOneLife
SVar:DBGainOneLife:DB$ GainLife | Defined$ You | LifeAmount$ 1
DeckHas:Ability$LifeGain
Oracle:At the beginning of your end step, each opponent loses 1 life and you gain 1 life.

View File

@@ -0,0 +1,8 @@
Name:Lathliss presence
ManaCost:no cost
Colors:Red
Types:Enchantment
K:Hexproof
T:Mode$ Phase | Phase$ Upkeep | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ At the beginning of each upkeep, CARDNAME deals 2 damage to every none red creature.
SVar:TrigDamage:DB$ DamageAll | ValidCards$ Creature.nonRed | NumDmg$ 2
Oracle:At the beginning of each upkeep, Lathliss presence deals 2 damage to every none red creature.

View File

@@ -0,0 +1,7 @@
Name:Lorthos presence
ManaCost:no cost
Colors:Blue
Types:Enchantment
K:Hexproof
S:Mode$ Continuous | Affected$ Player.Opponent | AddKeyword$ UntapAdjust:Land:1 | SVarCompare$ EQ1 | Description$ Opponents can't untap more than one land during their untap steps.
Oracle:Opponents can't untap more than one land during their untap steps.

View File

@@ -3,7 +3,7 @@
"height": 4300, "height": 4300,
"width": 2 "width": 2
}, },
"activeFile": "tileset/buildings.tsx", "activeFile": "map/castle_plains_2.tmx",
"automapping.whileDrawing": false, "automapping.whileDrawing": false,
"expandedProjectPaths": [ "expandedProjectPaths": [
"tileset", "tileset",
@@ -92,32 +92,32 @@
"scale": 1.5, "scale": 1.5,
"selectedLayer": 0, "selectedLayer": 0,
"viewCenter": { "viewCenter": {
"x": 241, "x": 359.66666666666663,
"y": 137.33333333333334 "y": 295.33333333333326
} }
}, },
"map/castle_plains_3.tmx": { "map/castle_plains_3.tmx": {
"scale": 2, "scale": 2,
"selectedLayer": 4, "selectedLayer": 4,
"viewCenter": { "viewCenter": {
"x": 239.75, "x": 240,
"y": 137 "y": 136
} }
}, },
"map/catlair_1.tmx": { "map/catlair_1.tmx": {
"scale": 4, "scale": 4,
"selectedLayer": 0, "selectedLayer": 0,
"viewCenter": { "viewCenter": {
"x": 198.375, "x": 240,
"y": 183.25 "y": 136
} }
}, },
"map/catlair_2.tmx": { "map/catlair_2.tmx": {
"scale": 2, "scale": 2,
"selectedLayer": 0, "selectedLayer": 0,
"viewCenter": { "viewCenter": {
"x": 157.25, "x": 240,
"y": 117 "y": 136
} }
}, },
"map/catlair_3.tmx": { "map/catlair_3.tmx": {
@@ -167,8 +167,8 @@
"scale": 2, "scale": 2,
"selectedLayer": 1, "selectedLayer": 1,
"viewCenter": { "viewCenter": {
"x": 276.25, "x": 240,
"y": 184.5 "y": 136
} }
}, },
"map/cave_11.tmx": { "map/cave_11.tmx": {
@@ -343,8 +343,8 @@
"scale": 1.0548958333333331, "scale": 1.0548958333333331,
"selectedLayer": 0, "selectedLayer": 0,
"viewCenter": { "viewCenter": {
"x": 239.83410684309274, "x": 757.8947368421054,
"y": 136.50636911227411 "y": 362.12106250617165
} }
}, },
"map/cave_18.tmx": { "map/cave_18.tmx": {
@@ -1399,11 +1399,14 @@
} }
}, },
"map/crypt.tmx": { "map/crypt.tmx": {
"expandedObjectLayers": [
4
],
"scale": 1.5, "scale": 1.5,
"selectedLayer": 4, "selectedLayer": 4,
"viewCenter": { "viewCenter": {
"x": 243.33333333333337, "x": 243.66666666666666,
"y": 151.33333333333334 "y": 150.66666666666669
} }
}, },
"map/crypt_2.tmx": { "map/crypt_2.tmx": {
@@ -1712,8 +1715,8 @@
"scale": 1.5, "scale": 1.5,
"selectedLayer": 4, "selectedLayer": 4,
"viewCenter": { "viewCenter": {
"x": 232.33333333333331, "x": 289.66666666666663,
"y": 136 "y": 135.33333333333334
} }
}, },
"map/graveyard_2.tmx": { "map/graveyard_2.tmx": {
@@ -2111,27 +2114,58 @@
} }
}, },
"map/main_story/black_castle.tmx": { "map/main_story/black_castle.tmx": {
"scale": 4, "expandedObjectLayers": [
4
],
"scale": 2,
"selectedLayer": 3,
"viewCenter": {
"x": 449,
"y": 440
}
},
"map/main_story/black_castle_f1.tmx": {
"expandedObjectLayers": [
4
],
"scale": 1.7891666666666666,
"selectedLayer": 4, "selectedLayer": 4,
"viewCenter": { "viewCenter": {
"x": 220.375, "x": 288.402421984164,
"y": 487 "y": 240.33535165346998
} }
}, },
"map/main_story/blue_castle.tmx": { "map/main_story/blue_castle.tmx": {
"expandedObjectLayers": [
4
],
"scale": 3, "scale": 3,
"selectedLayer": 5,
"viewCenter": {
"x": 391.5,
"y": 493
}
},
"map/main_story/blue_castle_f1.tmx": {
"expandedObjectLayers": [
4
],
"scale": 1.7891666666666666,
"selectedLayer": 4, "selectedLayer": 4,
"viewCenter": { "viewCenter": {
"x": 214.99999999999997, "x": 288.402421984164,
"y": 331.16666666666663 "y": 240.33535165346998
} }
}, },
"map/main_story/colorless_castle.tmx": { "map/main_story/colorless_castle.tmx": {
"expandedObjectLayers": [
4
],
"scale": 2, "scale": 2,
"selectedLayer": 5, "selectedLayer": 5,
"viewCenter": { "viewCenter": {
"x": 242.75, "x": 240,
"y": 339 "y": 240
} }
}, },
"map/main_story/crypt.tmx": { "map/main_story/crypt.tmx": {
@@ -2143,11 +2177,22 @@
} }
}, },
"map/main_story/final_castle.tmx": { "map/main_story/final_castle.tmx": {
"scale": 4, "expandedObjectLayers": [
4
],
"scale": 1.5,
"selectedLayer": 4, "selectedLayer": 4,
"viewCenter": { "viewCenter": {
"x": 212.125, "x": 326.66666666666663,
"y": 1718.25 "y": 1110.6666666666665
}
},
"map/main_story/final_castle_f1.tmx": {
"scale": 0.4708333333333333,
"selectedLayer": 0,
"viewCenter": {
"x": 241.06194690265477,
"y": 913.2743362831858
} }
}, },
"map/main_story/forest_capital.tmx": { "map/main_story/forest_capital.tmx": {
@@ -2162,11 +2207,22 @@
} }
}, },
"map/main_story/green_castle.tmx": { "map/main_story/green_castle.tmx": {
"scale": 3, "scale": 2,
"selectedLayer": 5,
"viewCenter": {
"x": 359.75,
"y": 536.5
}
},
"map/main_story/green_castle_f1.tmx": {
"expandedObjectLayers": [
4
],
"scale": 1.7891666666666666,
"selectedLayer": 4, "selectedLayer": 4,
"viewCenter": { "viewCenter": {
"x": 246, "x": 307.6851420586866,
"y": 239.66666666666663 "y": 240.33535165346998
} }
}, },
"map/main_story/island_capital.tmx": { "map/main_story/island_capital.tmx": {
@@ -2203,19 +2259,33 @@
} }
}, },
"map/main_story/red_castle.tmx": { "map/main_story/red_castle.tmx": {
"expandedObjectLayers": [
4
],
"scale": 2, "scale": 2,
"selectedLayer": 2,
"viewCenter": {
"x": 265.25,
"y": 576
}
},
"map/main_story/red_castle_f1.tmx": {
"expandedObjectLayers": [
4
],
"scale": 1.5120833333333332,
"selectedLayer": 4, "selectedLayer": 4,
"viewCenter": { "viewCenter": {
"x": 240, "x": 296.6106365389915,
"y": 240 "y": 239.4047947092863
} }
}, },
"map/main_story/skep.tmx": { "map/main_story/skep.tmx": {
"scale": 1.5, "scale": 1.5,
"selectedLayer": 4, "selectedLayer": 4,
"viewCenter": { "viewCenter": {
"x": 240.33333333333334, "x": 105.33333333333331,
"y": 240 "y": 239.3333333333333
} }
}, },
"map/main_story/spawn.tmx": { "map/main_story/spawn.tmx": {
@@ -2225,8 +2295,8 @@
"scale": 3, "scale": 3,
"selectedLayer": 4, "selectedLayer": 4,
"viewCenter": { "viewCenter": {
"x": 231.83333333333331, "x": 240,
"y": 243.66666666666666 "y": 240
} }
}, },
"map/main_story/swamp_capital.tmx": { "map/main_story/swamp_capital.tmx": {
@@ -2257,11 +2327,25 @@
} }
}, },
"map/main_story/white_castle.tmx": { "map/main_story/white_castle.tmx": {
"scale": 4, "expandedObjectLayers": [
4
],
"scale": 1.5,
"selectedLayer": 3,
"viewCenter": {
"x": 427.66666666666663,
"y": 637.3333333333333
}
},
"map/main_story/white_castle_f1.tmx": {
"expandedObjectLayers": [
4
],
"scale": 3,
"selectedLayer": 4, "selectedLayer": 4,
"viewCenter": { "viewCenter": {
"x": 240, "x": 286.5,
"y": 240 "y": 176
} }
}, },
"map/maze_1.tmx": { "map/maze_1.tmx": {
@@ -2866,28 +2950,38 @@
"map.tileWidth": 16, "map.tileWidth": 16,
"map.width": 90, "map.width": 90,
"openFiles": [ "openFiles": [
"map/cave_1.tmx",
"tileset/main.tsx", "tileset/main.tsx",
"map/cave_17.tmx", "map/cave_17.tmx",
"map/cave_2.tmx", "map/cave_2.tmx",
"map/cave_3.tmx", "map/cave_3.tmx",
"tileset/buildings.tsx" "tileset/buildings.tsx",
], "map/barbariancamp_4.tmx",
"project": "main.tiled-project", "map/castle_plains_1.tmx",
"property.type": "int", "map/castle_plains_2.tmx",
"recentFiles": [ "map/castle_plains_3.tmx",
"map/cave_1.tmx",
"map/cave_1..tmx",
"map/catlair_1.tmx", "map/catlair_1.tmx",
"map/catlair_2.tmx", "map/catlair_2.tmx",
"map/catlair_3.tmx", "map/cave_10.tmx",
"map/main_story/black_castle.tmx",
"map/aerie_1.tmx",
"map/aerie_1B.tmx",
"map/aerie_1C.tmx",
"map/main_story/skep.tmx", "map/main_story/skep.tmx",
"map/main_story/spawn.tmx", "map/main_story/spawn.tmx",
"map/barbariancamp_4.tmx" "map/main_story/colorless_castle.tmx",
"map/main_story/final_castle.tmx"
],
"project": "main.tiled-project",
"property.type": "string",
"recentFiles": [
"map/main_story/green_castle_f1.tmx",
"map/main_story/white_castle_f1.tmx",
"map/main_story/green_castle.tmx",
"map/castle_plains_2.tmx",
"map/castle_plains_3.tmx",
"map/catlair_1.tmx",
"map/catlair_2.tmx",
"map/cave_10.tmx",
"map/main_story/skep.tmx",
"map/main_story/spawn.tmx",
"map/main_story/colorless_castle.tmx",
"map/main_story/final_castle.tmx"
], ],
"resizeMap.removeObjects": true, "resizeMap.removeObjects": true,
"textEdit.monospace": true "textEdit.monospace": true

View File

@@ -1,56 +1,179 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<map version="1.8" tiledversion="1.8.4" orientation="orthogonal" renderorder="right-down" width="30" height="30" tilewidth="16" tileheight="16" infinite="0" nextlayerid="6" nextobjectid="53"> <map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="48" height="48" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="71">
<editorsettings> <editorsettings>
<export target="wastetown..tmx" format="tmx"/> <export target="wastetown..tmx" format="tmx"/>
</editorsettings> </editorsettings>
<properties>
<property name="dungeonEffect" value="{&quot;startBattleWithCard&quot;: [ &quot;Griselbrand presence&quot; ]}"/>
<property name="respawnEnemies" type="bool" value="true"/>
</properties>
<tileset firstgid="1" source="../../tileset/main.tsx"/> <tileset firstgid="1" source="../../tileset/main.tsx"/>
<tileset firstgid="4425" source="../../tileset/buildings.tsx"/> <tileset firstgid="10113" source="../../tileset/buildings.tsx"/>
<layer id="1" name="Background" width="30" height="30"> <layer id="1" name="Background" width="48" height="48">
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJztwzEJAAAMA7C+8w/VWyFLIL2kqqqqvjuO1S8b eJzt2LEJACEQRUFTsyvhqrZeuRrc049MMJksDxUER29tAAAAXOx9subATt+9rXKqP2mOfv369etfn7fz3Tn1zqXuv379Kf1Va/Tr169f///9lf8K1RLPKJn++/snqiFdMg==
</data> </data>
</layer> </layer>
<layer id="2" name="Ground" width="30" height="30"> <layer id="6" name="Floor" width="48" height="48">
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJxz5mNgcB7FGNgNiB9iwa40ttcFiLEBp1F7qYpX8DIwLAXiZbwQ+5ZA+ct56ZO+YP6mtT/paS8ozzwB4sdY6EdQex/gkAfR5OYtbGmohhd7usImTm5YwOxt5GdgaCIBN/NTx155AQYGBRKwosCovaP2jto7au/A2LsXaM4+LFgVh/h+KtmLCygJ4JcftZc4DGtLYcOg9hXI3iV41NCizQUKC5C9A9G+Gsr2AgDO0wnp eJztmEEOwjAMBPOD5AdVBR9tq/Ir4Gtw4YbAbtdxDjNSbpZ3VCWy1VIAAAAAAAAA4BtLLWUVnq329Z+att8s7vePj//+/m6Pdvzcaq7/2VxVn6xc/HNz8c/NVftb59JV7H9pmjnnnUsqf1XevfPc8c7Bp+iejXr/e+eO7L8Y3tzI/qqaCPC310SAv70mAvztNR68+9uvvUtVE7m/9Ua1v3l2vLP/KCL2NwtZb1MF/jZe3r59Qg==
</data> </data>
</layer> </layer>
<layer id="3" name="Foreground" width="30" height="30"> <layer id="2" name="Ground" width="48" height="48">
<data encoding="base64" compression="zlib">
eJzt2LENgDAMRcGwAMoACFGw/05sgiJ24GNy17jMqyw5rQEAfMe1pgsA6tn6M/ee7QAAajmXdAHMK/3/kX4fZvWH+/0o3D7oz9KfM/bP6Ld/ct7ovwHh8AWB
</data>
</layer>
<layer id="3" name="Foreground" width="48" height="48">
<properties> <properties>
<property name="spriteLayer" type="bool" value="true"/> <property name="spriteLayer" type="bool" value="true"/>
</properties> </properties>
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJzt0cEJACAMBME0YMvWnnd+Ioj3mKlgYasA4N5evwumtB7OJb1LagF4qQHcQwIt eJztmN0NwyAMhFmASt0lE0RNXjpgF+hP1ukGbSZpogYpRRiuYCBSjHRPtexPpDYHzUGpRiQSiUQikSij+klvUOcjHtsV4j9NyrFa4d8F/6CVugG66y/XFYx/6PK9jHynUvu6F350fo4L/wuMl/kp/MKfry+7QvzIfHD1eoirLcSP5Hd9q1h+9Hylzmcu/mHJSfGY893OH/u/pfJQ/mTNRnmNOWeIh6qLnmtUHyF1qRhTez4zQ+flSNRF+4KKR+qaGLt/U3qSiz+mpvBvgx+9k1w0nYuDP/ddx1WTkz/FQ7jmn3n/8HmHHPy9VR+5J/jqIzU5+REW4f/9zZ4B1PsD5UNq81P5/qmXwu/zb749ezr6Hrm/2z5kzeaa54bNNztD/i2X9w/tbYgN9W+uPeNcodrmW3P6txqL0//UWLH+J+Z+GHu/rP3Wu9X3T+Hn1QdsjEll
</data> </data>
</layer> </layer>
<layer id="5" name="AboveSprites" width="30" height="30"> <layer id="5" name="AboveSprites" width="48" height="48">
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJztwQEBAAAAgiD/r25IQAEAAPBoDhAAAQ== eJzt17EJACAQA8Bs8Buro+sC1o94B+lTBZIAAAD8bVQyT1Z1NwEAAABu/Hegi/3hBRuEwwT/
</data> </data>
</layer> </layer>
<objectgroup id="4" name="Objects"> <objectgroup id="4" name="Objects">
<object id="47" template="../../obj/gold.tx" x="323" y="219"/> <object id="47" template="../../obj/gold.tx" x="603" y="416">
<object id="49" template="../../obj/gold.tx" x="106" y="216"/>
<object id="50" template="../../obj/enemy.tx" x="198" y="153" width="32" height="32">
<properties> <properties>
<property name="enemy" value="Griselbrand"/> <property name="reward">[
{
&quot;type&quot;: &quot;gold&quot;,
&quot;count&quot;: 180,
&quot;addMaxCount&quot;: 40
}
]</property>
</properties> </properties>
</object> </object>
<object id="51" template="../../obj/entry_up.tx" x="209" y="480"> <object id="49" template="../../obj/gold.tx" x="134" y="413">
<properties>
<property name="reward">[
{
&quot;type&quot;: &quot;gold&quot;,
&quot;count&quot;: 180,
&quot;addMaxCount&quot;: 40
}
]</property>
</properties>
</object>
<object id="54" template="../../obj/enemy.tx" x="368" y="728">
<properties>
<property name="enemy" value="Demon"/>
</properties>
</object>
<object id="55" template="../../obj/gate.tx" x="368" y="640">
<properties>
<property name="dialog">[{
&quot;text&quot;:&quot;A gate is blocking the path. I looks like it is open elsewhere&quot;,
&quot;options&quot;:[
{ &quot;name&quot;:&quot;continue&quot; }
]
}]</property>
</properties>
</object>
<object id="60" template="../../obj/entry_up.tx" x="357" y="768" width="38" height="16">
<properties> <properties>
<property name="teleport" value=""/> <property name="teleport" value=""/>
</properties> </properties>
</object> </object>
<object id="52" template="../../obj/treasure.tx" x="208" y="80"> <object id="61" name="switch" class="dialog" gid="4426" x="624" y="560" width="16" height="16">
<properties> <properties>
<property name="reward">[ <property name="dialog">[
{ {
&quot;type&quot;: &quot;life&quot;, &quot;text&quot;:&quot;Hmm a big switch is embedded into the wall&quot;,
&quot;count&quot;: 2 &quot;options&quot;:[
} {
] &quot;text&quot;:&quot;You hear some loud sounds from the center&quot;,
</property> &quot;action&quot;:[{&quot;deleteMapObject&quot;:-1},{&quot;advanceMapFlag&quot;:&quot;gate&quot;}],
<property name="sprite" value="sprites/2life.atlas"/> &quot;name&quot;:&quot;flip the switch&quot;
&quot;options&quot;:[{
&quot;condition&quot;:[{&quot;getMapFlag&quot;:{&quot;key&quot;:&quot;gate&quot;,&quot;op&quot;:&quot;&gt;=&quot;,&quot;val&quot;:3}}],
&quot;action&quot;:[{&quot;deleteMapObject&quot;:55}],
&quot;name&quot;:&quot;ok&quot; }]
},
{ &quot;name&quot;:&quot;go away&quot; }
]
}
]</property>
</properties>
</object>
<object id="63" name="switch" class="dialog" gid="4426" x="368" y="192" width="16" height="16">
<properties>
<property name="dialog">[
{
&quot;text&quot;:&quot;Hmm a big switch is embedded into the wall&quot;,
&quot;options&quot;:[
{
&quot;text&quot;:&quot;You hear some loud sounds from the center&quot;,
&quot;action&quot;:[{&quot;deleteMapObject&quot;:-1},{&quot;advanceMapFlag&quot;:&quot;gate&quot;}],
&quot;name&quot;:&quot;flip the switch&quot;
&quot;options&quot;:[{
&quot;condition&quot;:[{&quot;getMapFlag&quot;:{&quot;key&quot;:&quot;gate&quot;,&quot;op&quot;:&quot;&gt;=&quot;,&quot;val&quot;:3}}],
&quot;action&quot;:[{&quot;deleteMapObject&quot;:55}],
&quot;name&quot;:&quot;ok&quot; }]
},
{ &quot;name&quot;:&quot;go away&quot; }
]
}
]</property>
</properties>
</object>
<object id="64" name="switch" class="dialog" gid="4426" x="112" y="560" width="16" height="16">
<properties>
<property name="dialog">[
{
&quot;text&quot;:&quot;Hmm a big switch is embedded into the wall&quot;,
&quot;options&quot;:[
{
&quot;text&quot;:&quot;You hear some loud sounds from the center&quot;,
&quot;action&quot;:[{&quot;deleteMapObject&quot;:-1},{&quot;advanceMapFlag&quot;:&quot;gate&quot;}],
&quot;name&quot;:&quot;flip the switch&quot;
&quot;options&quot;:[{
&quot;condition&quot;:[{&quot;getMapFlag&quot;:{&quot;key&quot;:&quot;gate&quot;,&quot;op&quot;:&quot;&gt;=&quot;,&quot;val&quot;:3}}],
&quot;action&quot;:[{&quot;deleteMapObject&quot;:55}],
&quot;name&quot;:&quot;ok&quot; }]
},
{ &quot;name&quot;:&quot;go away&quot; }
]
}
]</property>
</properties>
</object>
<object id="65" template="../../obj/entry_down.tx" x="369" y="489">
<properties>
<property name="teleport" value="maps/map/main_story/black_castle_f1.tmx"/>
</properties>
</object>
<object id="66" template="../../obj/enemy.tx" x="56" y="663">
<properties>
<property name="enemy" value="Demon"/>
</properties>
</object>
<object id="67" template="../../obj/enemy.tx" x="679" y="664">
<properties>
<property name="enemy" value="Demon"/>
</properties>
</object>
<object id="68" template="../../obj/enemy.tx" x="681" y="458">
<properties>
<property name="enemy" value="Demon"/>
</properties>
</object>
<object id="69" template="../../obj/enemy.tx" x="368" y="298">
<properties>
<property name="enemy" value="Demon"/>
</properties>
</object>
<object id="70" template="../../obj/enemy.tx" x="57" y="456">
<properties>
<property name="enemy" value="Demon"/>
</properties> </properties>
</object> </object>
</objectgroup> </objectgroup>

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="30" height="30" tilewidth="16" tileheight="16" infinite="0" nextlayerid="6" nextobjectid="53">
<editorsettings>
<export target="wastetown..tmx" format="tmx"/>
</editorsettings>
<properties>
<property name="dungeonEffect" value="{&quot;startBattleWithCard&quot;: [ &quot;Griselbrand presence&quot; ]}"/>
</properties>
<tileset firstgid="1" source="../../tileset/main.tsx"/>
<tileset firstgid="10113" source="../../tileset/buildings.tsx"/>
<layer id="1" name="Background" width="30" height="30">
<data encoding="base64" compression="zlib">
eJztwzEJAAAMA7C+8w/VWyFLIL2kqqqqvjuO1S8b
</data>
</layer>
<layer id="2" name="Ground" width="30" height="30">
<data encoding="base64" compression="zlib">
eJxz5mNgcB7FGNgNiB9iwa40ttcFiLEBp1F7qYpX8DIwLAXiZbwQ+5ZA+ct56ZO+YP6mtT/paS8ozzwB4sdY6EdQex/gkAfR5OYtbGmohhd7usImTm5YwOxt5GdgaCIBN/NTx155AQYGBRKwosCovaP2jto7au/A2LsXaM4+LFgVh/h+KtmLCygJ4JcftZc4DGtLYcOg9hXI3iV41NCizQUKC5C9A9G+Gsr2AgDO0wnp
</data>
</layer>
<layer id="3" name="Foreground" width="30" height="30">
<properties>
<property name="spriteLayer" type="bool" value="true"/>
</properties>
<data encoding="base64" compression="zlib">
eJzt0cEJACAMBME0YMvWnnd+Ioj3mKlgYasA4N5evwumtB7OJb1LagF4qQHcQwIt
</data>
</layer>
<layer id="5" name="AboveSprites" width="30" height="30">
<data encoding="base64" compression="zlib">
eJztwQEBAAAAgiD/r25IQAEAAPBoDhAAAQ==
</data>
</layer>
<objectgroup id="4" name="Objects">
<object id="47" template="../../obj/gold.tx" x="323" y="219"/>
<object id="49" template="../../obj/gold.tx" x="106" y="216"/>
<object id="50" template="../../obj/enemy.tx" x="198" y="153" width="32" height="32">
<properties>
<property name="enemy" value="Griselbrand"/>
</properties>
</object>
<object id="51" template="../../obj/entry_up.tx" x="209" y="480">
<properties>
<property name="teleport" value=""/>
</properties>
</object>
<object id="52" template="../../obj/treasure.tx" x="208" y="80">
<properties>
<property name="reward">[
{
&quot;type&quot;: &quot;life&quot;,
&quot;count&quot;: 2
}
]
</property>
<property name="sprite" value="sprites/2life.atlas"/>
</properties>
</object>
</objectgroup>
</map>

View File

@@ -1,57 +1,180 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<map version="1.8" tiledversion="1.8.4" orientation="orthogonal" renderorder="right-down" width="30" height="30" tilewidth="16" tileheight="16" infinite="0" nextlayerid="6" nextobjectid="52"> <map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="48" height="48" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="71">
<editorsettings> <editorsettings>
<export target="wastetown..tmx" format="tmx"/> <export target="wastetown..tmx" format="tmx"/>
</editorsettings> </editorsettings>
<properties>
<property name="dungeonEffect" value="{&quot;startBattleWithCard&quot;: [ &quot;Lorthos presence&quot; ]}"/>
<property name="respawnEnemies" type="bool" value="true"/>
</properties>
<tileset firstgid="1" source="../../tileset/main.tsx"/> <tileset firstgid="1" source="../../tileset/main.tsx"/>
<tileset firstgid="4425" source="../../tileset/buildings.tsx"/> <tileset firstgid="10113" source="../../tileset/buildings.tsx"/>
<layer id="1" name="Background" width="30" height="30"> <layer id="1" name="Background" width="48" height="48">
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJztwzEJAAAMA7C+8w/VWyFLIL2kqqqqvjuO1S8b eJzt2LEJACEQRUFTsyvhqrZeuRrc049MMJksDxUER29tAAAAXOx9subATt+9rXKqP2mOfv369etfn7fz3Tn1zqXuv379Kf1Va/Tr169f///9lf8K1RLPKJn++/snqiFdMg==
</data> </data>
</layer> </layer>
<layer id="2" name="Ground" width="30" height="30"> <layer id="6" name="Floor" width="48" height="48">
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJzjE2Bg4BvFGFgQiNdgwQI0tpcfiLEB3lF7qYqL+RkYCoC4kB9iXz6UX8RPn/QF8zet/UlPe0F5Zj0Qr8NCr4XauxqHPIgmN2/hSkPEAnLDAmZvIzDNNJGAm/mpY688kFYgAStSGPej9o7aO2rvqL3k2rsXSO/DglVxiO+nkr24gBIB+VF7icOwthQ2DGpfgezNx6OGFm0uUFiA7B2I9tVQthcA8ByJ4Q== eJztmEEOwjAMBPOD5AdVBR9tq/Ir4Gtw4YbAbtdxDjNSbpZ3VCWy1VIAAAAAAAAA4BtLLWUVnq329Z+att8s7vePj//+/m6Pdvzcaq7/2VxVn6xc/HNz8c/NVftb59JV7H9pmjnnnUsqf1XevfPc8c7Bp+iejXr/e+eO7L8Y3tzI/qqaCPC310SAv70mAvztNR68+9uvvUtVE7m/9Ua1v3l2vLP/KCL2NwtZb1MF/jZe3r59Qg==
</data> </data>
</layer> </layer>
<layer id="3" name="Foreground" width="30" height="30"> <layer id="2" name="Ground" width="48" height="48">
<data encoding="base64" compression="zlib">
eJzt2MEJgDAQRNHYgQWIeLD8FCkLNuDFMea9BvJPA5vWAAC+o6/pAoDxbPd27jYUAHjgXNIFMK/0/0f6fZjVH+73Y+D2oj9Lf07tT/Xbn5w3+i9iHwTo
</data>
</layer>
<layer id="3" name="Foreground" width="48" height="48">
<properties> <properties>
<property name="spriteLayer" type="bool" value="true"/> <property name="spriteLayer" type="bool" value="true"/>
</properties> </properties>
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJzt0rEJADAIAEGrTJD9x8h8TiBoFZC78uuPANjlnlmHjlf8U3Xo8BXwWwKJagMl eJztmOsNgzAMhLMAJOzCFh2mD4bpEJRpulBbQSSK4vgIMUHCkfyrke9TqO1L2tqYVkNDQ0NDQ0NDMBpnzAuMS4PvdW4ffvvVkViV8p+Cv7PG3IC425HrCu5/2P1rGflOe53rWfjR/jlM/L32T+VXfnF+ri59fUnzI/0hVOscV7UTP5I/9K1S+dH5Ss3nXPzdlJPi8fN9mT/1f0vlofzJnI3yGr+cHA+li841qo4QXWqP137X/LwcCF20Lqj9iG7vwvW7pSZz8adoKv8x+NfeSaT4pe86Ic2c/Fs8RKj/+fePmHeQ4G8W+sg9IaaPaObkR1iU//+3ZQ+g3h8oH1Kan8q3Rm8Lf8y/xc6Mmvvc/X3pQ+ZsoX7+rEa2WO/k/JuU9+fOlmND/VvozHIuTlvCv5VYOf1PiZXqf1Luh6n3y9JvvUd9/1T+vPEBSIXzeQ==
</data> </data>
</layer> </layer>
<layer id="5" name="AboveSprites" width="30" height="30"> <layer id="5" name="AboveSprites" width="48" height="48">
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJztwQEBAAAAgiD/r25IQAEAAPBoDhAAAQ== eJzt17EJACAQA8Bs8Buro+sC1o94B+lTBZIAAAD8bVQyT1Z1NwEAAABu/Hegi/3hBRuEwwT/
</data> </data>
</layer> </layer>
<objectgroup id="4" name="Objects"> <objectgroup id="4" name="Objects">
<object id="47" template="../../obj/gold.tx" x="323" y="219"/> <object id="47" template="../../obj/gold.tx" x="603" y="416">
<object id="48" template="../../obj/treasure.tx" x="208" y="80">
<properties> <properties>
<property name="reward">[ <property name="reward">[
{ {
&quot;type&quot;: &quot;life&quot;, &quot;type&quot;: &quot;gold&quot;,
&quot;count&quot;: 2 &quot;count&quot;: 180,
} &quot;addMaxCount&quot;: 40
] }
</property> ]</property>
<property name="sprite" value="sprites/2life.atlas"/>
</properties> </properties>
</object> </object>
<object id="49" template="../../obj/gold.tx" x="106" y="216"/> <object id="49" template="../../obj/gold.tx" x="134" y="413">
<object id="50" template="../../obj/enemy.tx" x="200" y="148" width="32" height="32">
<properties> <properties>
<property name="enemy" value="Lorthos"/> <property name="reward">[
{
&quot;type&quot;: &quot;gold&quot;,
&quot;count&quot;: 180,
&quot;addMaxCount&quot;: 40
}
]</property>
</properties> </properties>
</object> </object>
<object id="51" template="../../obj/entry_up.tx" x="209" y="480"> <object id="54" template="../../obj/enemy.tx" x="367" y="719">
<properties>
<property name="enemy" value="Merfolk Fighter"/>
</properties>
</object>
<object id="55" template="../../obj/gate.tx" x="368" y="640">
<properties>
<property name="dialog">[{
&quot;text&quot;:&quot;A gate is blocking the path. I looks like it is open elsewhere&quot;,
&quot;options&quot;:[
{ &quot;name&quot;:&quot;continue&quot; }
]
}]</property>
</properties>
</object>
<object id="60" template="../../obj/entry_up.tx" x="357" y="768" width="38" height="16">
<properties> <properties>
<property name="teleport" value=""/> <property name="teleport" value=""/>
</properties> </properties>
</object> </object>
<object id="61" name="switch" class="dialog" gid="4426" x="624" y="560" width="16" height="16">
<properties>
<property name="dialog">[
{
&quot;text&quot;:&quot;Hmm a big switch is embedded into the wall&quot;,
&quot;options&quot;:[
{
&quot;text&quot;:&quot;You hear some loud sounds from the center&quot;,
&quot;action&quot;:[{&quot;deleteMapObject&quot;:-1},{&quot;advanceMapFlag&quot;:&quot;gate&quot;}],
&quot;name&quot;:&quot;flip the switch&quot;
&quot;options&quot;:[{
&quot;condition&quot;:[{&quot;getMapFlag&quot;:{&quot;key&quot;:&quot;gate&quot;,&quot;op&quot;:&quot;&gt;=&quot;,&quot;val&quot;:3}}],
&quot;action&quot;:[{&quot;deleteMapObject&quot;:55}],
&quot;name&quot;:&quot;ok&quot; }]
},
{ &quot;name&quot;:&quot;go away&quot; }
]
}
]</property>
</properties>
</object>
<object id="63" name="switch" class="dialog" gid="4426" x="368" y="192" width="16" height="16">
<properties>
<property name="dialog">[
{
&quot;text&quot;:&quot;Hmm a big switch is embedded into the wall&quot;,
&quot;options&quot;:[
{
&quot;text&quot;:&quot;You hear some loud sounds from the center&quot;,
&quot;action&quot;:[{&quot;deleteMapObject&quot;:-1},{&quot;advanceMapFlag&quot;:&quot;gate&quot;}],
&quot;name&quot;:&quot;flip the switch&quot;
&quot;options&quot;:[{
&quot;condition&quot;:[{&quot;getMapFlag&quot;:{&quot;key&quot;:&quot;gate&quot;,&quot;op&quot;:&quot;&gt;=&quot;,&quot;val&quot;:3}}],
&quot;action&quot;:[{&quot;deleteMapObject&quot;:55}],
&quot;name&quot;:&quot;ok&quot; }]
},
{ &quot;name&quot;:&quot;go away&quot; }
]
}
]</property>
</properties>
</object>
<object id="64" name="switch" class="dialog" gid="4426" x="112" y="560" width="16" height="16">
<properties>
<property name="dialog">[
{
&quot;text&quot;:&quot;Hmm a big switch is embedded into the wall&quot;,
&quot;options&quot;:[
{
&quot;text&quot;:&quot;You hear some loud sounds from the center&quot;,
&quot;action&quot;:[{&quot;deleteMapObject&quot;:-1},{&quot;advanceMapFlag&quot;:&quot;gate&quot;}],
&quot;name&quot;:&quot;flip the switch&quot;
&quot;options&quot;:[{
&quot;condition&quot;:[{&quot;getMapFlag&quot;:{&quot;key&quot;:&quot;gate&quot;,&quot;op&quot;:&quot;&gt;=&quot;,&quot;val&quot;:3}}],
&quot;action&quot;:[{&quot;deleteMapObject&quot;:55}],
&quot;name&quot;:&quot;ok&quot; }]
},
{ &quot;name&quot;:&quot;go away&quot; }
]
}
]</property>
</properties>
</object>
<object id="65" template="../../obj/entry_down.tx" x="369" y="489">
<properties>
<property name="teleport" value="maps/map/main_story/blue_castle_f1.tmx"/>
</properties>
</object>
<object id="66" template="../../obj/enemy.tx" x="56" y="663">
<properties>
<property name="enemy" value="Merfolk Fighter"/>
</properties>
</object>
<object id="67" template="../../obj/enemy.tx" x="679" y="664">
<properties>
<property name="enemy" value="Merfolk Fighter"/>
</properties>
</object>
<object id="68" template="../../obj/enemy.tx" x="681" y="458">
<properties>
<property name="enemy" value="Merfolk Fighter"/>
</properties>
</object>
<object id="69" template="../../obj/enemy.tx" x="368" y="298">
<properties>
<property name="enemy" value="Merfolk Fighter"/>
</properties>
</object>
<object id="70" template="../../obj/enemy.tx" x="57" y="456">
<properties>
<property name="enemy" value="Merfolk Fighter"/>
</properties>
</object>
</objectgroup> </objectgroup>
</map> </map>

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="30" height="30" tilewidth="16" tileheight="16" infinite="0" nextlayerid="6" nextobjectid="52">
<editorsettings>
<export target="wastetown..tmx" format="tmx"/>
</editorsettings>
<properties>
<property name="dungeonEffect" value="{&quot;startBattleWithCard&quot;: [ &quot;Lorthos presence&quot; ]}"/>
</properties>
<tileset firstgid="1" source="../../tileset/main.tsx"/>
<tileset firstgid="10113" source="../../tileset/buildings.tsx"/>
<layer id="1" name="Background" width="30" height="30">
<data encoding="base64" compression="zlib">
eJztwzEJAAAMA7C+8w/VWyFLIL2kqqqqvjuO1S8b
</data>
</layer>
<layer id="2" name="Ground" width="30" height="30">
<data encoding="base64" compression="zlib">
eJzjE2Bg4BvFGFgQiNdgwQI0tpcfiLEB3lF7qYqL+RkYCoC4kB9iXz6UX8RPn/QF8zet/UlPe0F5Zj0Qr8NCr4XauxqHPIgmN2/hSkPEAnLDAmZvIzDNNJGAm/mpY688kFYgAStSGPej9o7aO2rvqL3k2rsXSO/DglVxiO+nkr24gBIB+VF7icOwthQ2DGpfgezNx6OGFm0uUFiA7B2I9tVQthcA8ByJ4Q==
</data>
</layer>
<layer id="3" name="Foreground" width="30" height="30">
<properties>
<property name="spriteLayer" type="bool" value="true"/>
</properties>
<data encoding="base64" compression="zlib">
eJzt0rEJADAIAEGrTJD9x8h8TiBoFZC78uuPANjlnlmHjlf8U3Xo8BXwWwKJagMl
</data>
</layer>
<layer id="5" name="AboveSprites" width="30" height="30">
<data encoding="base64" compression="zlib">
eJztwQEBAAAAgiD/r25IQAEAAPBoDhAAAQ==
</data>
</layer>
<objectgroup id="4" name="Objects">
<object id="47" template="../../obj/gold.tx" x="323" y="219"/>
<object id="48" template="../../obj/treasure.tx" x="208" y="80">
<properties>
<property name="reward">[
{
&quot;type&quot;: &quot;life&quot;,
&quot;count&quot;: 2
}
]
</property>
<property name="sprite" value="sprites/2life.atlas"/>
</properties>
</object>
<object id="49" template="../../obj/gold.tx" x="106" y="216"/>
<object id="50" template="../../obj/enemy.tx" x="200" y="148" width="32" height="32">
<properties>
<property name="enemy" value="Lorthos"/>
</properties>
</object>
<object id="51" template="../../obj/entry_up.tx" x="209" y="480">
<properties>
<property name="teleport" value=""/>
</properties>
</object>
</objectgroup>
</map>

View File

@@ -3,8 +3,11 @@
<editorsettings> <editorsettings>
<export target="wastetown..tmx" format="tmx"/> <export target="wastetown..tmx" format="tmx"/>
</editorsettings> </editorsettings>
<properties>
<property name="respawnEnemies" type="bool" value="true"/>
</properties>
<tileset firstgid="1" source="../../tileset/main.tsx"/> <tileset firstgid="1" source="../../tileset/main.tsx"/>
<tileset firstgid="6321" source="../../tileset/buildings.tsx"/> <tileset firstgid="10113" source="../../tileset/buildings.tsx"/>
<layer id="1" name="Background" width="30" height="114"> <layer id="1" name="Background" width="30" height="114">
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJztw8EJAAAMA6H7dn/IvF1EwV1NVVVVVVVVVVVVVVVV1R62fUyd eJztw8EJAAAMA6H7dn/IvF1EwV1NVVVVVVVVVVVVVVVV1R62fUyd

View File

@@ -1,56 +1,179 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<map version="1.8" tiledversion="1.8.4" orientation="orthogonal" renderorder="right-down" width="30" height="30" tilewidth="16" tileheight="16" infinite="0" nextlayerid="6" nextobjectid="54"> <map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="48" height="48" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="71">
<editorsettings> <editorsettings>
<export target="wastetown..tmx" format="tmx"/> <export target="wastetown..tmx" format="tmx"/>
</editorsettings> </editorsettings>
<properties>
<property name="dungeonEffect" value="{&quot;startBattleWithCard&quot;: [ &quot;Ghalta presence&quot; ]}"/>
<property name="respawnEnemies" type="bool" value="true"/>
</properties>
<tileset firstgid="1" source="../../tileset/main.tsx"/> <tileset firstgid="1" source="../../tileset/main.tsx"/>
<tileset firstgid="4425" source="../../tileset/buildings.tsx"/> <tileset firstgid="10113" source="../../tileset/buildings.tsx"/>
<layer id="1" name="Background" width="30" height="30"> <layer id="1" name="Background" width="48" height="48">
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJztwzEJAAAMA7C+8w/VWyFLIL2kqqqqvjuO1S8b eJzt2LEJACEQRUFTsyvhqrZeuRrc049MMJksDxUER29tAAAAXOx9subATt+9rXKqP2mOfv369etfn7fz3Tn1zqXuv379Kf1Va/Tr169f///9lf8K1RLPKJn++/snqiFdMg==
</data> </data>
</layer> </layer>
<layer id="2" name="Ground" width="30" height="30"> <layer id="6" name="Floor" width="48" height="48">
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJwTFmBgEB7FGFgMiDdiwaI0tlcEiLEBoVF7qYor+BkYSoG4jB9iXwmUX85Pn/QF8zet/UlPe0F5ZgsQb8ZCb4LauwGHPIgmN29hS0NNvNjTFTZxcsMCZm8jMM00kYCb+aljrzyQViABK1IY96P2jto7au+oveTauxdI78OCVXGI76eSvbiAEgH5UXuJw7C2FDYMal+B7C3Bo4YWbS5QWIDsHYj21VC2FwAIdpdw eJztmEEOwjAMBPOD5AdVBR9tq/Ir4Gtw4YbAbtdxDjNSbpZ3VCWy1VIAAAAAAAAA4BtLLWUVnq329Z+att8s7vePj//+/m6Pdvzcaq7/2VxVn6xc/HNz8c/NVftb59JV7H9pmjnnnUsqf1XevfPc8c7Bp+iejXr/e+eO7L8Y3tzI/qqaCPC310SAv70mAvztNR68+9uvvUtVE7m/9Ua1v3l2vLP/KCL2NwtZb1MF/jZe3r59Qg==
</data> </data>
</layer> </layer>
<layer id="3" name="Foreground" width="30" height="30"> <layer id="2" name="Ground" width="48" height="48">
<data encoding="base64" compression="zlib">
eJzt2MEJgDAQRNHYgQWIeLB/SIeyYANeHGPeayD/NLBpDQDgO/qaLgAYz3Zv525DAYAHziVdAPNK/3+k34dZ/eF+PwZuL/qz9OfU/lS//cl5o/8CUIoE9w==
</data>
</layer>
<layer id="3" name="Foreground" width="48" height="48">
<properties> <properties>
<property name="spriteLayer" type="bool" value="true"/> <property name="spriteLayer" type="bool" value="true"/>
</properties> </properties>
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJztwQEBAAAAgiD/r25IQAEAAPBoDhAAAQ== eJztmH0OwiAMxTnBNo3uIu4WXsePHUt3FS+kiyOZhNI3RsFkJelfkr5fhm0fdJUxnYaGhoaGhoaGYLSNMU8wzjt877HJw3/46EisvfJvgr+vjbkCcau/XBdw/73OX8vIOeX6rlvhR/vnMPE/tH8qv/KL83N1aetLmh/pD75a57j2mfiR/L6ziuVH5ys1n1Px91NOisfOdzd/7P+WykP5kzkb5TXGnBwPpYvONaqOEF1qj9UeZyY3L19V/LmH9nO6cza3ftfUZCr+GE3l/w/+pXcSKX7pu45PMyX/Gg/h63/2/SPkHST4W0cfuSeE9BHNlPwIi/L//ub2AOr9gfIhpfmpfEv01vCH/Fvom1Fzn7u/DwvOcu7fQr2T829S3p/7thwb6t9c75Z6hbSl/FuJldL/lFix/ifmfhh7vyz91mvP9CSso/xl+d+e+Pwi
</data> </data>
</layer> </layer>
<layer id="5" name="AboveSprites" width="30" height="30"> <layer id="5" name="AboveSprites" width="48" height="48">
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJztwQEBAAAAgiD/r25IQAEAAPBoDhAAAQ== eJzt17EJACAQA8Bs8Buro+sC1o94B+lTBZIAAAD8bVQyT1Z1NwEAAABu/Hegi/3hBRuEwwT/
</data> </data>
</layer> </layer>
<objectgroup id="4" name="Objects"> <objectgroup id="4" name="Objects">
<object id="47" template="../../obj/gold.tx" x="323" y="219"/> <object id="47" template="../../obj/gold.tx" x="603" y="416">
<object id="49" template="../../obj/gold.tx" x="106" y="216"/> <properties>
<object id="51" template="../../obj/entry_up.tx" x="209" y="480"> <property name="reward">[
{
&quot;type&quot;: &quot;gold&quot;,
&quot;count&quot;: 180,
&quot;addMaxCount&quot;: 40
}
]</property>
</properties>
</object>
<object id="49" template="../../obj/gold.tx" x="134" y="413">
<properties>
<property name="reward">[
{
&quot;type&quot;: &quot;gold&quot;,
&quot;count&quot;: 180,
&quot;addMaxCount&quot;: 40
}
]</property>
</properties>
</object>
<object id="54" template="../../obj/enemy.tx" x="368" y="728">
<properties>
<property name="enemy" value="Dino"/>
</properties>
</object>
<object id="55" template="../../obj/gate.tx" x="368" y="640">
<properties>
<property name="dialog">[{
&quot;text&quot;:&quot;A gate is blocking the path. I looks like it is open elsewhere&quot;,
&quot;options&quot;:[
{ &quot;name&quot;:&quot;continue&quot; }
]
}]</property>
</properties>
</object>
<object id="60" template="../../obj/entry_up.tx" x="357" y="768" width="38" height="16">
<properties> <properties>
<property name="teleport" value=""/> <property name="teleport" value=""/>
</properties> </properties>
</object> </object>
<object id="52" template="../../obj/enemy.tx" x="200" y="151" width="32" height="32"> <object id="61" name="switch" class="dialog" gid="4426" x="624" y="560" width="16" height="16">
<properties> <properties>
<property name="enemy" value="Ghalta"/> <property name="dialog">[
{
&quot;text&quot;:&quot;Hmm a big switch is embedded into the wall&quot;,
&quot;options&quot;:[
{
&quot;text&quot;:&quot;You hear some loud sounds from the center&quot;,
&quot;action&quot;:[{&quot;deleteMapObject&quot;:-1},{&quot;advanceMapFlag&quot;:&quot;gate&quot;}],
&quot;name&quot;:&quot;flip the switch&quot;
&quot;options&quot;:[{
&quot;condition&quot;:[{&quot;getMapFlag&quot;:{&quot;key&quot;:&quot;gate&quot;,&quot;op&quot;:&quot;&gt;=&quot;,&quot;val&quot;:3}}],
&quot;action&quot;:[{&quot;deleteMapObject&quot;:55}],
&quot;name&quot;:&quot;ok&quot; }]
},
{ &quot;name&quot;:&quot;go away&quot; }
]
}
]</property>
</properties> </properties>
</object> </object>
<object id="53" template="../../obj/treasure.tx" x="208" y="80"> <object id="63" name="switch" class="dialog" gid="4426" x="368" y="192" width="16" height="16">
<properties> <properties>
<property name="reward">[ <property name="dialog">[
{ {
&quot;type&quot;: &quot;life&quot;, &quot;text&quot;:&quot;Hmm a big switch is embedded into the wall&quot;,
&quot;count&quot;: 2 &quot;options&quot;:[
} {
] &quot;text&quot;:&quot;You hear some loud sounds from the center&quot;,
</property> &quot;action&quot;:[{&quot;deleteMapObject&quot;:-1},{&quot;advanceMapFlag&quot;:&quot;gate&quot;}],
<property name="sprite" value="sprites/2life.atlas"/> &quot;name&quot;:&quot;flip the switch&quot;
&quot;options&quot;:[{
&quot;condition&quot;:[{&quot;getMapFlag&quot;:{&quot;key&quot;:&quot;gate&quot;,&quot;op&quot;:&quot;&gt;=&quot;,&quot;val&quot;:3}}],
&quot;action&quot;:[{&quot;deleteMapObject&quot;:55}],
&quot;name&quot;:&quot;ok&quot; }]
},
{ &quot;name&quot;:&quot;go away&quot; }
]
}
]</property>
</properties>
</object>
<object id="64" name="switch" class="dialog" gid="4426" x="112" y="560" width="16" height="16">
<properties>
<property name="dialog">[
{
&quot;text&quot;:&quot;Hmm a big switch is embedded into the wall&quot;,
&quot;options&quot;:[
{
&quot;text&quot;:&quot;You hear some loud sounds from the center&quot;,
&quot;action&quot;:[{&quot;deleteMapObject&quot;:-1},{&quot;advanceMapFlag&quot;:&quot;gate&quot;}],
&quot;name&quot;:&quot;flip the switch&quot;
&quot;options&quot;:[{
&quot;condition&quot;:[{&quot;getMapFlag&quot;:{&quot;key&quot;:&quot;gate&quot;,&quot;op&quot;:&quot;&gt;=&quot;,&quot;val&quot;:3}}],
&quot;action&quot;:[{&quot;deleteMapObject&quot;:55}],
&quot;name&quot;:&quot;ok&quot; }]
},
{ &quot;name&quot;:&quot;go away&quot; }
]
}
]</property>
</properties>
</object>
<object id="65" template="../../obj/entry_down.tx" x="369" y="489">
<properties>
<property name="teleport" value="maps/map/main_story/green_castle_f1.tmx"/>
</properties>
</object>
<object id="66" template="../../obj/enemy.tx" x="56" y="663">
<properties>
<property name="enemy" value="Dino"/>
</properties>
</object>
<object id="67" template="../../obj/enemy.tx" x="679" y="664">
<properties>
<property name="enemy" value="Dino"/>
</properties>
</object>
<object id="68" template="../../obj/enemy.tx" x="681" y="458">
<properties>
<property name="enemy" value="Dino"/>
</properties>
</object>
<object id="69" template="../../obj/enemy.tx" x="368" y="298">
<properties>
<property name="enemy" value="Dino"/>
</properties>
</object>
<object id="70" template="../../obj/enemy.tx" x="57" y="456">
<properties>
<property name="enemy" value="Dino"/>
</properties> </properties>
</object> </object>
</objectgroup> </objectgroup>

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="30" height="30" tilewidth="16" tileheight="16" infinite="0" nextlayerid="6" nextobjectid="54">
<editorsettings>
<export target="wastetown..tmx" format="tmx"/>
</editorsettings>
<properties>
<property name="dungeonEffect" value="{&quot;startBattleWithCard&quot;: [ &quot;Ghalta presence&quot; ]}"/>
</properties>
<tileset firstgid="1" source="../../tileset/main.tsx"/>
<tileset firstgid="10113" source="../../tileset/buildings.tsx"/>
<layer id="1" name="Background" width="30" height="30">
<data encoding="base64" compression="zlib">
eJztwzEJAAAMA7C+8w/VWyFLIL2kqqqqvjuO1S8b
</data>
</layer>
<layer id="2" name="Ground" width="30" height="30">
<data encoding="base64" compression="zlib">
eJwTFmBgEB7FGFgMiDdiwaI0tlcEiLEBoVF7qYor+BkYSoG4jB9iXwmUX85Pn/QF8zet/UlPe0F5ZgsQb8ZCb4LauwGHPIgmN29hS0NNvNjTFTZxcsMCZm8jMM00kYCb+aljrzyQViABK1IY96P2jto7au+oveTauxdI78OCVXGI76eSvbiAEgH5UXuJw7C2FDYMal+B7C3Bo4YWbS5QWIDsHYj21VC2FwAIdpdw
</data>
</layer>
<layer id="3" name="Foreground" width="30" height="30">
<properties>
<property name="spriteLayer" type="bool" value="true"/>
</properties>
<data encoding="base64" compression="zlib">
eJztwQEBAAAAgiD/r25IQAEAAPBoDhAAAQ==
</data>
</layer>
<layer id="5" name="AboveSprites" width="30" height="30">
<data encoding="base64" compression="zlib">
eJztwQEBAAAAgiD/r25IQAEAAPBoDhAAAQ==
</data>
</layer>
<objectgroup id="4" name="Objects">
<object id="47" template="../../obj/gold.tx" x="323" y="219"/>
<object id="49" template="../../obj/gold.tx" x="106" y="216"/>
<object id="51" template="../../obj/entry_up.tx" x="209" y="480">
<properties>
<property name="teleport" value=""/>
</properties>
</object>
<object id="52" template="../../obj/enemy.tx" x="200" y="151" width="32" height="32">
<properties>
<property name="enemy" value="Ghalta"/>
</properties>
</object>
<object id="53" template="../../obj/treasure.tx" x="208" y="80">
<properties>
<property name="reward">[
{
&quot;type&quot;: &quot;life&quot;,
&quot;count&quot;: 2
}
]
</property>
<property name="sprite" value="sprites/2life.atlas"/>
</properties>
</object>
</objectgroup>
</map>

View File

@@ -1,56 +1,179 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<map version="1.8" tiledversion="1.8.4" orientation="orthogonal" renderorder="right-down" width="30" height="30" tilewidth="16" tileheight="16" infinite="0" nextlayerid="6" nextobjectid="54"> <map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="48" height="48" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="71">
<editorsettings> <editorsettings>
<export target="wastetown..tmx" format="tmx"/> <export target="wastetown..tmx" format="tmx"/>
</editorsettings> </editorsettings>
<properties>
<property name="dungeonEffect" value="{&quot;startBattleWithCard&quot;: [ &quot;Lathliss presence&quot; ]}"/>
<property name="respawnEnemies" type="bool" value="true"/>
</properties>
<tileset firstgid="1" source="../../tileset/main.tsx"/> <tileset firstgid="1" source="../../tileset/main.tsx"/>
<tileset firstgid="4425" source="../../tileset/buildings.tsx"/> <tileset firstgid="10113" source="../../tileset/buildings.tsx"/>
<layer id="1" name="Background" width="30" height="30"> <layer id="1" name="Background" width="48" height="48">
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJztwzEJAAAMA7C+8w/VWyFLIL2kqqqqvjuO1S8b eJzt2LEJACEQRUFTsyvhqrZeuRrc049MMJksDxUER29tAAAAXOx9subATt+9rXKqP2mOfv369etfn7fz3Tn1zqXuv379Kf1Va/Tr169f///9lf8K1RLPKJn++/snqiFdMg==
</data> </data>
</layer> </layer>
<layer id="2" name="Ground" width="30" height="30"> <layer id="6" name="Floor" width="48" height="48">
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJwz4WNgMBnFGNgciC9hwWY0ttcUiLEB41F7qYpn8jIwTAPi6bwQ+6ZC+TN46ZO+YP6mtT/paS8oz1wF4itY6MtQey/ikAfR5OYtbGnoMzv2dIVNnNywgNnbyM/A0EQCbuanjr3yAgwMCiRgRYFRe0ftHbV31N6BsXcv0Jx9WLAqDvH9VLIXF1ASwC8/ai9xGNaWwoZB7SuQvVPxqKFFmwsUFiB7B6J9NZTtBQBeSeVp eJztmEEOwjAMBPOD5AdVBR9tq/Ir4Gtw4YbAbtdxDjNSbpZ3VCWy1VIAAAAAAAAA4BtLLWUVnq329Z+att8s7vePj//+/m6Pdvzcaq7/2VxVn6xc/HNz8c/NVftb59JV7H9pmjnnnUsqf1XevfPc8c7Bp+iejXr/e+eO7L8Y3tzI/qqaCPC310SAv70mAvztNR68+9uvvUtVE7m/9Ua1v3l2vLP/KCL2NwtZb1MF/jZe3r59Qg==
</data> </data>
</layer> </layer>
<layer id="3" name="Foreground" width="30" height="30"> <layer id="2" name="Ground" width="48" height="48">
<data encoding="base64" compression="zlib">
eJzt2LENgDAMRcGwAMoACFGw/zBMhCJ24GNy17jMqyw5rQEAfMe1pgsA6tn6M/ee7QAAajmXdAHMK/3/kX4fZvWH+/0o3D7oz9KfM/bP6Ld/ct7ovwEWvgVU
</data>
</layer>
<layer id="3" name="Foreground" width="48" height="48">
<properties> <properties>
<property name="spriteLayer" type="bool" value="true"/> <property name="spriteLayer" type="bool" value="true"/>
</properties> </properties>
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJzt0jERACAMBMFUIAH/GjGAhXyRhtktr74qgL+clXXouDvr0OErJviKxANqBgYX eJztmH0OgyAMxbmAS3YWnR5i59uHx3JeaJpJ4gilT6RgYkneX2voL7i2D5qLMY1KpVKpVCqVoLpJH1D3Kx7bZuK/TZJYtfKfgr+vjHkCelU/rgcY/67y1zLynXKd61n40f45LvwDGK/9U/mVX64u20z8SH/w1TrHVWfiR/b3fatYfnS+UvM5FX+/7Enx2Pnu7h/7v6X2ofzJmo3yGvOeHA+VF51rVB0heakYm3uemdy8HIm8aF1Q8UheG+PW756aTMUfk1P5j8G/9U4ixS991/HlTMm/x0P4+p99/wh5Bwn+zsmP3BNC+ZGcKfkRFuX//83tAdT7A+VDSvNT+23Jt4c/5N9CZ0bNfe7+7vqQNZuvn1u2UO/k/JuU9+fOlmND/ZvvzFIuLreEfyuxUvqfEivW/8TcD2Pvl6Xfeo/6/qn8afUFIW0wJA==
</data> </data>
</layer> </layer>
<layer id="5" name="AboveSprites" width="30" height="30"> <layer id="5" name="AboveSprites" width="48" height="48">
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJztwQEBAAAAgiD/r25IQAEAAPBoDhAAAQ== eJzt17EJACAQA8Bs8Buro+sC1o94B+lTBZIAAAD8bVQyT1Z1NwEAAABu/Hegi/3hBRuEwwT/
</data> </data>
</layer> </layer>
<objectgroup id="4" name="Objects"> <objectgroup id="4" name="Objects">
<object id="47" template="../../obj/gold.tx" x="323" y="219"/> <object id="47" template="../../obj/gold.tx" x="603" y="416">
<object id="49" template="../../obj/gold.tx" x="106" y="216"/> <properties>
<object id="51" template="../../obj/entry_up.tx" x="209" y="480"> <property name="reward">[
{
&quot;type&quot;: &quot;gold&quot;,
&quot;count&quot;: 180,
&quot;addMaxCount&quot;: 40
}
]</property>
</properties>
</object>
<object id="49" template="../../obj/gold.tx" x="134" y="413">
<properties>
<property name="reward">[
{
&quot;type&quot;: &quot;gold&quot;,
&quot;count&quot;: 180,
&quot;addMaxCount&quot;: 40
}
]</property>
</properties>
</object>
<object id="54" template="../../obj/enemy.tx" x="368" y="728">
<properties>
<property name="enemy" value="Dragon"/>
</properties>
</object>
<object id="55" template="../../obj/gate.tx" x="368" y="640">
<properties>
<property name="dialog">[{
&quot;text&quot;:&quot;A gate is blocking the path. I looks like it is open elsewhere&quot;,
&quot;options&quot;:[
{ &quot;name&quot;:&quot;continue&quot; }
]
}]</property>
</properties>
</object>
<object id="60" template="../../obj/entry_up.tx" x="357" y="768" width="38" height="16">
<properties> <properties>
<property name="teleport" value=""/> <property name="teleport" value=""/>
</properties> </properties>
</object> </object>
<object id="52" template="../../obj/enemy.tx" x="200" y="152" width="32" height="32"> <object id="61" name="switch" class="dialog" gid="4426" x="624" y="560" width="16" height="16">
<properties> <properties>
<property name="enemy" value="Lathliss"/> <property name="dialog">[
{
&quot;text&quot;:&quot;Hmm a big switch is embedded into the wall&quot;,
&quot;options&quot;:[
{
&quot;text&quot;:&quot;You hear some loud sounds from the center&quot;,
&quot;action&quot;:[{&quot;deleteMapObject&quot;:-1},{&quot;advanceMapFlag&quot;:&quot;gate&quot;}],
&quot;name&quot;:&quot;flip the switch&quot;
&quot;options&quot;:[{
&quot;condition&quot;:[{&quot;getMapFlag&quot;:{&quot;key&quot;:&quot;gate&quot;,&quot;op&quot;:&quot;&gt;=&quot;,&quot;val&quot;:3}}],
&quot;action&quot;:[{&quot;deleteMapObject&quot;:55}],
&quot;name&quot;:&quot;ok&quot; }]
},
{ &quot;name&quot;:&quot;go away&quot; }
]
}
]</property>
</properties> </properties>
</object> </object>
<object id="53" template="../../obj/treasure.tx" x="208" y="80"> <object id="63" name="switch" class="dialog" gid="4426" x="368" y="192" width="16" height="16">
<properties> <properties>
<property name="reward">[ <property name="dialog">[
{ {
&quot;type&quot;: &quot;life&quot;, &quot;text&quot;:&quot;Hmm a big switch is embedded into the wall&quot;,
&quot;count&quot;: 2 &quot;options&quot;:[
} {
] &quot;text&quot;:&quot;You hear some loud sounds from the center&quot;,
</property> &quot;action&quot;:[{&quot;deleteMapObject&quot;:-1},{&quot;advanceMapFlag&quot;:&quot;gate&quot;}],
<property name="sprite" value="sprites/2life.atlas"/> &quot;name&quot;:&quot;flip the switch&quot;
&quot;options&quot;:[{
&quot;condition&quot;:[{&quot;getMapFlag&quot;:{&quot;key&quot;:&quot;gate&quot;,&quot;op&quot;:&quot;&gt;=&quot;,&quot;val&quot;:3}}],
&quot;action&quot;:[{&quot;deleteMapObject&quot;:55}],
&quot;name&quot;:&quot;ok&quot; }]
},
{ &quot;name&quot;:&quot;go away&quot; }
]
}
]</property>
</properties>
</object>
<object id="64" name="switch" class="dialog" gid="4426" x="112" y="560" width="16" height="16">
<properties>
<property name="dialog">[
{
&quot;text&quot;:&quot;Hmm a big switch is embedded into the wall&quot;,
&quot;options&quot;:[
{
&quot;text&quot;:&quot;You hear some loud sounds from the center&quot;,
&quot;action&quot;:[{&quot;deleteMapObject&quot;:-1},{&quot;advanceMapFlag&quot;:&quot;gate&quot;}],
&quot;name&quot;:&quot;flip the switch&quot;
&quot;options&quot;:[{
&quot;condition&quot;:[{&quot;getMapFlag&quot;:{&quot;key&quot;:&quot;gate&quot;,&quot;op&quot;:&quot;&gt;=&quot;,&quot;val&quot;:3}}],
&quot;action&quot;:[{&quot;deleteMapObject&quot;:55}],
&quot;name&quot;:&quot;ok&quot; }]
},
{ &quot;name&quot;:&quot;go away&quot; }
]
}
]</property>
</properties>
</object>
<object id="65" template="../../obj/entry_down.tx" x="369" y="489">
<properties>
<property name="teleport" value="maps/map/main_story/red_castle_f1.tmx"/>
</properties>
</object>
<object id="66" template="../../obj/enemy.tx" x="56" y="663">
<properties>
<property name="enemy" value="Dragon"/>
</properties>
</object>
<object id="67" template="../../obj/enemy.tx" x="679" y="664">
<properties>
<property name="enemy" value="Dragon"/>
</properties>
</object>
<object id="68" template="../../obj/enemy.tx" x="681" y="458">
<properties>
<property name="enemy" value="Dragon"/>
</properties>
</object>
<object id="69" template="../../obj/enemy.tx" x="368" y="298">
<properties>
<property name="enemy" value="Dragon"/>
</properties>
</object>
<object id="70" template="../../obj/enemy.tx" x="57" y="456">
<properties>
<property name="enemy" value="Dragon"/>
</properties> </properties>
</object> </object>
</objectgroup> </objectgroup>

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="30" height="30" tilewidth="16" tileheight="16" infinite="0" nextlayerid="6" nextobjectid="54">
<editorsettings>
<export target="wastetown..tmx" format="tmx"/>
</editorsettings>
<properties>
<property name="dungeonEffect" value="{&quot;startBattleWithCard&quot;: [ &quot;Lathliss presence&quot; ]}"/>
</properties>
<tileset firstgid="1" source="../../tileset/main.tsx"/>
<tileset firstgid="10113" source="../../tileset/buildings.tsx"/>
<layer id="1" name="Background" width="30" height="30">
<data encoding="base64" compression="zlib">
eJztwzEJAAAMA7C+8w/VWyFLIL2kqqqqvjuO1S8b
</data>
</layer>
<layer id="2" name="Ground" width="30" height="30">
<data encoding="base64" compression="zlib">
eJwz4WNgMBnFGNgciC9hwWY0ttcUiLEB41F7qYpn8jIwTAPi6bwQ+6ZC+TN46ZO+YP6mtT/paS8oz1wF4itY6MtQey/ikAfR5OYtbGnoMzv2dIVNnNywgNnbyM/A0EQCbuanjr3yAgwMCiRgRYFRe0ftHbV31N6BsXcv0Jx9WLAqDvH9VLIXF1ASwC8/ai9xGNaWwoZB7SuQvVPxqKFFmwsUFiB7B6J9NZTtBQBeSeVp
</data>
</layer>
<layer id="3" name="Foreground" width="30" height="30">
<properties>
<property name="spriteLayer" type="bool" value="true"/>
</properties>
<data encoding="base64" compression="zlib">
eJzt0jERACAMBMFUIAH/GjGAhXyRhtktr74qgL+clXXouDvr0OErJviKxANqBgYX
</data>
</layer>
<layer id="5" name="AboveSprites" width="30" height="30">
<data encoding="base64" compression="zlib">
eJztwQEBAAAAgiD/r25IQAEAAPBoDhAAAQ==
</data>
</layer>
<objectgroup id="4" name="Objects">
<object id="47" template="../../obj/gold.tx" x="323" y="219"/>
<object id="49" template="../../obj/gold.tx" x="106" y="216"/>
<object id="51" template="../../obj/entry_up.tx" x="209" y="480">
<properties>
<property name="teleport" value=""/>
</properties>
</object>
<object id="52" template="../../obj/enemy.tx" x="200" y="152" width="32" height="32">
<properties>
<property name="enemy" value="Lathliss"/>
</properties>
</object>
<object id="53" template="../../obj/treasure.tx" x="208" y="80">
<properties>
<property name="reward">[
{
&quot;type&quot;: &quot;life&quot;,
&quot;count&quot;: 2
}
]
</property>
<property name="sprite" value="sprites/2life.atlas"/>
</properties>
</object>
</objectgroup>
</map>

View File

@@ -1,56 +1,179 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<map version="1.8" tiledversion="1.8.4" orientation="orthogonal" renderorder="right-down" width="30" height="30" tilewidth="16" tileheight="16" infinite="0" nextlayerid="6" nextobjectid="53"> <map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="48" height="48" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="73">
<editorsettings> <editorsettings>
<export target="wastetown..tmx" format="tmx"/> <export target="wastetown..tmx" format="tmx"/>
</editorsettings> </editorsettings>
<properties>
<property name="dungeonEffect" value="{&quot;startBattleWithCard&quot;: [ &quot;Akroma presence&quot; ]}"/>
<property name="respawnEnemies" type="bool" value="true"/>
</properties>
<tileset firstgid="1" source="../../tileset/main.tsx"/> <tileset firstgid="1" source="../../tileset/main.tsx"/>
<tileset firstgid="4425" source="../../tileset/buildings.tsx"/> <tileset firstgid="10113" source="../../tileset/buildings.tsx"/>
<layer id="1" name="Background" width="30" height="30"> <layer id="1" name="Background" width="48" height="48">
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJztwzEJAAAMA7C+8w/VWyFLIL2kqqqqvjuO1S8b eJzt2LEJACEQRUFTsyvhqrZeuRrc049MMJksDxUER29tAAAAXOx9subATt+9rXKqP2mOfv369etfn7fz3Tn1zqXuv379Kf1Va/Tr169f///9lf8K1RLPKJn++/snqiFdMg==
</data> </data>
</layer> </layer>
<layer id="2" name="Ground" width="30" height="30"> <layer id="6" name="Floor" width="48" height="48">
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJyz5GNgsBzFGNgGiK9jwdY0ttcKiLEBi1F7qYrn8TIwzAbiObwQ+2ZB+XN56ZO+YP6mtT/paS8oz9wC4ptY6BtQe6/hkAfR5OYtbGkolB17usImTm5YwOxt5GdgaCIBN/NTx155AQYGBRKwosCovaP2jto7au/A2LsXaM4+LFgVh/h+KtmLCygJ4JcftZc4DGtLYcOg9hXI3ll41NCizQUKC5C9A9G+Gsr2AgDj7PCe eJztmEEOwjAMBPOD5AdVBR9tq/Ir4Gtw4YbAbtdxDjNSbpZ3VCWy1VIAAAAAAAAA4BtLLWUVnq329Z+att8s7vePj//+/m6Pdvzcaq7/2VxVn6xc/HNz8c/NVftb59JV7H9pmjnnnUsqf1XevfPc8c7Bp+iejXr/e+eO7L8Y3tzI/qqaCPC310SAv70mAvztNR68+9uvvUtVE7m/9Ua1v3l2vLP/KCL2NwtZb1MF/jZe3r59Qg==
</data> </data>
</layer> </layer>
<layer id="3" name="Foreground" width="30" height="30"> <layer id="2" name="Ground" width="48" height="48">
<data encoding="base64" compression="zlib">
eJzt2LENgDAMRcGwAMoACFGw/zqsgyJ24GNy17jMqyw5rQEAfMe1pgsA6tn6M/ee7QAAajmXdAHMK/3/kX4fZvWH+/0o3D7oz9KfM/bP6Ld/ct7ovwEFKQVj
</data>
</layer>
<layer id="3" name="Foreground" width="48" height="48">
<properties> <properties>
<property name="spriteLayer" type="bool" value="true"/> <property name="spriteLayer" type="bool" value="true"/>
</properties> </properties>
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJztwQEBAAAAgiD/r25IQAEAAPBoDhAAAQ== eJztmH0KgzAMxb2Awu4iTKY32A334aUGm8eZMguuNM2zNq1gCu+vleRHXdKX1lVR1CqVSqVSqVSC6kZ9QF1P+N42Ef9llMRqlP8Q/H1ZFHdAj/LHdQP3P8v0tYx8p1TnehT+c4X1w2Hmf4P7tX8qv/KHi/M1bSJ+xF+5ap3jahLxI/Fd3yqUH71fqfs5Fn8/x6R4zP1uxw/931JxKH+yZKO8xhST46HyonMBVUdIXmqPyT3dmdx9+SLyonVB7efyLtns+t1Sk7H4Q3Iq/z74184kUvzSs44rZ0z+LR7C1f/M+4fPO0jwd1Z+ZE7w5UdyxuRHWJT//ze7B1DvD5QPyc1PxVuTbwu/z7/5zoy697n53fYhSzZXPzdsvt7J+Tcp78+dLceG+rdBmJ/LLeHfcqyY/ifHCvU/IfNh6HyZ+613r++fyh9XX36YOI8=
</data> </data>
</layer> </layer>
<layer id="5" name="AboveSprites" width="30" height="30"> <layer id="5" name="AboveSprites" width="48" height="48">
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJztwQEBAAAAgiD/r25IQAEAAPBoDhAAAQ== eJzt17EJACAQA8Bs8Buro+sC1o94B+lTBZIAAAD8bVQyT1Z1NwEAAABu/Hegi/3hBRuEwwT/
</data> </data>
</layer> </layer>
<objectgroup id="4" name="Objects"> <objectgroup id="4" name="Objects">
<object id="47" template="../../obj/gold.tx" x="323" y="219"/> <object id="47" template="../../obj/gold.tx" x="603" y="416">
<object id="49" template="../../obj/gold.tx" x="106" y="216"/>
<object id="50" template="../../obj/enemy.tx" x="200" y="151" width="32" height="32">
<properties> <properties>
<property name="enemy" value="Akroma"/> <property name="reward">[
{
&quot;type&quot;: &quot;gold&quot;,
&quot;count&quot;: 180,
&quot;addMaxCount&quot;: 40
}
]</property>
</properties> </properties>
</object> </object>
<object id="51" template="../../obj/entry_up.tx" x="209" y="480"> <object id="49" template="../../obj/gold.tx" x="134" y="413">
<properties>
<property name="reward">[
{
&quot;type&quot;: &quot;gold&quot;,
&quot;count&quot;: 180,
&quot;addMaxCount&quot;: 40
}
]</property>
</properties>
</object>
<object id="54" template="../../obj/enemy.tx" x="368" y="728">
<properties>
<property name="enemy" value="Monk"/>
</properties>
</object>
<object id="55" template="../../obj/gate.tx" x="368" y="640">
<properties>
<property name="dialog">[{
&quot;text&quot;:&quot;A gate is blocking the path. I looks like it is open elsewhere&quot;,
&quot;options&quot;:[
{ &quot;name&quot;:&quot;continue&quot; }
]
}]</property>
</properties>
</object>
<object id="60" template="../../obj/entry_up.tx" x="357" y="768" width="38" height="16">
<properties> <properties>
<property name="teleport" value=""/> <property name="teleport" value=""/>
</properties> </properties>
</object> </object>
<object id="52" template="../../obj/treasure.tx" x="208" y="80"> <object id="61" name="switch" class="dialog" gid="4426" x="624" y="560" width="16" height="16">
<properties> <properties>
<property name="reward">[ <property name="dialog">[
{ {
&quot;type&quot;: &quot;life&quot;, &quot;text&quot;:&quot;Hmm a big switch is embedded into the wall&quot;,
&quot;count&quot;: 2 &quot;options&quot;:[
} {
] &quot;text&quot;:&quot;You hear some loud sounds from the center&quot;,
</property> &quot;action&quot;:[{&quot;deleteMapObject&quot;:-1},{&quot;advanceMapFlag&quot;:&quot;gate&quot;}],
<property name="sprite" value="sprites/2life.atlas"/> &quot;name&quot;:&quot;flip the switch&quot;
&quot;options&quot;:[{
&quot;condition&quot;:[{&quot;getMapFlag&quot;:{&quot;key&quot;:&quot;gate&quot;,&quot;op&quot;:&quot;&gt;=&quot;,&quot;val&quot;:3}}],
&quot;action&quot;:[{&quot;deleteMapObject&quot;:55}],
&quot;name&quot;:&quot;ok&quot; }]
},
{ &quot;name&quot;:&quot;go away&quot; }
]
}
]</property>
</properties>
</object>
<object id="63" name="switch" class="dialog" gid="4426" x="368" y="192" width="16" height="16">
<properties>
<property name="dialog">[
{
&quot;text&quot;:&quot;Hmm a big switch is embedded into the wall&quot;,
&quot;options&quot;:[
{
&quot;text&quot;:&quot;You hear some loud sounds from the center&quot;,
&quot;action&quot;:[{&quot;deleteMapObject&quot;:-1},{&quot;advanceMapFlag&quot;:&quot;gate&quot;}],
&quot;name&quot;:&quot;flip the switch&quot;
&quot;options&quot;:[{
&quot;condition&quot;:[{&quot;getMapFlag&quot;:{&quot;key&quot;:&quot;gate&quot;,&quot;op&quot;:&quot;&gt;=&quot;,&quot;val&quot;:3}}],
&quot;action&quot;:[{&quot;deleteMapObject&quot;:55}],
&quot;name&quot;:&quot;ok&quot; }]
},
{ &quot;name&quot;:&quot;go away&quot; }
]
}
]</property>
</properties>
</object>
<object id="64" name="switch" class="dialog" gid="4426" x="112" y="560" width="16" height="16">
<properties>
<property name="dialog">[
{
&quot;text&quot;:&quot;Hmm a big switch is embedded into the wall&quot;,
&quot;options&quot;:[
{
&quot;text&quot;:&quot;You hear some loud sounds from the center&quot;,
&quot;action&quot;:[{&quot;deleteMapObject&quot;:-1},{&quot;advanceMapFlag&quot;:&quot;gate&quot;}],
&quot;name&quot;:&quot;flip the switch&quot;
&quot;options&quot;:[{
&quot;condition&quot;:[{&quot;getMapFlag&quot;:{&quot;key&quot;:&quot;gate&quot;,&quot;op&quot;:&quot;&gt;=&quot;,&quot;val&quot;:3}}],
&quot;action&quot;:[{&quot;deleteMapObject&quot;:55}],
&quot;name&quot;:&quot;ok&quot; }]
},
{ &quot;name&quot;:&quot;go away&quot; }
]
}
]</property>
</properties>
</object>
<object id="65" template="../../obj/entry_down.tx" x="369" y="489">
<properties>
<property name="teleport" value="maps/map/main_story/white_castle_f1.tmx"/>
</properties>
</object>
<object id="67" template="../../obj/enemy.tx" x="679" y="664">
<properties>
<property name="enemy" value="Monk"/>
</properties>
</object>
<object id="68" template="../../obj/enemy.tx" x="681" y="458">
<properties>
<property name="enemy" value="Monk"/>
</properties>
</object>
<object id="69" template="../../obj/enemy.tx" x="368" y="298">
<properties>
<property name="enemy" value="Monk"/>
</properties>
</object>
<object id="71" template="../../obj/enemy.tx" x="56" y="664">
<properties>
<property name="enemy" value="Monk"/>
</properties>
</object>
<object id="72" template="../../obj/enemy.tx" x="55" y="455">
<properties>
<property name="enemy" value="Monk"/>
</properties> </properties>
</object> </object>
</objectgroup> </objectgroup>

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="30" height="30" tilewidth="16" tileheight="16" infinite="0" nextlayerid="6" nextobjectid="53">
<editorsettings>
<export target="wastetown..tmx" format="tmx"/>
</editorsettings>
<properties>
<property name="dungeonEffect" value="{&quot;startBattleWithCard&quot;: [ &quot;Akroma presence&quot; ]}"/>
</properties>
<tileset firstgid="1" source="../../tileset/main.tsx"/>
<tileset firstgid="10113" source="../../tileset/buildings.tsx"/>
<layer id="1" name="Background" width="30" height="30">
<data encoding="base64" compression="zlib">
eJztwzEJAAAMA7C+8w/VWyFLIL2kqqqqvjuO1S8b
</data>
</layer>
<layer id="2" name="Ground" width="30" height="30">
<data encoding="base64" compression="zlib">
eJyz5GNgsBzFGNgGiK9jwdY0ttcKiLEBi1F7qYrn8TIwzAbiObwQ+2ZB+XN56ZO+YP6mtT/paS8oz9wC4ptY6BtQe6/hkAfR5OYtbGkolB17usImTm5YwOxt5GdgaCIBN/NTx155AQYGBRKwosCovaP2jto7au/A2LsXaM4+LFgVh/h+KtmLCygJ4JcftZc4DGtLYcOg9hXI3ll41NCizQUKC5C9A9G+Gsr2AgDj7PCe
</data>
</layer>
<layer id="3" name="Foreground" width="30" height="30">
<properties>
<property name="spriteLayer" type="bool" value="true"/>
</properties>
<data encoding="base64" compression="zlib">
eJztwQEBAAAAgiD/r25IQAEAAPBoDhAAAQ==
</data>
</layer>
<layer id="5" name="AboveSprites" width="30" height="30">
<data encoding="base64" compression="zlib">
eJztwQEBAAAAgiD/r25IQAEAAPBoDhAAAQ==
</data>
</layer>
<objectgroup id="4" name="Objects">
<object id="47" template="../../obj/gold.tx" x="323" y="219"/>
<object id="49" template="../../obj/gold.tx" x="106" y="216"/>
<object id="50" template="../../obj/enemy.tx" x="200" y="151" width="32" height="32">
<properties>
<property name="enemy" value="Akroma"/>
</properties>
</object>
<object id="51" template="../../obj/entry_up.tx" x="209" y="480">
<properties>
<property name="teleport" value=""/>
</properties>
</object>
<object id="52" template="../../obj/treasure.tx" x="208" y="80">
<properties>
<property name="reward">[
{
&quot;type&quot;: &quot;life&quot;,
&quot;count&quot;: 2
}
]
</property>
<property name="sprite" value="sprites/2life.atlas"/>
</properties>
</object>
</objectgroup>
</map>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 494 KiB

After

Width:  |  Height:  |  Size: 506 KiB

View File

@@ -241,7 +241,7 @@
"startBattleWithCard": [ "startBattleWithCard": [
"Blightsteel Colossus", "Blightsteel Colossus",
"Urabrask the Hidden", "Urabrask the Hidden",
"Unnatural Growth" "Avatar of Slaughter"
] ]
} }
}, },