Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //error_reporting(E_ALL);
- //ini_set("display_errors", 1);
- $app = isset($_REQUEST["app"])?$_REQUEST["app"]:1; # application code
- $uid = isset($_REQUEST['uid'])?$_REQUEST['uid']:0;
- $guid = isset($_REQUEST['guid'])?$_REQUEST['guid']:0;
- //platform defaults to 4 but can take in other values
- $platform = isset($_REQUEST["platform"])?$_REQUEST["platform"]:4;
- $level = isset($_REQUEST['level'])?$_REQUEST['level']:0; // so we don't have to bother looking it up.
- $city = isset($_REQUEST['city'])?$_REQUEST['city']:0;
- $buy = isset($_REQUEST['buy'])?$_REQUEST['buy']:0;
- $type = isset($_REQUEST['type'])?$_REQUEST['type']:0;
- $sell = isset($_REQUEST['sell'])?$_REQUEST['sell']:0;
- $count = isset($_REQUEST['count'])?$_REQUEST['count']:0;
- $listStore = isset($_REQUEST['liststore'])?$_REQUEST['liststore']:0;
- $startBattle = isset($_REQUEST['startbattle'])?$_REQUEST['startbattle']:0;
- $opponent = isset($_REQUEST['opponent'])?$_REQUEST['opponent']:0;
- $finishBattle = isset($_REQUEST['finishbattle'])?$_REQUEST['finishbattle']:0;
- $attack = isset($_REQUEST['attack'])?$_REQUEST['attack']:0;
- $defense = isset($_REQUEST['defense'])?$_REQUEST['defense']:0;
- $makeBounty = isset($_REQUEST['makebounty'])?$_REQUEST['makebounty']:0;
- $cash = isset($_REQUEST['cash'])?$_REQUEST['cash']:0;
- $takeBounty = isset($_REQUEST['takebounty'])?$_REQUEST['takebounty']:0;
- $finishBounty = isset($_REQUEST['finishbounty'])?$_REQUEST['finishbounty']:0;
- $listBounty = isset($_REQUEST['listbounty'])?$_REQUEST['listbounty']:0;
- $startJob = isset($_REQUEST['startjob'])?$_REQUEST['startjob']:0;
- $finishJob = isset($_REQUEST['finishjob'])?$_REQUEST['finishjob']:0;
- $listJobs = isset($_REQUEST['listjobs'])?$_REQUEST['listjobs']:0;
- $specialJobs = isset($_REQUEST['specialjobs'])?$_REQUEST['specialjobs']:0;
- $postMessage = isset($_REQUEST['postmessage'])?$_REQUEST['postmessage']:0;
- $readMessages = isset($_REQUEST['readmessages'])?$_REQUEST['readmessages']:0;
- $message = isset($_REQUEST['message'])?$_REQUEST['message']:'';
- $news = isset($_REQUEST['news'])?$_REQUEST['news']:0;
- $lang = isset($_REQUEST['lang'])?$_REQUEST['lang']:'EN';
- $clearnews = isset($_REQUEST['clearnews'])?$_REQUEST['clearnews']:0;
- $userStatus = isset($_REQUEST['userstatus'])?$_REQUEST['userstatus']:0;
- $handleMessage = isset($_REQUEST['handlemessage'])?$_REQUEST['handlemessage']:0;
- //print_r ($platform);
- require_once("includes.php");
- $userManager = new UserManager($sql, $app);
- $battleManager = new BattleManager($sql, $app);
- $bountyManager = new BountyManager($sql, $app);
- $moneyManager = new MoneyManager($sql, $app);
- $itemManager = new ItemManager($sql, $app);
- $jobManager = new JobManager($sql, $app);
- $teamManager = new TeamManager($sql, $app);
- $newsManager = new NewsManager($sql, $app, $userManager);
- $messageManager = new MessageManager($sql, $app);
- function listItems($list)
- {
- global $messageManager, $lang;
- $story = '';
- foreach ($list as $item)
- {
- if ($story != '') { $story .= ', '; }
- $story .= $messageManager->composeMessage('list_item', $lang, $item);
- // print_r($item);
- // echo "$story <br />\n";
- }
- return $story;
- }
- function startBattle($guid, $opponent)
- {
- global $userManager, $messageManager, $battleManager, $itemManager, $lang;
- $results = array();
- $lock = $userManager->battleLock($guid, $opponent);
- if ($lock > 0)
- {
- $attackItems = $userManager->best_offense($guid);
- $defenseItems = $userManager->best_defense($opponent);
- $results['attack'] = $attackItems;
- $results['defense'] = $defenseItems;
- $at = '';
- if (isset ($attackItems[0])) $at .= listItems($attackItems[0]);
- if (($at != '') && (count($attackItems[1]) > 0)) $at .= ', ';
- if (isset ($attackItems[1])) $at .= listItems($attackItems[1]);
- if (($at != '') && (count($attackItems[2]) > 0)) $at .= ', ';
- if (isset ($attackItems[2])) $at .= listItems($attackItems[2]);
- if ($at == '') $at = 'bare fists';
- $story['attack'] = $at;
- $def = '';
- if (isset ($defenseItems[0])) $def .= listItems($defenseItems[0]);
- if (($def != '') && (count($defenseItems[1]) > 0)) $def .= ', ';
- if (isset ($defenseItems[1])) $def .= listItems($defenseItems[1]);
- if (($def != '') && (count($defenseItems[2]) > 0)) $def .= ', ';
- if (isset ($defenseItems[2])) $def .= listItems($defenseItems[2]);
- if ($def == '') $def = 'ducking and weaving';
- $story['defense'] = $def;
- $sequence = $battleManager->battleSequence($results['attack']['totals']['attack'], $results['defense']['totals']['defense'],
- $attack, $defense,
- $attackItems['life'], $defenseItems['life'],
- $attackItems, $defenseItems);
- // get data for display
- $leftDisp = array();
- $leftDisp['name'] = $userManager->name($guid);
- $leftDisp['attackVal'] = $attackItems['totals']['attack'];
- $leftDisp['teamSize'] = $attackItems['team_size'];
- $leftDisp['max_life'] = $attackItems['life'];
- $leftDisp['level'] = $attackItems['level'];
- $lPow = '';
- if (isset ($attackItems['0']))
- {
- $item = $itemManager->getItem($attackItems['0'][0]['id']);
- //print_r($attackItems[0][0]);
- // echo $attackItems[0][0]['power']."'<br />\n";
- // $lPow = $attackItems[0][0]['power'];
- $leftDisp['item1'] = $item['photo'];
- }
- else $leftDisp['item1'] = '';
- if (isset ($attackItems['1']))
- {
- $item = $itemManager->getItem($attackItems['1'][0]['id']);
- // echo $attackItems[1][0]['power']."'<br />\n";
- // if ($lPow == '') $lPow = $attackItems[1][0]['power'];
- $leftDisp['item2'] = $item['photo'];
- }
- else $leftDisp['item2'] = '';
- if (isset ($attackItems['2']))
- {
- $item = $itemManager->getItem($attackItems['2'][0]['id']);
- // echo "'".$attackItems[2][0]['power']."'<br />\n";
- // if ($lPow == '') $lPow = $attackItems[2][0]['power'];
- $leftDisp['item3'] = $item['photo'];
- }
- else $leftDisp['item3'] = '';
- // echo "'$lPow'<br />\n";
- // $leftDisp['power'] = $lPow;
- $rightDisp = array();
- $rightDisp['name'] = $userManager->name($opponent);
- $rightDisp['attackVal'] = $defenseItems['totals']['defense'];
- $rightDisp['teamSize'] = $defenseItems['team_size'];
- $rightDisp['max_life'] = $defenseItems['life'];
- $rightDisp['level'] = $defenseItems['level'];
- // $rPow = '';
- if (isset ($defenseItems['1']))
- {
- $item = $itemManager->getItem($defenseItems['1'][0]['id']);
- // $rPow = $defenseItems['1'][0]['power'];
- $rightDisp['item2'] = $item['photo'];
- }
- else $rightDisp['item2'] = '';
- if (isset ($defenseItems['0']))
- {
- $item = $itemManager->getItem($defenseItems['0'][0]['id']);
- // if ($rPow == '') $rPow = $defenseItems['0'][0]['power'];
- $rightDisp['item1'] = $item['photo'];
- }
- else $rightDisp['item1'] = '';
- if (isset ($defenseItems['2']))
- {
- $item = $itemManager->getItem($defenseItems['2'][0]['id']);
- // if ($rPow == '') $rPow = $defenseItems['2'][0]['power'];
- $rightDisp['item3'] = $item['photo'];
- }
- else $rightDisp['item3'] = '';
- // $rightDisp['power'] = $rPow;
- $seq = array();
- foreach ($sequence as $round)
- { $seq[] = implode (',', $round); }
- $seq[] = $leftDisp;
- $seq[] = $rightDisp;
- $results['rounds'] = json_encode($seq); //implode (':', $seq);
- $results['attackDamage'] = $attack;
- $results['defenseDamage'] = $defense;
- $stat = $battleManager->newBattle($guid, $opponent, $attack, $defense, $results['rounds']);
- $stat['actor'] = $leftDisp['name'];
- $stat['target'] = $rightDisp['name'];
- $story['actor'] = $leftDisp['name'];
- $story['target'] = $rightDisp['name'];
- $results['fbml_stats'] = $messageManager->composeMessage('battle_stats', $lang, $story); // compose story listing of the battle
- if ($attack > $defense)
- { $results['fbml_text'] = $messageManager->composeMessage('attack_success', $lang, $stat); }
- else
- { $results['fbml_text'] = $messageManager->composeMessage('attack_failure', $lang, $stat); }
- //print_r($stat);
- // deducting life no longer used.
- //$userManager->update_dynamic ($guid, LIFE, -$defense);
- //$userManager->update_dynamic ($opponent, LIFE, -$attack);
- $userManager->battleUnlock($guid, $opponent);
- }
- $results['battle'] = $lock;
- if ($lock == 0) $results['fbml_stats'] = $messageManager->composeMessage('battle_unable', $lang, array());
- return $results;
- }
- function finishBattle($guid, $opponent, $attack, $defense)
- {
- global $battleManager, $userManager;
- /* $battlestats['attacker'] = $user_game_id;
- $battlestats['defender'] = $defender;
- if ($attack > $defense)
- {
- while (!$debit)
- {
- $loss = round($moneyManager->balance($guid)/3);
- $debit = $moneyManager->debit($guid, $loss, 0, 1);
- }
- $moneyManager->credit($guid, $loss);
- $battlestats['value_money'] = $loss;
- $newsManager->addNewsRecord($defender, 'defense_failure', $battlestats);
- }
- else
- { $newsManager->addNewsRecord($defender, 'defense_success', $battlestats); }
- */
- return $stat;
- }
- if ($buy)
- {
- $success = $userManager->buy($guid, $buy, $count);
- $results['buy'] = $success;
- }
- if ($sell)
- {
- $success = $userManager->sell($guid, $buy, $count);
- $results['sell'] = $success;
- }
- if ($listStore)
- {
- $results = $itemManager->get($level, $type, 0);
- }
- if ($startBattle)
- {
- //echo 'starting battle ';
- $results = startBattle($guid, $startBattle);
- if ($results['battle'])
- {
- //echo 'running battle '; flush(); ob_flush();
- // $results['p1'] = $userManager->user_game_status($guid);
- //print_r($results['p1']); flush(); ob_flush();
- // $results['p2'] = $userManager->user_game_status($startBattle);
- //print_r($results['p2']); flush(); ob_flush();
- //print_r($results['p2']); flush(); ob_flush();
- //echo "finishing battle<br/>\n"; flush(); ob_flush();
- // finishBattle($guid, $startBattle, $attack, $defense);
- $userManager->battleUnlock($guid, $startBattle);
- //echo 'finished'; flush(); ob_flush();
- //print_r($results);
- //exit;
- }
- //echo 'done with battle ';
- }
- if ($finishBattle)
- {
- //$results = finishBattle($guid, $finishBattle, $attack, $defense);
- $results = $userManager->battleUnlock($guid, $finishBattle);
- $results['unlock'] = 1;
- // print_r($results);
- // exit;
- }
- if ($makeBounty)
- {
- if ($moneyManager->debit($guid, $cash))
- {
- $success = $bountyManager->newBounty($makeBounty, $guid, $cash);
- $results['bounty'] = $success;
- }
- else
- {
- $results['bounty'] = 'money';
- }
- }
- if ($takeBounty)
- {
- $success = $bountyManager->claimBounty($guid, $takeBounty);
- $results = $success;
- if ($success['success'])
- {
- $results = startBattle($guid, $success['wanted']['user_game_id']);
- if ($results['battle'])
- { //$results['battle'] = $battle;
- if ($results['attackDamage'] > $results['defenseDamage'])
- {
- $bountyManager->finishBounty($guid, $finishBounty);
- }
- else
- {
- $bountyManager->releaseBounty($finishBounty);
- }
- }
- else
- { $bountyManager->releaseBounty($takeBounty);
- $results['success'] = 0;
- $results['fbml_stat'] = $messgeManager->composeMessage('battle_occupied', $lang, array());
- }
- }
- }
- if ($finishBounty)
- {
- }
- if ($listBounty)
- {
- $results = $bountyManager->get($guid, $level);
- }
- if ($startJob)
- {
- $results = $jobManager->claimJob($guid, $startJob);
- if (!isset($results['fail']))
- {
- if ($results['user_game_id'])
- {
- // echo "opponent ".$results['user_game_id']."<br />\n";
- // print_r($results);
- // echo "<br />\n";
- $battle = startBattle($guid, $results['user_game_id']);
- $results['battle'] = $battle;
- }
- $resultFinish = $jobManager->finishJob($guid, $startJob);
- foreach ($resultFinish as $rfk=>$rf) { $results[$rfk] = $rf; }
- $results['fbml_job'] = $messageManager->composeMessage('finish_job', $lang, $results);
- if (isset($results['drop_item']))
- $results['fbml_job'] .= "<br/>\n".$messageManager->composeMessage('drop_item', $lang, $results['drop_item']);
- if (isset($results['random_drop_item']))
- $results['fbml_job'] .= "<br/>\n".$messageManager->composeMessage('drop_item', $lang, $results['random_drop_item']);
- }
- else
- $results['fbml_job'] = $messageManager->composeMessage('fail_'.$results['fail'], $lang, $results);
- }
- if ($finishJob)
- {
- //echo "language $lang<br/>\n";
- }
- if ($listJobs)
- {
- $results = $jobManager->get($level, $city, $guid);
- }
- if ($specialJobs)
- {
- $res = $jobManager->getSpecial($level, $city, $guid);
- $results['flash'] = json_encode($res);
- }
- if ($postMessage)
- {
- $results = $teamManager->newComment($postMessage, $message);
- }
- if ($readMessages)
- {
- $results = $teamManager->comments($readMessages);
- }
- if ($news)
- {
- $stories = $newsManager->get($news);
- $results = array();
- foreach ($stories as $article)
- {
- $results[] = $messageManager->composeMessage($article['message_bundle_key'], $lang, $article);
- }
- }
- if ($clearnews)
- {
- $newsManager->clear($clearnews);
- }
- if ($userStatus)
- {
- $res = $userManager->user_game_status($userStatus);
- $results['flash'] = json_encode($res);
- }
- if ($handleMessage)
- {
- $results = $userManager->getRealTimeStatus($handleMessage);
- // $levelup = $userManager->levelUp($handleMessage);
- //
- // $awards = ''; // check awards, 1.1;
- // $battles = $battleManager->recentBattles($handleMessage); // list battles since last report
- // $results = $userManager->user_game_status($handleMessage);
- // $results['levelup'] = $levelup;
- // $results['fbml_levelup'] = $messageManager->composeMessage('levelup', $lang, $levelup);
- //
- // $results['awards'] = $awards;
- // $results['battles'] = $battles;
- }
- echo json_encode($results);
- ?>
Add Comment
Please, Sign In to add comment