/*
    lsadl is a frontend/wrapper to the adl_sdk using gtk
    Copyright (C) 2011  Sterling Pickens

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/


#include "Globals.h"

int No_Exit;

// Primary Attr, Base Str, Str Growth, Base Agi, Agi Growth, Base Int, Int Growth, Mov. speed, Starting Armor, BAT, Damage (min), Damage (max),
// Attack range, Missile speed, Attack point, Day sight range, Night sight range, Turn rate, Collision size
// http://dota2.gamepedia.com/Table_of_Hero_attributes

struct Attr heroes[HEROES] = {
	{"Abaddon", STR, 23, 2.7, 17, 1.5, 21, 2, 310, 1.38, 1.7, 55, 65, MELEE, 0, 0.56, 1800, 800, 0.6, 24},
	{"Alchemist", STR, 25, 1.8, 11, 1.2, 25, 1.8, 295, 1.54, 1.7, 49, 58, MELEE, 0, 0.35, 1800, 800, 0.6, 24},
	{"Ancient Apparition", INT, 18, 1.4, 20, 2.2, 25, 2.6, 295, 1.8, 1.7, 44, 54, 600, 1250, 0.45, 1800, 800, 0.6, 24},
	{"Anti-Mage", AGI, 22, 1.2, 22, 2.8, 15, 1.8, 315, 2.08, 1.45, 49, 53, MELEE, 0, 0.3, 1800, 800, 0.5, 24},
	{"Axe", STR, 25, 2.5, 20, 2.2, 18, 1.6, 290, 1.8, 1.7, 49, 53, MELEE, 0, 0.5, 1800, 800, 0.6, 24},
	{"Bane", INT, 22, 2.1, 22, 2.1, 22, 2.1, 315, 4.08, 1.7, 55, 61, 400, 900, 0.3, 1800, 800, 0.6, 24},
	{"Batrider", INT, 23, 2.4, 15, 1.5, 24, 2.5, 290, 2.1, 1.7, 38, 42, 375, 900, 0.3, 1200, 800, 1, 24},
	{"Beastmaster", STR, 23, 2.2, 18, 1.6, 16, 1.9, 310, 4.52, 1.7, 60, 64, MELEE, 0, 0.3, 1800, 800, 0.4, 24},
	{"Bloodseeker", AGI, 23, 2, 24, 3, 18, 1.7, 290, 3.36, 1.7, 53, 59, MELEE, 0, 0.43, 1800, 800, 0.5, 24},
	{"Bounty Hunter", AGI, 17, 1.8, 21, 3, 19, 1.4, 315, 5.94, 1.7, 45, 59, MELEE, 0, 0.59, 1800, 1000, 0.6, 24},
	{"Brewmaster", STR, 23, 2.9, 22, 1.95, 14, 1.25, 300, 2.08, 1.7, 52, 59, MELEE, 0, 0.35, 1800, 800, 0.6, 24},
	{"Bristleback", STR, 22, 2.2, 17, 1.8, 14, 2.8, 295, 3.38, 1.7, 48, 58, MELEE, 0, 0.3, 1800, 800, 1, 24},
	{"Broodmother", AGI, 17, 2.5, 18, 2.2, 18, 2, 295, 2.51, 1.7, 44, 50, MELEE, 0, 0.4, 1800, 800, 0.5, 24},
	{"Centaur Warrunner", STR, 23, 3.8, 15, 2, 15, 1.6, 300, 3.1, 1.7, 55, 57, MELEE, 0, 0.3, 1800, 800, 0.5, 24},
	{"Chaos Knight", STR, 20, 2.9, 14, 2.1, 16, 1.2, 325, 3.96, 1.7, 49, 79, MELEE, 0, 0.5, 1800, 800, 0.5, 24},
	{"Chen", INT, 20, 1.5, 15, 2.1, 21, 2.8, 300, 1.1, 1.7, 43, 53, 600, 1100, 0.5, 1800, 800, 0.6, 24},
	{"Clinkz", AGI, 15, 1.6, 22, 3, 16, 1.55, 300, 2.08, 1.7, 37, 43, 630, 900, 0.7, 1800, 800, 0.4, 24},
	{"Clockwerk", STR, 24, 2.7, 13, 2.3, 17, 1.3, 315, 1.82, 1.7, 55, 57, MELEE, 0, 0.33, 1800, 800, 0.6, 24},
	{"Crystal Maiden", INT, 16, 1.7, 16, 1.6, 16, 2.9, 280, 1.24, 1.7, 35, 41, 600, 900, 0.55, 1800, 800, 0.5, 24},
	{"Dark Seer", INT, 22, 2.3, 12, 1.2, 29, 2.7, 300, 6.68, 1.7, 60, 66, MELEE, 0, 0.59, 1800, 800, 0.6, 24},
	{"Dazzle", INT, 16, 1.85, 21, 1.7, 27, 3.4, 305, 1.94, 1.7, 41, 59, 550, 1200, 0.3, 1800, 800, 0.6, 24},
	{"Death Prophet", INT, 19, 1.9, 14, 1.4, 20, 3, 280, 2.96, 1.7, 44, 56, 600, 1000, 0.56, 1800, 800, 0.5, 24},
	{"Disruptor", INT, 19, 1.9, 15, 1.4, 22, 2.5, 300, 1.1, 1.7, 49, 53, 600, 1200, 0.4, 1800, 800, 0.5, 24},
	{"Doom", STR, 26, 3.2, 11, 0.9, 13, 2.1, 290, 0.54, 1.7, 53, 69, MELEE, 0, 0.5, 1800, 800, 0.5, 24},
	{"Dragon Knight", STR, 19, 2.8, 19, 2.2, 15, 1.7, 290, 3.66, 1.7, 46, 52, MELEE, 0, 0.5, 1800, 800, 0.6, 24},
	{"Drow Ranger", AGI, 17, 1.9, 26, 1.9, 15, 1.4, 300, 0.64, 1.7, 44, 55, 625, 1250, 0.7, 1800, 800, 0.6, 24},
	{"Earth Spirit", STR, 21, 2.9, 17, 1.5, 18, 2.4, 305, 3.38, 1.7, 46, 56, MELEE, 0, 0.35, 1800, 800, 0.6, 24},
	{"Earthshaker", STR, 22, 2.9, 12, 1.4, 16, 1.8, 310, 2.68, 1.7, 46, 56, MELEE, 0, 0.467, 1800, 800, 0.9, 24},
	{"Elder Titan", STR, 24, 2.3, 14, 1.5, 23, 1.6, 315, 2.96, 1.7, 47, 57, MELEE, 0, 0.35, 1800, 800, 0.4, 24},
	{"Ember Spirit", AGI, 19, 2, 22, 1.8, 20, 1.8, 310, 1.08, 1.7, 52, 56, MELEE, 0, 0.4, 1800, 800, 0.6, 24},
	{"Enchantress", INT, 16, 1, 19, 1.8, 16, 2.8, 335, 0.66, 1.7, 47, 57, 550, 900, 0.3, 1800, 800, 0.4, 24},
	{"Enigma", INT, 17, 2.1, 14, 1, 20, 3.4, 300, 3.96, 1.7, 42, 48, 500, 900, 0.4, 1800, 800, 0.5, 24},
	{"Faceless Void", AGI, 23, 1.6, 23, 2.65, 15, 1.5, 300, 4.22, 1.7, 60, 66, MELEE, 0, 0.5, 1800, 800, 1, 24},
	{"Gyrocopter", AGI, 18, 1.8, 24, 2.8, 23, 2.1, 315, 4.36, 1.7, 41, 51, 365, 3000, 0.2, 1800, 800, 0.6, 24},
	{"Huskar", STR, 21, 2.4, 15, 1.4, 18, 1.5, 300, 1.1, 1.6, 42, 51, 400, 1400, 0.4, 1800, 800, 0.5, 24},
	{"Invoker", INT, 19, 1.7, 20, 1.9, 22, 2.5, 280, 1.8, 1.7, 35, 41, 600, 900, 0.4, 1800, 800, 0.5, 24},
	{"Io", STR, 17, 1.9, 14, 1.6, 23, 1.7, 295, -0.04, 1.7, 43, 52, 575, 1200, 0.15, 1800, 800, 0.7, 24},
	{"Jakiro", INT, 24, 2.3, 10, 1.2, 28, 2.8, 290, 2.4, 1.7, 46, 54, 400, 1100, 0.4, 1800, 800, 0.5, 24},
	{"Juggernaut", AGI, 20, 1.9, 26, 2.4, 14, 1.4, 305, 3.64, 1.4, 50, 54, MELEE, 0, 0.33, 1800, 800, 0.6, 24},
	{"Keeper of the Light", INT, 14, 1.8, 15, 1.6, 22, 2.8, 315, 1.1, 1.7, 40, 54, 600, 900, 0.3, 1800, 800, 0.5, 24},
	{"Kunkka", STR, 24, 3, 14, 1.3, 18, 1.5, 300, 1.96, 1.7, 50, 60, MELEE, 0, 0.4, 1800, 800, 0.6, 24},
	{"Legion Commander", STR, 26, 2.6, 18, 1.7, 20, 2.2, 320, 2.52, 1.7, 57, 61, MELEE, 0, 0.46, 1800, 800, 0.5, 24},
	{"Leshrac", INT, 16, 1.5, 23, 1.7, 26, 3, 315, 3.22, 1.7, 45, 49, 600, 900, 0.4, 1800, 800, 0.5, 24},
	{"Lich", INT, 18, 1.55, 15, 2, 18, 3.25, 315, 1.1, 1.7, 42, 51, 550, 900, 0.46, 1800, 800, 0.5, 24},
	{"Lifestealer", STR, 25, 2.4, 18, 1.9, 15, 1.75, 315, 1.52, 1.7, 57, 67, MELEE, 0, 0.39, 1800, 800, 1, 24},
	{"Lina", INT, 18, 1.5, 16, 1.5, 27, 3.2, 295, 1.24, 1.7, 40, 58, 670, 1000, 0.75, 1800, 800, 0.5, 24},
	{"Lion", INT, 16, 1.7, 15, 1.5, 22, 3, 290, 1.1, 1.7, 49, 55, 600, 1000, 0.43, 1800, 800, 0.5, 24},
	{"Lone Druid", AGI, 17, 2.1, 24, 2.7, 13, 1.4, 325, 3.36, 1.7, 46, 50, 550, 900, 0.33, 1800, 800, 0.4, 24},
	{"Luna", AGI, 15, 1.9, 18, 2.8, 16, 1.85, 330, 2.52, 1.7, 44, 50, 330, 900, 0.46, 1800, 800, 0.4, 24},
	{"Lycan", STR, 22, 2.75, 16, 1.9, 17, 1.55, 305, 3.24, 1.7, 58, 62, MELEE, 0, 0.55, 1800, 800, 0.5, 8},
	{"Magnus", STR, 21, 2.75, 15, 2.5, 19, 1.65, 315, 4.1, 1.7, 49, 61, MELEE, 0, 0.5, 1800, 800, 0.8, 24},
	{"Medusa", AGI, 14, 1.65, 20, 2.5, 19, 1.85, 290, 1.8, 1.7, 44, 50, 600, 1200, 0.5, 1800, 800, 0.5, 24},
	{"Meepo", AGI, 23, 1.6, 23, 1.9, 20, 1.6, 315, 4.22, 1.7, 39, 45, MELEE, 0, 0.38, 1800, 800, 0.65, 24},
	{"Mirana", AGI, 17, 1.85, 20, 2.75, 17, 1.65, 300, 1.8, 1.7, 38, 49, 600, 900, 0.3, 1800, 800, 0.4, 24},
	{"Morphling", AGI, 19, 2, 24, 3, 17, 1.5, 285, 1.36, 1.6, 37, 46, 350, 1300, 0.5, 1800, 800, 0.6, 24},
	{"Naga Siren", AGI, 21, 2.3, 21, 2.75, 18, 1.95, 320, 5.94, 1.7, 44, 46, MELEE, 0, 0.5, 1800, 800, 0.5, 8},
	{"Nature's Prophet", INT, 19, 1.8, 18, 1.9, 21, 2.9, 295, 3.52, 1.7, 45, 59, 600, 1125, 0.4, 1800, 800, 0.6, 24},
	{"Necrophos", INT, 16, 2, 15, 1.7, 22, 2.5, 290, 2.1, 1.7, 44, 48, 550, 900, 0.53, 1800, 800, 0.5, 24},
	{"Night Stalker", STR, 23, 2.8, 18, 2.25, 16, 1.6, 295, 5.52, 1.7, 61, 65, MELEE, 0, 0.55, 1200, 1800, 0.5, 24},
	{"Nyx Assassin", AGI, 18, 2, 19, 2.2, 18, 2.1, 300, 3.66, 1.7, 49, 53, MELEE, 0, 0.46, 1800, 800, 0.5, 24},
	{"Ogre Magi", INT, 23, 3.2, 14, 1.55, 17, 2.4, 295, 6.96, 1.7, 58, 64, MELEE, 0, 0.3, 1800, 800, 0.6, 24},
	{"Omniknight", STR, 20, 2.65, 15, 1.75, 17, 1.8, 305, 5.1, 1.7, 51, 61, MELEE, 0, 0.433, 1800, 800, 0.6, 24},
	{"Oracle", INT, 18, 1.9, 15, 1.7, 23, 2.9, 305, 2.1, 1.4, 45, 51, 620, 900, 0.3, 1800, 800, 0.4, 24},
	{"Outworld Devourer", INT, 19, 1.85, 24, 2, 26, 3.3, 315, 5.36, 1.7, 46, 61, 450, 900, 0.46, 1800, 800, 0.5, 24},
	{"Phantom Assassin", AGI, 20, 1.85, 23, 3.15, 13, 1, 310, 4.22, 1.7, 46, 48, MELEE, 0, 0.3, 1800, 800, 0.4, 24},
	{"Phantom Lancer", AGI, 21, 1.7, 29, 3, 21, 2, 290, 4.06, 1.7, 51, 73, MELEE, 0, 0.5, 1800, 800, 0.6, 8},
	{"Phoenix", STR, 17, 2.9, 12, 1.3, 18, 1.8, 285, -0.32, 1.7, 43, 53, 500, 1100, 0.35, 1800, 800, 1, 24},
	{"Puck", INT, 15, 1.7, 22, 1.7, 25, 2.4, 295, 2.08, 1.7, 47, 58, 550, 900, 0.5, 1800, 800, 0.4, 24},
	{"Pudge", STR, 25, 3.2, 14, 1.5, 14, 1.5, 285, 0.96, 1.7, 52, 58, MELEE, 0, 0.5, 1800, 800, 0.7, 24},
	{"Pugna", INT, 17, 1.2, 16, 1, 26, 4, 320, 1.24, 1.7, 45, 53, 600, 900, 0.5, 1800, 800, 0.5, 24},
	{"Queen of Pain", INT, 16, 1.7, 18, 2, 24, 2.5, 300, 1.52, 1.6, 49, 57, 550, 1500, 0.56, 1800, 800, 0.5, 24},
	{"Razor", AGI, 21, 2.3, 22, 2, 19, 1.8, 295, 2.08, 1.7, 45, 47, 475, 2000, 0.3, 1800, 800, 0.4, 24},
	{"Riki", AGI, 17, 2, 34, 2.9, 14, 1.3, 290, 5.76, 1.7, 38, 42, MELEE, 0, 0.3, 1800, 800, 0.6, 24},
	{"Rubick", INT, 19, 1.5, 14, 1.6, 27, 2.4, 290, 0.96, 1.7, 44, 54, 600, 1125, 0.4, 1800, 800, 0.5, 24},
	{"Sand King", STR, 18, 2.6, 19, 2.1, 16, 1.8, 300, 2.66, 1.7, 43, 59, MELEE, 0, 0.53, 1800, 800, 0.5, 24},
	{"Shadow Demon", INT, 17, 1.9, 18, 2.2, 23, 2.7, 295, 2.52, 1.7, 50, 54, 500, 900, 0.35, 1800, 800, 0.6, 24},
	{"Shadow Fiend", AGI, 15, 2, 20, 2.9, 18, 2, 305, 1.8, 1.7, 35, 41, 500, 1200, 0.5, 1800, 800, 1, 24},
	{"Shadow Shaman", INT, 19, 1.6, 16, 1.6, 21, 3, 285, 1.24, 1.7, 47, 54, 500, 900, 0.3, 1800, 800, 0.4, 24},
	{"Silencer", INT, 17, 2.2, 16, 3, 27, 2.5, 300, 1.24, 1.7, 43, 57, 600, 1000, 0.5, 1800, 800, 0.6, 24},
	{"Skywrath Mage", INT, 19, 1.5, 13, 0.8, 27, 3.6, 325, -0.18, 1.7, 39, 49, 600, 1000, 0.4, 1800, 800, 0.5, 24},
	{"Slardar", STR, 21, 2.8, 17, 2.4, 15, 1.5, 300, 5.38, 1.7, 51, 59, MELEE, 0, 0.36, 1800, 800, 0.5, 24},
	{"Slark", AGI, 21, 1.8, 21, 1.5, 16, 1.9, 305, 1.94, 1.7, 54, 62, MELEE, 0, 0.5, 1800, 1800, 0.5, 24},
	{"Sniper", AGI, 16, 1.7, 21, 2.9, 15, 2.6, 290, 1.94, 1.7, 36, 42, 550, 3000, 0.17, 1800, 1000, 0.6, 24},
	{"Spectre", AGI, 19, 2, 23, 2.2, 16, 1.9, 290, 3.22, 1.7, 46, 50, MELEE, 0, 0.3, 1800, 800, 0.4, 24},
	{"Spirit Breaker", STR, 29, 2.4, 17, 1.7, 14, 1.8, 290, 5.38, 1.9, 60, 70, MELEE, 0, 0.6, 1800, 800, 0.4, 24},
	{"Storm Spirit", INT, 19, 1.5, 22, 1.8, 23, 2.6, 290, 5.08, 1.7, 45, 55, 480, 1100, 0.5, 1800, 800, 0.8, 24},
	{"Sven", STR, 23, 2.7, 21, 2, 14, 1.3, 295, 4.94, 1.7, 60, 62, MELEE, 0, 0.4, 1800, 800, 0.6, 24},
	{"Techies", INT, 17, 2, 14, 1.3, 22, 2.9, 270, 6.96, 1.7, 29, 31, 700, 900, 0.5, 1800, 800, 0.5, 24},
	{"Templar Assassin", AGI, 18, 2.1, 23, 2.7, 20, 2, 305, 4.22, 1.7, 53, 59, 140, 900, 0.3, 1800, 800, 0.7, 24},
	{"Terrorblade", AGI, 15, 1.4, 22, 3.2, 19, 1.75, 315, 7.08, 1.5, 48, 54, MELEE, 0, 0.3, 1800, 800, 0.5, 24},
	{"Tidehunter", STR, 22, 3, 15, 1.5, 16, 1.7, 305, 3.1, 1.7, 47, 53, MELEE, 0, 0.6, 1800, 800, 0.4, 24},
	{"Timbersaw", STR, 22, 2.1, 16, 1.3, 21, 2.4, 290, 0.24, 1.7, 51, 55, MELEE, 0, 0.36, 1800, 800, 0.6, 24},
	{"Tinker", INT, 17, 2, 13, 1.2, 27, 2.2, 305, 3.82, 1.7, 49, 55, 500, 900, 0.35, 1800, 800, 0.6, 24},
	{"Tiny", STR, 24, 3, 9, 0.9, 14, 1.6, 285, 0.26, 1.7, 61, 67, MELEE, 0, 0.49, 1800, 800, 0.5, 24},
	{"Treant Protector", STR, 25, 3.3, 15, 2, 17, 1.8, 300, 1.1, 1.9, 81, 89, MELEE, 0, 0.6, 1800, 800, 0.5, 24},
	{"Troll Warlord", AGI, 17, 2.2, 21, 2.75, 13, 1, 300, 1.94, 1.7, 38, 56, 500, 1200, 0.3, 1800, 800, 0.5, 24},
	{"Tusk", STR, 23, 2.3, 23, 2.1, 18, 1.7, 305, 3.22, 1.7, 50, 54, MELEE, 0, 0.36, 1800, 800, 0.5, 24},
	{"Undying", STR, 22, 2.1, 10, 0.8, 27, 2.5, 310, 3.4, 1.7, 57, 65, MELEE, 0, 0.3, 1800, 800, 0.6, 24},
	{"Ursa", AGI, 23, 2.9, 18, 2.1, 16, 1.5, 310, 5.52, 1.7, 45, 49, MELEE, 0, 0.3, 1800, 800, 0.5, 24},
	{"Vengeful Spirit", AGI, 18, 2.6, 27, 2.8, 15, 1.75, 295, 3.78, 1.7, 39, 53, 400, 1500, 0.33, 1800, 800, 0.6, 24},
	{"Venomancer", AGI, 18, 1.85, 22, 2.6, 15, 1.75, 285, 3.08, 1.7, 41, 43, 450, 900, 0.3, 1800, 800, 0.4, 24},
	{"Viper", AGI, 20, 1.9, 21, 2.5, 15, 1.8, 285, 1.94, 1.7, 44, 46, 575, 1200, 0.33, 1800, 800, 0.4, 24},
	{"Visage", INT, 22, 2.4, 11, 1.3, 24, 2.5, 285, -0.46, 1.7, 48, 58, 600, 900, 0.46, 1800, 800, 0.5, 24},
	{"Warlock", INT, 18, 2.5, 10, 1, 24, 2.7, 295, 2.4, 1.7, 46, 56, 600, 1200, 0.3, 1800, 800, 0.4, 24},
	{"Weaver", AGI, 15, 1.5, 14, 2.5, 15, 1.8, 290, 0.96, 1.8, 50, 60, 425, 900, 0.64, 1800, 800, 0.5, 24},
	{"Windranger", INT, 15, 2.5, 17, 1.4, 22, 2.6, 295, 1.38, 1.5, 44, 56, 600, 1250, 0.4, 1800, 800, 0.6, 24},
	{"Winter Wyvern", INT, 24, 2.1, 16.5, 1.9, 25, 3.1, 285, 1.24, 1.7, 38, 45, 425, 700, 0.25, 1800, 800, 0.4, 24},
	{"Witch Doctor", INT, 16, 1.8, 13, 1.4, 24, 2.9, 305, 0.82, 1.7, 51, 61, 600, 1200, 0.4, 1800, 800, 0.4, 24},
	{"Wraith King", STR, 22, 2.9, 18, 1.7, 18, 1.6, 300, 2.52, 1.7, 54, 56, MELEE, 0, 0.56, 1800, 800, 0.4, 24},
	{"Zeus", INT, 19, 2.3, 11, 1.2, 20, 2.7, 295, 1.54, 1.7, 41, 49, 350, 1100, 0.633, 1800, 800, 0.6, 24}
};

void Sleep(int time){
    usleep(time*1000);
}

void Print_space(float num){
	if(num<10)
		printf("     ");
	else if(num<100)
		printf("    ");
	else if(num<1000)
		printf("   ");
	else
		printf("  ");
}
/*
float Calc_Strength(uint8_t hero, uint8_t level){
	return(heroes[hero].base_s + (heroes[hero].rate_s*level));
}

float Calc_Agility(uint8_t hero, uint8_t level){
        return(heroes[hero].base_a + (heroes[hero].rate_a*level));
}

float Calc_Intelligence(uint8_t hero, uint8_t level){
        return(heroes[hero].base_i + (heroes[hero].rate_i*level));
}

float Base_Attack_Time(uint8_t hero, float agility){
	return(heroes[hero].bat / (agility/100 + 1));
}

float Base_Attr(uint8_t hero, uint8_t level){
	float base_attr;
	if(heroes[hero].pri_attr == STR)
		base_attr = Calc_Strength(hero, level);
	else if(heroes[hero].pri_attr == AGI)
		base_attr = Calc_Agility(hero, level);
	//if(heroes[hero].pri_attr == INT)
	else
		base_attr = Calc_Intelligence(hero, level);
	return base_attr;
}
*/

