public override float Filter(NTGBattlePassive.Filter f, object param, float value) { if (f == NTGBattlePassive.Filter.Hit) { var p = (NTGBattlePassive.EventHitParam)param; if (p.target == owner && (p.behaviour.type == NTGBattleSkillType.Attack || p.behaviour.type == NTGBattleSkillType.HostileSkill || p.behaviour.type == NTGBattleSkillType.HostilePassive)) { if (value < pShieldAmount) { owner.shield -= pShieldAmount; pShieldAmount -= value; owner.shield += pShieldAmount; return(0); } else { owner.shield -= pShieldAmount; pShieldAmount = 0; owner.shield += pShieldAmount; return(value - pShieldAmount); } } } return(value); }
public override float Filter(NTGBattlePassive.Filter f, object param, float value) { if (f == NTGBattlePassive.Filter.Hit) { var p = (NTGBattlePassive.EventHitParam)param; if (p.behaviour.effectType == EffectType.HpRecover) { return(value * (1 - this.param[0])); } } return(value); }
public override float Filter(NTGBattlePassive.Filter f, object param, float value) { if (f == NTGBattlePassive.Filter.Hit) { var p = (NTGBattlePassive.EventHitParam)param; if (p.target == owner && (p.behaviour.type == NTGBattleSkillType.Attack || p.behaviour.type == NTGBattleSkillType.HostileSkill || p.behaviour.type == NTGBattleSkillType.HostilePassive) && p.behaviour.effectType != EffectType.RealDamage) { return(value * (1.0f - (1.0f - owner.hp / owner.hpMax) / 0.03f * 0.01f)); } } return(value); }
public override float Filter(NTGBattlePassive.Filter f, object param, float value) { if (f == NTGBattlePassive.Filter.Hit) { var p = (NTGBattlePassive.EventHitParam)param; if (p.target == owner && p.shooter == this.shooter && owner.hp / owner.hpMax <= this.param[0]) { value = value * (1 + this.param[1]); } isAdd = true; } return(value); }
public override float Filter(NTGBattlePassive.Filter f, object param, float value) { if (f == NTGBattlePassive.Filter.Hit) { var p = (NTGBattlePassive.EventHitParam)param; if (owner.group == 3 && p.target == owner && p.shooter == shooter) { pDamage = value * (1 + this.param[0]); StartCoroutine(doCount()); return(pDamage); } } return(value); }
public override float Filter(NTGBattlePassive.Filter f, object param, float value) { if (f == NTGBattlePassive.Filter.Hit) { var p = (NTGBattlePassive.EventHitParam)param; if (p.target == owner && p.behaviour.type == NTGBattleSkillType.Attack) { //Debug.Log(value); pDamage = value * (1 - this.param[0]); //Debug.Log(pDamage + " " + this.param[0] + " " + value); return(pDamage); } } return(value); }
public override float Filter(NTGBattlePassive.Filter f, object param, float value) { if (f == NTGBattlePassive.Filter.Hit) { var p = (NTGBattlePassive.EventHitParam)param; if (value > owner.hp && p.target == owner && p.shooter.group != owner.group && skillController.inCd <= 0) { owner.hp = 1; StartCoroutine(doCount()); skillController.StartCD(); StartCoroutine(doCd()); return(0); } } return(value); }
public override float Filter(NTGBattlePassive.Filter f, object param, float value) { if (f == NTGBattlePassive.Filter.Hit) { var p = (NTGBattlePassive.EventHitParam)param; if (p.shooter != owner && (p.behaviour.type == NTGBattleSkillType.Attack || ((p.behaviour.type == NTGBattleSkillType.HostileSkill) && p.behaviour.effectType == NTGBattleSkillBehaviour.EffectType.PhysicDamage)) && p.shooter.alive && !(p.shooter is NTGBattleMobTowerController)) { pDamage = (p.behaviour.baseValue + p.behaviour.pAdd * p.shooter.pAtk) * pValue; ShootBase(p.shooter); baseValue = pDamage; effectType = EffectType.MagicDamage; p.shooter.Hit(owner, this); FXHit(p.shooter); } } return(value); }
public virtual float Filter(NTGBattlePassive.Filter f, object param, float value) { return(value); }