Teleport redesigned

This commit is contained in:
Nut.andor
2025-12-14 21:30:38 +01:00
parent 84411f9ac4
commit ceb2b8e31e
8 changed files with 450 additions and 1534 deletions

View File

@@ -29,9 +29,6 @@ public final class DebugInterface {
private final WorldContext world;
private DebugButton[] buttons;
private List<DebugButton> tpButtons = new ArrayList<DebugButton>();
private List<DebugButton> tpButtons2 = new ArrayList<DebugButton>();
private List<DebugButton> tpButtons3 = new ArrayList<DebugButton>();
public DebugInterface(ControllerContext controllers, WorldContext world, MainActivity mainActivity) {
this.controllerContext = controllers;
@@ -53,36 +50,23 @@ public final class DebugInterface {
for (int i = 1; i < buttons.length; i++) {
buttons[i].b.setVisibility(hidden ? View.GONE : View.VISIBLE);
}
for (DebugButton b : tpButtons) {
b.b.setVisibility(View.GONE);
}
for (DebugButton b : tpButtons2) {
b.b.setVisibility(View.GONE);
}
for (DebugButton b : tpButtons3) {
b.b.setVisibility(View.GONE);
}
}
})
,new DebugButton("teleport", new OnClickListener() {
public void onClick(View arg0) {
for (int i = 0; i < buttons.length; i++) {
buttons[i].b.setVisibility(View.GONE);
}
for (DebugButton tpButton : tpButtons) {
tpButton.b.setVisibility(View.VISIBLE);
}
}
})
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "debugmap", "entry", 0, 0);
}
})
,new DebugButton("dmg", new OnClickListener() {
@Override
public void onClick(View arg0) {
world.model.player.damagePotential.set(500, 500);
world.model.player.attackChance = 500;
world.model.player.attackCost = 1;
showToast(mainActivity, "DEBUG: damagePotential=500, chance=500%, cost=1", Toast.LENGTH_SHORT);
}
})
@Override
public void onClick(View arg0) {
world.model.player.damagePotential.set(500, 500);
world.model.player.attackChance = 500;
world.model.player.attackCost = 1;
showToast(mainActivity, "DEBUG: damagePotential=500, chance=500%, cost=1", Toast.LENGTH_SHORT);
}
})
/*,new DebugButton("dmg=1", new OnClickListener() {
@Override
public void onClick(View arg0) {
@@ -91,378 +75,78 @@ public final class DebugInterface {
}
})*/
,new DebugButton("itm", new OnClickListener() {
@Override
public void onClick(View arg0) {
for (ItemType item : world.itemTypes.UNITTEST_getAllItemTypes().values()) {
world.model.player.inventory.addItem(item, 10);
}
world.model.player.inventory.gold += 50000;
showToast(mainActivity, "DEBUG: added items", Toast.LENGTH_SHORT);
}
})
@Override
public void onClick(View arg0) {
for (ItemType item : world.itemTypes.UNITTEST_getAllItemTypes().values()) {
world.model.player.inventory.addItem(item, 10);
}
world.model.player.inventory.gold += 50000;
showToast(mainActivity, "DEBUG: added items", Toast.LENGTH_SHORT);
}
})
,new DebugButton("xp", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.actorStatsController.addExperience(10000);
showToast(mainActivity, "DEBUG: given 10000 exp", Toast.LENGTH_SHORT);
}
})
@Override
public void onClick(View arg0) {
controllerContext.actorStatsController.addExperience(10000);
showToast(mainActivity, "DEBUG: given 10000 exp", Toast.LENGTH_SHORT);
}
})
,new DebugButton("rst", new OnClickListener() {
@Override
public void onClick(View arg0) {
for(PredefinedMap map : world.maps.getAllMaps()) {
map.resetTemporaryData();
}
showToast(mainActivity, "DEBUG: maps respawned", Toast.LENGTH_SHORT);
}
})
@Override
public void onClick(View arg0) {
for(PredefinedMap map : world.maps.getAllMaps()) {
map.resetTemporaryData();
}
showToast(mainActivity, "DEBUG: maps respawned", Toast.LENGTH_SHORT);
}
})
,new DebugButton("hp", new OnClickListener() {
@Override
public void onClick(View arg0) {
world.model.player.baseTraits.maxHP = 500;
world.model.player.health.max = world.model.player.baseTraits.maxHP;
controllerContext.actorStatsController.setActorMaxHealth(world.model.player);
world.model.player.conditions.clear();
showToast(mainActivity, "DEBUG: hp set to max", Toast.LENGTH_SHORT);
}
})
@Override
public void onClick(View arg0) {
world.model.player.baseTraits.maxHP = 500;
world.model.player.health.max = world.model.player.baseTraits.maxHP;
controllerContext.actorStatsController.setActorMaxHealth(world.model.player);
world.model.player.conditions.clear();
showToast(mainActivity, "DEBUG: hp set to max", Toast.LENGTH_SHORT);
}
})
,new DebugButton("skl", new OnClickListener() {
@Override
public void onClick(View arg0) {
world.model.player.availableSkillIncreases += 10;
showToast(mainActivity, "DEBUG: 10 skill points", Toast.LENGTH_SHORT);
}
})
@Override
public void onClick(View arg0) {
world.model.player.availableSkillIncreases += 10;
showToast(mainActivity, "DEBUG: 10 skill points", Toast.LENGTH_SHORT);
}
})
,new DebugButton("spd", new OnClickListener() {
boolean fast = Constants.MINIMUM_INPUT_INTERVAL == Constants.MINIMUM_INPUT_INTERVAL_FAST;
@Override
public void onClick(View arg0) {
fast = !fast;
if (fast) {
Constants.MINIMUM_INPUT_INTERVAL = Constants.MINIMUM_INPUT_INTERVAL_FAST;
} else {
Constants.MINIMUM_INPUT_INTERVAL = Constants.MINIMUM_INPUT_INTERVAL_STD;
}
MainView.SCROLL_DURATION = Constants.MINIMUM_INPUT_INTERVAL;
AndorsTrailApplication.getApplicationFromActivity(mainActivity).getControllerContext().movementController.resetMovementHandler();
}
})
boolean fast = Constants.MINIMUM_INPUT_INTERVAL == Constants.MINIMUM_INPUT_INTERVAL_FAST;
@Override
public void onClick(View arg0) {
fast = !fast;
if (fast) {
Constants.MINIMUM_INPUT_INTERVAL = Constants.MINIMUM_INPUT_INTERVAL_FAST;
} else {
Constants.MINIMUM_INPUT_INTERVAL = Constants.MINIMUM_INPUT_INTERVAL_STD;
}
MainView.SCROLL_DURATION = Constants.MINIMUM_INPUT_INTERVAL;
AndorsTrailApplication.getApplicationFromActivity(mainActivity).getControllerContext().movementController.resetMovementHandler();
}
})
,new DebugButton("map", new OnClickListener() {
@Override
public void onClick(View arg0) {
showToast(mainActivity, "DEBUG: map=" + world.model.currentMaps.map.name , Toast.LENGTH_SHORT);
}
})
@Override
public void onClick(View arg0) {
showToast(mainActivity, "DEBUG: map=" + world.model.currentMaps.map.name , Toast.LENGTH_SHORT);
}
})
,new DebugButton("tim", new OnClickListener() {
@Override
public void onClick(View arg0) {
world.model.worldData.tickWorldTime(10);
}
})
}));
tpButtons.addAll(Arrays.asList(new DebugButton[] {
new DebugButton("teleport", new OnClickListener() {
@Override
public void onClick(View arg0) {
for (DebugButton tpButton : tpButtons2) {
tpButton.b.setVisibility(View.VISIBLE);
}
for (DebugButton tpButton : tpButtons) {
tpButton.b.setVisibility(View.GONE);
}
world.model.worldData.tickWorldTime(10);
}
})
,new DebugButton("cg", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "crossglen", "hall", 0, 0);
}
})
,new DebugButton("vg", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "vilegard_s", "tavern", 0, 0);
}
})
,new DebugButton("cr", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "crossroads", "middle", 0, 0);
}
})
,new DebugButton("lf", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "loneford9", "south", 0, 0);
}
})
,new DebugButton("fh", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "fallhaven_ne", "clothes", 0, 0);
}
})
,new DebugButton("prm", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "blackwater_mountain29", "south", 0, 0);
}
})
,new DebugButton("bwm", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "blackwater_mountain43", "south", 0, 0);
}
})
,new DebugButton("rmg", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "remgard0", "east", 0, 0);
}
})
,new DebugButton("chr", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "waytolostmine2", "minerhouse4", 0, 0);
}
})
,new DebugButton("ldr", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "lodarhouse0", "lodarhouse", 0, 0);
}
})
,new DebugButton("sf", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "wild20", "south2", 0, 0);
}
})
,new DebugButton("gm", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "guynmart_wood_1", "farmhouse", 0, 0);
}
})
}));
buttonList.addAll(tpButtons);
tpButtons2.addAll(Arrays.asList(new DebugButton[] {
new DebugButton("teleport", new OnClickListener() {
@Override
public void onClick(View arg0) {
for (DebugButton tpButton : tpButtons3) {
tpButton.b.setVisibility(View.VISIBLE);
}
for (DebugButton tpButton : tpButtons2) {
tpButton.b.setVisibility(View.GONE);
}
}
})
,new DebugButton("brv", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "brimhaven4", "south2", 0, 0);
}
})
,new DebugButton("aru", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "mountainlake5", "north", 0, 0);
}
})
,new DebugButton("ws", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "woodsettlement0", "east", 0, 0);
}
})
,new DebugButton("sul", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "sullengard2", "south", 0, 0);
}
})
,new DebugButton("gal", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "galmore_19", "south", 0, 0);
}
})
,new DebugButton("apl", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "sullengard_apple_farm_east", "house", 0, 0);
}
})
,new DebugButton("wch", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "lake_shore_road_0", "west", 0, 0);
}
})
,new DebugButton("la1", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "laerothisland2", "south2", 0, 0);
}
})
,new DebugButton("la2", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "island3", "cave", 0, 0);
}
})
,new DebugButton("wx", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "wexlow_village", "north", 0, 0);
}
})
,new DebugButton("fey", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "guynmart_wood_17", "north", 0, 0);
}
})
}));
buttonList.addAll(tpButtons2);
tpButtons3.addAll(Arrays.asList(new DebugButton[] {
new DebugButton("teleport", new OnClickListener() {
@Override
public void onClick(View arg0) {
for (int i = 0; i < buttons.length; i++) {
buttons[i].b.setVisibility(View.VISIBLE);
}
for (DebugButton tpButton : tpButtons) {
tpButton.b.setVisibility(View.GONE);
}
for (DebugButton tpButton : tpButtons2) {
tpButton.b.setVisibility(View.GONE);
}
for (DebugButton tpButton : tpButtons3) {
tpButton.b.setVisibility(View.GONE);
}
}
})
,new DebugButton("#1", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "lake_shore_road_9", "north", 5, 0);
}
})
,new DebugButton("#2", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "undertell_3_lava_01", "west", 0, 0);
}
})
,new DebugButton("#3", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "galmore_cavea", "up", 0, 0);
}
})
,new DebugButton("#4", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "galmore_35", "south", 11, 0);
}
})
,new DebugButton("#5", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "way_to_sullengard_west_5", "east", 0, 5);
}
})
,new DebugButton("#6", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "undertell_3_02", "east", 0, 0);
}
})
,new DebugButton("#7", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "cabin_norcity_road1", "north", 5, 0);
}
})
,new DebugButton("#8", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "wayto_feygard_duleian_2", "south", 0, 5);
}
})
,new DebugButton("#9", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "galmore_58", "north", 0, 0);
}
})
,new DebugButton("#10", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "moesforest_03", "north1", 0, 0);
}
})
,new DebugButton("#11", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "galmore_17", "outside", 0, 0);
}
})
,new DebugButton("#12", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "galmore_48", "west", 0, 10);
}
})
,new DebugButton("#13", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "feygard_outside1", "south", 6, 0);
}
})
}));
buttonList.addAll(tpButtons3);
buttons = buttonList.toArray(new DebugButton[buttonList.size()]);
addDebugButtons(buttons);
for (DebugButton b : tpButtons) {
b.b.setVisibility(View.GONE);
}
for (DebugButton b : tpButtons2) {
b.b.setVisibility(View.GONE);
}
for (DebugButton b : tpButtons3) {
b.b.setVisibility(View.GONE);
}
}
private void showToast(Context context, String msg, int duration) {

View File

@@ -1,47 +1,2 @@
[
{
"id": "chaotic_grip",
"iconID": "actorconditions_1:96",
"name": "Chaotic grip",
"category": "mental",
"abilityEffect": {
"increaseBlockChance": -10,
"increaseDamageResistance": -1
}
},
{
"id": "chaotic_test",
"iconID": "actorconditions_1:95",
"name": "Chaotic test",
"category": "mental",
"abilityEffect": {
"increaseBlockChance": -10,
"increaseDamageResistance": -1
}
},
{
"id": "chaotic_test2",
"iconID": "actorconditions_1:94",
"name": "Chaotic test2",
"category": "mental",
"abilityEffect": {
"increaseBlockChance": -10,
"increaseDamageResistance": -1
}
},
{
"id": "chaotic_curse",
"iconID": "actorconditions_1:89",
"name": "Chaotic curse",
"category": "mental",
"abilityEffect": {
"increaseMaxAP": -1,
"increaseAttackDamage": {
"min": -1,
"max": -1
},
"increaseBlockChance": -10,
"increaseDamageResistance": -1
}
}
]

View File

@@ -1,485 +1,313 @@
[
{
"id": "debugshop",
"message": "Welcome adventurer!",
"replies": [
{
"text": "Trade items very very long text",
"nextPhraseID": "S"
},
{
"text": "Bye",
"nextPhraseID": "X"
},
{
"text": "Fight",
"nextPhraseID": "F"
}
]
"id": "dbg_teleport",
"message": "Where do you want to travel?",
"replies": [{ "text": "Project Undertell", "nextPhraseID": "dbg_teleport_prj_undertell" },
{ "text": "Project Brightport", "nextPhraseID": "dbg_teleport_prj_brightport2" },
{ "text": "More Projects", "nextPhraseID": "dbg_teleport_prj" },
{ "text": "Crossglen", "nextPhraseID": "dbg_teleport_crossglen" },
{ "text": "Fallhaven", "nextPhraseID": "dbg_teleport_fallhaven" },
{ "text": "Vilegard", "nextPhraseID": "dbg_teleport_vilegard" },
{ "text": "Crossroads", "nextPhraseID": "dbg_teleport_crossroads" },
{ "text": "Loneford", "nextPhraseID": "dbg_teleport_loneford" },
{ "text": "BWM", "nextPhraseID": "dbg_teleport_bwm" },
{ "text": "Prim", "nextPhraseID": "dbg_teleport_prim" },
{ "text": "Remgard", "nextPhraseID": "dbg_teleport_remgard" },
{ "text": "Charwood", "nextPhraseID": "dbg_teleport_charwood" },
{ "text": "Lodar", "nextPhraseID": "dbg_teleport_lodar" },
{ "text": "Stoutford", "nextPhraseID": "dbg_teleport_stoutford" },
{ "text": "Feygard", "nextPhraseID": "dbg_teleport_feygard" },
{ "text": "Nor City", "nextPhraseID": "dbg_teleport_norcity" },
{ "text": "More locations", "nextPhraseID": "dbg_teleport_loc" },
{ "text": "Bye", "nextPhraseID": "X" }]
},
{
"id": "debugquest",
"message": "Debug quest start\nTest.",
"rewards": [
{
"rewardType": "questProgress",
"rewardID": "debugquest",
"value": 10
}
],
"replies": [
{
"text": "Iron sword*2",
"nextPhraseID": "debugquest2",
"requires": [
{
"requireType": "inventoryRemove",
"requireID": "dagger0",
"value": 1
}
]
},
{
"text": "Progress+=10",
"nextPhraseID": "debugquest4"
},
{
"text": "Progress=100",
"nextPhraseID": "debugquest1",
"requires": [
{
"requireType": "questProgress",
"requireID": "debugquest",
"value": "100"
}
]
}
]
"id": "dbg_teleport_loc",
"message": "Other locations",
"replies": [{ "text": "Brightport", "nextPhraseID": "dbg_teleport_brightport" },
{ "text": "Guynmart", "nextPhraseID": "dbg_teleport_guynmart" },
{ "text": "Brimhaven", "nextPhraseID": "dbg_teleport_brimhaven" },
{ "text": "Arulir Mountain", "nextPhraseID": "dbg_teleport_arulir" },
{ "text": "Wood settlement", "nextPhraseID": "dbg_teleport_woodsettlement" },
{ "text": "Sullengard", "nextPhraseID": "dbg_teleport_sullengard" },
{ "text": "Mt. Galmore", "nextPhraseID": "dbg_teleport_galmore" },
{ "text": "Deebo's Apple Orchard", "nextPhraseID": "dbg_teleport_applefarm" },
{ "text": "Witch house", "nextPhraseID": "dbg_teleport_witchhouse" },
{ "text": "Lake Laeroth - Manor", "nextPhraseID": "dbg_teleport_laerot1" },
{ "text": "Lake Laeroth - Not Pony Island", "nextPhraseID": "dbg_teleport_laerot2" },
{ "text": "Wexlow Village", "nextPhraseID": "dbg_teleport_wexlow" },
{ "text": "Back", "nextPhraseID": "dbg_teleport" }]
},
{
"id": "debugquest1",
"message": "Yes, you have already completed this quest.",
"rewards": [
{
"rewardType": "dropList",
"rewardID": "debuglist1"
}
],
"replies": [
{
"text": "Next",
"nextPhraseID": "debugquest3"
}
]
"id":"dbg_teleport_crossglen",
"rewards":[{ "rewardType":"mapchange", "rewardID":"hall", "mapName":"crossglen" }]
},
{
"id": "debugquest2",
"message": "Thank you for the items.",
"rewards": [
{
"rewardType": "questProgress",
"rewardID": "debugquest",
"value": 100
}
],
"replies": [
{
"text": "Next",
"nextPhraseID": "debugquest3"
}
]
"id":"dbg_teleport_fallhaven",
"rewards":[{ "rewardType":"mapchange", "rewardID":"clothes", "mapName":"fallhaven_ne" }]
},
{
"id": "debugquest3",
"message": "Quest is now completed.",
"replies": [
{
"text": "Bye",
"nextPhraseID": "X"
}
]
"id":"dbg_teleport_vilegard",
"rewards":[{ "rewardType":"mapchange", "rewardID":"tavern", "mapName":"vilegard_s" }]
},
{
"id": "debugquest4",
"message": "More info. Quest progress should now be updated to 20.",
"rewards": [
{
"rewardType": "questProgress",
"rewardID": "debugquest",
"value": 20
}
],
"replies": [
{
"text": "Back",
"nextPhraseID": "debugquest"
}
]
"id":"dbg_teleport_crossroads",
"rewards":[{ "rewardType":"mapchange", "rewardID":"middle", "mapName":"crossroads" }]
},
{
"id": "debugsign",
"message": "This should be a signpost."
"id":"dbg_teleport_loneford",
"rewards":[{ "rewardType":"mapchange", "rewardID":"south", "mapName":"loneford9" }]
},
{
"id": "debugrequireskey",
"message": "This tile requires a quest progress."
},
{
"id": "debugrequires10gold",
"replies": [
{
"text": "Too bad.",
"nextPhraseID": "X"
},
{
"text": "Well, gimme 10 gold then !",
"nextPhraseID": "debugrequires10gold_1"
}
],
"message": "This tile costs 10 gold !"
},
{
"id": "debugrequires10gold_1",
"replies": [
{
"requires": [
{
"requireType": "spentGold",
"requireID": "gold",
"value": 100
}
],
"nextPhraseID": "debugrequires10gold_3"
},
{
"nextPhraseID": "debugrequires10gold_2"
}
]
},
{
"id": "debugrequires10gold_2",
"rewards": [
{
"rewardType": "dropList",
"rewardID": "debugrequires10gold_droplist"
}
],
"replies": [
{
"text": "When I come to debugmap, I always feel like a star.",
"nextPhraseID": "X"
}
],
"message": "OK. But only because it's you M. Coder."
},
{
"id": "debugrequires10gold_3",
"replies": [
{
"text": "Damn.",
"nextPhraseID": "X"
}
],
"message": "Sorry. You already spent 100 gold..."
},
{
"message":"Hmm... beer...",
"id":"signbeer"
"id":"dbg_teleport_prim",
"rewards":[{ "rewardType":"mapchange", "rewardID":"south", "mapName":"blackwater_mountain29" }]
},
{
"message":"Do you want beer?",
"id":"npc3_0",
"replies":[
{
"nextPhraseID":"npc3_1",
"text":"Beer!"
},
{
"nextPhraseID":"npc3_3",
"text":"No filter!"
},
{
"nextPhraseID":"npc3_5",
"text":"Black 20%!"
},
{
"nextPhraseID":"npc3_6",
"text":"Black 40%!"
},
{
"nextPhraseID":"npc3_7",
"text":"Black 60%!"
},
{
"nextPhraseID":"npc3_2",
"text":"Black 80%!"
},
{
"nextPhraseID":"npc3_4",
"text":"Red ligths!"
},
{
"nextPhraseID":"npc3_9",
"text":"Green ligths!"
},
{
"nextPhraseID":"npc3_10",
"text":"Blue ligths!"
},
{
"nextPhraseID":"npc3_11",
"text":"Black & White!"
},
{
"nextPhraseID":"npc3_8",
"text":"Invert!"
}
]
"id":"dbg_teleport_bwm",
"rewards":[{ "rewardType":"mapchange", "rewardID":"south", "mapName":"blackwater_mountain43" }]
},
{
"message":"Bees & beer !",
"id":"npc3_1",
"rewards":[
{
"rewardID":"debug_insect_inactive",
"mapName":"debugmap",
"rewardType":"spawnAll"
},
{
"rewardID":"Inactive",
"mapName":"debugmap",
"rewardType":"activateMapObjectGroup"
},
{
"rewardID":"Active",
"mapName":"debugmap",
"rewardType":"deactivateMapObjectGroup"
}
]
"id":"dbg_teleport_remgard",
"rewards":[{ "rewardType":"mapchange", "rewardID":"east", "mapName":"remgard0" }]
},
{
"message":"No beer for you !",
"id":"signnobeer"
"id":"dbg_teleport_charwood",
"rewards":[{ "rewardType":"mapchange", "rewardID":"minerhouse4", "mapName":"waytolostmine2" }]
},
{
"id":"npc3_2",
"message":"OK.",
"rewards":[
{
"rewardType":"changeMapFilter",
"rewardID":"black80",
"mapName":"debugmap"
}
]
},
{
"id":"npc3_3",
"message":"OK.",
"rewards":[
{
"rewardType":"changeMapFilter",
"rewardID":"none",
"mapName":"debugmap"
}
]
},
{
"id":"npc3_4",
"message":"OK.",
"rewards":[
{
"rewardType":"changeMapFilter",
"rewardID":"redtint",
"mapName":"debugmap"
}
]
},
{
"id":"npc3_5",
"message":"OK.",
"rewards":[
{
"rewardType":"changeMapFilter",
"rewardID":"black20",
"mapName":"debugmap"
}
]
},
{
"id":"npc3_6",
"message":"OK.",
"rewards":[
{
"rewardType":"changeMapFilter",
"rewardID":"black40",
"mapName":"debugmap"
}
]
},
{
"id":"npc3_7",
"message":"OK.",
"rewards":[
{
"rewardType":"changeMapFilter",
"rewardID":"black60",
"mapName":"debugmap"
}
]
},
{
"id":"npc3_8",
"message":"OK.",
"rewards":[
{
"rewardType":"changeMapFilter",
"rewardID":"invert",
"mapName":"debugmap"
}
]
},
{
"id":"npc3_9",
"message":"OK.",
"rewards":[
{
"rewardType":"changeMapFilter",
"rewardID":"greentint",
"mapName":"debugmap"
}
]
},
{
"id":"npc3_10",
"message":"OK.",
"rewards":[
{
"rewardType":"changeMapFilter",
"rewardID":"bluetint",
"mapName":"debugmap"
}
]
},
{
"id":"npc3_11",
"message":"OK.",
"rewards":[
{
"rewardType":"changeMapFilter",
"rewardID":"bw",
"mapName":"debugmap"
}
]
},
{
"id":"chaotic_rewarder_0",
"message":"What do you want?",
"replies":[
{
"text":"Apply condition",
"nextPhraseID":"chaotic_rewarder_1"
},
{
"text":"Clear condition",
"nextPhraseID":"chaotic_rewarder_2"
},
{
"text":"Give 5 rounds of immunity",
"nextPhraseID":"chaotic_rewarder_3"
},
{
"text":"Infinite immunity",
"nextPhraseID":"chaotic_rewarder_4"
},
{
"text":"Apply condition forever",
"nextPhraseID":"chaotic_rewarder_5"
}
]
"id":"dbg_teleport_lodar",
"rewards":[{ "rewardType":"mapchange", "rewardID":"lodarhouse", "mapName":"lodarhouse0" }]
},
{
"id":"chaotic_rewarder_1",
"message":"Applied.",
"replies":[
{
"text":"N",
"nextPhraseID":"chaotic_rewarder_0"
}
],
"rewards":[
{
"rewardType":"actorCondition",
"rewardID":"chaotic_grip",
"value":5
}
]
"id":"dbg_teleport_stoutford",
"rewards":[{ "rewardType":"mapchange", "rewardID":"south2", "mapName":"wild20" }]
},
{
"id":"chaotic_rewarder_2",
"message":"Cleared.",
"replies":[
{
"text":"N",
"nextPhraseID":"chaotic_rewarder_0"
}
],
"rewards":[
{
"rewardType":"actorCondition",
"rewardID":"chaotic_grip",
"value":-99
}
]
"id":"dbg_teleport_guynmart",
"rewards":[{ "rewardType":"mapchange", "rewardID":"farmhouse", "mapName":"guynmart_wood_1" }]
},
{
"id":"chaotic_rewarder_3",
"message":"5 rounds immune!",
"replies":[
{
"text":"N",
"nextPhraseID":"chaotic_rewarder_0"
}
],
"rewards":[
{
"rewardType":"actorConditionImmunity",
"rewardID":"chaotic_grip",
"value":5
}
]
"id":"dbg_teleport_brimhaven",
"rewards":[{ "rewardType":"mapchange", "rewardID":"south2", "mapName":"brimhaven4" }]
},
{
"id":"chaotic_rewarder_4",
"message":"Immune forever !",
"replies":[
{
"text":"N",
"nextPhraseID":"chaotic_rewarder_0"
}
],
"rewards":[
{
"rewardType":"actorConditionImmunity",
"rewardID":"chaotic_grip",
"value":999
}
]
"id":"dbg_teleport_brightport",
"rewards":[{ "rewardType":"mapchange", "rewardID":"east", "mapName":"brightport1" }]
},
{
"id":"chaotic_rewarder_5",
"message":"Punished forever !",
"replies":[
{
"text":"N",
"nextPhraseID":"chaotic_rewarder_0"
}
],
"rewards":[
{
"rewardType":"actorCondition",
"rewardID":"chaotic_grip",
"value":999
}
]
"id":"dbg_teleport_arulir",
"rewards":[{ "rewardType":"mapchange", "rewardID":"north", "mapName":"mountainlake5" }]
},
{
"id":"dbg_teleport_woodsettlement",
"rewards":[{ "rewardType":"mapchange", "rewardID":"woodhouse2", "east":"woodsettlement0" }]
},
{
"id":"dbg_teleport_sullengard",
"rewards":[{ "rewardType":"mapchange", "rewardID":"south", "mapName":"sullengard2" }]
},
{
"id":"dbg_teleport_galmore",
"rewards":[{ "rewardType":"mapchange", "rewardID":"south", "mapName":"galmore_19" }]
},
{
"id":"dbg_teleport_applefarm",
"rewards":[{ "rewardType":"mapchange", "rewardID":"house", "mapName":"sullengard_apple_farm_east" }]
},
{
"id":"dbg_teleport_witchhouse",
"rewards":[{ "rewardType":"mapchange", "rewardID":"north", "mapName":"lake_shore_road_0" }]
},
{
"id":"dbg_teleport_laerot1",
"rewards":[{ "rewardType":"mapchange", "rewardID":"south2", "mapName":"laerothisland2" }]
},
{
"id":"dbg_teleport_laerot2",
"rewards":[{ "rewardType":"mapchange", "rewardID":"cave", "mapName":"island3" }]
},
{
"id":"dbg_teleport_wexlow",
"rewards":[{ "rewardType":"mapchange", "rewardID":"north", "mapName":"wexlow_village" }]
},
{
"id":"dbg_teleport_feygard",
"rewards":[{ "rewardType":"mapchange", "rewardID":"south", "mapName":"wayto_feygard_duleian_2" }]
},
{
"id":"dbg_teleport_norcity",
"rewards":[{ "rewardType":"mapchange", "rewardID":"north", "mapName":"cabin_norcity_road4" }]
},
{
"id": "dbg_teleport_prj_undertell",
"message": "*** undertell ***",
"replies": [{ "text": "Entry to mine", "nextPhraseID": "dbg_teleport_prj_undertell_entry" },
{ "text": "Heartstone area", "nextPhraseID": "dbg_teleport_prj_undertell_heartstone" },
{ "text": "Floor 1", "nextPhraseID": "dbg_teleport_prj_undertell_floor1" },
{ "text": "Anoa", "nextPhraseID": "dbg_teleport_prj_undertell_anoa" },
{ "text": "Island hopping", "nextPhraseID": "dbg_teleport_prj_undertell_island_hopping" },
{ "text": "Back", "nextPhraseID": "dbg_teleport" }]
},
{
"id":"dbg_teleport_prj_undertell_entry",
"rewards":[{ "rewardType":"mapchange", "rewardID":"railhouse_door2", "mapName":"galmore_58" }]
},
{
"id":"dbg_teleport_prj_undertell_heartstone",
"rewards":[{ "rewardType":"mapchange", "rewardID":"east", "mapName":"undertell_3_lava_00" }]
},
{
"id":"dbg_teleport_prj_undertell_floor1",
"rewards":[{ "rewardType":"mapchange", "rewardID":"west", "mapName":"undertell_12" }]
},
{
"id":"dbg_teleport_prj_undertell_anoa",
"rewards":[{ "rewardType":"mapchange", "rewardID":"east", "mapName":"undertell_3_02" }]
},
{
"id":"dbg_teleport_prj_undertell_island_hopping",
"rewards":[{ "rewardType":"mapchange", "rewardID":"island0", "mapName":"undertell_5" }]
},
{
"id": "dbg_teleport_prj_brightport2",
"message": "*** brightport2 ***",
"replies": [{ "text": "Duleian road to Brightport", "nextPhraseID": "dbg_teleport_prj_brightport2_start_from_south" },
{ "text": "Poisoned lands towards Brightport", "nextPhraseID": "dbg_teleport_prj_brightport2_start_from_north" },
{ "text": "West of Brightport", "nextPhraseID": "dbg_teleport_prj_brightport2_west_of_brightport" },
{ "text": "Statue", "nextPhraseID": "dbg_teleport_prj_brightport2_statue" },
{ "text": "Statue west", "nextPhraseID": "dbg_teleport_prj_brightport2_statue_w" },
{ "text": "Statue north", "nextPhraseID": "dbg_teleport_prj_brightport2_statue_n" },
{ "text": "Statue east", "nextPhraseID": "dbg_teleport_prj_brightport2_statue_e" },
{ "text": "Statue to charwood", "nextPhraseID": "dbg_teleport_prj_brightport2_statue_chr" },
{ "text": "Lizard cave", "nextPhraseID": "dbg_teleport_prj_brightport2_lizards" },
{ "text": "Hills towards underground castle", "nextPhraseID": "dbg_teleport_prj_brightport2_waytocastle" },
{ "text": "Back", "nextPhraseID": "dbg_teleport" }]
},
{
"id":"dbg_teleport_prj_brightport2_start_from_south",
"rewards":[{ "rewardType":"mapchange", "rewardID":"north", "mapName":"cabin_norcity_road1" }]
},
{
"id":"dbg_teleport_prj_brightport2_start_from_north",
"rewards":[{ "rewardType":"mapchange", "rewardID":"north2", "mapName":"korhald_cave_outdoor1" }]
},
{
"id":"dbg_teleport_prj_brightport2_west_of_brightport",
"rewards":[{ "rewardType":"mapchange", "rewardID":"east", "mapName":"waytobrightport20" }]
},
{
"id":"dbg_teleport_prj_brightport2_statue",
"rewards":[{ "rewardType":"mapchange", "rewardID":"west", "mapName":"brightportwild9" }]
},
{
"id":"dbg_teleport_prj_brightport2_statue_w",
"rewards":[{ "rewardType":"mapchange", "rewardID":"south", "mapName":"waytobrightport10" }]
},
{
"id":"dbg_teleport_prj_brightport2_statue_n",
"rewards":[{ "rewardType":"mapchange", "rewardID":"south", "mapName":"brightportwild19" }]
},
{
"id":"dbg_teleport_prj_brightport2_statue_e",
"rewards":[{ "rewardType":"mapchange", "rewardID":"west", "mapName":"brightportwild10" }]
},
{
"id":"dbg_teleport_prj_brightport2_statue_chr",
"rewards":[{ "rewardType":"mapchange", "rewardID":"west", "mapName":"waytobrightport0" }]
},
{
"id":"dbg_teleport_prj_brightport2_lizards",
"rewards":[{ "rewardType":"mapchange", "rewardID":"cave", "mapName":"brightportwild17" }]
},
{
"id":"dbg_teleport_prj_brightport2_waytocastle",
"rewards":[{ "rewardType":"mapchange", "rewardID":"east1", "mapName":"brightportwild4" }]
},
{
"id": "dbg_teleport_prj",
"message": "Other projects",
"replies": [{ "text": "Project Way to Feygard", "nextPhraseID": "dbg_teleport_prj_feygard_3" },
{ "text": "Project Way to Nor City", "nextPhraseID": "dbg_teleport_prj_nor_city" },
{ "text": "Back", "nextPhraseID": "dbg_teleport" }]
},
{
"id": "dbg_teleport_prj_feygard_3",
"message": "*** feygard_3 ***",
"replies": [{ "text": "Feygard walls", "nextPhraseID": "dbg_teleport_prj_feygard_walls" },
{ "text": "Back", "nextPhraseID": "dbg_teleport" }]
},
{
"id":"dbg_teleport_prj_feygard_walls",
"rewards":[{ "rewardType":"mapchange", "rewardID":"south", "mapName":"feygard_outside1" }]
},
{
"id": "dbg_teleport_prj_nor_city",
"message": "*** norcity ***",
"replies": [{ "text": "Back", "nextPhraseID": "dbg_teleport" }]
},
{
"id": "dbg_shop",
"message": "What do you need?",
"replies": [{ "text": "Gold", "nextPhraseID": "dbg_shop_gold" },
{ "text": "Potions", "nextPhraseID": "dbg_shop_pot", "requires":[{ "requireType":"inventoryRemove", "requireID":"health_major2", "value":-1000 }] },
{ "text": "Project undertell", "nextPhraseID": "dbg_shop_prj_undertell" },
{ "text": "Project brightport2", "nextPhraseID": "dbg_shop_prj_brightport2" },
{ "text": "Project feygard_3", "nextPhraseID": "dbg_shop_prj_feygard_3" },
{ "text": "Project nor_city", "nextPhraseID": "dbg_shop_prj_nor_city" },
{ "text": "Project moeston", "nextPhraseID": "dbg_shop_prj_moeston" },
{ "text": "Project z_biasZebra", "nextPhraseID": "dbg_shop_prj_z_biasZebra" },
{ "text": "Bye", "nextPhraseID": "X" }]
},
{
"id": "dbg_shop_prj_undertell",
"message": "*** undertell ***",
"replies": [{ "text": "Back", "nextPhraseID": "dbg_shop" }]
},
{
"id": "dbg_shop_prj_brightport2",
"message": "*** brightport2 ***",
"replies": [{ "text": "20 lizardman bones", "nextPhraseID": "dbg_shop_prj_brightport2",
"requires":[{ "requireType":"inventoryRemove", "requireID":"brightport_bone", "value":-20 }] },
{ "text": "Back", "nextPhraseID": "dbg_shop" }]
},
{
"id": "dbg_shop_prj_feygard_3",
"message": "*** feygard_3 ***",
"replies": [{ "text": "Back", "nextPhraseID": "dbg_shop" }]
},
{
"id": "dbg_shop_prj_nor_city",
"message": "*** nor_city ***",
"replies": [{ "text": "Back", "nextPhraseID": "dbg_shop" }]
},
{
"id": "dbg_shop_prj_moeston",
"message": "*** moeston ***",
"replies": [{ "text": "Back", "nextPhraseID": "dbg_shop" }]
},
{
"id": "dbg_shop_prj_z_biasZebra",
"message": "*** z_biasZebra ***",
"replies": [{ "text": "Back", "nextPhraseID": "dbg_shop" }]
},
{
"id": "dbg_shop_gold",
"message": "How much gold?",
"replies": [{ "text": "100000", "nextPhraseID": "dbg_shop_gold", "requires":[{ "requireType":"inventoryRemove", "requireID":"gold", "value":-100000 }] },
{ "text": "10000", "nextPhraseID": "dbg_shop_gold", "requires":[{ "requireType":"inventoryRemove", "requireID":"gold", "value":-10000 }] },
{ "text": "1000", "nextPhraseID": "dbg_shop_gold", "requires":[{ "requireType":"inventoryRemove", "requireID":"gold", "value":-1000 }] },
{ "text": "-10", "nextPhraseID": "dbg_shop_gold", "requires":[{ "requireType":"inventoryRemove", "requireID":"gold", "value":10 }] },
{ "text": "-100", "nextPhraseID": "dbg_shop_gold", "requires":[{ "requireType":"inventoryRemove", "requireID":"gold", "value":100 }] },
{ "text": "-1000", "nextPhraseID": "dbg_shop_gold", "requires":[{ "requireType":"inventoryRemove", "requireID":"gold", "value":1000 }] },
{ "text": "-10000", "nextPhraseID": "dbg_shop_gold", "requires":[{ "requireType":"inventoryRemove", "requireID":"gold", "value":10000 }] },
{ "text": "-100000", "nextPhraseID": "dbg_shop_gold", "requires":[{ "requireType":"inventoryRemove", "requireID":"gold", "value":100000 }] },
{ "text": "Back", "nextPhraseID": "dbg_shop" }]
},
{
"id": "dbg_shop_pot",
"message": "Let's get a drink ...",
"replies": [{ "text": "Major potion of health", "nextPhraseID": "dbg_shop_pot",
"requires":[{ "requireType":"inventoryRemove", "requireID":"health_major2", "value":-1000 }] },
{ "text": "Back", "nextPhraseID": "dbg_shop" }]
}
]

View File

@@ -1,185 +1,2 @@
[
{
"id": "debugshop1",
"items": [
{
"itemID": "club1",
"quantity": {
"min": 10,
"max": 10
},
"chance": "100"
},
{
"itemID": "club3",
"quantity": {
"min": 5,
"max": 5
},
"chance": "100"
},
{
"itemID": "hammer0",
"quantity": {
"min": 5,
"max": 5
},
"chance": "100"
},
{
"itemID": "hammer1",
"quantity": {
"min": 5,
"max": 5
},
"chance": "100"
},
{
"itemID": "shirt1",
"quantity": {
"min": 5,
"max": 5
},
"chance": "100"
},
{
"itemID": "shirt2",
"quantity": {
"min": 5,
"max": 5
},
"chance": "100"
},
{
"itemID": "dagger0",
"quantity": {
"min": 5,
"max": 5
},
"chance": "100"
}
]
},
{
"id": "debuglist1",
"items": [
{
"itemID": "gold",
"quantity": {
"min": 3,
"max": 3
},
"chance": "100"
},
{
"itemID": "dagger0",
"quantity": {
"min": 1,
"max": 1
},
"chance": "100"
},
{
"itemID": "shirt1",
"quantity": {
"min": 1,
"max": 1
},
"chance": "100"
},
{
"itemID": "club3",
"quantity": {
"min": 1,
"max": 1
},
"chance": "100"
}
]
},
{
"id": "debuglist2",
"items": [{
"itemID": "gold",
"quantity": {
"min": 3,
"max": 3
},
"chance": "100"
}]
},
{
"id": "startitems",
"items": [
{
"itemID": "gold",
"quantity": {
"min": 12,
"max": 12
},
"chance": "100"
},
{
"itemID": "club1",
"quantity": {
"min": 1,
"max": 1
},
"chance": "100"
},
{
"itemID": "shirt1",
"quantity": {
"min": 5,
"max": 5
},
"chance": "100"
},
{
"itemID": "dagger0",
"quantity": {
"min": 1,
"max": 1
},
"chance": "100"
},
{
"itemID": "debug_dagger1",
"quantity": {
"min": 1,
"max": 1
},
"chance": "100"
},
{
"itemID": "debug_ring1",
"quantity": {
"min": 1,
"max": 1
},
"chance": "100"
},
{
"itemID": "shadow_slayer",
"quantity": {
"min": 1,
"max": 1
},
"chance": "100"
}
]
},
{
"id": "debugrequires10gold_droplist",
"items": [
{
"quantity": {
"min": 10,
"max": 10
},
"itemID": "gold",
"chance": "100"
}
]
}
]

View File

@@ -1,199 +1,2 @@
[
{
"id": "debug_dagger1",
"iconID": "items_weapons:20",
"name": "Black heart dagger",
"category": "dagger",
"displaytype": "extraordinary",
"hasManualPrice": 1,
"baseMarketCost": 6,
"equipEffect": {
"increaseAttackCost": 2,
"increaseAttackChance": 100,
"increaseCriticalSkill": 30,
"setCriticalMultiplier": 3,
"increaseAttackDamage": {
"min": 5,
"max": 10
}
}
},
{
"id": "debug_ring1",
"iconID": "items_jewelry:4",
"name": "Black heart ring",
"category": "ring",
"displaytype": "quest",
"hasManualPrice": 1,
"baseMarketCost": 3,
"equipEffect": {
"increaseAttackChance": 50,
"increaseAttackDamage": {
"min": 10,
"max": 10
}
}
},
{
"id":"choatic_potion",
"iconID":"items_consumables:62",
"name":"Chaotic Potion",
"category":"pot",
"useEffect":{
"conditionsSource":[
{
"condition":"chaotic_grip",
"magnitude":1,
"duration":5,
"chance":"100"
}
]
}
},
{
"id":"choatic_cure",
"iconID":"items_consumables:65",
"name":"Chaotic Cure",
"category":"pot",
"useEffect":{
"conditionsSource":[
{
"condition":"chaotic_grip",
"magnitude":-99,
"duration": 0,
"chance":"100"
}
]
}
},
{
"id":"choatic_vaccine",
"iconID":"items_consumables:65",
"name":"Chaotic Vaccine",
"category":"pot",
"useEffect":{
"conditionsSource":[
{
"condition":"chaotic_grip",
"magnitude":-99,
"duration": 5,
"chance":"100"
}
]
}
},
{
"id": "chaotic_redeemer",
"iconID": "items_weapons:61",
"name": "Chaotic redeemer",
"category": "lsword",
"displaytype": "extraordinary",
"hasManualPrice": 1,
"baseMarketCost": 0,
"equipEffect": {
"increaseMaxAP": 2,
"increaseAttackCost": 7,
"increaseAttackChance": 25,
"increaseCriticalSkill": 10,
"setCriticalMultiplier": 2,
"increaseAttackDamage": {
"min": 5,
"max": 9
},
"addedConditions":[
{
"condition":"chaotic_grip",
"magnitude":-99
}
]
},
"killEffect": {
"increaseCurrentHP": {
"min": 1,
"max": 1
}
}
},
{
"id": "chaotic_penalty",
"iconID": "items_weapons:61",
"name": "Chaotic Penalty",
"category": "lsword",
"displaytype": "extraordinary",
"hasManualPrice": 1,
"baseMarketCost": 0,
"equipEffect": {
"increaseMaxAP": 2,
"increaseAttackCost": 7,
"increaseAttackChance": 25,
"increaseCriticalSkill": 10,
"setCriticalMultiplier": 2,
"increaseAttackDamage": {
"min": 5,
"max": 9
},
"addedConditions":[
{
"condition":"chaotic_grip",
"magnitude": 5
}
]
},
"killEffect": {
"increaseCurrentHP": {
"min": 1,
"max": 1
}
},
"hitEffect":{
"conditionsTarget":[
{
"condition":"chaotic_test",
"magnitude":5,
"duration":2,
"chance":"100"
}
]
},
"hitReceivedEffect" : {
"increaseCurrentHP": {
"min": 1,
"max": 1
},
"increaseCurrentAP": {
"min": 1,
"max": 1
},
"increaseAttackerCurrentHP": {
"min": 1,
"max": 1
},
"increaseAttackerCurrentAP": {
"min": 1,
"max": 1
},
"conditionsSource":[
{
"condition":"chaotic_grip",
"magnitude": 2,
"duration": 5,
"chance":"50"
}
],
"conditionsTarget":[
{
"condition":"chaotic_grip",
"magnitude": 2,
"duration": 5,
"chance":"80"
},
{
"condition":"chaotic_test2",
"magnitude":3,
"duration":4,
"chance":"50"
}
]
}
}
]

View File

@@ -1,137 +1,2 @@
[
{
"id": "traveller1",
"iconID": "monsters_man1:0",
"name": "Traveller1",
"spawnGroup": "debugNPC1",
"monsterClass": "humanoid",
"unique": 1,
"maxHP": 10,
"maxAP": 10,
"moveCost": 10,
"attackCost": 10,
"attackChance": 50,
"droplistID": "debugshop1",
"phraseID": "debugshop",
"movementAggressionType":"wholeMap",
"attackDamage": {
"min": 1,
"max": 2
}
},
{
"id": "traveller2",
"iconID": "monsters_man1:0",
"name": "Traveller2",
"spawnGroup": "debugNPC2",
"monsterClass": "humanoid",
"unique": 1,
"maxHP": 10,
"maxAP": 10,
"moveCost": 10,
"attackCost": 10,
"attackChance": 50,
"droplistID": "debugshop1",
"phraseID": "debugquest",
"attackDamage": {
"min": 1,
"max": 2
}
},
{
"id": "traveller3",
"iconID": "monsters_man1:0",
"name": "Traveller3",
"spawnGroup": "debugNPC3",
"monsterClass": "humanoid",
"unique": 1,
"maxHP": 10,
"maxAP": 10,
"moveCost": 10,
"attackCost": 10,
"attackChance": 50,
"phraseID": "npc3_0",
"attackDamage": {
"min": 1,
"max": 2
}
},
{
"id": "debug_black_ant",
"iconID": "monsters_insects:0",
"name": "Ant",
"spawnGroup": "debug_insect",
"monsterClass": "insect",
"maxHP": 10,
"maxAP": 10,
"moveCost": 3,
"attackCost": 3,
"attackChance": 50,
"droplistID": "debuglist1",
"movementAggressionType": "helpOthers",
"attackDamage": {
"min": 1,
"max": 2
}
},
{
"id": "debug_small_wasp",
"iconID": "monsters_insects:1",
"name": "Pitiful debug bug with long name",
"spawnGroup": "debug_insect",
"monsterClass": "insect",
"maxHP": 10,
"maxAP": 10,
"moveCost": 5,
"attackCost": 10,
"attackChance": 50,
"droplistID": "debuglist1",
"movementAggressionType":"wholeMap",
"attackDamage": {
"min": 1,
"max": 2
}
},
{
"id": "debug_winged_demon",
"iconID": "monsters_demon1:0",
"name": "Winged demon",
"spawnGroup": "debug_demon",
"size": "2x2",
"monsterClass": "demon",
"maxHP": 10,
"maxAP": 10,
"moveCost": 10,
"attackCost": 10,
"attackChance": 50,
"droplistID": "debuglist1",
"attackDamage": {
"min": 10,
"max": 20
}
},
{
"id": "debug_troll",
"iconID": "monsters_misc:5",
"name": "Troll",
"spawnGroup": "debug_troll",
"monsterClass": "giant",
"maxHP": 10,
"maxAP": 10,
"moveCost": 10,
"attackCost": 2,
"attackChance": 50,
"droplistID": "debuglist2",
"attackDamage": {
"min": 1,
"max": 2
}
},
{
"id":"chaotic_rewarder",
"name":"Chaotic rewarder",
"iconID":"monsters_men2:5",
"spawnGroup":"chaotic_rewarder",
"phraseID":"chaotic_rewarder_0"
}
]

View File

@@ -480,6 +480,7 @@
<item>@raw/conversationlist_mt_galmore2</item>
<!--Added by ATCS v0.6.24 for project next_release-->
<item>@raw/conversationlist_next_release</item>
<item>@raw/conversationlist_debug</item>
</array>
<array name="loadresource_monsters">
@@ -1687,6 +1688,7 @@
<item>@xml/stoutford_filler_2</item>
<item>@xml/stoutford_filler_3</item>
<item>@xml/stoutford_filler_4</item>
<item>@xml/debugmap</item>
</array>
</resources>

View File

@@ -1,283 +1,245 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.0" orientation="orthogonal" renderorder="right-down" width="18" height="18" tilewidth="32" tileheight="32" nextobjectid="18">
<tileset firstgid="1" name="map_bed_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_bed_1.png" width="512" height="256"/>
<map version="1.5" tiledversion="1.7.2" orientation="orthogonal" renderorder="right-down" width="18" height="18" tilewidth="32" tileheight="32" infinite="0" nextlayerid="11" nextobjectid="23">
<tileset firstgid="1" name="map_bed_1" tilewidth="32" tileheight="32" tilecount="160" columns="16">
<image source="../drawable/map_bed_1.png" width="512" height="320"/>
</tileset>
<tileset firstgid="129" name="map_border_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="161" name="map_border_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_border_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="257" name="map_bridge_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="289" name="map_bridge_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_bridge_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="385" name="map_bridge_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="417" name="map_bridge_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_bridge_2.png" width="512" height="256"/>
</tileset>
<tileset firstgid="513" name="map_broken_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="545" name="map_broken_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_broken_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="641" name="map_cavewall_1" tilewidth="32" tileheight="32" tilecount="108" columns="18">
<tileset firstgid="673" name="map_cavewall_1" tilewidth="32" tileheight="32" tilecount="108" columns="18">
<image source="../drawable/map_cavewall_1.png" width="576" height="192"/>
</tileset>
<tileset firstgid="749" name="map_cavewall_2" tilewidth="32" tileheight="32" tilecount="108" columns="18">
<tileset firstgid="781" name="map_cavewall_2" tilewidth="32" tileheight="32" tilecount="108" columns="18">
<image source="../drawable/map_cavewall_2.png" width="576" height="192"/>
</tileset>
<tileset firstgid="857" name="map_cavewall_3" tilewidth="32" tileheight="32" tilecount="108" columns="18">
<tileset firstgid="889" name="map_cavewall_3" tilewidth="32" tileheight="32" tilecount="108" columns="18">
<image source="../drawable/map_cavewall_3.png" width="576" height="192"/>
</tileset>
<tileset firstgid="965" name="map_cavewall_4" tilewidth="32" tileheight="32" tilecount="108" columns="18">
<tileset firstgid="997" name="map_cavewall_4" tilewidth="32" tileheight="32" tilecount="108" columns="18">
<image source="../drawable/map_cavewall_4.png" width="576" height="192"/>
</tileset>
<tileset firstgid="1073" name="map_chair_table_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="1105" name="map_chair_table_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_chair_table_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="1201" name="map_chair_table_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="1233" name="map_chair_table_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_chair_table_2.png" width="512" height="256"/>
</tileset>
<tileset firstgid="1329" name="map_crate_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="1361" name="map_crate_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_crate_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="1457" name="map_cupboard_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="1489" name="map_cupboard_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_cupboard_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="1585" name="map_curtain_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="1617" name="map_curtain_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_curtain_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="1713" name="map_entrance_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="1745" name="map_entrance_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_entrance_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="1841" name="map_entrance_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="1873" name="map_entrance_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_entrance_2.png" width="512" height="256"/>
</tileset>
<tileset firstgid="1969" name="map_fence_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="2001" name="map_fence_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_fence_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="2097" name="map_fence_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="2129" name="map_fence_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_fence_2.png" width="512" height="256"/>
</tileset>
<tileset firstgid="2225" name="map_fence_3" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="2257" name="map_fence_3" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_fence_3.png" width="512" height="256"/>
</tileset>
<tileset firstgid="2353" name="map_fence_4" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="2385" name="map_fence_4" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_fence_4.png" width="512" height="256"/>
</tileset>
<tileset firstgid="2481" name="map_ground_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="2513" name="map_ground_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_ground_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="2609" name="map_ground_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="2641" name="map_ground_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_ground_2.png" width="512" height="256"/>
</tileset>
<tileset firstgid="2737" name="map_ground_3" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="2769" name="map_ground_3" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_ground_3.png" width="512" height="256"/>
</tileset>
<tileset firstgid="2865" name="map_ground_4" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="2897" name="map_ground_4" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_ground_4.png" width="512" height="256"/>
</tileset>
<tileset firstgid="2993" name="map_ground_5" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="3025" name="map_ground_5" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_ground_5.png" width="512" height="256"/>
</tileset>
<tileset firstgid="3121" name="map_ground_6" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="3153" name="map_ground_6" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_ground_6.png" width="512" height="256"/>
</tileset>
<tileset firstgid="3249" name="map_ground_7" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="3281" name="map_ground_7" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_ground_7.png" width="512" height="256"/>
</tileset>
<tileset firstgid="3377" name="map_ground_8" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="3409" name="map_ground_8" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_ground_8.png" width="512" height="256"/>
</tileset>
<tileset firstgid="3505" name="map_house_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="3537" name="map_house_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_house_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="3633" name="map_house_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="3665" name="map_house_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_house_2.png" width="512" height="256"/>
</tileset>
<tileset firstgid="3761" name="map_indoor_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="3793" name="map_indoor_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_indoor_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="3889" name="map_indoor_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="3921" name="map_indoor_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_indoor_2.png" width="512" height="256"/>
</tileset>
<tileset firstgid="4017" name="map_kitchen_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="4049" name="map_kitchen_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_kitchen_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="4145" name="map_outdoor_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="4177" name="map_outdoor_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_outdoor_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="4273" name="map_pillar_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="4305" name="map_pillar_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_pillar_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="4401" name="map_pillar_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="4433" name="map_pillar_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_pillar_2.png" width="512" height="256"/>
</tileset>
<tileset firstgid="4529" name="map_plant_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="4561" name="map_plant_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_plant_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="4657" name="map_plant_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="4689" name="map_plant_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_plant_2.png" width="512" height="256"/>
</tileset>
<tileset firstgid="4785" name="map_rock_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="4817" name="map_rock_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_rock_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="4913" name="map_rock_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="4945" name="map_rock_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_rock_2.png" width="512" height="256"/>
</tileset>
<tileset firstgid="5041" name="map_roof_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="5073" name="map_roof_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_roof_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="5169" name="map_roof_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="5201" name="map_roof_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_roof_2.png" width="512" height="256"/>
</tileset>
<tileset firstgid="5297" name="map_roof_3" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="5329" name="map_roof_3" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_roof_3.png" width="512" height="256"/>
</tileset>
<tileset firstgid="5425" name="map_shop_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="5457" name="map_shop_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_shop_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="5553" name="map_sign_ladder_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="5585" name="map_sign_ladder_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_sign_ladder_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="5681" name="map_table_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="5713" name="map_table_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_table_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="5809" name="map_trail_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="5841" name="map_trail_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_trail_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="5937" name="map_transition_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="5969" name="map_transition_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_transition_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="6065" name="map_transition_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="6097" name="map_transition_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_transition_2.png" width="512" height="256"/>
</tileset>
<tileset firstgid="6193" name="map_transition_3" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="6225" name="map_transition_3" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_transition_3.png" width="512" height="256"/>
</tileset>
<tileset firstgid="6321" name="map_transition_4" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="6353" name="map_transition_4" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_transition_4.png" width="512" height="256"/>
</tileset>
<tileset firstgid="6449" name="map_transition_5" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="6481" name="map_transition_5" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_transition_5.png" width="512" height="256"/>
</tileset>
<tileset firstgid="6577" name="map_tree_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="6609" name="map_tree_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_tree_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="6705" name="map_tree_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="6737" name="map_tree_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_tree_2.png" width="512" height="256"/>
</tileset>
<tileset firstgid="6833" name="map_wall_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="6865" name="map_wall_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_wall_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="6961" name="map_wall_2" tilewidth="32" tileheight="32" tilecount="120" columns="15">
<tileset firstgid="6993" name="map_wall_2" tilewidth="32" tileheight="32" tilecount="120" columns="15">
<image source="../drawable/map_wall_2.png" width="480" height="256"/>
</tileset>
<tileset firstgid="7081" name="map_wall_3" tilewidth="32" tileheight="32" tilecount="120" columns="15">
<tileset firstgid="7113" name="map_wall_3" tilewidth="32" tileheight="32" tilecount="120" columns="15">
<image source="../drawable/map_wall_3.png" width="480" height="256"/>
</tileset>
<tileset firstgid="7201" name="map_wall_4" tilewidth="32" tileheight="32" tilecount="120" columns="15">
<tileset firstgid="7233" name="map_wall_4" tilewidth="32" tileheight="32" tilecount="120" columns="15">
<image source="../drawable/map_wall_4.png" width="480" height="256"/>
</tileset>
<tileset firstgid="7321" name="map_window_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="7353" name="map_window_1" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_window_1.png" width="512" height="256"/>
</tileset>
<tileset firstgid="7449" name="map_window_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<tileset firstgid="7481" name="map_window_2" tilewidth="32" tileheight="32" tilecount="128" columns="16">
<image source="../drawable/map_window_2.png" width="512" height="256"/>
</tileset>
<tileset firstgid="7577" name="map_dynamic_placeholders" tilewidth="32" tileheight="32" tilecount="20" columns="10">
<tileset firstgid="7609" name="map_dynamic_placeholders" tilewidth="32" tileheight="32" tilecount="20" columns="10">
<image source="../drawable/map_dynamic_placeholders.png" width="320" height="64"/>
</tileset>
<layer name="Ground" width="18" height="18">
<layer id="9" name="Base" width="18" height="18">
<data encoding="base64" compression="zlib">
eJzbyMnAsHEU48Q53AwMFwaBO2B4CxIezOYcGyD3jOJRTAkGAOdR634=
eJy7yMnAcHEUE41fcSHwcDJnFI/iUczAAADzLBTi
</data>
</layer>
<layer name="Objects" width="18" height="18">
<layer id="1" name="Ground" width="18" height="18">
<data encoding="base64" compression="zlib">
eJzjFGOAg5OiCLYrK8OAg3AW6pt5VZSwGnqBvUwDa7+CIHXMMcBiDpcYptgoGBrgJP9Au2DgAADprgS2
eJy7yMnAcHGY45tcDAy3kPBtIAYBUs15CdUHA6+HiTk/gfp+IeHfZJozikfxUMcArNsJrA==
</data>
</layer>
<layer name="Above" width="18" height="18">
<layer id="2" name="Objects" width="18" height="18">
<data encoding="base64" compression="zlib">
eJxjYBgFIxXMlB1oF4yCUTC4AAA1SQC3
eJxjYBgF9AaprBCaQxhCfxQdOLeMglEwChAAAIWqAYw=
</data>
</layer>
<layer name="Walkable" width="18" height="18">
<layer id="3" name="Above" width="18" height="18">
<data encoding="base64" compression="zlib">
eJxjYBgFAwU2ig20C0bBKBgFyAAAzSQAyA==
eJxjYBgFo2AUjIJRAAIABRAAAQ==
</data>
</layer>
<objectgroup name="Object Layer 1">
<object id="1" name="debugsign" type="sign" x="192" y="96" width="32" height="32"/>
<object id="2" name="start" type="rest" x="96" y="64" width="32" height="32"/>
<object id="3" name="Unopenable key area" type="key" x="32" y="128" width="32" height="32">
<layer id="4" name="Walkable" width="18" height="18">
<data encoding="base64" compression="zlib">
eJxjYBgFo2AUjIJRAAIABRAAAQ==
</data>
</layer>
<objectgroup id="5" name="Mapevents">
<object id="18" name="entry" type="mapchange" x="160" y="160" width="32" height="32"/>
<object id="19" name="dbg_teleport" type="script" x="224" y="160" width="32" height="32">
<properties>
<property name="phrase" value="debugrequireskey"/>
<property name="requireId" value="no_quest"/>
<property name="when" value="enter"/>
</properties>
</object>
<object id="20" name="dbg_shop" type="script" x="96" y="160" width="32" height="32">
<properties>
<property name="when" value="enter"/>
</properties>
</object>
</objectgroup>
<objectgroup id="10" name="Keys">
<object id="21" name="dbg_shop" type="key" x="96" y="160" width="32" height="32">
<properties>
<property name="phrase" value="dbg_shop"/>
<property name="requireId" value="andor"/>
<property name="requireNegation" value="true"/>
<property name="requireType" value="questProgress"/>
<property name="requireValue" value="10"/>
<property name="requireValue" value="1"/>
</properties>
</object>
<object id="4" name="Openable by quest" type="key" x="0" y="128" width="32" height="32">
<object id="22" name="dbg_teleport" type="key" x="224" y="160" width="32" height="32">
<properties>
<property name="phrase" value="debugrequireskey"/>
<property name="requireId" value="debugquest"/>
<property name="phrase" value="dbg_teleport"/>
<property name="requireId" value="andor"/>
<property name="requireNegation" value="true"/>
<property name="requireType" value="questProgress"/>
<property name="requireValue" value="100"/>
</properties>
</object>
<object id="5" name="place2" type="mapchange" x="192" y="256" width="32" height="32">
<properties>
<property name="map" value="debugmap"/>
<property name="place" value="place1"/>
</properties>
</object>
<object id="6" name="place1" type="mapchange" x="0" y="0" width="32" height="32">
<properties>
<property name="map" value="debugmap"/>
<property name="place" value="place2"/>
</properties>
</object>
<object id="7" name="startitems" type="container" x="192" y="0" width="32" height="32"/>
<object id="8" name="Toll both. 10 gold." type="key" x="96" y="0" width="32" height="32">
<properties>
<property name="phrase" value="debugrequires10gold"/>
<property name="requireId" value="gold"/>
<property name="requireType" value="inventoryRemove"/>
<property name="requireValue" value="10"/>
<property name="requireValue" value="1"/>
</properties>
</object>
</objectgroup>
<objectgroup name="Spawn">
<object id="9" name="debug_insect" type="spawn" x="384" y="128" width="192" height="160">
<properties>
<property name="quantity" value="15"/>
</properties>
</object>
<object id="10" name="debug_troll" type="spawn" x="512" y="256" width="64" height="64">
<properties>
<property name="quantity" value="3"/>
</properties>
</object>
<object id="11" name="debugNPC1" type="spawn" x="288" y="0" width="32" height="32"/>
<object id="12" name="debugNPC2" type="spawn" x="256" y="0" width="32" height="32"/>
<object id="13" name="debugNPC3" type="spawn" x="32" y="448" width="32" height="32"/>
<object id="14" name="chaotic_dialogue" type="spawn" x="256" y="64" width="32" height="32">
<properties>
<property name="spawngroup" value="chaotic_rewarder"/>
</properties>
</object>
</objectgroup>
<objectgroup name="Inactive">
<properties>
<property name="active" value="false"/>
</properties>
<object id="15" name="signbeer" type="sign" x="288" y="448" width="32" height="32"/>
<object id="16" name="debug_insect_inactive" type="spawn" x="96" y="416" width="160" height="96">
<properties>
<property name="active" value="false"/>
<property name="quantity" value="11"/>
<property name="spawngroup" value="debug_insect"/>
</properties>
</object>
</objectgroup>
<objectgroup name="Active">
<object id="17" name="signnobeer" type="sign" x="288" y="448" width="32" height="32"/>
</objectgroup>
<objectgroup id="6" name="Spawn"/>
</map>