private void UpdateHsHelperWithPetLevel(int petLevel) { ICombatPetLevelInfo info = CombatPetLevelTable.PetLevelTable[petLevel]; targetSearchDistance = info.BaseSearchRange; attackFrames = GetAttackFrames(info); hsHelper.projectileVelocity = GetProjectileVelocity(info); hsHelper.attackFrames = attackFrames; hsHelper.travelSpeed = (int)info.BaseSpeed; hsHelper.inertia = info.Level < 6 ? 10 : 15 - info.Level; }
internal virtual float ModifyProjectileDamage(ICombatPetLevelInfo info) => 1f;
internal virtual int GetAttackFrames(ICombatPetLevelInfo info) => Math.Max(30, 60 - 6 * info.Level);
internal virtual int GetProjectileVelocity(ICombatPetLevelInfo info) => (int)info.BaseSpeed + 3;
internal override int GetAttackFrames(ICombatPetLevelInfo info) => 90;
internal override int GetAttackFrames(ICombatPetLevelInfo info) => Math.Max(50, 65 - 3 * info.Level);
internal override int GetAttackFrames(ICombatPetLevelInfo info) => (int)(base.GetAttackFrames(info) * (info.Level >= (int)CombatPetTier.Spectre ? 1.5f : 1f));