Common skill adjustments.

This commit is contained in:
MobiusDevelopment
2022-04-27 22:06:32 +00:00
parent f31802bd4b
commit fba8415b6d
5 changed files with 27 additions and 41 deletions

View File

@@ -1290,13 +1290,27 @@
</effect> </effect>
</for> </for>
</skill> </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. --> <!-- A penalty applied when the grade of equipment one is wearing is not appropriate for one's level. -->
<set name="icon" val="icon.skill4267" /> <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="magicLevel" val="1" />
<set name="operateType" val="P" /> <set name="operateType" val="P" />
<set name="stayAfterDeath" val="true" /> <set name="stayAfterDeath" val="true" />
<set name="targetType" val="SELF" /> <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>
<skill id="4268" levels="1" name="Danger Area"> <skill id="4268" levels="1" name="Danger Area">
<!-- You are located in an area in which you can can receive environmental damage or penalty. --> <!-- You are located in an area in which you can can receive environmental damage or penalty. -->

View File

@@ -2026,44 +2026,27 @@ public class Player extends Playable
} }
} }
boolean changed = false;
// calc weapon penalty // calc weapon penalty
weaponPenalty = weaponPenalty - expertiseLevel - _expertisePenaltyBonus; weaponPenalty = weaponPenalty - expertiseLevel - _expertisePenaltyBonus;
weaponPenalty = Math.min(Math.max(weaponPenalty, 0), 4); 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 // calc armor penalty
armorPenalty = armorPenalty - expertiseLevel - _expertisePenaltyBonus; armorPenalty = armorPenalty - expertiseLevel - _expertisePenaltyBonus;
armorPenalty = Math.min(Math.max(armorPenalty, 0), 4); 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; _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 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)); sendPacket(new EtcStatusUpdate(this));
} }
} }

View File

@@ -30,7 +30,7 @@ public enum CommonSkill
BUILD_HEADQUARTERS(247, 1), BUILD_HEADQUARTERS(247, 1),
WYVERN_BREATH(4289, 1), WYVERN_BREATH(4289, 1),
STRIDER_SIEGE_ASSAULT(325, 1), STRIDER_SIEGE_ASSAULT(325, 1),
FIREWORK(5965, 1), FIREWORK(2024, 1),
LARGE_FIREWORK(2025, 1), LARGE_FIREWORK(2025, 1),
BLESSING_OF_PROTECTION(5182, 1), BLESSING_OF_PROTECTION(5182, 1),
VOID_BURST(3630, 1), VOID_BURST(3630, 1),
@@ -38,17 +38,13 @@ public enum CommonSkill
THE_VICTOR_OF_WAR(5074, 1), THE_VICTOR_OF_WAR(5074, 1),
THE_VANQUISHED_OF_WAR(5075, 1), THE_VANQUISHED_OF_WAR(5075, 1),
SPECIAL_TREE_RECOVERY_BONUS(2139, 1), SPECIAL_TREE_RECOVERY_BONUS(2139, 1),
WEAPON_GRADE_PENALTY(6209, 1), GRADE_PENALTY(4267, 1),
ARMOR_GRADE_PENALTY(6213, 1),
CREATE_DWARVEN(172, 1), CREATE_DWARVEN(172, 1),
LUCKY(194, 1), LUCKY(194, 1),
EXPERTISE(239, 1), EXPERTISE(239, 1),
CRYSTALLIZE(248, 1), CRYSTALLIZE(248, 1),
ONYX_BEAST_TRANSFORMATION(617, 1),
CREATE_COMMON(1320, 1), CREATE_COMMON(1320, 1),
DIVINE_INSPIRATION(1405, 1), DIVINE_INSPIRATION(1405, 1);
SERVITOR_SHARE(1557, 1),
CARAVANS_SECRET_MEDICINE(2341, 1);
private final SkillHolder _holder; private final SkillHolder _holder;

View File

@@ -1496,7 +1496,7 @@ public class Skill implements IIdentifiable
*/ */
public boolean canBeStolen() 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() public boolean isClanSkill()

View File

@@ -215,14 +215,7 @@ public class RequestAcquireSkill implements IClientIncomingPacket
{ {
if (player.getSkillLevel(skill.getSkillId()) < skill.getSkillLevel()) if (player.getSkillLevel(skill.getSkillId()) < skill.getSkillLevel())
{ {
if (skill.getSkillId() == CommonSkill.ONYX_BEAST_TRANSFORMATION.getId()) player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_THE_NECESSARY_MATERIALS_OR_PREREQUISITES_TO_LEARN_THIS_SKILL);
{
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);
}
return false; return false;
} }
} }