public override void SetImpact(CreatureEffectsImpact impact) { if (IsUpdateStats) return; Player Player = Creature as Player; CreatureBaseStats baseStats = Global.Global.StatsService.GetBaseStats(Player); double increase = 0.0; if (Ability.level < 1) return; increase = Ability.FirstLevel; for (int i = 1; i < Ability.level; i++) { increase += Ability.Step; } double percent = 1 + (increase / 100); impact.ChangeOfAttack = (int)(baseStats.Attack * percent); IsUpdateStats = true; }
public override void SetImpact(CreatureEffectsImpact impact) { switch (Effect.Method) { case 2: impact.AttackSpeedModificator += (short) Effect.Value; break; case 3: //Percent impact.AttackSpeedPercentModificator += Effect.Value; break; default: Player player = Creature as Player; if (player != null) new SpChatMessage("Unknown method " + Effect.Method + " for EfAttackSpeedInc effect.", ChatType.System).Send(player); break; } }
public override void SetImpact(CreatureEffectsImpact impact) { if (IsUpdateStats) return; double increase = 0.0; if (Ability.level < 1) return; increase = Ability.FirstLevel; for (int i = 1; i < Ability.level; i++) { increase += Ability.Step; } impact.ChangeOfBlockDamageChance = (int)increase; IsUpdateStats = true; }
public void SetImpact(CreatureEffectsImpact impact) { Effects.ForEach(effect => effect.SetImpact(impact)); }
public virtual void SetImpact(Data.Structures.Creature.CreatureEffectsImpact impact) { }
public virtual void SetImpact(CreatureEffectsImpact impact) { }