public virtual IMultipliable Tick(IMultipliable dataContainer) { ticksUntilNextDamage = ticksUntilNextDamage - 1; if (ticksUntilNextDamage < 1) { ticksUntilNextDamage = TicksUntilNextDamage(); IMultipliable result = dataContainer.Multiply(DamageRatio(1)); return(result); } return(dataContainer.Multiply(0)); }
public override IMultipliable Tick(IMultipliable dataContainer) { timePassed += SEAL.MS_PER_TICK; ticksUntilNextDamage = ticksUntilNextDamage - 1; if (timePassed >= durationInSeconds) { return(null); } if (ticksUntilNextDamage < 1) { ticksUntilNextDamage = TicksUntilNextDamage(); IMultipliable result = dataContainer.Multiply(DamageRatio(durationInSeconds)); return(result); } return(dataContainer.Multiply(0)); }