mirror of
https://github.com/OMGeeky/andors-trail.git
synced 2026-02-23 15:38:29 +01:00
Compare commits
257 Commits
no-empty-d
...
add-tick-d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4a62613375 | ||
|
|
585852ecb1 | ||
|
|
d87e584601 | ||
|
|
bfeab1abfa | ||
|
|
7c30577374 | ||
|
|
e164e50f93 | ||
|
|
f6d3cd59c0 | ||
|
|
84fa8e5547 | ||
|
|
c9b4da0823 | ||
|
|
4c55c5c2a7 | ||
|
|
ced33a4cda | ||
|
|
50606e8424 | ||
|
|
845ea0926e | ||
|
|
d60c6b3aa8 | ||
|
|
d4a8ab316e | ||
|
|
570d9da321 | ||
|
|
99f4ab5e6b | ||
|
|
bf13ac460d | ||
|
|
c4eb2b2d3a | ||
|
|
0b2dbe53e3 | ||
|
|
a64c45586f | ||
|
|
e4aa742882 | ||
|
|
a4f67e6feb | ||
|
|
794303eacd | ||
|
|
2b53d200f0 | ||
|
|
d288c23e53 | ||
|
|
1e0ee6fc7f | ||
|
|
86af20dcc4 | ||
|
|
d0eb30ad02 | ||
|
|
d39fb1d6e8 | ||
|
|
c41a40894e | ||
|
|
e5a98bc252 | ||
|
|
45f770dcc1 | ||
|
|
5e79b15320 | ||
|
|
34ab4601e4 | ||
|
|
39303c0381 | ||
|
|
e4a2c925ef | ||
|
|
5e6e233a84 | ||
|
|
4a118451dd | ||
|
|
53de86e4f9 | ||
|
|
4c18ff2615 | ||
|
|
db9821956c | ||
|
|
90da983317 | ||
|
|
342441aa36 | ||
|
|
9250db38be | ||
|
|
8782190bdf | ||
|
|
7d58901811 | ||
|
|
9e885c6d7a | ||
|
|
ef1fc76f3c | ||
|
|
3e8fe3426d | ||
|
|
cb445ec643 | ||
|
|
6609a7b84a | ||
|
|
d6732bbe2e | ||
|
|
2a188aa05d | ||
|
|
bebe59537c | ||
|
|
cb7628c859 | ||
|
|
6cc167d9d4 | ||
|
|
62f5eb00ba | ||
|
|
762fbe5191 | ||
|
|
afe758fddb | ||
|
|
c05d9082f6 | ||
|
|
1f12c08ca3 | ||
|
|
dc6b17b77b | ||
|
|
38d8f205fc | ||
|
|
f6660ec7b0 | ||
|
|
851e9e1b40 | ||
|
|
b890c9b8f8 | ||
|
|
4d3606fe49 | ||
|
|
b51772e207 | ||
|
|
3ccf5eb3e1 | ||
|
|
5a6eb9b0fb | ||
|
|
1c3b3e5841 | ||
|
|
fe5de9c6d7 | ||
|
|
866ee65964 | ||
|
|
1b32b1f9b5 | ||
|
|
5708f1111a | ||
|
|
ae0bbb4b0b | ||
|
|
ada8ed6583 | ||
|
|
a67edc6f2b | ||
|
|
dbf3eda49b | ||
|
|
abee648344 | ||
|
|
4f77bbb69e | ||
|
|
9383efdb9d | ||
|
|
32ab09aa36 | ||
|
|
b81d381fc4 | ||
|
|
4dec9dc7db | ||
|
|
a08bf5ed49 | ||
|
|
321085d3e9 | ||
|
|
98fbdce95e | ||
|
|
5bd15e489b | ||
|
|
5531241ca4 | ||
|
|
3bf9eca3a9 | ||
|
|
90bdb77beb | ||
|
|
73ff117ddd | ||
|
|
0c36d1b045 | ||
|
|
2408171c9d | ||
|
|
35ba477cd4 | ||
|
|
219acf7618 | ||
|
|
b619137ae3 | ||
|
|
1516381ec6 | ||
|
|
40c816b4e9 | ||
|
|
1a0c36e179 | ||
|
|
399cd68643 | ||
|
|
aa5872b022 | ||
|
|
c38357ff7f | ||
|
|
feac4292af | ||
|
|
11a9d15df0 | ||
|
|
879a57e06d | ||
|
|
2b3759151d | ||
|
|
33487fe4c0 | ||
|
|
7004d31aa9 | ||
|
|
b3cbe50138 | ||
|
|
0fd7ef32ad | ||
|
|
aff84a8054 | ||
|
|
c3c74e9e56 | ||
|
|
0113a57311 | ||
|
|
e03cd77f81 | ||
|
|
82be86bffb | ||
|
|
f9cab276fb | ||
|
|
5979cb4773 | ||
|
|
0df8568f37 | ||
|
|
88439ed08b | ||
|
|
5b109cd5b9 | ||
|
|
5ae9d9e009 | ||
|
|
df093ba457 | ||
|
|
57c598227e | ||
|
|
e70580fcb1 | ||
|
|
8a8ad9b82b | ||
|
|
2c395ca5e1 | ||
|
|
51cd079680 | ||
|
|
4c97b65acf | ||
|
|
13134ae67d | ||
|
|
3a446af265 | ||
|
|
ae1f9b6015 | ||
|
|
313514ebe5 | ||
|
|
b0caaeda1e | ||
|
|
c3924e7193 | ||
|
|
5f42305af7 | ||
|
|
9513c8a790 | ||
|
|
9b59b018f1 | ||
|
|
fe7eb87f6d | ||
|
|
e0093c31af | ||
|
|
00beaf68e8 | ||
|
|
2594c9d096 | ||
|
|
23a122c093 | ||
|
|
810a1e810c | ||
|
|
a382008e9b | ||
|
|
bdd383c430 | ||
|
|
2672fa5e89 | ||
|
|
22f46c593e | ||
|
|
698f108262 | ||
|
|
37f71811ba | ||
|
|
1b60247c23 | ||
|
|
193a57de05 | ||
|
|
e8dfb0e658 | ||
|
|
0a2ceea8fa | ||
|
|
6f16729c53 | ||
|
|
26f0e174f6 | ||
|
|
11a1720900 | ||
|
|
9721cca1e4 | ||
|
|
6f20d1a164 | ||
|
|
5dfe12b527 | ||
|
|
bef533556a | ||
|
|
18618d527f | ||
|
|
676b661e9e | ||
|
|
3748668c11 | ||
|
|
caf699874a | ||
|
|
67d214e8e7 | ||
|
|
2a63cb8e70 | ||
|
|
2d5ff980df | ||
|
|
5c8effb45b | ||
|
|
113af685dc | ||
|
|
6008e2d55f | ||
|
|
c451da4300 | ||
|
|
2a8f2a0f26 | ||
|
|
46e396b74b | ||
|
|
93f2e6d563 | ||
|
|
f38920e719 | ||
|
|
b8c07be5bd | ||
|
|
e0aa9f76a6 | ||
|
|
bca41adbf4 | ||
|
|
86eb8775b2 | ||
|
|
7b759fb71d | ||
|
|
241b2d244d | ||
|
|
252b42b1ee | ||
|
|
792b9896b3 | ||
|
|
13021da2d8 | ||
|
|
ee0ff7de44 | ||
|
|
e08ce9950d | ||
|
|
8c65f8cbf1 | ||
|
|
30f4ea1d44 | ||
|
|
5561a8f7a1 | ||
|
|
0d26a532e3 | ||
|
|
5b5fc4f782 | ||
|
|
d23be31719 | ||
|
|
f4b81760fb | ||
|
|
211c89d6ef | ||
|
|
d8a69fd700 | ||
|
|
1165cf3f98 | ||
|
|
40b04d8bb2 | ||
|
|
ef43997c0d | ||
|
|
75bddf5ab3 | ||
|
|
220e46d9f7 | ||
|
|
07de076b26 | ||
|
|
79d72a1e93 | ||
|
|
adea17d749 | ||
|
|
e912e452d8 | ||
|
|
b4c490f648 | ||
|
|
e6ef6728ac | ||
|
|
53744b1897 | ||
|
|
678737441a | ||
|
|
cb1801b486 | ||
|
|
2ffa9f5f0b | ||
|
|
bde0339a80 | ||
|
|
b81ec6883f | ||
|
|
8e8c02b038 | ||
|
|
37f17cddf6 | ||
|
|
5bbe529230 | ||
|
|
856fdfcfba | ||
|
|
e78f16c342 | ||
|
|
2776c33876 | ||
|
|
cc6de21dc1 | ||
|
|
511017a1de | ||
|
|
28ed52b263 | ||
|
|
a63e8ad034 | ||
|
|
bda9556cd1 | ||
|
|
aaae2a3b51 | ||
|
|
3e9032de0d | ||
|
|
b778ed1207 | ||
|
|
439e0fcbd8 | ||
|
|
34416c5548 | ||
|
|
070cb5bafd | ||
|
|
7f50c4f444 | ||
|
|
821ff0982e | ||
|
|
73eff8c748 | ||
|
|
15246d5270 | ||
|
|
a0564c05ed | ||
|
|
bea41af484 | ||
|
|
d7948ff076 | ||
|
|
60e9df3141 | ||
|
|
7be2256672 | ||
|
|
af8cc33bff | ||
|
|
64e3009269 | ||
|
|
ff456c2565 | ||
|
|
bc308df775 | ||
|
|
b87a514187 | ||
|
|
b28f4f4c42 | ||
|
|
3dcc1028c1 | ||
|
|
beb8ae4a11 | ||
|
|
ac7303a7f2 | ||
|
|
b8a6073e3d | ||
|
|
27909b4b49 | ||
|
|
6cd268b969 | ||
|
|
657297ca4c | ||
|
|
46d26478ca | ||
|
|
16bd9dc17a | ||
|
|
26e9bda24b |
@@ -1,8 +1,8 @@
|
||||
apply plugin: 'com.android.application'
|
||||
|
||||
android {
|
||||
|
||||
compileSdkVersion 34
|
||||
buildToolsVersion "30.0.3"
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.gpl.rpg.AndorsTrail"
|
||||
@@ -63,11 +63,18 @@ task cleanup(type: Delete) {
|
||||
afterEvaluate {
|
||||
project.tasks.copyRes.dependsOn project.tasks.copyResValuesIn
|
||||
|
||||
mapReleaseSourceSetPaths.dependsOn project.tasks.copyRes
|
||||
generateReleaseResources.dependsOn project.tasks.copyRes
|
||||
|
||||
generateDebugResources.dependsOn project.tasks.copyRes
|
||||
mapDebugSourceSetPaths.dependsOn project.tasks.copyRes
|
||||
mergeDebugResources.dependsOn project.tasks.copyRes
|
||||
extractDeepLinksDebug.dependsOn project.tasks.copyRes
|
||||
mergeReleaseResources.dependsOn project.tasks.copyRes
|
||||
extractDeepLinksRelease.dependsOn project.tasks.copyRes
|
||||
|
||||
generateDebugResources.dependsOn project.tasks.copyTranslation
|
||||
mapDebugSourceSetPaths.dependsOn project.tasks.copyTranslation
|
||||
mergeDebugAssets.dependsOn project.tasks.copyTranslation
|
||||
mergeReleaseAssets.dependsOn project.tasks.copyTranslation
|
||||
extractDeepLinksDebug.dependsOn project.tasks.copyTranslation
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<manifest
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.gpl.rpg.AndorsTrail"
|
||||
android:versionCode="76"
|
||||
android:versionName="0.8.10dev"
|
||||
android:versionCode="78"
|
||||
android:versionName="0.8.12dev"
|
||||
android:installLocation="auto"
|
||||
>
|
||||
|
||||
|
||||
@@ -28,11 +28,11 @@ public final class AndorsTrailApplication extends Application {
|
||||
public static final boolean DEVELOPMENT_FASTSPEED = false;
|
||||
public static final boolean DEVELOPMENT_VALIDATEDATA = true;
|
||||
public static final boolean DEVELOPMENT_DEBUGMESSAGES = true;
|
||||
public static final String CURRENT_VERSION_DISPLAY = "0.8.10dev";
|
||||
public static final String CURRENT_VERSION_DISPLAY = "0.8.12dev";
|
||||
public static final boolean IS_RELEASE_VERSION = !CURRENT_VERSION_DISPLAY.matches(".*[a-d].*");
|
||||
public static final boolean DEVELOPMENT_INCOMPATIBLE_SAVEGAMES = DEVELOPMENT_DEBUGRESOURCES || DEVELOPMENT_DEBUGBUTTONS || DEVELOPMENT_FASTSPEED || !IS_RELEASE_VERSION;
|
||||
public static final int DEVELOPMENT_INCOMPATIBLE_SAVEGAME_VERSION = 999;
|
||||
public static final int CURRENT_VERSION = DEVELOPMENT_INCOMPATIBLE_SAVEGAMES ? DEVELOPMENT_INCOMPATIBLE_SAVEGAME_VERSION : 76;
|
||||
public static final int CURRENT_VERSION = DEVELOPMENT_INCOMPATIBLE_SAVEGAMES ? DEVELOPMENT_INCOMPATIBLE_SAVEGAME_VERSION : 78;
|
||||
|
||||
private final AndorsTrailPreferences preferences = new AndorsTrailPreferences();
|
||||
private WorldContext world = new WorldContext();
|
||||
|
||||
@@ -152,6 +152,12 @@ public final class DebugInterface {
|
||||
public void onClick(View arg0) {
|
||||
showToast(mainActivity, "DEBUG: map=" + world.model.currentMaps.map.name , Toast.LENGTH_SHORT);
|
||||
}
|
||||
})
|
||||
,new DebugButton("tick-10", new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
world.model.worldData.tickWorldTime(10);
|
||||
}
|
||||
})
|
||||
}));
|
||||
|
||||
@@ -182,7 +188,7 @@ public final class DebugInterface {
|
||||
,new DebugButton("cr", new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "houseatcrossroads4", "down", 0, 0);
|
||||
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "crossroads", "middle", 0, 0);
|
||||
}
|
||||
})
|
||||
,new DebugButton("lf", new OnClickListener() {
|
||||
@@ -313,6 +319,13 @@ public final class DebugInterface {
|
||||
}
|
||||
})
|
||||
|
||||
,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) {
|
||||
@@ -345,14 +358,14 @@ public final class DebugInterface {
|
||||
,new DebugButton("#1", new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "waterway11_east", "west", 0, 0);
|
||||
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "swamp3", "north", 0, 0);
|
||||
}
|
||||
})
|
||||
|
||||
,new DebugButton("#2", new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "laerothtomb1", "north", 0, 0);
|
||||
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "beekeeper1", "south", 0, 0);
|
||||
}
|
||||
})
|
||||
|
||||
@@ -360,7 +373,7 @@ public final class DebugInterface {
|
||||
,new DebugButton("#3", new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "mountainlake8", "north", 0, 0);
|
||||
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "guynmart", "west2", 0, 0);
|
||||
}
|
||||
})
|
||||
|
||||
@@ -370,7 +383,7 @@ public final class DebugInterface {
|
||||
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "waterway5", "south", 0, 0);
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
,new DebugButton("#5", new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
@@ -378,6 +391,41 @@ public final class DebugInterface {
|
||||
}
|
||||
})
|
||||
|
||||
,new DebugButton("#6", new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "laerothmanor1", "down2", 0, 0);
|
||||
}
|
||||
})
|
||||
|
||||
,new DebugButton("#7", new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "final_cave1", "up", 0, 0);
|
||||
}
|
||||
})
|
||||
|
||||
,new DebugButton("#8", new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "bwmfill3", "north2", 0, 0);
|
||||
}
|
||||
})
|
||||
|
||||
,new DebugButton("#9", new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "island2", "down", 0, 0);
|
||||
}
|
||||
})
|
||||
|
||||
,new DebugButton("#10", new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "laerothprison3", "south", 2, 0);
|
||||
}
|
||||
})
|
||||
|
||||
}));
|
||||
buttonList.addAll(tpButtons3);
|
||||
|
||||
|
||||
@@ -196,7 +196,7 @@ public final class SkillInfoActivity extends AndorsTrailBaseActivity {
|
||||
case armorProficiencyShield: return res.getString(R.string.skill_longdescription_armor_prof_shield, SkillCollection.PER_SKILLPOINT_INCREASE_SHIELD_PROF_DR);
|
||||
case armorProficiencyUnarmored: return res.getString(R.string.skill_longdescription_armor_prof_unarmored, SkillCollection.PER_SKILLPOINT_INCREASE_UNARMORED_BC);
|
||||
case armorProficiencyLight: return res.getString(R.string.skill_longdescription_armor_prof_light, SkillCollection.PER_SKILLPOINT_INCREASE_LIGHT_ARMOR_BC_PERCENT);
|
||||
case armorProficiencyHeavy: return res.getString(R.string.skill_longdescription_armor_prof_heavy, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_BC_PERCENT, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_MOVECOST_PERCENT, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_ATKCOST_PERCENT);
|
||||
case armorProficiencyHeavy: return res.getString(R.string.skill_longdescription_armor_prof_heavy, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_BC_PERCENT, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_MOVECOST_PERCENT, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_ATKCOST_PERCENT, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_USECOST_PERCENT);
|
||||
case fightstyleDualWield: return res.getString(R.string.skill_longdescription_fightstyle_dualwield, SkillCollection.DUALWIELD_EFFICIENCY_LEVEL0, SkillCollection.DUALWIELD_EFFICIENCY_LEVEL1, SkillCollection.DUALWIELD_LEVEL1_OFFHAND_AP_COST_PERCENT, SkillCollection.DUALWIELD_EFFICIENCY_LEVEL2);
|
||||
case fightstyle2hand: return res.getString(R.string.skill_longdescription_fightstyle_2hand, SkillCollection.PER_SKILLPOINT_INCREASE_FIGHTSTYLE_2HAND_DMG_PERCENT);
|
||||
case fightstyleWeaponShield: return res.getString(R.string.skill_longdescription_fightstyle_weapon_shield, SkillCollection.PER_SKILLPOINT_INCREASE_FIGHTSTYLE_WEAPON_AC_PERCENT, SkillCollection.PER_SKILLPOINT_INCREASE_FIGHTSTYLE_SHIELD_BC_PERCENT);
|
||||
|
||||
@@ -253,6 +253,7 @@ public final class SkillController {
|
||||
addPercentBlockChance(player, itemType, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_BC_PERCENT * skillLevelHeavyArmor, 0);
|
||||
playerTraits.moveCost -= getPercentage(itemType.effects_equip.stats.increaseMoveCost, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_MOVECOST_PERCENT * skillLevelHeavyArmor, 0);
|
||||
playerTraits.attackCost -= getPercentage(itemType.effects_equip.stats.increaseAttackCost, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_ATKCOST_PERCENT * skillLevelHeavyArmor, 0);
|
||||
playerTraits.useItemCost -= getPercentage(itemType.effects_equip.stats.increaseUseItemCost, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_USECOST_PERCENT * skillLevelHeavyArmor, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,6 +112,7 @@ public final class SkillCollection {
|
||||
public static final int PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_BC_PERCENT = 20;
|
||||
public static final int PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_MOVECOST_PERCENT = 25;
|
||||
public static final int PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_ATKCOST_PERCENT = 25;
|
||||
public static final int PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_USECOST_PERCENT = 25;
|
||||
public static final int PER_SKILLPOINT_INCREASE_FIGHTSTYLE_2HAND_DMG_PERCENT = 30;
|
||||
public static final int PER_SKILLPOINT_INCREASE_SPECIALIZATION_2HAND_DMG_PERCENT = 50;
|
||||
public static final int PER_SKILLPOINT_INCREASE_SPECIALIZATION_2HAND_AC_PERCENT = 20;
|
||||
|
||||
@@ -341,9 +341,9 @@ public final class ResourceLoader {
|
||||
loader.prepareTileset(R.drawable.monsters_men2, "monsters_men2", new Size(10, 1), sz1x1, mTileSize);
|
||||
loader.prepareTileset(R.drawable.monsters_misc, "monsters_misc", new Size(13, 1), sz1x1, mTileSize);
|
||||
loader.prepareTileset(R.drawable.monsters_newb_1, "monsters_newb_1", new Size(40, 34), sz1x1, mTileSize);
|
||||
loader.prepareTileset(R.drawable.monsters_newb_2, "monsters_newb_2", new Size(16, 2), sz1x2, mTileSize);
|
||||
loader.prepareTileset(R.drawable.monsters_newb_3, "monsters_newb_3", new Size(20, 4), sz2x2, mTileSize);
|
||||
loader.prepareTileset(R.drawable.monsters_newb_4, "monsters_newb_4", new Size(4, 2), sz2x1, mTileSize);
|
||||
loader.prepareTileset(R.drawable.monsters_newb_2, "monsters_newb_2", new Size(8, 2), sz1x2, mTileSize);
|
||||
loader.prepareTileset(R.drawable.monsters_newb_3, "monsters_newb_3", new Size(10, 2), sz2x2, mTileSize);
|
||||
loader.prepareTileset(R.drawable.monsters_newb_4, "monsters_newb_4", new Size(4, 1), sz2x1, mTileSize);
|
||||
loader.prepareTileset(R.drawable.monsters_rats, "monsters_rats", new Size(5, 1), sz1x1, mTileSize);
|
||||
loader.prepareTileset(R.drawable.monsters_redshrike1, "monsters_redshrike1", sz7x1, sz1x1, mTileSize);
|
||||
loader.prepareTileset(R.drawable.monsters_rltiles1, "monsters_rltiles1", new Size(20, 8), sz1x1, mTileSize);
|
||||
|
||||
@@ -8,6 +8,7 @@ import org.xmlpull.v1.XmlPullParserException;
|
||||
import android.content.res.Resources;
|
||||
import android.content.res.XmlResourceParser;
|
||||
|
||||
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
|
||||
import com.gpl.rpg.AndorsTrail.model.map.MapCollection;
|
||||
import com.gpl.rpg.AndorsTrail.model.map.WorldMapSegment;
|
||||
import com.gpl.rpg.AndorsTrail.model.map.WorldMapSegment.NamedWorldMapArea;
|
||||
@@ -24,11 +25,13 @@ public final class WorldMapParser {
|
||||
}
|
||||
|
||||
private static void read(XmlResourceParser xrp, final MapCollection maps, final TranslationLoader translationLoader) {
|
||||
String s = "";
|
||||
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) L.log("WorldMapParser:");
|
||||
try {
|
||||
int eventType;
|
||||
while ((eventType = xrp.next()) != XmlResourceParser.END_DOCUMENT) {
|
||||
if (eventType == XmlResourceParser.START_TAG) {
|
||||
String s = xrp.getName();
|
||||
s = xrp.getName();
|
||||
if (s.equals("segment")) {
|
||||
WorldMapSegment segment = parseSegment(xrp, maps, translationLoader);
|
||||
maps.worldMapSegments.put(segment.name, segment);
|
||||
@@ -37,7 +40,7 @@ public final class WorldMapParser {
|
||||
}
|
||||
xrp.close();
|
||||
} catch (Exception e) {
|
||||
L.log("Error reading worldmap: " + e.toString());
|
||||
L.log("Error reading worldmap: " + s + " " + e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,11 +49,13 @@ public final class WorldMapParser {
|
||||
final WorldMapSegment segment = new WorldMapSegment(segmentName);
|
||||
|
||||
final ArrayList<Pair<String, String>> mapsInNamedAreas = new ArrayList<Pair<String,String>>();
|
||||
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) L.log("segment: " + segmentName);
|
||||
XmlResourceParserUtils.readCurrentTagUntilEnd(xrp, new XmlResourceParserUtils.TagHandler() {
|
||||
@Override
|
||||
public void handleTag(XmlResourceParser xrp, String tagName) throws XmlPullParserException, IOException {
|
||||
if (tagName.equals("map")) {
|
||||
String mapName = xrp.getAttributeValue(null, "id");
|
||||
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) L.log(" map: " + mapName);
|
||||
if (maps.findPredefinedMap(mapName) == null) return;
|
||||
Coord mapPosition = new Coord(
|
||||
xrp.getAttributeIntValue(null, "x", -1),
|
||||
@@ -65,6 +70,7 @@ public final class WorldMapParser {
|
||||
String id = xrp.getAttributeValue(null, "id");
|
||||
String name = translationLoader.translateWorldmapLocation(xrp.getAttributeValue(null, "name"));
|
||||
String type = xrp.getAttributeValue(null, "type");
|
||||
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) L.log(" namedarea: id=" + id + " name=" + name + " type=" + type);
|
||||
segment.namedAreas.put(id, new NamedWorldMapArea(id, name, type));
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,17 +1,17 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
buildscript {
|
||||
repositories {
|
||||
jcenter()
|
||||
mavenCentral()
|
||||
google()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:7.4.0'
|
||||
classpath 'com.android.tools.build:gradle:8.3.1'
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
jcenter()
|
||||
mavenCentral()
|
||||
google()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
android.defaults.buildfeatures.buildconfig=true
|
||||
android.nonFinalResIds=false
|
||||
android.nonTransitiveRClass=false
|
||||
android.useAndroidX=true
|
||||
@@ -1,6 +1,6 @@
|
||||
#Mon Jan 30 18:12:43 CET 2023
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
|
||||
distributionPath=wrapper/dists
|
||||
zipStorePath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
||||
@@ -1,6 +1,97 @@
|
||||
I put both (release notes + forum announcement) into this source, so it will be easier to maintain them parallel:
|
||||
|
||||
|
||||
APK 77 (0.8.11) Lake Laeroth
|
||||
|
||||
Release notes
|
||||
=============
|
||||
* 6 new quests together with 62 new maps around Remgard and in the Lake Laeroth area:
|
||||
"The odd coin collector"
|
||||
"Take care of the caretaker"
|
||||
"The last lord of Laeroth"
|
||||
"Shadow of the torturer"
|
||||
"Not Pony Island"
|
||||
"Brutes"
|
||||
* Minor map fixes, typos and other little things
|
||||
* Translations
|
||||
|
||||
|
||||
Forum announcement //2024-06-16
|
||||
==================
|
||||
Hello fellow adventurers,
|
||||
|
||||
These maps and quests took several years in development as we kept interrupting the work on it to publish other releases.
|
||||
Now it's finally finished!
|
||||
All of this is located near Remgard, filling up the great Lake Laeroth a bit with maps and life.
|
||||
|
||||
There are 6 new quests to find:
|
||||
[list] "The odd coin collector"
|
||||
Starts at Gylew at the waterway[/list]
|
||||
[list] "Take care of the caretaker"
|
||||
Starts in Laeroth Manor[/list]
|
||||
[list] "The last lord of Laeroth"
|
||||
Starts in Laeroth Manor, directly after the caretaker quests[/list]
|
||||
[list] "Shadow of the torturer"
|
||||
Starts in the Manor dungeons[/list]
|
||||
[list] "Not Pony Island"
|
||||
Go through the Remgard church basement[/list]
|
||||
[list] "Brutes"
|
||||
You must have completed "A difference of opinion (sisterfight)". Then walk from Arulir mountain towards Remgard and watch out for a fisherman[/list]
|
||||
|
||||
62 new maps around Remgard and in the Lake Laeroth area are waiting to be discovered by you.
|
||||
|
||||
|
||||
Here is is the link on our server: [url]https://andorstrail.com/static/AndorsTrail_v0.8.11.apk[/url]
|
||||
Google Play, F-Droid and Itch will follow soon.
|
||||
|
||||
Happy playing!
|
||||
|
||||
|
||||
|
||||
|
||||
APK 76 (0.8.10) BWM Fill
|
||||
|
||||
Release notes
|
||||
=============
|
||||
* 9 new maps that helps to cover the hole in the worldmap at Blackwater Mountain
|
||||
* New quest "It makes no fence"
|
||||
* Again a skeleton for "Stoutford's old castle" could have been out of reach. We hope this is the last one
|
||||
* Some minor map fixes
|
||||
* Translations
|
||||
|
||||
|
||||
Forum announcement //2024-04-28
|
||||
==================
|
||||
Hello fellow adventurers,
|
||||
|
||||
|
||||
a few weeks ago Raphi had surprised us with a bunch of maps that helps to cover the hole in the worldmap at Blackwater Mountain 8-)
|
||||
Thank you for the fiddly work in this area of the mountains, lovers of complete maps will appreciate it!
|
||||
Mountains are among the most difficult maps, especially if there already exist maps around them, because the different heights have to match each other exactly.
|
||||
|
||||
Raphi has also placed a new quest there for the early midgame level, involving some of Dhayavar's existing residents.
|
||||
|
||||
We have fine-tuned the project and are publishing it here now:
|
||||
|
||||
[list]Find 9 new maps filling up the Blackwater Mountain area.[/list]
|
||||
|
||||
[list]Help a shepherd in the Mountains above Prim in the new quest "It makes no fence".[/list]
|
||||
|
||||
[list]Again a skeleton for "Stoutford's old castle" could have been out of reach. We hope this is the last one.[/list]
|
||||
|
||||
[list]New translations[/list]
|
||||
|
||||
[list]And as always we've fixed some minor bugs and typos, and have embellished a few little things here and there.[/list]
|
||||
|
||||
|
||||
Here is is the link on our server: [url]https://andorstrail.com/static/AndorsTrail_v0.8.10.apk[/url]
|
||||
Google Play, F-Droid and Itch will follow soon.
|
||||
|
||||
Happy playing!
|
||||
|
||||
|
||||
|
||||
|
||||
APK 75 (0.8.9) Bugfix + translations
|
||||
|
||||
Release notes
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 706 KiB After Width: | Height: | Size: 693 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 950 KiB After Width: | Height: | Size: 905 KiB |
15
AndorsTrail/res/raw/actorconditions_bwmfill.json
Normal file
15
AndorsTrail/res/raw/actorconditions_bwmfill.json
Normal file
@@ -0,0 +1,15 @@
|
||||
[
|
||||
{
|
||||
"id":"thirst",
|
||||
"iconID":"actorconditions_1:18",
|
||||
"name":"Thirst",
|
||||
"category":"physical",
|
||||
"roundEffect":{
|
||||
"visualEffectID":"redSplash",
|
||||
"increaseCurrentHP":{
|
||||
"min":-2,
|
||||
"max":-2
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
75
AndorsTrail/res/raw/actorconditions_laeroth.json
Normal file
75
AndorsTrail/res/raw/actorconditions_laeroth.json
Normal file
@@ -0,0 +1,75 @@
|
||||
[
|
||||
{
|
||||
"id":"swift_attack",
|
||||
"iconID":"actorconditions_1:79",
|
||||
"name":"Swift attack",
|
||||
"category":"physical",
|
||||
"isPositive":1,
|
||||
"abilityEffect":{
|
||||
"increaseAttackCost":-1
|
||||
}
|
||||
},
|
||||
{
|
||||
"id":"blindness",
|
||||
"iconID":"actorconditions_1:27",
|
||||
"name":"Blindness",
|
||||
"category":"physical",
|
||||
"isStacking":1,
|
||||
"abilityEffect":{
|
||||
"increaseAttackChance":-5,
|
||||
"increaseBlockChance":-5
|
||||
}
|
||||
},
|
||||
{
|
||||
"id":"life_drain",
|
||||
"iconID":"actorconditions_1:82",
|
||||
"name":"Life drain",
|
||||
"category":"spiritual",
|
||||
"roundEffect":{
|
||||
"increaseCurrentHP":{
|
||||
"min":-2,
|
||||
"max":-2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id":"sting_major",
|
||||
"iconID":"actorconditions_1:64",
|
||||
"name":"Major sting",
|
||||
"category":"physical",
|
||||
"isStacking":1,
|
||||
"roundEffect":{
|
||||
"increaseCurrentHP":{
|
||||
"min":-1,
|
||||
"max":-2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id":"spider_bite",
|
||||
"iconID":"actorconditions_omi2:3",
|
||||
"name":"Spider bite",
|
||||
"category":"blood",
|
||||
"roundEffect":{
|
||||
"visualEffectID":"blueSwirl",
|
||||
"increaseCurrentHP":{
|
||||
"min":-4,
|
||||
"max":-1
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id":"environmental_poisoning",
|
||||
"iconID":"actorconditions_1:60",
|
||||
"name":"Environmental poisoning",
|
||||
"category":"physical",
|
||||
"isStacking":1,
|
||||
"roundEffect":{
|
||||
"visualEffectID":"greenSplash",
|
||||
"increaseCurrentHP":{
|
||||
"min":-1,
|
||||
"max":-1
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -50,6 +50,77 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"passive_achievement_check_2"
|
||||
"id":"passive_achievement_check_2",
|
||||
"replies":[
|
||||
{
|
||||
"nextPhraseID":"passive_achievement_grant_2",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"achievements",
|
||||
"value":130,
|
||||
"negate":true
|
||||
},
|
||||
{
|
||||
"requireType":"killedMonster",
|
||||
"requireID":"guynmart_mare",
|
||||
"value":2
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"nextPhraseID":"passive_achievement_check_3"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"passive_achievement_grant_2",
|
||||
"message":"Phew, I dreamed about nightmares in a castle dungeon - although maybe it wasn't a nightmare at all! I never want to go through something like that again - neither in my dream nor in reality!",
|
||||
"rewards":[
|
||||
{
|
||||
"rewardType":"questProgress",
|
||||
"rewardID":"achievements",
|
||||
"value":130
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"passive_achievement_check_3"
|
||||
},
|
||||
{
|
||||
"id":"passive_achievement_grant_3"
|
||||
},
|
||||
{
|
||||
"id":"passive_achievement_check_4"
|
||||
},
|
||||
{
|
||||
"id":"passive_achievement_grant_4"
|
||||
},
|
||||
{
|
||||
"id":"passive_achievement_check_5"
|
||||
},
|
||||
{
|
||||
"id":"passive_achievement_grant_5"
|
||||
},
|
||||
{
|
||||
"id":"passive_achievement_check_6"
|
||||
},
|
||||
{
|
||||
"id":"passive_achievement_grant_6"
|
||||
},
|
||||
{
|
||||
"id":"passive_achievement_check_7"
|
||||
},
|
||||
{
|
||||
"id":"passive_achievement_grant_7"
|
||||
},
|
||||
{
|
||||
"id":"passive_achievement_check_8"
|
||||
},
|
||||
{
|
||||
"id":"passive_achievement_grant_8"
|
||||
},
|
||||
{
|
||||
"id":"passive_achievement_check_9"
|
||||
}
|
||||
]
|
||||
@@ -3416,6 +3416,62 @@
|
||||
{
|
||||
"text":"I am looking for my brother, Andor. He looks a bit like me.",
|
||||
"nextPhraseID":"brv_woodcraftsman_1"
|
||||
},
|
||||
{
|
||||
"text":"Hello. The woodcutter in Loneford said that you can make me fences for a sheperd. Is that true?",
|
||||
"nextPhraseID":"brv_woodcraftsman_fence1",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":210
|
||||
},
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":220,
|
||||
"negate":true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text":"Here is your wood.",
|
||||
"nextPhraseID":"brv_woodcraftsman_fence2",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":230
|
||||
},
|
||||
{
|
||||
"requireType":"inventoryRemove",
|
||||
"requireID":"tunlon_wood",
|
||||
"value":1
|
||||
},
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":240,
|
||||
"negate":true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text":"Ah, you are back.",
|
||||
"nextPhraseID":"brv_woodcraftsman_fence3",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":235
|
||||
},
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":240,
|
||||
"negate":true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7390,6 +7446,47 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"nextPhraseID":"brv_patrol_stop_hero_bur",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"bwmfill_nondisplay",
|
||||
"value":41,
|
||||
"negate":true
|
||||
},
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"quest_burhczyd",
|
||||
"value":80
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"nextPhraseID":"brv_patrol_stop_hero_box1",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"inventoryKeep",
|
||||
"requireID":"bonemeal_potion",
|
||||
"value":1
|
||||
},
|
||||
{
|
||||
"requireType":"inventoryKeep",
|
||||
"requireID":"guynmart_bonemealbox",
|
||||
"value":1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"nextPhraseID":"brv_patrol_stop_hero_box2",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"inventoryKeep",
|
||||
"requireID":"guynmart_bonemealbox",
|
||||
"value":1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"nextPhraseID":"brv_patrol_remove_all_bonemeals"
|
||||
}
|
||||
@@ -7399,6 +7496,21 @@
|
||||
"rewardType":"removeQuestProgress",
|
||||
"rewardID":"brv_nondisplay",
|
||||
"value":142
|
||||
},
|
||||
{
|
||||
"rewardType":"removeQuestProgress",
|
||||
"rewardID":"bwmfill_nondisplay",
|
||||
"value":40
|
||||
},
|
||||
{
|
||||
"rewardType":"removeQuestProgress",
|
||||
"rewardID":"bwmfill_nondisplay",
|
||||
"value":42
|
||||
},
|
||||
{
|
||||
"rewardType":"removeQuestProgress",
|
||||
"rewardID":"bwmfill_nondisplay",
|
||||
"value":43
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7486,13 +7598,55 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"nextPhraseID":"brv_patrol_stop_hero"
|
||||
"nextPhraseID":"brv_patrol_remove_all_bonemeals_lodar_x"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"brv_patrol_bonemeals_removed",
|
||||
"message":"What's this? Smells like Bonemeal!\n\nBonemeal is illegal and forbidden by the law of Feygard. I will have to confiscate it.\n[He gives you back all your belongings but keeps the Bonemeals]\n\nKeep away from illegal stuff. Now go on your way.",
|
||||
"replies":[
|
||||
{
|
||||
"text":"Hey, what the ...?",
|
||||
"nextPhraseID":"brv_patrol_bonemeals_removed_bur",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"bwmfill_nondisplay",
|
||||
"value":40
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text":"Phew, at least they didn't find my iron reserve in the bonemeal box.",
|
||||
"nextPhraseID":"X",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"bwmfill_nondisplay",
|
||||
"value":42
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text":"Phew, at least they had let me go.",
|
||||
"nextPhraseID":"X",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"bwmfill_nondisplay",
|
||||
"value":40,
|
||||
"negate":true
|
||||
},
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"bwmfill_nondisplay",
|
||||
"value":42,
|
||||
"negate":true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"rewards":[
|
||||
{
|
||||
"rewardType":"questProgress",
|
||||
@@ -9835,5 +9989,148 @@
|
||||
"nextPhraseID":"R"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"brv_patrol_remove_all_bonemeals_lodar_x",
|
||||
"replies":[
|
||||
{
|
||||
"nextPhraseID":"brv_patrol_remove_all_bonemeals_lodar_x_1",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"bwmfill_nondisplay",
|
||||
"value":43
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"nextPhraseID":"brv_patrol_remove_all_bonemeals_lodar_x_2",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"bwmfill_nondisplay",
|
||||
"value":42
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"nextPhraseID":"brv_patrol_stop_hero"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"brv_patrol_remove_all_bonemeals_lodar_x_1",
|
||||
"replies":[
|
||||
{
|
||||
"nextPhraseID":"brv_patrol_stop_hero"
|
||||
}
|
||||
],
|
||||
"rewards":[
|
||||
{
|
||||
"rewardType":"giveItem",
|
||||
"rewardID":"bonemeal_potion",
|
||||
"value":1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"brv_patrol_remove_all_bonemeals_lodar_x_2",
|
||||
"replies":[
|
||||
{
|
||||
"nextPhraseID":"brv_patrol_stop_hero"
|
||||
}
|
||||
],
|
||||
"rewards":[
|
||||
{
|
||||
"rewardType":"giveItem",
|
||||
"rewardID":"pot_bm_lodar",
|
||||
"value":1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"brv_patrol_stop_hero_bur",
|
||||
"replies":[
|
||||
{
|
||||
"nextPhraseID":"brv_patrol_stop_hero"
|
||||
}
|
||||
],
|
||||
"rewards":[
|
||||
{
|
||||
"rewardType":"questProgress",
|
||||
"rewardID":"brv_nondisplay",
|
||||
"value":142
|
||||
},
|
||||
{
|
||||
"rewardType":"questProgress",
|
||||
"rewardID":"bwmfill_nondisplay",
|
||||
"value":40
|
||||
},
|
||||
{
|
||||
"rewardType":"questProgress",
|
||||
"rewardID":"bwmfill_nondisplay",
|
||||
"value":41
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"brv_patrol_stop_hero_box1",
|
||||
"replies":[
|
||||
{
|
||||
"nextPhraseID":"brv_patrol_remove_all_bonemeals"
|
||||
}
|
||||
],
|
||||
"rewards":[
|
||||
{
|
||||
"rewardType":"questProgress",
|
||||
"rewardID":"bwmfill_nondisplay",
|
||||
"value":42
|
||||
},
|
||||
{
|
||||
"rewardType":"questProgress",
|
||||
"rewardID":"bwmfill_nondisplay",
|
||||
"value":43
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"brv_patrol_stop_hero_box2",
|
||||
"replies":[
|
||||
{
|
||||
"nextPhraseID":"brv_patrol_remove_all_bonemeals"
|
||||
}
|
||||
],
|
||||
"rewards":[
|
||||
{
|
||||
"rewardType":"questProgress",
|
||||
"rewardID":"bwmfill_nondisplay",
|
||||
"value":42
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"brv_patrol_bonemeals_removed_bur",
|
||||
"message":"One of the guards winks at you while putting the confiscated bonemeal potions back in your pouch.",
|
||||
"switchToNPC":"none",
|
||||
"replies":[
|
||||
{
|
||||
"text":"???",
|
||||
"nextPhraseID":"brv_patrol_bonemeals_removed_bur_10"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"brv_patrol_bonemeals_removed_bur_10",
|
||||
"message":"You'll be speechless - the guard is Burhczyd in the uniform of the Feygard Guard!",
|
||||
"replies":[
|
||||
{
|
||||
"text":"N",
|
||||
"nextPhraseID":"brv_patrol_bonemeals_removed_bur_20"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"brv_patrol_bonemeals_removed_bur_20",
|
||||
"message":"Before you react, the guards have moved on."
|
||||
}
|
||||
]
|
||||
1416
AndorsTrail/res/raw/conversationlist_bwmfill.json
Normal file
1416
AndorsTrail/res/raw/conversationlist_bwmfill.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -90,6 +90,44 @@
|
||||
{
|
||||
"text":"OK.",
|
||||
"nextPhraseID":"arcir_anythingelse"
|
||||
},
|
||||
{
|
||||
"text":"I have found some valuable looking map. Want to have a look?",
|
||||
"nextPhraseID":"arcir_books_rares_map",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"inventoryKeep",
|
||||
"requireID":"inspiring_snake_master_map",
|
||||
"value":1
|
||||
},
|
||||
{
|
||||
"requireType":"killedMonster",
|
||||
"requireID":"ewmondold_snake_master",
|
||||
"value":1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text":"I have found a strange book about slavery. Interested?",
|
||||
"nextPhraseID":"arcir_books_rares_book1",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"inventoryKeep",
|
||||
"requireID":"ratdom_book",
|
||||
"value":1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text":"I have got a book about world history. Interested?",
|
||||
"nextPhraseID":"arcir_books_rares_book2",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"inventoryKeep",
|
||||
"requireID":"book_world_history",
|
||||
"value":1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -190,5 +228,127 @@
|
||||
"nextPhraseID":"X"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"arcir_books_rares_map",
|
||||
"message":"Oh, an ancient map of the area! This would fit well into my collection of old maps. I offer you 500 gold pieces for it.",
|
||||
"replies":[
|
||||
{
|
||||
"text":"Thanks, I'd rather keep it.",
|
||||
"nextPhraseID":"arcir_books_1"
|
||||
},
|
||||
{
|
||||
"text":"OK. Here is Ewmondold's map.",
|
||||
"nextPhraseID":"arcir_books_rares_map_1",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"inventoryRemove",
|
||||
"requireID":"inspiring_snake_master_map",
|
||||
"value":1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"arcir_books_rares_map_1",
|
||||
"message":"And here are 500 shining gold pieces. Use them wisely.",
|
||||
"replies":[
|
||||
{
|
||||
"text":"Thanks, I have to go now.",
|
||||
"nextPhraseID":"X"
|
||||
},
|
||||
{
|
||||
"text":"Let's talk about other things.",
|
||||
"nextPhraseID":"arcir_books_1"
|
||||
}
|
||||
],
|
||||
"rewards":[
|
||||
{
|
||||
"rewardType":"giveItem",
|
||||
"rewardID":"gold",
|
||||
"value":500
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"arcir_books_rares_book1",
|
||||
"message":"Let's have a look. Oh, what the ... Well, this is no book for little ones as you. Give it to me, you get 200 pieces of gold for it.",
|
||||
"replies":[
|
||||
{
|
||||
"text":"Thanks, I'd rather keep it.",
|
||||
"nextPhraseID":"arcir_books_1"
|
||||
},
|
||||
{
|
||||
"text":"OK. Here is the book about slavery.",
|
||||
"nextPhraseID":"arcir_books_rares_book1_1",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"inventoryRemove",
|
||||
"requireID":"ratdom_book",
|
||||
"value":1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"arcir_books_rares_book1_1",
|
||||
"message":"And here are 200 shining gold pieces. Be happy that I'm freeing you from this terrible work.",
|
||||
"replies":[
|
||||
{
|
||||
"text":"Thanks, I have to go now.",
|
||||
"nextPhraseID":"X"
|
||||
},
|
||||
{
|
||||
"text":"Let's talk about other things.",
|
||||
"nextPhraseID":"arcir_books_1"
|
||||
}
|
||||
],
|
||||
"rewards":[
|
||||
{
|
||||
"rewardType":"giveItem",
|
||||
"rewardID":"gold",
|
||||
"value":200
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"arcir_books_rares_book2",
|
||||
"message":"Ah, a history textbook.",
|
||||
"replies":[
|
||||
{
|
||||
"text":"N",
|
||||
"nextPhraseID":"arcir_books_rares_book2_1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"arcir_books_rares_book2_1",
|
||||
"message":"But there are a lot of pages missing. Did you rip them out? You should be ashamed of yourself!",
|
||||
"replies":[
|
||||
{
|
||||
"text":"No, that wasn't me!",
|
||||
"nextPhraseID":"arcir_books_rares_book2_2"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"arcir_books_rares_book2_2",
|
||||
"message":"Such a beautiful book, completely broken! You dare to offer this to me and think I won't notice?!",
|
||||
"replies":[
|
||||
{
|
||||
"text":"[Run]",
|
||||
"nextPhraseID":"arcir_books_rares_book2_3"
|
||||
},
|
||||
{
|
||||
"text":"Let's talk about other things.",
|
||||
"nextPhraseID":"arcir_books_1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"arcir_books_rares_book2_3",
|
||||
"message":"Yes, just run away, you book murderer!"
|
||||
}
|
||||
]
|
||||
@@ -54,6 +54,23 @@
|
||||
{
|
||||
"text":"Are you a woodcutter?",
|
||||
"nextPhraseID":"fallhaven_lumberjack_2"
|
||||
},
|
||||
{
|
||||
"text":"Tunlon has sent me to ask for some wood for fences.",
|
||||
"nextPhraseID":"fallhaven_lumberjack_17",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":10
|
||||
},
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":20,
|
||||
"negate":true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -359,6 +376,23 @@
|
||||
{
|
||||
"text":"Never mind. I don't need your services for now.",
|
||||
"nextPhraseID":"X"
|
||||
},
|
||||
{
|
||||
"text":"Tunlon has sent me to ask for some wood for fences.",
|
||||
"nextPhraseID":"fallhaven_lumberjack_17",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":10
|
||||
},
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":20,
|
||||
"negate":true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -1,7 +1,137 @@
|
||||
[
|
||||
{
|
||||
"id":"gylew",
|
||||
"message":"Beat it, kid. You shouldn't be out here."
|
||||
"message":"Hey kid.",
|
||||
"replies":[
|
||||
{
|
||||
"text":"I'm not a kid anymore. Let's talk about the Korhald coins.",
|
||||
"nextPhraseID":"gylew_korhald_10",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"odd_coin_collector",
|
||||
"value":40
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text":"Hey old man.",
|
||||
"nextPhraseID":"gylew_old_man"
|
||||
},
|
||||
{
|
||||
"text":"Hey. I found the Korhald tomb and it had two items that I think might interest you.",
|
||||
"nextPhraseID":"gylew_korhald_cop_0",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questLatestProgress",
|
||||
"requireID":"odd_coin_collector",
|
||||
"value":66
|
||||
},
|
||||
{
|
||||
"requireType":"inventoryKeep",
|
||||
"requireID":"shield_of_brave",
|
||||
"value":1
|
||||
},
|
||||
{
|
||||
"requireType":"inventoryKeep",
|
||||
"requireID":"hero_coin",
|
||||
"value":1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text":"Inside the Korhald tomb, I found a locked chest. Do you know where I can find its key?",
|
||||
"nextPhraseID":"odd_coin_collector_ask_about_locked_chest",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"odd_coin_collector",
|
||||
"value":66
|
||||
},
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"nondisplay",
|
||||
"value":50
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text":"About that \"Coin of Prestige\"...",
|
||||
"nextPhraseID":"gylew_korhald_cop_30a",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"nondisplay",
|
||||
"value":47
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text":"Hey. I need to go now and find this map.",
|
||||
"nextPhraseID":"X",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questLatestProgress",
|
||||
"requireID":"odd_coin_collector",
|
||||
"value":60
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text":"We have no more business to discuss. I'll see you later.",
|
||||
"nextPhraseID":"X",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questLatestProgress",
|
||||
"requireID":"odd_coin_collector",
|
||||
"value":100
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text":"I was glad to help fulfill you and your father's dream, but I need to go now.",
|
||||
"nextPhraseID":"X",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"odd_coin_collector",
|
||||
"value":105
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text":"[Lie]I have these bronze and silver coins that I \"acquired\" in a game of chance. I would like to know if you are interested in them.",
|
||||
"nextPhraseID":"coin_collector_thief_coins_10",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"laeroth_nondisplay",
|
||||
"value":106
|
||||
},
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"wanted_men",
|
||||
"value":80
|
||||
},
|
||||
{
|
||||
"requireType":"inventoryKeep",
|
||||
"requireID":"bronze_coin",
|
||||
"value":50
|
||||
},
|
||||
{
|
||||
"requireType":"inventoryKeep",
|
||||
"requireID":"silver_coin",
|
||||
"value":60
|
||||
},
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"laeroth_nondisplay",
|
||||
"value":107,
|
||||
"negate":true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id":"gylew_henchman",
|
||||
|
||||
@@ -88,6 +88,40 @@
|
||||
{
|
||||
"text":"Have you seen my brother Andor around here? Looks somewhat like me.",
|
||||
"nextPhraseID":"hadracor_andor_1"
|
||||
},
|
||||
{
|
||||
"text":"Do you by any chance have some spare wood to make fences out of?",
|
||||
"nextPhraseID":"hadracor_fence_1",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":20
|
||||
},
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":30,
|
||||
"negate":true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text":"I'm $playername, running up and down Blackwater mountain for errands.",
|
||||
"nextPhraseID":"hadracor_fence_2",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":30
|
||||
},
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":32,
|
||||
"negate":true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -349,6 +383,40 @@
|
||||
"value":5
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text":"No, but I wanted to ask if you have some spare wood to make fences out of.",
|
||||
"nextPhraseID":"hadracor_fence_1",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":20
|
||||
},
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":30,
|
||||
"negate":true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text":"No, I'm too busy running up and down Blackwater mountain.",
|
||||
"nextPhraseID":"hadracor_fence_2",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":30
|
||||
},
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":32,
|
||||
"negate":true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -438,6 +506,40 @@
|
||||
{
|
||||
"text":"OK, let me see what you have.",
|
||||
"nextPhraseID":"S"
|
||||
},
|
||||
{
|
||||
"text":"Do you by any chance have some spare wood to make fences out of?",
|
||||
"nextPhraseID":"hadracor_fence_1",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":20
|
||||
},
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":30,
|
||||
"negate":true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text":"No, thanks. I'm too busy running up and down Blackwater mountain.",
|
||||
"nextPhraseID":"hadracor_fence_2",
|
||||
"requires":[
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":30
|
||||
},
|
||||
{
|
||||
"requireType":"questProgress",
|
||||
"requireID":"tunlon_fence",
|
||||
"value":32,
|
||||
"negate":true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
13086
AndorsTrail/res/raw/conversationlist_laeroth.json
Normal file
13086
AndorsTrail/res/raw/conversationlist_laeroth.json
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user