|
@@ -57,7 +57,8 @@ namespace XmdsCommonSkill.Plugin.PassiveSkills.Remedy
|
|
|
owner.RegistSendBuff(bt);
|
|
|
|
|
|
this.mNextTriggerTime = CommonLang.CUtils.localTimeMS + triggerInterval.GetValue();
|
|
|
- mUUID_1 = owner.RegistOnHitDamage(OnHandleHitDamage, skillInfo, true);
|
|
|
+ //mUUID_1 = owner.RegistOnHitDamage(OnHandleHitDamage, skillInfo, true);
|
|
|
+ mUUID_1 = owner.RegistShareMasterDmgEvent(OnShareMasterDmgEvent, skillInfo);
|
|
|
}
|
|
|
|
|
|
protected override void OnSkillDataChange(GameSkill gs, XmdsVirtual unit)
|
|
@@ -72,22 +73,38 @@ namespace XmdsCommonSkill.Plugin.PassiveSkills.Remedy
|
|
|
bt.LifeTimeMS = buffTime.GetValue(gs.SkillLevel);
|
|
|
}
|
|
|
|
|
|
- private float OnHandleHitDamage(float damage, XmdsVirtual hitted, XmdsVirtual attacker, AttackSource source,
|
|
|
- ref XmdsVirtual.AtkResult result, DamageType damageType, GameSkill skill, ref bool isEndDispatch)
|
|
|
+ private int OnShareMasterDmgEvent(int hp, InstanceUnit sender, InstanceUnit unit, GameSkill skill, ref bool isEndDispatch)
|
|
|
{
|
|
|
- UnitFateType fateType = hitted.GetUnitFateType();
|
|
|
- if (fateType != UnitFateType.None && damageType == DamageType.Damage &&
|
|
|
- this.mNextTriggerTime < CommonLang.CUtils.localTimeMS &&
|
|
|
- IsTrigger(hitted, triggerRate, triggerRateExt, skill, fateType))
|
|
|
+ XmdsVirtual virUnit = unit.Virtual as XmdsVirtual;
|
|
|
+ UnitFateType fateType = virUnit.GetUnitFateType();
|
|
|
+ if (fateType != UnitFateType.None && hp > 0 && this.mNextTriggerTime < CommonLang.CUtils.localTimeMS &&
|
|
|
+ IsTrigger(virUnit, triggerRate, triggerRateExt, skill, fateType))
|
|
|
{
|
|
|
- hitted.mUnit.AddBuff(Buff_ID, hitted.mUnit);
|
|
|
+ virUnit.mUnit.AddBuff(Buff_ID, virUnit.mUnit);
|
|
|
|
|
|
this.mNextTriggerTime = CommonLang.CUtils.localTimeMS + triggerInterval.GetValue();
|
|
|
- base.NotifyTriggerAblity(hitted.mUnit, this.SkillID);
|
|
|
+ base.NotifyTriggerAblity(virUnit.mUnit, this.SkillID);
|
|
|
}
|
|
|
|
|
|
- return damage;
|
|
|
- }
|
|
|
+ return hp;
|
|
|
+ }
|
|
|
+
|
|
|
+ //private float OnHandleHitDamage(float damage, XmdsVirtual hitted, XmdsVirtual attacker, AttackSource source,
|
|
|
+ //ref XmdsVirtual.AtkResult result, DamageType damageType, GameSkill skill, ref bool isEndDispatch)
|
|
|
+ //{
|
|
|
+ // UnitFateType fateType = hitted.GetUnitFateType();
|
|
|
+ // if (fateType != UnitFateType.None && damageType == DamageType.Damage &&
|
|
|
+ // this.mNextTriggerTime < CommonLang.CUtils.localTimeMS &&
|
|
|
+ // IsTrigger(hitted, triggerRate, triggerRateExt, skill, fateType))
|
|
|
+ // {
|
|
|
+ // hitted.mUnit.AddBuff(Buff_ID, hitted.mUnit);
|
|
|
+
|
|
|
+ // this.mNextTriggerTime = CommonLang.CUtils.localTimeMS + triggerInterval.GetValue();
|
|
|
+ // base.NotifyTriggerAblity(hitted.mUnit, this.SkillID);
|
|
|
+ // }
|
|
|
+
|
|
|
+ // return damage;
|
|
|
+ //}
|
|
|
|
|
|
protected override void OnInitSkillParam()
|
|
|
{
|
|
@@ -101,7 +118,8 @@ namespace XmdsCommonSkill.Plugin.PassiveSkills.Remedy
|
|
|
|
|
|
protected override void OnDispose(XmdsVirtual owner)
|
|
|
{
|
|
|
- owner.UnRegistOnHitDamage(mUUID_1);
|
|
|
+ //owner.UnRegistOnHitDamage(mUUID_1);
|
|
|
+ owner.UnRegistShareMasterDmgEvent(mUUID_1);
|
|
|
}
|
|
|
}
|
|
|
}
|