Compare commits

...

18 Commits

Author SHA1 Message Date
OMGeeky
315e34185a Only add the loot once to the killedMonsterBags
without this, the loot might be added multiple times to the UI when showing what has been dropped, allowing the player to get more items than they should be allowed to
2024-08-25 13:23:25 +02:00
Nut.andor
585852ecb1 items_misc_2 2024-08-23 00:32:40 +02:00
Nut.andor
d87e584601 Teleport WX 2024-08-17 19:04:30 +02:00
Nut.andor
bfeab1abfa Merge branch 'pulls/1829009049/72' into AT_Source_Next_Release 2024-08-17 12:15:45 +02:00
Nut.andor
7c30577374 Reduce the Item use cost penalty like the move and attack cost penalt… 2024-08-17 12:13:19 +02:00
Nut.andor
e164e50f93 Pull Request #72: Reduce the Item use cost penalty like the move and attack cost penalt… 2024-08-15 20:20:38 +02:00
OMGeeky
f6d3cd59c0 Reduce the Item use cost penalty like the move and attack cost penalties with the heavy armor skill 2024-08-15 20:18:57 +02:00
Nut.andor
84fa8e5547 debug buttons 2024-07-21 18:53:50 +02:00
Nut.andor
c9b4da0823 better error message 2024-07-20 01:23:08 +02:00
Nut.andor
4c55c5c2a7 better error message 2024-07-20 00:37:42 +02:00
Nut.andor
ced33a4cda fixes that can't be done by ATCS 2024-07-19 23:48:39 +02:00
Nut.andor
50606e8424 Merge branch 'pulls/1829009049/69' into AT_Source_Next_Release 2024-07-19 23:47:24 +02:00
Nut.andor
845ea0926e debug buttons 2024-07-19 00:13:12 +02:00
Nut.andor
d60c6b3aa8 remove duplicates 2024-07-14 22:46:34 +02:00
Nut.andor
d4a8ab316e added rope 2024-07-07 23:19:07 +02:00
Nut.andor
570d9da321 Pull Request #69: remove duplicates 2024-06-22 15:19:50 +02:00
Nut.andor
bf13ac460d Debug buttons 2024-06-19 23:33:35 +02:00
Nut.andor
c4eb2b2d3a Debug buttons 2024-06-19 23:24:32 +02:00
12 changed files with 27 additions and 57 deletions

View File

@@ -24,7 +24,7 @@ public final class AndorsTrailApplication extends Application {
public static final boolean DEVELOPMENT_DEBUGRESOURCES = false;
public static final boolean DEVELOPMENT_FORCE_STARTNEWGAME = false;
public static final boolean DEVELOPMENT_FORCE_CONTINUEGAME = false;
public static final boolean DEVELOPMENT_DEBUGBUTTONS = false;
public static final boolean DEVELOPMENT_DEBUGBUTTONS = true;
public static final boolean DEVELOPMENT_FASTSPEED = false;
public static final boolean DEVELOPMENT_VALIDATEDATA = true;
public static final boolean DEVELOPMENT_DEBUGMESSAGES = true;

View File

@@ -313,6 +313,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 +352,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 +367,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);
}
})

View File

@@ -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);

View File

@@ -250,7 +250,8 @@ public final class CombatController implements VisualEffectCompletedCallback {
if (!loot.hasItemsOrGold()) {
world.model.currentMaps.map.removeGroundLoot(loot);
} else if (world.model.uiSelections.isInCombat) {
killedMonsterBags.add(loot);
if(!killedMonsterBags.contains(loot))
killedMonsterBags.add(loot);
}
combatActionListeners.onPlayerKilledMonster(killedMonster);

View File

@@ -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);
}
}
}

View File

@@ -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;

View File

@@ -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.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View File

@@ -11819,7 +11819,8 @@
"message":"No, unfortunately not. Maybe try my colleague in Fallhaven?",
"replies":[
{
"text":"Sigh - well, thanks."
"text":"Sigh - well, thanks.",
"nextPhraseID":"X"
}
]
}

View File

@@ -925,31 +925,5 @@
}
}
]
},
{
"id":"ratdom_618_loot1",
"items":[
{
"itemID":"gold",
"chance":"100",
"quantity":{
"min":200,
"max":400
}
}
]
},
{
"id":"ratdom_618_loot2",
"items":[
{
"itemID":"ratdom_parchment",
"chance":"100",
"quantity":{
"min":1,
"max":1
}
}
]
}
]

View File

@@ -749,27 +749,6 @@
}
]
},
{
"id":"gapfillerhole_drop",
"items":[
{
"itemID":"gold",
"chance":"100",
"quantity":{
"min":10,
"max":100
}
},
{
"itemID":"gem1",
"chance":"100",
"quantity":{
"min":1,
"max":2
}
}
]
},
{
"id":"lava_queen_dl",
"items":[

View File

@@ -684,7 +684,7 @@
<string name="skill_longdescription_armor_prof_shield">Increase damage resistance by %1$d per skill level while having a shield or parrying weapon equipped.</string>
<string name="skill_longdescription_armor_prof_unarmored">While fighting without having any piece of armor equipped, gain %1$d block chance per skill level. Items made of cloth are not considered as being armor.</string>
<string name="skill_longdescription_armor_prof_light">For every skill level, increases the block chance of every piece of light armor being worn by %1$d %% of their original block chances. Light armors include leather, light metal and hide armors.</string>
<string name="skill_longdescription_armor_prof_heavy">For every skill level, increases the block chance of every piece of heavy armor being worn by %1$d %% of their original block chances. Pieces of heavy armor have their movement penalties reduced by %2$d %% per skill level, and their attack speed penalties reduced by %3$d %% per skill level. Heavy armors include metal armors, chain mail and plate mail.</string>
<string name="skill_longdescription_armor_prof_heavy">For every skill level, increases the block chance of every piece of heavy armor being worn by %1$d %% of their original block chances. Pieces of heavy armor have their movement penalties reduced by %2$d %% per skill level, their attack speed penalties reduced by %3$d %% per skill level, and their item use cost penalties reduced by %4$d %% per skill level. Heavy armors include metal armors, chain mail and plate mail.</string>
<string name="skill_longdescription_fightstyle_dualwield">"Gives benefits when fighting with two weapons at the same time, one in the main hand and one in the off-hand.
Without this skill, only %1$d %% of a weapon\'s qualities may be used when equipped in the off-hand. This includes attack chance, critical skill, damage potential and block chance. Without this skill, attack cost (AP cost) of making an attack is the sum of the attack cost of the main weapon and that of the weapon used in the off-hand. The lower of both damage modifiers will be used.