|
@@ -36,6 +36,8 @@ namespace XmdsCommonSkill.Plugin.PassiveSkills.Remedy
|
|
|
|
|
|
|
|
|
private static XmdsSkillValue mValueSet1;
|
|
|
+
|
|
|
+ private static XmdsSkillValue mValueSet2;
|
|
|
|
|
|
|
|
|
private PlayerCache_Remedy mPlayerCache;
|
|
@@ -44,8 +46,9 @@ namespace XmdsCommonSkill.Plugin.PassiveSkills.Remedy
|
|
|
protected override void OnInit(GameSkill skillInfo, XmdsVirtual owner)
|
|
|
{
|
|
|
int skillLv = skillInfo.GetPassiveLevel();
|
|
|
- mPlayerCache = XmdsPlayerCache.PlayerTalnetInit(XmdsUnitPro.Priest, owner.mUnit, mValueSet1.GetValue(skillLv, 1), null) as PlayerCache_Remedy;
|
|
|
- owner.SetPlayerCache(mPlayerCache);
|
|
|
+ IntIntIntData poisonRule = new IntIntIntData(mValueSet2.GetValue(skillLv, 1), mValueSet2.GetValue(skillLv, 2), 0);
|
|
|
+ mPlayerCache = XmdsPlayerCache.PlayerTalnetInit(XmdsUnitPro.Priest, owner.mUnit, 0, poisonRule) as PlayerCache_Remedy;
|
|
|
+ owner.SetPlayerCache(mPlayerCache);
|
|
|
|
|
|
|
|
|
var pack1 = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_POISON);
|
|
@@ -100,9 +103,12 @@ namespace XmdsCommonSkill.Plugin.PassiveSkills.Remedy
|
|
|
}
|
|
|
|
|
|
|
|
|
- if(poisonRate.value1 > 0 && poisonRate.value2 > 0 && attacker.mUnit.RandomN.Next(GlobalData.RATE_BASE) < (poisonRate.value1 + mPlayerCache.GetRateAddition()))
|
|
|
+ if (poisonRate.value1 > 0 && poisonRate.value2 > 0 && attacker.mUnit.RandomN.Next(GlobalData.RATE_BASE) < (poisonRate.value1 + mPlayerCache.GetRateAddition()))
|
|
|
{
|
|
|
- hitted.mUnit.AddBuff(Buff_POISON, attacker.mUnit, 0, false, false, false, 0, poisonRate.value2);
|
|
|
+ if (mPlayerCache.IsCanAddPosion(hitted))
|
|
|
+ {
|
|
|
+ hitted.mUnit.AddBuff(Buff_POISON, attacker.mUnit, 0, false, false, false, 0, poisonRate.value2);
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|
|
@@ -122,7 +128,7 @@ namespace XmdsCommonSkill.Plugin.PassiveSkills.Remedy
|
|
|
buff.mDeeperDmg = mValueSet1.GetValue(skillLv, 4);
|
|
|
buff.mDeeperDmgPer = mValueSet1.GetValue(skillLv, 5);
|
|
|
|
|
|
- mPlayerCache.RefreshConfig(mValueSet1.GetValue(skillLv, 1));
|
|
|
+ mPlayerCache.RefreshConfig(mValueSet1.GetValue(skillLv, 1), mValueSet1.GetValue(skillLv, 2));
|
|
|
}
|
|
|
|
|
|
protected override void OnDispose(XmdsVirtual owner)
|
|
@@ -135,6 +141,7 @@ namespace XmdsCommonSkill.Plugin.PassiveSkills.Remedy
|
|
|
{
|
|
|
XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID);
|
|
|
InitData(data, out mValueSet1, XmdsSkillData.XmdsSkillDataKey.ValueSet);
|
|
|
+ InitData(data, out mValueSet2, XmdsSkillData.XmdsSkillDataKey.ValueSet2);
|
|
|
}
|
|
|
}
|
|
|
|