diff --git a/AndorsTrail/res/raw/itemcategories_1.json b/AndorsTrail/res/raw/itemcategories_1.json
index 69fa84f30..e83cd4f13 100644
--- a/AndorsTrail/res/raw/itemcategories_1.json
+++ b/AndorsTrail/res/raw/itemcategories_1.json
@@ -97,6 +97,13 @@
"size":"large",
"inventorySlot":"weapon"
},
+ {
+ "id":"pole",
+ "name":"Pole weapon",
+ "actionType":"equip",
+ "size":"large",
+ "inventorySlot":"weapon"
+ },
{
"id":"buckler",
"name":"Buckler",
diff --git a/AndorsTrail/res/raw/itemcategories_stoutford_combined.json b/AndorsTrail/res/raw/itemcategories_stoutford_combined.json
index 9601373df..7dd56c376 100644
--- a/AndorsTrail/res/raw/itemcategories_stoutford_combined.json
+++ b/AndorsTrail/res/raw/itemcategories_stoutford_combined.json
@@ -5,12 +5,5 @@
"actionType":"equip",
"size":"std",
"inventorySlot":"weapon"
- },
- {
- "id":"scythe",
- "name":"Scythe",
- "actionType":"equip",
- "size":"large",
- "inventorySlot":"weapon"
}
]
\ No newline at end of file
diff --git a/AndorsTrail/res/raw/itemlist_stoutford_combined.json b/AndorsTrail/res/raw/itemlist_stoutford_combined.json
index afabfcbbd..2ea003c5a 100644
--- a/AndorsTrail/res/raw/itemlist_stoutford_combined.json
+++ b/AndorsTrail/res/raw/itemlist_stoutford_combined.json
@@ -188,7 +188,7 @@
"iconID":"items_weapons_3:3",
"name":"Scythe",
"displaytype":"ordinary",
- "category":"scythe",
+ "category":"pole",
"description":"This looks more suited to farming than fighting",
"equipEffect":{
"increaseAttackDamage":{
@@ -207,7 +207,7 @@
"displaytype":"ordinary",
"hasManualPrice":1,
"baseMarketCost":464,
- "category":"scythe",
+ "category":"pole",
"description":"This looks more suited to farming than fighting",
"equipEffect":{
"increaseAttackDamage":{
diff --git a/AndorsTrail/res/values/strings.xml b/AndorsTrail/res/values/strings.xml
index 702e6f9ae..edb52f951 100644
--- a/AndorsTrail/res/values/strings.xml
+++ b/AndorsTrail/res/values/strings.xml
@@ -605,6 +605,7 @@
Specialization: Dual wield
Specialization: Two-handed weapon
Specialization: Weapon and shield
+ Pole weapon proficiency
Better at fighting with daggers
Better at fighting with one-handed swords
@@ -622,6 +623,7 @@
Expert at dual wielding
Expert at two-handed weapons
Expert at fighting with weapon and shield
+ Better at fighting with pole weapons
For each skill level, increases attack chance when using daggers and shortswords by %1$d %% of the item\'s base attack chance, increases block chance by %2$d %% of the item\'s base block chance, and increases critical skill by %3$d %% of the item\'s base critical skill.
For each skill level, increases attack chance of rapiers, longswords and broadswords by %1$d %% of the item\'s base attack chance, increases block chance by %2$d %% of the item\'s base block chance, and increases critical skill by %3$d %% of the item\'s base critical skill.
@@ -649,6 +651,7 @@ Every skill level increases the attack chance of weapons with %1$d %% of their o
Increases the attack chance of both wielded weapons by an additional %1$d %% of their original attack chances, in addition to the benefits given by the weapon style skill. The block chances of both wielded weapons are also increased by %2$d %% of their original block chances.
Increases damage potential of two-handed weapons by an additional %1$d %% of the original damage potential, in addition to the benefits given by the weapon style skill. The attack chances of two-handed weapons are also increased by %2$d %% of their original attack chances.
Increases both attack chances and damage potential of weapons. The attack chance is increased by %1$d %% of the original attack chance, and the damage potential is increased by %2$d %% of the original damage potential.
+ For each skill level, increases attack chance when using pole weapons by %1$d %% of the item\'s base attack chance, increases block chance by %2$d %% of the item\'s base block chance, and increases critical skill by %3$d %% of the item\'s base critical skill.
Quickslot position
Where to place the quickslots
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/SkillInfoActivity.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/SkillInfoActivity.java
index d24d681a3..421e0c435 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/SkillInfoActivity.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/SkillInfoActivity.java
@@ -151,6 +151,7 @@ public final class SkillInfoActivity extends Activity {
case specializationDualWield: return R.string.skill_title_specialization_dualwield;
case specialization2hand: return R.string.skill_title_specialization_2hand;
case specializationWeaponShield: return R.string.skill_title_specialization_weapon_shield;
+ case weaponProficiencyPole: return R.string.skill_title_weapon_prof_pole;
default:
return -1;
}
@@ -200,6 +201,7 @@ public final class SkillInfoActivity extends Activity {
case specializationDualWield: return res.getString(R.string.skill_longdescription_specialization_dualwield, SkillCollection.PER_SKILLPOINT_INCREASE_SPECIALIZATION_DUALWIELD_AC_PERCENT, SkillCollection.PER_SKILLPOINT_INCREASE_SPECIALIZATION_DUALWIELD_BC_PERCENT);
case specialization2hand: return res.getString(R.string.skill_longdescription_specialization_2hand, SkillCollection.PER_SKILLPOINT_INCREASE_SPECIALIZATION_2HAND_DMG_PERCENT, SkillCollection.PER_SKILLPOINT_INCREASE_SPECIALIZATION_2HAND_AC_PERCENT);
case specializationWeaponShield: return res.getString(R.string.skill_longdescription_specialization_weapon_shield, SkillCollection.PER_SKILLPOINT_INCREASE_SPECIALIZATION_WEAPON_AC_PERCENT, SkillCollection.PER_SKILLPOINT_INCREASE_SPECIALIZATION_WEAPON_DMG_PERCENT);
+ case weaponProficiencyPole: return res.getString(R.string.skill_longdescription_weapon_prof_pole, SkillCollection.PER_SKILLPOINT_INCREASE_WEAPON_PROF_AC_PERCENT, SkillCollection.PER_SKILLPOINT_INCREASE_WEAPON_PROF_BC_PERCENT, SkillCollection.PER_SKILLPOINT_INCREASE_WEAPON_PROF_CS_PERCENT);
default:
return "";
}
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/fragment/HeroinfoActivity_Skills.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/fragment/HeroinfoActivity_Skills.java
index 6d3a3275e..1d6b6511f 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/fragment/HeroinfoActivity_Skills.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/fragment/HeroinfoActivity_Skills.java
@@ -108,7 +108,7 @@ public final class HeroinfoActivity_Skills extends Fragment {
private void reloadShownSort() {
int v = world.model.uiSelections.selectedSkillSort;
- if(v ==0);
+ if(v==0) getCurrentCategoryAdapter().sortDefault();
if(v==1) getCurrentCategoryAdapter().sortByName();
if(v==2) getCurrentCategoryAdapter().sortByPoints();
if(v==3) getCurrentCategoryAdapter().sortByUnlocked();
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/SkillController.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/SkillController.java
index 68667b556..cd749e999 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/SkillController.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/SkillController.java
@@ -284,11 +284,13 @@ public final class SkillController {
return SkillID.weaponProficiency1hsword;
else if (itemCategoryID.equals("2hsword"))
return SkillID.weaponProficiency2hsword;
- else if (itemCategoryID.equals("axe") || itemCategoryID.equals("axe2h") || itemCategoryID.equals("scythe"))
+ else if (itemCategoryID.equals("axe") || itemCategoryID.equals("axe2h"))
return SkillID.weaponProficiencyAxe;
else if (itemCategoryID.equals("club") || itemCategoryID.equals("staff") || itemCategoryID.equals("mace")
|| itemCategoryID.equals("scepter") || itemCategoryID.equals("hammer") || itemCategoryID.equals("hammer2h") || itemCategoryID.equals("whip"))
return SkillID.weaponProficiencyBlunt;
+ else if (itemCategoryID.equals("pole"))
+ return SkillID.weaponProficiencyPole;
} else if (category.isShield()) {
return SkillID.armorProficiencyShield;
} else if (category.isArmor()) {
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/ability/SkillCollection.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/ability/SkillCollection.java
index cf9b82069..faa23dbdc 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/ability/SkillCollection.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/ability/SkillCollection.java
@@ -2,6 +2,7 @@ package com.gpl.rpg.AndorsTrail.model.ability;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.LinkedHashMap;
import android.util.SparseArray;
@@ -53,6 +54,7 @@ public final class SkillCollection {
,specializationDualWield
,specialization2hand
,specializationWeaponShield
+ ,weaponProficiencyPole
}
// should be in the same number &U order as in arrays.xml
@@ -134,103 +136,105 @@ public final class SkillCollection {
public static final int MAX_LEVEL_LOWER_EXPLOSS = 100 / PER_SKILLPOINT_INCREASE_EXPLOSS_PERCENT;
public static final int MAX_LEVEL_RESISTANCE = 70 / PER_SKILLPOINT_INCREASE_RESISTANCE_CHANCE_PERCENT;
- private final SparseArray skills = new SparseArray();
+ private final LinkedHashMap skills = new LinkedHashMap();
private void initializeSkill(SkillInfo skill) {
skills.put(skill.id.ordinal(), skill);
}
public void initialize() {
- initializeSkill(new SkillInfo(SkillID.weaponChance, SkillInfo.MAXLEVEL_NONE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.offense, null));
- initializeSkill(new SkillInfo(SkillID.weaponDmg, SkillInfo.MAXLEVEL_NONE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.offense, null));
- initializeSkill(new SkillInfo(SkillID.barter, MAX_LEVEL_BARTER, SkillInfo.LevelUpType.alwaysShown, SkillCategory.utility, null));
- initializeSkill(new SkillInfo(SkillID.dodge, SkillInfo.MAXLEVEL_NONE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.defense, null));
+ int position = 0;
+ initializeSkill(new SkillInfo(SkillID.weaponChance, SkillInfo.MAXLEVEL_NONE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.offense, null, position++));
+ initializeSkill(new SkillInfo(SkillID.weaponDmg, SkillInfo.MAXLEVEL_NONE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.offense, null, position++));
+ initializeSkill(new SkillInfo(SkillID.barter, MAX_LEVEL_BARTER, SkillInfo.LevelUpType.alwaysShown, SkillCategory.utility, null, position++));
+ initializeSkill(new SkillInfo(SkillID.dodge, SkillInfo.MAXLEVEL_NONE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.defense, null, position++));
initializeSkill(new SkillInfo(SkillID.barkSkin, MAX_LEVEL_BARKSKIN, SkillInfo.LevelUpType.alwaysShown, SkillCategory.defense, new SkillLevelRequirement[] {
SkillLevelRequirement.requireExperienceLevels(10, 0)
,SkillLevelRequirement.requirePlayerStats(Player.StatID.blockChance, 15, 0)
- }));
- initializeSkill(new SkillInfo(SkillID.moreCriticals, SkillInfo.MAXLEVEL_NONE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.criticals, null));
+ }, position++));
+ initializeSkill(new SkillInfo(SkillID.moreCriticals, SkillInfo.MAXLEVEL_NONE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.criticals, null, position++));
initializeSkill(new SkillInfo(SkillID.betterCriticals, SkillInfo.MAXLEVEL_NONE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.criticals, new SkillLevelRequirement[] {
SkillLevelRequirement.requireOtherSkill(SkillID.moreCriticals, 1)
- }));
+ }, position++));
initializeSkill(new SkillInfo(SkillID.speed, MAX_LEVEL_SPEED, SkillInfo.LevelUpType.alwaysShown, SkillCategory.offense, new SkillLevelRequirement[] {
SkillLevelRequirement.requireExperienceLevels(15, 0)
- }));
- initializeSkill(new SkillInfo(SkillID.coinfinder, SkillInfo.MAXLEVEL_NONE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.utility, null));
- initializeSkill(new SkillInfo(SkillID.moreExp, SkillInfo.MAXLEVEL_NONE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.utility, null));
+ }, position++));
+ initializeSkill(new SkillInfo(SkillID.coinfinder, SkillInfo.MAXLEVEL_NONE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.utility, null, position++));
+ initializeSkill(new SkillInfo(SkillID.moreExp, SkillInfo.MAXLEVEL_NONE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.utility, null, position++));
initializeSkill(new SkillInfo(SkillID.cleave, SkillInfo.MAXLEVEL_NONE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.offense, new SkillLevelRequirement[] {
SkillLevelRequirement.requireOtherSkill(SkillID.weaponChance, 1)
,SkillLevelRequirement.requireOtherSkill(SkillID.weaponDmg, 1)
- }));
+ }, position++));
initializeSkill(new SkillInfo(SkillID.eater, SkillInfo.MAXLEVEL_NONE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.immunity, new SkillLevelRequirement[] {
SkillLevelRequirement.requirePlayerStats(Player.StatID.maxHP, 20, 20)
- }));
+ }, position++));
initializeSkill(new SkillInfo(SkillID.fortitude, SkillInfo.MAXLEVEL_NONE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.immunity, new SkillLevelRequirement[] {
SkillLevelRequirement.requireExperienceLevels(15, -10)
- }));
- initializeSkill(new SkillInfo(SkillID.evasion, MAX_LEVEL_EVASION, SkillInfo.LevelUpType.alwaysShown, SkillCategory.defense, null));
+ }, position++));
+ initializeSkill(new SkillInfo(SkillID.evasion, MAX_LEVEL_EVASION, SkillInfo.LevelUpType.alwaysShown, SkillCategory.defense, null, position++));
initializeSkill(new SkillInfo(SkillID.regeneration, SkillInfo.MAXLEVEL_NONE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.immunity, new SkillLevelRequirement[] {
SkillLevelRequirement.requirePlayerStats(Player.StatID.maxHP, 30, 0)
,SkillLevelRequirement.requireOtherSkill(SkillID.fortitude, 1)
- }));
- initializeSkill(new SkillInfo(SkillID.lowerExploss, MAX_LEVEL_LOWER_EXPLOSS, SkillInfo.LevelUpType.alwaysShown, SkillCategory.utility, null));
- initializeSkill(new SkillInfo(SkillID.magicfinder, SkillInfo.MAXLEVEL_NONE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.utility, null));
- initializeSkill(new SkillInfo(SkillID.resistanceMental, MAX_LEVEL_RESISTANCE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.immunity, null));
- initializeSkill(new SkillInfo(SkillID.resistancePhysical, MAX_LEVEL_RESISTANCE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.immunity, null));
- initializeSkill(new SkillInfo(SkillID.resistanceBlood, MAX_LEVEL_RESISTANCE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.immunity, null));
- initializeSkill(new SkillInfo(SkillID.shadowBless, 1, SkillInfo.LevelUpType.onlyByQuests, SkillCategory.immunity, null));
+ }, position++));
+ initializeSkill(new SkillInfo(SkillID.lowerExploss, MAX_LEVEL_LOWER_EXPLOSS, SkillInfo.LevelUpType.alwaysShown, SkillCategory.utility, null, position++));
+ initializeSkill(new SkillInfo(SkillID.magicfinder, SkillInfo.MAXLEVEL_NONE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.utility, null, position++));
+ initializeSkill(new SkillInfo(SkillID.resistanceMental, MAX_LEVEL_RESISTANCE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.immunity, null, position++));
+ initializeSkill(new SkillInfo(SkillID.resistancePhysical, MAX_LEVEL_RESISTANCE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.immunity, null, position++));
+ initializeSkill(new SkillInfo(SkillID.resistanceBlood, MAX_LEVEL_RESISTANCE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.immunity, null, position++));
+ initializeSkill(new SkillInfo(SkillID.shadowBless, 1, SkillInfo.LevelUpType.onlyByQuests, SkillCategory.immunity, null, position++));
initializeSkill(new SkillInfo(SkillID.crit1, 1, SkillInfo.LevelUpType.alwaysShown, SkillCategory.criticals, new SkillLevelRequirement[] {
SkillLevelRequirement.requireOtherSkill(SkillID.moreCriticals, 3)
,SkillLevelRequirement.requireOtherSkill(SkillID.betterCriticals, 3)
- }));
+ }, position++));
initializeSkill(new SkillInfo(SkillID.crit2, 1, SkillInfo.LevelUpType.alwaysShown, SkillCategory.criticals, new SkillLevelRequirement[] {
SkillLevelRequirement.requireOtherSkill(SkillID.moreCriticals, 6)
,SkillLevelRequirement.requireOtherSkill(SkillID.betterCriticals, 6)
,SkillLevelRequirement.requireOtherSkill(SkillID.crit1, 1)
- }));
+ }, position++));
initializeSkill(new SkillInfo(SkillID.rejuvenation, 1, SkillInfo.LevelUpType.alwaysShown, SkillCategory.immunity, new SkillLevelRequirement[] {
SkillLevelRequirement.requireOtherSkill(SkillID.resistanceBlood, 3)
,SkillLevelRequirement.requireOtherSkill(SkillID.resistanceMental, 3)
,SkillLevelRequirement.requireOtherSkill(SkillID.resistancePhysical, 3)
- }));
+ }, position++));
initializeSkill(new SkillInfo(SkillID.taunt, 1, SkillInfo.LevelUpType.alwaysShown, SkillCategory.defense, new SkillLevelRequirement[] {
SkillLevelRequirement.requireOtherSkill(SkillID.evasion, 2)
,SkillLevelRequirement.requireOtherSkill(SkillID.dodge, 4)
- }));
+ }, position++));
initializeSkill(new SkillInfo(SkillID.concussion, 1, SkillInfo.LevelUpType.alwaysShown, SkillCategory.offense, new SkillLevelRequirement[] {
SkillLevelRequirement.requireOtherSkill(SkillID.speed, 2)
,SkillLevelRequirement.requireOtherSkill(SkillID.weaponChance, 3)
,SkillLevelRequirement.requireOtherSkill(SkillID.weaponDmg, 5)
- }));
- initializeSkill(new SkillInfo(SkillID.weaponProficiencyDagger, 3, SkillInfo.LevelUpType.firstLevelRequiresQuest, SkillCategory.proficiency, null));
- initializeSkill(new SkillInfo(SkillID.weaponProficiency1hsword, 3, SkillInfo.LevelUpType.firstLevelRequiresQuest, SkillCategory.proficiency, null));
- initializeSkill(new SkillInfo(SkillID.weaponProficiency2hsword, 3, SkillInfo.LevelUpType.firstLevelRequiresQuest, SkillCategory.proficiency, null));
- initializeSkill(new SkillInfo(SkillID.weaponProficiencyAxe, 3, SkillInfo.LevelUpType.firstLevelRequiresQuest, SkillCategory.proficiency, null));
- initializeSkill(new SkillInfo(SkillID.weaponProficiencyBlunt, 3, SkillInfo.LevelUpType.firstLevelRequiresQuest, SkillCategory.proficiency, null));
- initializeSkill(new SkillInfo(SkillID.weaponProficiencyUnarmed, 3, SkillInfo.LevelUpType.firstLevelRequiresQuest, SkillCategory.proficiency, null));
- initializeSkill(new SkillInfo(SkillID.armorProficiencyShield, 2, SkillInfo.LevelUpType.firstLevelRequiresQuest, SkillCategory.proficiency, null));
- initializeSkill(new SkillInfo(SkillID.armorProficiencyUnarmored, 3, SkillInfo.LevelUpType.firstLevelRequiresQuest, SkillCategory.proficiency, null));
- initializeSkill(new SkillInfo(SkillID.armorProficiencyLight, 3, SkillInfo.LevelUpType.firstLevelRequiresQuest, SkillCategory.proficiency, null));
- initializeSkill(new SkillInfo(SkillID.armorProficiencyHeavy, 4, SkillInfo.LevelUpType.firstLevelRequiresQuest, SkillCategory.proficiency, null));
+ }, position++));
+ initializeSkill(new SkillInfo(SkillID.weaponProficiencyDagger, 3, SkillInfo.LevelUpType.firstLevelRequiresQuest, SkillCategory.proficiency, null, position++));
+ initializeSkill(new SkillInfo(SkillID.weaponProficiency1hsword, 3, SkillInfo.LevelUpType.firstLevelRequiresQuest, SkillCategory.proficiency, null, position++));
+ initializeSkill(new SkillInfo(SkillID.weaponProficiency2hsword, 3, SkillInfo.LevelUpType.firstLevelRequiresQuest, SkillCategory.proficiency, null, position++));
+ initializeSkill(new SkillInfo(SkillID.weaponProficiencyAxe, 3, SkillInfo.LevelUpType.firstLevelRequiresQuest, SkillCategory.proficiency, null, position++));
+ initializeSkill(new SkillInfo(SkillID.weaponProficiencyBlunt, 3, SkillInfo.LevelUpType.firstLevelRequiresQuest, SkillCategory.proficiency, null, position++));
+ initializeSkill(new SkillInfo(SkillID.weaponProficiencyUnarmed, 3, SkillInfo.LevelUpType.firstLevelRequiresQuest, SkillCategory.proficiency, null, position++));
+ initializeSkill(new SkillInfo(SkillID.weaponProficiencyPole, 3, SkillInfo.LevelUpType.firstLevelRequiresQuest, SkillCategory.proficiency, null, position++));
+ initializeSkill(new SkillInfo(SkillID.armorProficiencyShield, 2, SkillInfo.LevelUpType.firstLevelRequiresQuest, SkillCategory.proficiency, null, position++));
+ initializeSkill(new SkillInfo(SkillID.armorProficiencyUnarmored, 3, SkillInfo.LevelUpType.firstLevelRequiresQuest, SkillCategory.proficiency, null, position++));
+ initializeSkill(new SkillInfo(SkillID.armorProficiencyLight, 3, SkillInfo.LevelUpType.firstLevelRequiresQuest, SkillCategory.proficiency, null, position++));
+ initializeSkill(new SkillInfo(SkillID.armorProficiencyHeavy, 4, SkillInfo.LevelUpType.firstLevelRequiresQuest, SkillCategory.proficiency, null, position++));
initializeSkill(new SkillInfo(SkillID.fightstyleDualWield, 2, SkillInfo.LevelUpType.alwaysShown, SkillCategory.specialty, new SkillLevelRequirement[] {
SkillLevelRequirement.requireExperienceLevels(15, 0)
- }));
+ }, position++));
initializeSkill(new SkillInfo(SkillID.fightstyle2hand, 2, SkillInfo.LevelUpType.alwaysShown, SkillCategory.specialty, new SkillLevelRequirement[] {
SkillLevelRequirement.requireExperienceLevels(15, 0)
- }));
+ }, position++));
initializeSkill(new SkillInfo(SkillID.fightstyleWeaponShield, 2, SkillInfo.LevelUpType.alwaysShown, SkillCategory.specialty, new SkillLevelRequirement[] {
SkillLevelRequirement.requireExperienceLevels(15, 0)
- }));
+ }, position++));
initializeSkill(new SkillInfo(SkillID.specializationDualWield, 1, SkillInfo.LevelUpType.alwaysShown, SkillCategory.specialty, new SkillLevelRequirement[] {
SkillLevelRequirement.requireExperienceLevels(45, 0)
,SkillLevelRequirement.requireOtherSkill(SkillID.fightstyleDualWield, 2)
- }));
+ }, position++));
initializeSkill(new SkillInfo(SkillID.specialization2hand, 1, SkillInfo.LevelUpType.alwaysShown, SkillCategory.specialty, new SkillLevelRequirement[] {
SkillLevelRequirement.requireExperienceLevels(45, 0)
,SkillLevelRequirement.requireOtherSkill(SkillID.fightstyle2hand, 2)
- }));
+ }, position++));
initializeSkill(new SkillInfo(SkillID.specializationWeaponShield, 1, SkillInfo.LevelUpType.alwaysShown, SkillCategory.specialty, new SkillLevelRequirement[] {
SkillLevelRequirement.requireExperienceLevels(45, 0)
,SkillLevelRequirement.requireOtherSkill(SkillID.fightstyleWeaponShield, 2)
- }));
+ }, position++));
}
public SkillInfo getSkill(SkillID skillID) {
@@ -239,7 +243,7 @@ public final class SkillCollection {
public Collection getAllSkills() {
ArrayList result = new ArrayList(skills.size());
- for(int i = 0; i < skills.size(); ++i) result.add(skills.valueAt(i));
+ for(int i = 0; i < skills.size(); ++i) result.add(skills.get(i));
return result;
}
}
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/ability/SkillInfo.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/ability/SkillInfo.java
index 430e1b859..48b0a1081 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/ability/SkillInfo.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/ability/SkillInfo.java
@@ -15,18 +15,21 @@ public final class SkillInfo {
public final LevelUpType levelupVisibility;
public final SkillLevelRequirement[] levelupRequirements;
public final SkillCollection.SkillCategory categoryType;
+ public final int position;
public SkillInfo(
SkillCollection.SkillID id
, int maxLevel
, LevelUpType levelupVisibility
, SkillCollection.SkillCategory categoryType
, SkillLevelRequirement[] levelupRequirements
+ , int position
) {
this.id = id;
this.maxLevel = maxLevel;
this.levelupVisibility = levelupVisibility;
this.levelupRequirements = levelupRequirements;
this.categoryType = categoryType;
+ this.position = position;
}
public boolean hasMaxLevel() {
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/SkillListAdapter.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/SkillListAdapter.java
index d9c628bd3..ec4c2972c 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/SkillListAdapter.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/SkillListAdapter.java
@@ -45,7 +45,7 @@ public final class SkillListAdapter extends ArrayAdapter {
Collections.sort(result, new Comparator() {
@Override
public int compare(SkillInfo a, SkillInfo b) {
- return a.id.ordinal() - b.id.ordinal();
+ return a.position - b.position;
}
});
return result;
@@ -63,7 +63,7 @@ public final class SkillListAdapter extends ArrayAdapter {
Collections.sort(result, new Comparator() {
@Override
public int compare(SkillInfo a, SkillInfo b) {
- return a.id.ordinal() - b.id.ordinal();
+ return a.position - b.position;
}
});
return result;
@@ -158,11 +158,22 @@ public final class SkillListAdapter extends ArrayAdapter {
case specializationDualWield: return R.string.skill_shortdescription_specialization_dualwield;
case specialization2hand: return R.string.skill_shortdescription_specialization_2hand;
case specializationWeaponShield: return R.string.skill_shortdescription_specialization_weapon_shield;
+ case weaponProficiencyPole: return R.string.skill_shortdescription_weapon_prof_pole;
default:
return -1;
}
}
+ public void sortDefault(){
+ Comparator comparatorName = new Comparator() {
+ @Override
+ public int compare(SkillInfo a, SkillInfo b) {
+ return a.position - b.position;
+ }
+ };
+ this.sort(comparatorName);
+ }
+
public void sortByName(){
Comparator comparatorName = new Comparator() {
@Override