/// <summary> /// Manages speed bars /// </summary> public virtual void UpdateTime() { pc.ResetPosition(); if (status == STATUS.DEAD) { ResetTimer(); return; //Do nothing if dead } CheckLevel(); CheckLowHealth(); if (moveTimer < 100) { float addTime = Time.deltaTime + (Spd / (25f) * BattleManager.gameSpeed); //Calculate speed gague incremental increase //Tile Effect if (pc.GetTileEffect1() == Tile.EFFECT.STUCK) { addTime /= 2; //Slow if standing on an impeding tile } if (pc.GetTileEffect2() == Tile.EFFECT.STUCK) { addTime /= 2; } //Status Effect if (ec != null) { if (ec.CheckEffect("SWIFT")) { addTime *= 1.7f; //Increase by 70% } else if (ec.CheckEffect("SLOW")) { addTime *= 0.5f; //Decrease by half } } moveTimer += addTime; if (moveTimer > 100) { moveTimer = 100; } } else if (moveTimer == 100) { Ready = true; //Roll status effects ec.StatusEffectsTurn(); ec.TileEffectsTurn(pc.tile.effect1); ec.TileEffectsTurn(pc.tile.effect2); moveTimer = 100.1f; //Prevent this block from being executed again before turn is used } }
/***TEMPORARY CALCULATIONS***/ /// <summary> /// Physical effect calculation - damage done by physical ATK /// </summary> public void PhysicalEffectCalculation() { int damage = user.Atk; int defense = target.Def; //EFFECT - SWAPPED if (ec.CheckEffect("SWAPPED")) { damage = user.Mag + user.Vlt; } physicalDmg = damage - defense; //Defense Modifiers if (target.ec.CheckEffect("ARMOR")) { physicalDmg = 0; //EFFECT - ARMOR } if (target.ec.CheckEffect("PROTECT")) { physicalDmg /= 2; //EFFECT - PROTECT } //Attack Modifiers if (ec.CheckEffect("INTENSE")) { physicalDmg *= 3; //EFFECT - INTENSE } if (physicalDmg < 0) { physicalDmg = 0; } }