void Calc_Level_Attr(struct Level_Attr *level_attr, uint8_t hero, uint8_t level){
	float base_attr;
	float threesec = 3.0;
	level_attr->strength = heroes[hero].base_s + (heroes[hero].rate_s*level);
	level_attr->agility = heroes[hero].base_a + (heroes[hero].rate_a*level);
	level_attr->intelligence = heroes[hero].base_i + (heroes[hero].rate_i*level);
	//Attack time = BAT / (1 + IAS)
	level_attr->at_speed = heroes[hero].bat / (1 + level_attr->agility/100);
	//main attack damage = base damage + main attribute points
	if(heroes[hero].pri_attr == STR)
		base_attr = level_attr->strength;
	else if(heroes[hero].pri_attr == AGI)
		base_attr = level_attr->agility;
	//if(heroes[hero].pri_attr == INT)
	else
		base_attr = level_attr->intelligence;
	level_attr->damage_min = heroes[hero].dam_min + base_attr;
	level_attr->damage_max = heroes[hero].dam_max + base_attr;
	level_attr->damage_avg = (heroes[hero].dam_min+heroes[hero].dam_max)/2 + base_attr;

	level_attr->health = 150+level_attr->strength*19;
	level_attr->attacks_ps = (1 + level_attr->agility/100) / heroes[hero].bat;
	level_attr->damage_ps = level_attr->damage_avg*level_attr->attacks_ps;
	level_attr->hp_ps = 0.25 + 0.03*level_attr->strength;

	threesec -= heroes[hero].attack_point;
	threesec /= level_attr->at_speed;
	threesec = floor(threesec);
	level_attr->threesec = (threesec+1)*level_attr->damage_avg;
	//threesec = damage_ps*(3.0 - attack_point);
	level_attr->armor = heroes[hero].armor+0.14*level_attr->agility;
	if(level_attr->armor<0)
		level_attr->effective_hp = level_attr->health*(1 - level_attr->armor*0.06) / (1 - 0.12*level_attr->armor);
	else
		level_attr->effective_hp = level_attr->health*(1 + level_attr->armor*0.06);

}
