diff --git a/AndorsTrail/res/values/strings.xml b/AndorsTrail/res/values/strings.xml
index 6d6b1429f..f98bae629 100644
--- a/AndorsTrail/res/values/strings.xml
+++ b/AndorsTrail/res/values/strings.xml
@@ -750,6 +750,12 @@ Items made of cloth are not considered as being armor."
Changing UI theme requires restart. Andor\'s Trail has been closed.
Access to storage is mandatory for Andor\'s Trail to handle saved games and worldmap. Closing Andor\'s Trail.
-
+
+
+
+
+ Spore poison immunity
+ Full immunity to spore poison
+ Permanently prevents monster attacks from inflicting the "Spore poisoning" status effect.
\ No newline at end of file
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/SkillInfoActivity.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/SkillInfoActivity.java
index aac4f63b4..071a23cf0 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/SkillInfoActivity.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/SkillInfoActivity.java
@@ -130,6 +130,7 @@ public final class SkillInfoActivity extends AndorsTrailBaseActivity {
case resistancePhysical: return R.string.skill_title_resistance_physical_capacity;
case resistanceBlood: return R.string.skill_title_resistance_blood_disorder;
case shadowBless: return R.string.skill_title_shadow_bless;
+ case sporeImmunity: return R.string.skill_title_spore_immunity;
case crit1: return R.string.skill_title_crit1;
case crit2: return R.string.skill_title_crit2;
case rejuvenation: return R.string.skill_title_rejuvenation;
@@ -181,6 +182,7 @@ public final class SkillInfoActivity extends AndorsTrailBaseActivity {
case resistancePhysical: return res.getString(R.string.skill_longdescription_resistance_physical_capacity, SkillCollection.PER_SKILLPOINT_INCREASE_RESISTANCE_CHANCE_PERCENT, SkillCollection.PER_SKILLPOINT_INCREASE_RESISTANCE_CHANCE_PERCENT * SkillCollection.MAX_LEVEL_RESISTANCE);
case resistanceBlood: return res.getString(R.string.skill_longdescription_resistance_blood_disorder, SkillCollection.PER_SKILLPOINT_INCREASE_RESISTANCE_CHANCE_PERCENT, SkillCollection.PER_SKILLPOINT_INCREASE_RESISTANCE_CHANCE_PERCENT * SkillCollection.MAX_LEVEL_RESISTANCE);
case shadowBless: return res.getString(R.string.skill_longdescription_shadow_bless, SkillCollection.PER_SKILLPOINT_INCREASE_RESISTANCE_SHADOW_BLESS);
+ case sporeImmunity: return res.getString(R.string.skill_longdescription_spore_immunity);
case crit1: return res.getString(R.string.skill_longdescription_crit1, SkillCollection.PER_SKILLPOINT_INCREASE_CRIT1_CHANCE);
case crit2: return res.getString(R.string.skill_longdescription_crit2, SkillCollection.PER_SKILLPOINT_INCREASE_CRIT2_CHANCE);
case rejuvenation: return res.getString(R.string.skill_longdescription_rejuvenation, SkillCollection.PER_SKILLPOINT_INCREASE_REJUVENATION_CHANCE);
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/SkillController.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/SkillController.java
index cb696efa1..f2c627330 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/SkillController.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/SkillController.java
@@ -126,6 +126,9 @@ public final class SkillController {
int result = 0;
result += getActorConditionEffectChanceRollBiasFromResistanceSkills(effect, player);
result += getActorConditionEffectChanceRollBias(effect, player, SkillID.shadowBless, SkillCollection.PER_SKILLPOINT_INCREASE_RESISTANCE_SHADOW_BLESS);
+ if ("spore_poison".equals(effect.conditionType.conditionTypeID)) {
+ result += getActorConditionEffectChanceRollBias(effect, player, SkillID.sporeImmunity, 100);
+ }
return result;
}
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 b8d753a58..0e28e5eb9 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/ability/SkillCollection.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/ability/SkillCollection.java
@@ -33,6 +33,7 @@ public final class SkillCollection {
,resistancePhysical // lowers chance to get negative active conditions by monsters (Physical Capacity like Minor fatigue)
,resistanceBlood // lowers chance to get negative active conditions by monsters (Blood Disorder like Weak Poison)
,shadowBless
+ ,sporeImmunity
,crit1 // lowers atk ability
,crit2 // lowers def ability ,rejuvenation // Reduces magnitudes of conditions
,rejuvenation // Reduces magnitudes of conditions
@@ -186,6 +187,7 @@ public final class SkillCollection {
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.sporeImmunity, 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)
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/SkillListAdapter.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/SkillListAdapter.java
index 4138a4d2c..dc137328a 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/SkillListAdapter.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/SkillListAdapter.java
@@ -137,6 +137,7 @@ public final class SkillListAdapter extends ArrayAdapter {
case resistancePhysical: return R.string.skill_shortdescription_resistance_physical_capacity;
case resistanceBlood: return R.string.skill_shortdescription_resistance_blood_disorder;
case shadowBless: return R.string.skill_shortdescription_shadow_bless;
+ case sporeImmunity: return R.string.skill_shortdescription_spore_immunity;
case crit1: return R.string.skill_shortdescription_crit1;
case crit2: return R.string.skill_shortdescription_crit2;
case rejuvenation: return R.string.skill_shortdescription_rejuvenation;