public static function GetCharacters($Username, $Password, $JSONP) { $GameData = AccountAPI::GetUserBasicData($Username, $Password); if (isset($GameData['code'])) { return parent::Encode($GameData, $JSONP); } else { $Statement = parent::$CharConnection->prepare('SELECT name, race, class, gender, level, money FROM characters WHERE account = :accountid'); $Statement->bindParam(":accountid", $GameData['id']); $Statement->execute(); $Result = $Statement->fetchAll(PDO::FETCH_ASSOC); $ArrayIndex = 0; foreach ($Result as $Character) { $Result[$ArrayIndex]['race'] = Characters::GetRaceByID($Character['race']); $Result[$ArrayIndex]['class'] = Characters::GetClassByID($Character['class']); $Result[$ArrayIndex]['class'] = Characters::GetClassByID($Character['class']); $Result[$ArrayIndex]['money'] = Text::MoneyToCoins($Character['money']); $ArrayIndex++; } return parent::Encode($Result, $JSONP, "characters"); } }
public static function GetCharacterData($CharacterName) { global $FCCore; $Statement = Characters::$CharConnection->prepare(' SELECT cc.guid, cc.account, cc.name, cc.race, cc.class, cc.gender, cc.level, cc.chosenTitle, cc.health, cc.power1, cc.power2, cc.power3, cc.power4, cc.power5, cc.online, fct.name_loc0 as title, g.name as guild_name FROM characters cc LEFT JOIN ' . $FCCore['Database']['database'] . '.freedomcore_char_titles fct ON cc.chosenTitle = fct.id LEFT JOIN guild_member gm ON cc.guid = gm.guid LEFT JOIN guild g ON gm.guildid = g.guildid WHERE cc.name = :charname '); $Statement->bindParam(':charname', $CharacterName); $Statement->execute(); $Result = $Statement->fetch(PDO::FETCH_ASSOC); $Result['race_data'] = Characters::GetRaceByID($Result['race']); $Result['class_data'] = Characters::GetClassByID($Result['class']); $Result['title'] = str_replace('%s', '', str_replace('%s, ', '', $Result['title'])); $Result['side'] = Characters::GetSideByRaceID($Result['race'])['name']; $Result['side_id'] = Characters::GetSideByRaceID($Result['race'])['id']; $Result['side_translation'] = Characters::GetSideByRaceID($Result['race'])['translation']; $Result['apoints'] = Characters::GetAchievementPoints($Result['guid'])['points']; $Result['acount'] = Characters::GetAchievementPoints($Result['guid'])['count']; $LevelStatsStatement = Characters::$WConnection->prepare(' SELECT pls.str, pls.agi, pls.sta, pls.inte, pls.spi, pcls.basehp, pcls.basemana FROM player_levelstats pls LEFT JOIN player_classlevelstats pcls ON pls.class = pcls.class WHERE pls.level = pcls.level AND pls.race = :race AND pls.class = :class AND pls.level = :level '); $LevelStatsStatement->bindParam(':race', $Result['race']); $LevelStatsStatement->bindParam(':class', $Result['class']); $LevelStatsStatement->bindParam(':level', $Result['level']); $LevelStatsStatement->execute(); $Result['level_data'] = $LevelStatsStatement->fetch(PDO::FETCH_ASSOC); $Result['level_data']['parrypoints'] = Characters::GetParryRatingByLevel($Result['level']); $Result['level_data']['blockpoints'] = Characters::GetBlockRatingByLevel($Result['level']); $Result['level_data']['critpoints'] = Characters::GetCritRatingByLevel($Result['level']); $Result['level_data']['hastepoints'] = Characters::GetHasteRatingByLevel($Result['level']); Characters::$CharacterLevel = $Result['level']; Characters::$CharacterClass = $Result['class']; return $Result; }
private static function RaceBySide($SideID) { $Races = array(); $HordeRaces = array(2, 5, 6, 8, 9, 10, 26); $AllianceRaces = array(1, 3, 4, 7, 11, 22, 25); if ($SideID == 1) { foreach ($HordeRaces as $Horde) { $GetRaceInfo = Characters::GetRaceByID($Horde); $Races[] = array("label" => $GetRaceInfo['translation'], "url" => "/game/race/" . $GetRaceInfo['name']); } } else { foreach ($AllianceRaces as $Alliance) { $GetRaceInfo = Characters::GetRaceByID($Alliance); $Races[] = array("label" => $GetRaceInfo['translation'], "url" => "/game/race/" . $GetRaceInfo['name']); } } return $Races; }