Common skill adjustments.
This commit is contained in:
@@ -1290,13 +1290,27 @@
|
||||
</effect>
|
||||
</for>
|
||||
</skill>
|
||||
<skill id="4267" levels="1" name="Grade Penalty">
|
||||
<skill id="4267" levels="10" name="Grade Penalty">
|
||||
<!-- A penalty applied when the grade of equipment one is wearing is not appropriate for one's level. -->
|
||||
<set name="icon" val="icon.skill4267" />
|
||||
<table name="#rate">0.22 0.19 0.16 0.13 0.1 0.1 0.1 0.1 0.1 0.1</table>
|
||||
<set name="magicLevel" val="1" />
|
||||
<set name="operateType" val="P" />
|
||||
<set name="stayAfterDeath" val="true" />
|
||||
<set name="targetType" val="SELF" />
|
||||
<for>
|
||||
<effect name="Buff">
|
||||
<mul stat="pAtkSpd" val="#rate" />
|
||||
<mul stat="mAtkSpd" val="#rate" />
|
||||
<mul stat="rEvas" val="#rate" />
|
||||
<mul stat="rExp" val="#rate" />
|
||||
<mul stat="runSpd" val="#rate" />
|
||||
<mul stat="regHp" val="#rate" />
|
||||
<mul stat="regCp" val="#rate" />
|
||||
<mul stat="regMp" val="#rate" />
|
||||
<sub stat="accCombat" val="20" />
|
||||
</effect>
|
||||
</for>
|
||||
</skill>
|
||||
<skill id="4268" levels="1" name="Danger Area">
|
||||
<!-- You are located in an area in which you can can receive environmental damage or penalty. -->
|
||||
|
@@ -2026,44 +2026,27 @@ public class Player extends Playable
|
||||
}
|
||||
}
|
||||
|
||||
boolean changed = false;
|
||||
|
||||
// calc weapon penalty
|
||||
weaponPenalty = weaponPenalty - expertiseLevel - _expertisePenaltyBonus;
|
||||
weaponPenalty = Math.min(Math.max(weaponPenalty, 0), 4);
|
||||
if ((_expertiseWeaponPenalty != weaponPenalty) || (getSkillLevel(CommonSkill.WEAPON_GRADE_PENALTY.getId()) != weaponPenalty))
|
||||
{
|
||||
_expertiseWeaponPenalty = weaponPenalty;
|
||||
if (_expertiseWeaponPenalty > 0)
|
||||
{
|
||||
addSkill(SkillData.getInstance().getSkill(CommonSkill.WEAPON_GRADE_PENALTY.getId(), _expertiseWeaponPenalty));
|
||||
}
|
||||
else
|
||||
{
|
||||
removeSkill(getKnownSkill(CommonSkill.WEAPON_GRADE_PENALTY.getId()), false, true);
|
||||
}
|
||||
changed = true;
|
||||
}
|
||||
|
||||
// calc armor penalty
|
||||
armorPenalty = armorPenalty - expertiseLevel - _expertisePenaltyBonus;
|
||||
armorPenalty = Math.min(Math.max(armorPenalty, 0), 4);
|
||||
if ((_expertiseArmorPenalty != armorPenalty) || (getSkillLevel(CommonSkill.ARMOR_GRADE_PENALTY.getId()) != armorPenalty))
|
||||
|
||||
if ((_expertiseWeaponPenalty != weaponPenalty) || (_expertiseArmorPenalty != armorPenalty))
|
||||
{
|
||||
_expertiseWeaponPenalty = weaponPenalty;
|
||||
_expertiseArmorPenalty = armorPenalty;
|
||||
if (_expertiseArmorPenalty > 0)
|
||||
if ((_expertiseWeaponPenalty > 0) || (_expertiseArmorPenalty > 0))
|
||||
{
|
||||
addSkill(SkillData.getInstance().getSkill(CommonSkill.ARMOR_GRADE_PENALTY.getId(), _expertiseArmorPenalty));
|
||||
addSkill(SkillData.getInstance().getSkill(CommonSkill.GRADE_PENALTY.getId(), Math.max(weaponPenalty, armorPenalty)));
|
||||
}
|
||||
else
|
||||
{
|
||||
removeSkill(getKnownSkill(CommonSkill.ARMOR_GRADE_PENALTY.getId()), false, true);
|
||||
removeSkill(getKnownSkill(CommonSkill.GRADE_PENALTY.getId()), false, true);
|
||||
}
|
||||
changed = true;
|
||||
}
|
||||
|
||||
if (changed)
|
||||
{
|
||||
sendPacket(new EtcStatusUpdate(this));
|
||||
}
|
||||
}
|
||||
|
@@ -30,7 +30,7 @@ public enum CommonSkill
|
||||
BUILD_HEADQUARTERS(247, 1),
|
||||
WYVERN_BREATH(4289, 1),
|
||||
STRIDER_SIEGE_ASSAULT(325, 1),
|
||||
FIREWORK(5965, 1),
|
||||
FIREWORK(2024, 1),
|
||||
LARGE_FIREWORK(2025, 1),
|
||||
BLESSING_OF_PROTECTION(5182, 1),
|
||||
VOID_BURST(3630, 1),
|
||||
@@ -38,17 +38,13 @@ public enum CommonSkill
|
||||
THE_VICTOR_OF_WAR(5074, 1),
|
||||
THE_VANQUISHED_OF_WAR(5075, 1),
|
||||
SPECIAL_TREE_RECOVERY_BONUS(2139, 1),
|
||||
WEAPON_GRADE_PENALTY(6209, 1),
|
||||
ARMOR_GRADE_PENALTY(6213, 1),
|
||||
GRADE_PENALTY(4267, 1),
|
||||
CREATE_DWARVEN(172, 1),
|
||||
LUCKY(194, 1),
|
||||
EXPERTISE(239, 1),
|
||||
CRYSTALLIZE(248, 1),
|
||||
ONYX_BEAST_TRANSFORMATION(617, 1),
|
||||
CREATE_COMMON(1320, 1),
|
||||
DIVINE_INSPIRATION(1405, 1),
|
||||
SERVITOR_SHARE(1557, 1),
|
||||
CARAVANS_SECRET_MEDICINE(2341, 1);
|
||||
DIVINE_INSPIRATION(1405, 1);
|
||||
|
||||
private final SkillHolder _holder;
|
||||
|
||||
|
@@ -1496,7 +1496,7 @@ public class Skill implements IIdentifiable
|
||||
*/
|
||||
public boolean canBeStolen()
|
||||
{
|
||||
return !isPassive() && !isToggle() && !_isDebuff && !_isHeroSkill && !_isGMSkill && !(isStatic() && (getId() != CommonSkill.CARAVANS_SECRET_MEDICINE.getId())) && _canBeDispeled && (getId() != CommonSkill.SERVITOR_SHARE.getId());
|
||||
return !isPassive() && !isToggle() && !_isDebuff && !_isHeroSkill && !_isGMSkill && !isStatic() && _canBeDispeled;
|
||||
}
|
||||
|
||||
public boolean isClanSkill()
|
||||
|
@@ -215,14 +215,7 @@ public class RequestAcquireSkill implements IClientIncomingPacket
|
||||
{
|
||||
if (player.getSkillLevel(skill.getSkillId()) < skill.getSkillLevel())
|
||||
{
|
||||
if (skill.getSkillId() == CommonSkill.ONYX_BEAST_TRANSFORMATION.getId())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_MUST_LEARN_THE_ONYX_BEAST_SKILL_BEFORE_YOU_CAN_ACQUIRE_FURTHER_SKILLS);
|
||||
}
|
||||
else
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_THE_NECESSARY_MATERIALS_OR_PREREQUISITES_TO_LEARN_THIS_SKILL);
|
||||
}
|
||||
player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_THE_NECESSARY_MATERIALS_OR_PREREQUISITES_TO_LEARN_THIS_SKILL);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user