mirror of
https://github.com/Ratstail91/SANCTUM.git
synced 2025-11-29 02:24:27 +11:00
PHP Bot Server Code for Transition to JS
This commit is contained in:
2
PHPBotServer/.htaccess
Normal file
2
PHPBotServer/.htaccess
Normal file
@@ -0,0 +1,2 @@
|
||||
#.htaccess
|
||||
Options -Indexes
|
||||
235
PHPBotServer/8-19-2018 Sanctum Database Backup.sql
Normal file
235
PHPBotServer/8-19-2018 Sanctum Database Backup.sql
Normal file
File diff suppressed because one or more lines are too long
81
PHPBotServer/codex.php
Normal file
81
PHPBotServer/codex.php
Normal file
@@ -0,0 +1,81 @@
|
||||
<?php
|
||||
//header('Access-Control-Allow-Origin: *');
|
||||
//header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
|
||||
include_once 'functions.php';
|
||||
|
||||
if( isset($_GET['pk']) ){ $privateKey = $_GET['pk']; } else{ $privateKey = ''; };
|
||||
$sqlterms = '';
|
||||
$debug = false;
|
||||
|
||||
if($privateKey != "123"){
|
||||
echo throwError("invalidPrivateKey");
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>THE CODEX</TITLE>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.19/css/jquery.dataTables.css">
|
||||
|
||||
<script
|
||||
src="https://code.jquery.com/jquery-3.3.1.min.js"
|
||||
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
|
||||
crossorigin="anonymous"></script>
|
||||
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.js"></script>
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
|
||||
<table id="table_id" class="display">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Level</th>
|
||||
<th>Crystals</th>
|
||||
<th>SPD</th>
|
||||
<th>STR</th>
|
||||
<th>STAM</th>
|
||||
<th>HP</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<?php
|
||||
$con = mysqlConnect();
|
||||
$q = "SELECT discordUserID,wallet,speed,health,maxHealth,strength,maxStamina,stamina,lvl FROM users LIMIT 500;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$discordUserID=stripslashes($a['discordUserID']);
|
||||
$wallet=stripslashes($a['wallet']);
|
||||
$speed=stripslashes($a['speed']);
|
||||
$health=stripslashes($a['health']);
|
||||
$maxHealth=stripslashes($a['maxHealth']);
|
||||
$strength=stripslashes($a['strength']);
|
||||
$maxStamina=stripslashes($a['maxStamina']);
|
||||
$stamina=stripslashes($a['stamina']);
|
||||
$lvl=stripslashes($a['lvl']);
|
||||
?>
|
||||
|
||||
<tr>
|
||||
<td><?php echo $discordUserID; ?></td>
|
||||
<td><?php echo $lvl; ?></td>
|
||||
<td><?php echo $wallet; ?></td>
|
||||
<td><?php echo $speed; ?></td>
|
||||
<td><?php echo $strength; ?></td>
|
||||
<td><?php echo $stamina."/".$maxStamina; ?></td>
|
||||
<td><?php echo $health."/".$maxHealth; ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
<script>
|
||||
$(document).ready( function () {
|
||||
$('#table_id').DataTable();
|
||||
} );
|
||||
</script>
|
||||
</BODY>
|
||||
</HTML>
|
||||
88
PHPBotServer/database.sql
Normal file
88
PHPBotServer/database.sql
Normal file
@@ -0,0 +1,88 @@
|
||||
CREATE TABLE discordbot.userLog (
|
||||
id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
discordUserID bigint,
|
||||
actionTime TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
actionType varchar(16),
|
||||
actionData varchar(255)
|
||||
);
|
||||
|
||||
CREATE TABLE discordbot.users (
|
||||
id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
discordUserID bigint,
|
||||
timeJoined TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
wallet int,
|
||||
speed int NOT NULL DEFAULT 5,
|
||||
health int NOT NULL DEFAULT 100,
|
||||
maxHealth int NOT NULL DEFAULT 100,
|
||||
strength int NOT NULL DEFAULT 5,
|
||||
stamina int NOT NULL DEFAULT 5,
|
||||
maxStamina int NOT NULL DEFAULT 5,
|
||||
xp int NOT NULL DEFAULT 0,
|
||||
lvl int NOT NULL DEFAULT 0,
|
||||
statPoints int NOT NULL DEFAULT 0
|
||||
);
|
||||
|
||||
CREATE TABLE discordbot.factions (
|
||||
id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
discordRoleID bigint,
|
||||
discordRoleName varchar(16),
|
||||
account int,
|
||||
isCurrentVictor bool
|
||||
);
|
||||
|
||||
CREATE TABLE discordbot.hostiles (
|
||||
id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
timeCreated TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
hostileName varchar(32),
|
||||
hostileType varchar(32),
|
||||
maxHealth int NOT NULL DEFAULT 100,
|
||||
health varchar(16) NOT NULL DEFAULT 100,
|
||||
strength int NOT NULL DEFAULT 10,
|
||||
speed int NOT NULL DEFAULT 10,
|
||||
stash int NOT NULL DEFAULT 10,
|
||||
alive bool NOT NULL DEFAULT 0,
|
||||
fled bool NOT NULL DEFAULT 0,
|
||||
claimID varchar(4)
|
||||
);
|
||||
|
||||
CREATE TABLE discordbot.attackLog (
|
||||
id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
timeAttacked TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
discordUserID bigint,
|
||||
hostileID varchar(16),
|
||||
damage int NOT NULL DEFAULT 0
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE discordbot.artifacts (
|
||||
id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
discordUserID bigint,
|
||||
scrap int NOT NULL DEFAULT 0,
|
||||
common int NOT NULL DEFAULT 0,
|
||||
uncommon int NOT NULL DEFAULT 0,
|
||||
rare int NOT NULL DEFAULT 0,
|
||||
ultrarare int NOT NULL DEFAULT 0
|
||||
);
|
||||
|
||||
CREATE TABLE discordbot.artifactEvents (
|
||||
id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
timeStarted TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
eventType varchar(16) NOT NULL DEFAULT "default",
|
||||
eventLevel int NOT NULL DEFAULT 0
|
||||
);
|
||||
|
||||
|
||||
|
||||
CREATE TABLE discordbot.lootPool (
|
||||
id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
created TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
name varchar(128) NOT NULL DEFAULT "default",
|
||||
gearType varchar(16) NOT NULL DEFAULT "weapon",
|
||||
subType varchar(16) NOT NULL DEFAULT "melee",
|
||||
baseLvl int NOT NULL DEFAULT 0,
|
||||
baseAtk int NOT NULL DEFAULT 0,
|
||||
baseDef int NOT NULL DEFAULT 0,
|
||||
rarity int NOT NULL DEFAULT 0,
|
||||
perksAvailable varchar(16) NOT NULL DEFAULT "none",
|
||||
eventLevel int NOT NULL DEFAULT 0
|
||||
);
|
||||
201
PHPBotServer/functions.php
Normal file
201
PHPBotServer/functions.php
Normal file
@@ -0,0 +1,201 @@
|
||||
<?php
|
||||
function privateKey(){
|
||||
return "INSERT PRIVATE KEY HERE";
|
||||
}
|
||||
|
||||
function throwError($errorName){
|
||||
switch ($errorName) {
|
||||
case "invalidPrivateKey":
|
||||
return "Sorry, this didnt work. Admins used an invalid key. Bug them about it!";
|
||||
break;
|
||||
case 1:
|
||||
echo "i equals 1";
|
||||
break;
|
||||
case 2:
|
||||
echo "i equals 2";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
function constants($tag){
|
||||
|
||||
//Base Domain Name
|
||||
if ($tag == 'baseurl'){ return "http://skullboxstudios.com/"; }
|
||||
|
||||
//Base URL to the members section
|
||||
if ($tag == 'ubaseurl'){ return "http://skullboxstudios.com/"; }
|
||||
|
||||
//Turns on PHP errors
|
||||
if ($tag == 'debugmode'){ return true; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function getLevel($xp,$lvlbase){
|
||||
if($xp >= 1){
|
||||
$lvl = $lvlbase * sqrt($xp);;
|
||||
} else{
|
||||
$lvl = 0;
|
||||
}
|
||||
|
||||
//Returns level based total # of xp
|
||||
return $lvl;
|
||||
}
|
||||
/*
|
||||
function getLevel($xp,$lvlbase){
|
||||
if($xp >= 1){
|
||||
$lvl = log($xp,$lvlbase);
|
||||
} else{
|
||||
$lvl = 0;
|
||||
}
|
||||
|
||||
//Returns level based total # of xp
|
||||
return $lvl;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
function getCurrentLevelProgress($xp,$lvl){
|
||||
|
||||
$baseLevel = floor($lvl);
|
||||
$levelDecimal = $lvl - $baseLevel;
|
||||
|
||||
$percentage = $levelDecimal*100;
|
||||
$fullNumber = 100;
|
||||
|
||||
$actualPercentage = floor(($percentage / 100) * $fullNumber);
|
||||
|
||||
//Returns progress in percentage
|
||||
return $actualPercentage;
|
||||
}
|
||||
/*
|
||||
|
||||
|
||||
function getXp($lvl,$lvlbase){
|
||||
|
||||
$xp = floor(pow($lvlbase,ceil($lvl)) - pow($lvlbase,floor($lvl)));
|
||||
|
||||
//Returns xp needed from start to finish to complete current level
|
||||
return $xp;
|
||||
}
|
||||
|
||||
function getAllXp($lvl,$lvlbase){
|
||||
|
||||
|
||||
$xp = pow($lvlbase,floor($lvl));
|
||||
//Returns # of xp required to reach current level
|
||||
return $xp;
|
||||
}
|
||||
function getCurrentLevelProgress($xp,$lvl,$lvlbase){
|
||||
|
||||
$xpInCurrentLevel = getXp($lvl,$lvlbase);
|
||||
$totalXpRequiredForCurrentLevel = getAllXp($lvl,$lvlbase);
|
||||
$xpTowardNextLevel = $xp - $totalXpRequiredForCurrentLevel;
|
||||
|
||||
if($xpInCurrentLevel > 0){
|
||||
$xpProgress = round(($xpTowardNextLevel / $xpInCurrentLevel)*100,1);
|
||||
}else{
|
||||
$xpProgress = 1;
|
||||
}
|
||||
|
||||
//Returns progress in percentage
|
||||
return $xpProgress;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
function addXp($uid,$xpamount){
|
||||
$con = mysqlConnect();
|
||||
$q = "UPDATE users SET xp=(xp + $xpamount) WHERE discordUserID = '$uid'";
|
||||
$r = mysqli_query($con,$q);
|
||||
}
|
||||
function getLevelBase(){
|
||||
return 1.2;
|
||||
}
|
||||
|
||||
function full_url()
|
||||
{
|
||||
$s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
|
||||
$sp = strtolower($_SERVER["SERVER_PROTOCOL"]);
|
||||
$protocol = substr($sp, 0, strpos($sp, "/")) . $s;
|
||||
$port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
|
||||
return $protocol . "://" . $_SERVER['SERVER_NAME'] . $port . $_SERVER['REQUEST_URI'];
|
||||
}
|
||||
// CLASS FOR CONVERTING TIME TO AGO
|
||||
class convertToAgo {
|
||||
|
||||
function convert_datetime($str) {
|
||||
|
||||
list($date, $time) = explode(' ', $str);
|
||||
list($year, $month, $day) = explode('-', $date);
|
||||
list($hour, $minute, $second) = explode(':', $time);
|
||||
$timestamp = mktime($hour, $minute, $second, $month, $day, $year);
|
||||
return $timestamp;
|
||||
}
|
||||
|
||||
function makeAgo($timestamp){
|
||||
|
||||
$difference = time() - $timestamp;
|
||||
$periods = array("second", "minute", "hour", "day", "week", "month", "year", "decade");
|
||||
$lengths = array("60","60","24","7","4.35","12","10");
|
||||
for($j = 0; $difference >= $lengths[$j]; $j++)
|
||||
$difference /= $lengths[$j];
|
||||
$difference = round($difference);
|
||||
if($difference != 1) $periods[$j].= "s";
|
||||
if ( (($periods[$j] == "minute") or ($periods[$j] == "minutes") && ($difference < 3))
|
||||
or (($periods[$j] == "second") or ($periods[$j] == "seconds")) ){
|
||||
$text = "Just now";
|
||||
} else {
|
||||
$text = "$difference $periods[$j] ago";
|
||||
}
|
||||
return $text;
|
||||
}
|
||||
|
||||
} // END CLASS
|
||||
|
||||
|
||||
function checkArrayFor($array, $key, $val) {
|
||||
foreach ($array as $item)
|
||||
if (isset($item[$key]) && $item[$key] == $val)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function addhttp($url) {
|
||||
if ($url != ''){
|
||||
if (!preg_match("~^(?:f|ht)tps?://~i", $url)) {
|
||||
$url = "http://" . $url;
|
||||
}
|
||||
}
|
||||
return $url;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function mysqlConnect() {
|
||||
//$dbhost = 'localhost';
|
||||
//$dbusername = 'root';
|
||||
//$dbpassword = 'AbCd1234!';
|
||||
//$dbtable = 'discordbot';
|
||||
$dbhost = 'db750373126.db.1and1.com';
|
||||
$dbusername = 'dbo750373126';
|
||||
$dbpassword = 'AbCd1234!';
|
||||
$dbtable = 'db750373126';
|
||||
|
||||
$userDB = 'user';
|
||||
$userdataDB = 'userdata';
|
||||
$memberDB = 'member';
|
||||
$memberdataDB = 'memberdata';
|
||||
|
||||
$con = mysqli_connect($dbhost,$dbusername,$dbpassword,$dbtable);
|
||||
if (!$con) { die('Could not connect: ' . mysqli_error());}
|
||||
mysqli_select_db($con, "$dbtable")or die("cannot select DB");
|
||||
return $con;
|
||||
}
|
||||
|
||||
?>
|
||||
222
PHPBotServer/getData.php
Normal file
222
PHPBotServer/getData.php
Normal file
@@ -0,0 +1,222 @@
|
||||
<?php
|
||||
//header('Access-Control-Allow-Origin: *');
|
||||
//header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
|
||||
include_once 'functions.php';
|
||||
|
||||
if( isset($_GET['dataToLoad']) ){ $dataToLoad = $_GET['dataToLoad']; } else{ $dataToLoad = ''; };
|
||||
if( isset($_GET['userid']) ){ $userID = $_GET['userid']; } else{ $userID = ''; };
|
||||
if( isset($_GET['pk']) ){ $privateKey = $_GET['pk']; } else{ $privateKey = ''; };
|
||||
$sqlterms = '';
|
||||
$debug = false;
|
||||
|
||||
if($privateKey != privateKey()){
|
||||
echo throwError("invalidPrivateKey");
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
$con = mysqlConnect();
|
||||
|
||||
switch ($dataToLoad) {
|
||||
case "hasConvertedToday":
|
||||
$q = "SELECT id FROM userLog WHERE actionTime >= (DATE_SUB(now(), INTERVAL 30 DAY)) AND actionType = 'conversion' AND discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
echo 1;
|
||||
exit;
|
||||
} else{
|
||||
echo 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case "account":
|
||||
$q = "SELECT wallet FROM users WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$account=stripslashes($a['wallet']);
|
||||
}
|
||||
echo $account;
|
||||
exit;
|
||||
} else{
|
||||
echo "{ERROR}";
|
||||
}
|
||||
break;
|
||||
|
||||
case "bank":
|
||||
$q = "SELECT account FROM factions WHERE discordRoleID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$account=stripslashes($a['account']);
|
||||
}
|
||||
echo $account;
|
||||
exit;
|
||||
} else{
|
||||
echo "{ERROR}";
|
||||
}
|
||||
break;
|
||||
|
||||
case "victors":
|
||||
$q = "SELECT discordRoleName FROM factions WHERE isCurrentVictor = '1';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$discordRoleName=stripslashes($a['discordRoleName']);
|
||||
}
|
||||
echo $discordRoleName;
|
||||
exit;
|
||||
} else{
|
||||
echo "0";
|
||||
}
|
||||
break;
|
||||
case "hostileActive":
|
||||
$q = "SELECT id FROM hostiles WHERE alive = 1 AND health > 0 AND fled = 0;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$hostileID=stripslashes($a['id']);
|
||||
}
|
||||
echo $hostileID;
|
||||
exit;
|
||||
} else{
|
||||
echo "0";
|
||||
}
|
||||
break;
|
||||
case "lastHostileActive":
|
||||
$q = "SELECT id FROM hostiles ORDER BY id DESC LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$hostileID=stripslashes($a['id']);
|
||||
}
|
||||
echo $hostileID;
|
||||
exit;
|
||||
} else{
|
||||
echo "0";
|
||||
}
|
||||
break;
|
||||
case "userStats":
|
||||
$q = "SELECT strength,speed,stamina,health,maxStamina,maxHealth,wallet,xp,lvl,statPoints,chests FROM users WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$strength=stripslashes($a['strength']);
|
||||
$speed=stripslashes($a['speed']);
|
||||
$stamina=stripslashes($a['stamina']);
|
||||
$health=stripslashes($a['health']);
|
||||
$maxHealth=stripslashes($a['maxHealth']);
|
||||
$maxStamina=stripslashes($a['maxStamina']);
|
||||
$wallet=stripslashes($a['wallet']);
|
||||
$xp=stripslashes($a['xp']);
|
||||
$recordedLVL=stripslashes($a['lvl']);
|
||||
$statPoints=stripslashes($a['statPoints']);
|
||||
$chests=stripslashes($a['chests']);
|
||||
$lvlbase = getLevelBase();
|
||||
$lvl = getLevel($xp,$lvlbase);
|
||||
$lvlpercent = getCurrentLevelProgress($xp,$lvl);
|
||||
}
|
||||
echo $strength.",".$speed.",".$stamina.",".$health.",".$maxStamina.",".$maxHealth.",".$wallet.",".$xp.",".$recordedLVL.",".$lvlpercent.",".$statPoints.",".$chests;
|
||||
exit;
|
||||
} else{
|
||||
echo "0";
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
|
||||
case "artifactsGet":
|
||||
|
||||
$q = "SELECT scrap,common,uncommon,rare,ultrarare FROM artifacts WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
$a = mysqli_fetch_assoc($r2);
|
||||
$scrapQuantity=stripslashes($a['scrap']);
|
||||
$commonQuantity=stripslashes($a['common']);
|
||||
$uncommonQuantity=stripslashes($a['uncommon']);
|
||||
$rareQuantity=stripslashes($a['rare']);
|
||||
$ultrarareQuantity=stripslashes($a['ultrarare']);
|
||||
echo "success,".$ultrarareQuantity.",".$rareQuantity.",".$uncommonQuantity.",".$commonQuantity.",".$scrapQuantity;
|
||||
} else{
|
||||
echo "failure";
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
if ($dataToLoad == "crystals"){
|
||||
echo "343 Crystals in the vault!";
|
||||
} else{
|
||||
echo "No command found.";
|
||||
}
|
||||
|
||||
|
||||
if($featured==1){
|
||||
$sqlterms .= "AND userartistinfo.featured = 1 ";
|
||||
}
|
||||
if($search !== ''){
|
||||
$sqlterms .= "AND (userartistinfo.city LIKE '%".$search."%' OR userartistinfo.state LIKE '%".$search."%' OR userartistinfo.zip LIKE '%".$search."%')";
|
||||
}
|
||||
$q = "SELECT
|
||||
user.id as artistid, user.slug, user.displayname, user.picurl,
|
||||
userartistinfo.genre, userartistinfo.views,
|
||||
userartistinfo.contactemail, userartistinfo.phone, userartistinfo.address, userartistinfo.city, userartistinfo.state, userartistinfo.zip, userartistinfo.website
|
||||
FROM user, userartistinfo
|
||||
where user.active = 1
|
||||
AND user.id = userartistinfo.id
|
||||
AND user.type = 'store'
|
||||
".$sqlterms."
|
||||
ORDER BY user.created DESC, views DESC
|
||||
LIMIT 15";
|
||||
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$i=0;
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
|
||||
$displayname = stripslashes($a['displayname']);
|
||||
$picurl = s3url('weedauthority-userimages', stripslashes($a['picurl']) );
|
||||
$phone = stripslashes($a['phone']);
|
||||
$address = stripslashes($a['address'])."<br />".stripslashes($a['city'])." ".stripslashes($a['state']).", ".stripslashes($a['zip']);
|
||||
$addressPlainText = stripslashes($a['address'])." ".stripslashes($a['city'])." ".stripslashes($a['state']).", ".stripslashes($a['zip']);
|
||||
$link = $baseurl."dispensary/".stripslashes($a['slug']);
|
||||
//$maplink ="https://maps.google.com/maps?q=". urlencode($addressPlainText);
|
||||
//$maplink = "https://www.google.com/maps/place/".urlencode($addressPlainText)."/";
|
||||
$maplink = stripslashes($a['website']);
|
||||
|
||||
$statushtml = "<div id='build-" . $i . "' class='card'><div class='list-block beta-div'><div class='beta-title'>" . $displayname . "</div><img src='" . $picurl . "' class='beta-icon'>";
|
||||
$statushtml .= "<div class='beta-version'><i class='fa fa-phone'></i> " . $phone . "</div><div class='beta-version'><i class='fa fa-map-marker'></i> " . $address . "</div><div class='beta-button'>";
|
||||
$statushtml .= "<button class='button button-fill launchbutton launchbuttonactive launchbeta' data-url='" . $maplink . "'>View Shop</button>";
|
||||
//$statushtml .= "<a href='geo://0,0?q=".$addressPlainText."' data-rel='external'><button class='button button-fill launchbutton launchbuttonactive launchbeta''>View Shop</button></a>";
|
||||
$statushtml .= "</div><div style='clear:both;'></div><BR></div></div>";
|
||||
|
||||
|
||||
$array[$i]=array($statushtml );
|
||||
//$array[$i]=array($displayname,$picurl,$phone,$address,$link );
|
||||
//echo $title;
|
||||
$i++;
|
||||
}
|
||||
}else{
|
||||
$array[0]=array("<BR /><BR /><center><i class='fa fa-search error-icon' aria-hidden='true'></i><BR /><BR />
|
||||
Looks like we can't find any shops matching that criteria. <BR />Try searching again!</center>");
|
||||
//echo json_encode($array);
|
||||
}
|
||||
|
||||
echo json_encode($array);
|
||||
|
||||
//}
|
||||
|
||||
*/
|
||||
if($debug){
|
||||
echo "\n"."UID:".$userID;
|
||||
}
|
||||
|
||||
//mysqli_close($con);
|
||||
|
||||
|
||||
?>
|
||||
752
PHPBotServer/sendData.php
Normal file
752
PHPBotServer/sendData.php
Normal file
@@ -0,0 +1,752 @@
|
||||
<?php
|
||||
//header('Access-Control-Allow-Origin: *');
|
||||
//header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
|
||||
include_once 'functions.php';
|
||||
|
||||
if( isset($_GET['dataType']) ){ $dataType = $_GET['dataType']; } else{ $dataType = ''; };
|
||||
if( isset($_GET['dataToSend']) ){ $dataToSend = $_GET['dataToSend']; } else{ $dataToSend = ''; };
|
||||
if( isset($_GET['dataToSend2']) ){ $dataToSend2 = $_GET['dataToSend2']; } else{ $dataToSend2 = ''; };
|
||||
if( isset($_GET['userid']) ){ $userID = $_GET['userid']; } else{ $userID = ''; };
|
||||
if( isset($_GET['pk']) ){ $privateKey = $_GET['pk']; } else{ $privateKey = ''; };
|
||||
$debug = false;
|
||||
|
||||
if($privateKey != privateKey()){
|
||||
echo throwError("invalidPrivateKey");
|
||||
exit;
|
||||
}
|
||||
|
||||
$con = mysqlConnect();
|
||||
|
||||
switch ($dataType) {
|
||||
case "conversion":
|
||||
$q = "INSERT INTO userLog (discordUserID, actionType, actionData)
|
||||
VALUES (" . $userID . ", '" . $dataType . "', '" . $dataToSend . "');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
break;
|
||||
case "newUser":
|
||||
/*
|
||||
$q = "INSERT INTO users (discordUserID,wallet)
|
||||
SELECT * FROM (SELECT '$userID',0) AS tmp
|
||||
WHERE NOT EXISTS (
|
||||
SELECT discordUserID FROM users WHERE discordUserID = '$userID'
|
||||
) LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
*/
|
||||
|
||||
$q = "SELECT id FROM users WHERE discordUserID = '$userID' LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
echo "userAlreadyExists";
|
||||
} else{
|
||||
$q = "INSERT INTO users (discordUserID,wallet)
|
||||
SELECT * FROM (SELECT '$userID',0) AS tmp
|
||||
WHERE NOT EXISTS (
|
||||
SELECT discordUserID FROM users WHERE discordUserID = '$userID'
|
||||
) LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo "createdUser";
|
||||
}
|
||||
break;
|
||||
case "checkin":
|
||||
$q = "SELECT id,actionTime FROM userLog WHERE actionTime >= CURDATE() AND actionType = 'checkin' AND discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
//already checked in today.
|
||||
$a = mysqli_fetch_assoc($r2);
|
||||
$flastupdated=stripslashes($a['actionTime']);
|
||||
|
||||
$timeAgoObject = new convertToAgo; // Create an object for the time conversion functions
|
||||
// Query your database here and get timestamp
|
||||
$ts = $flastupdated;
|
||||
$convertedTime = ($timeAgoObject -> convert_datetime($ts)); // Convert Date Time
|
||||
$when = ($timeAgoObject -> makeAgo($convertedTime)); // Then convert to ago time
|
||||
//date("F j, Y, g:i a", strtotime($flastupdated));
|
||||
echo $when;
|
||||
} else{
|
||||
//Can check in.
|
||||
$q = "UPDATE users SET wallet = wallet + $dataToSend WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "INSERT INTO userLog (discordUserID, actionType, actionData)
|
||||
VALUES (" . $userID . ", '" . $dataType . "', 'Checked in for $dataToSend crystals.');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo 1;
|
||||
exit;
|
||||
}
|
||||
break;
|
||||
|
||||
case "deposit":
|
||||
$q = "SELECT wallet FROM users WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$account=stripslashes($a['wallet']);
|
||||
}
|
||||
if($account >= $dataToSend && $dataToSend > 0){
|
||||
//has enough credits in their account
|
||||
$q = "UPDATE users SET wallet = wallet - $dataToSend WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "UPDATE factions SET account = account + $dataToSend WHERE discordRoleID = '$dataToSend2' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "INSERT INTO userLog (discordUserID, actionType, actionData)
|
||||
VALUES (" . $userID . ", '" . $dataType . "', 'Deposited $dataToSend crystals to $dataToSend2.');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo 1;
|
||||
} else{
|
||||
echo "{ERROR} - Not enough crystals in your account.";
|
||||
}
|
||||
exit;
|
||||
} else{
|
||||
echo "{ERROR} - Cant find wallet. Something went wrong.";
|
||||
}
|
||||
break;
|
||||
|
||||
case "gambleWon":
|
||||
$q = "UPDATE users SET wallet = wallet + $dataToSend WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "INSERT INTO userLog (discordUserID, actionType, actionData)
|
||||
VALUES (" . $userID . ", '" . $dataType . "', 'Gambled and won for $dataToSend crystals.');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo 1;
|
||||
exit;
|
||||
|
||||
break;
|
||||
case "gambleLost":
|
||||
$q = "UPDATE users SET wallet = wallet - $dataToSend WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "INSERT INTO userLog (discordUserID, actionType, actionData)
|
||||
VALUES (" . $userID . ", '" . $dataType . "', 'Gambled and lost for $dataToSend crystals.');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo 1;
|
||||
exit;
|
||||
|
||||
break;
|
||||
|
||||
case "transfer":
|
||||
$q = "UPDATE users SET wallet = wallet - $dataToSend2 WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$q = "UPDATE users SET wallet = wallet + $dataToSend2 WHERE discordUserID = '$dataToSend' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "INSERT INTO userLog (discordUserID, actionType, actionData)
|
||||
VALUES (" . $userID . ", '" . $dataType . "', '$userID gave $dataToSend2 crystals to $dataToSend.');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo 1;
|
||||
exit;
|
||||
|
||||
break;
|
||||
|
||||
case "attack":
|
||||
|
||||
$q = "UPDATE hostiles SET health = health - $dataToSend WHERE id = '$dataToSend2' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$q = "UPDATE users SET stamina = stamina - 1 WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
//$q = "INSERT INTO userLog (discordUserID, actionType, actionData)
|
||||
//VALUES (" . $userID . ", '" . $dataType . "', '$userID attacked Ravager#$dataToSend2.');";
|
||||
//$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "INSERT INTO attackLog (discordUserID, hostileID, damage)
|
||||
VALUES ('$userID','$dataToSend2','$dataToSend');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "SELECT hostiles.health,hostiles.maxHealth,hostiles.speed,hostiles.strength,users.speed as userspeed,users.health as userhealth FROM hostiles,users WHERE hostiles.id = '$dataToSend2' AND users.discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$hostileHealth=stripslashes($a['health']);
|
||||
$hostileMaxHealth=stripslashes($a['maxHealth']);
|
||||
$hostileSpeed=stripslashes($a['speed']);
|
||||
$hostileStrength=stripslashes($a['strength']);
|
||||
$userSpeed=stripslashes($a['userspeed']);
|
||||
$userHealth=stripslashes($a['userhealth']);
|
||||
}
|
||||
if($hostileHealth <= 0){
|
||||
if($hostileHealth < 0){ $hostileHealth = 0;};
|
||||
//returns health less than zero, kill enemy.
|
||||
$q = "UPDATE hostiles SET alive = 0,health = 0 WHERE id = '$dataToSend2' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
}
|
||||
$criticalHit = 0;
|
||||
$hitAmount = getEnemyDamage($hostileSpeed,$userSpeed,$hostileStrength);
|
||||
if($hitAmount > 0){
|
||||
if ($hitAmount >= $userHealth){$hitAmount = $userHealth; $criticalHit = 1;};
|
||||
$q = "UPDATE users SET health = health - $hitAmount WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
}
|
||||
echo $hostileHealth.",".$hostileMaxHealth.",".$hitAmount.",".$criticalHit;
|
||||
exit;
|
||||
} else{
|
||||
echo "0";
|
||||
}
|
||||
|
||||
|
||||
exit;
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case "hostileAttackBack":
|
||||
|
||||
$q = "UPDATE users SET stamina = stamina - 1 WHERE discordUserID = '$userID' AND stamina > 0 LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
|
||||
$q = "SELECT hostiles.health,hostiles.maxHealth,hostiles.speed,hostiles.strength,users.speed as userspeed,users.health as userhealth FROM hostiles,users WHERE hostiles.id = '$dataToSend2' AND users.discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$hostileHealth=stripslashes($a['health']);
|
||||
$hostileMaxHealth=stripslashes($a['maxHealth']);
|
||||
$hostileSpeed=stripslashes($a['speed']);
|
||||
$hostileStrength=stripslashes($a['strength']);
|
||||
$userSpeed=stripslashes($a['userspeed']);
|
||||
$userHealth=stripslashes($a['userhealth']);
|
||||
}
|
||||
$criticalHit = 0;
|
||||
$hitAmount = getEnemyDamage($hostileSpeed,$userSpeed,$hostileStrength);
|
||||
if($hitAmount > 0){
|
||||
if ($hitAmount >= $userHealth){$hitAmount = $userHealth; $criticalHit = 1;};
|
||||
$q = "UPDATE users SET health = health - $hitAmount WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
}
|
||||
echo $hostileHealth.",".$hostileMaxHealth.",".$hitAmount.",".$criticalHit;
|
||||
exit;
|
||||
} else{
|
||||
echo "0";
|
||||
}
|
||||
|
||||
|
||||
exit;
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case "hostileFlee":
|
||||
$q = "SELECT id FROM hostiles WHERE alive = 1 ORDER BY id DESC LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$hostileID=stripslashes($a['id']);
|
||||
}
|
||||
$q = "UPDATE hostiles SET fled = 1,alive=0 WHERE id = '$hostileID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo "fled";
|
||||
} else{
|
||||
echo "alreadyDead";
|
||||
}
|
||||
break;
|
||||
|
||||
case "newHostile":
|
||||
$q = "SELECT id FROM hostiles WHERE alive = 1 LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
echo "notCreated";
|
||||
} else{
|
||||
$elvl = $dataToSend;
|
||||
$healthBase = 50; $strengthBase = 3; $speedBase = 3; $stashBase = 3;
|
||||
$healthMin = ($healthBase * $elvl) / 2; $healthMax = $healthBase * $elvl;
|
||||
$strengthMin = ($strengthBase * $elvl) / 2; $strengthMax = $strengthBase * $elvl;
|
||||
$speedMin = ($speedBase * $elvl) / 2; $speedMax = $speedBase * $elvl;
|
||||
$stashMin = ($stashBase * $elvl) / 2; $stashMax = $stashBase * $elvl;
|
||||
|
||||
$health = floor(rand($healthMin,$healthMax));
|
||||
$strength = floor(rand($strengthMin,$strengthMax));
|
||||
$speed = floor(rand($speedMin,$speedMax));
|
||||
$stash = floor(rand($stashMin,$stashMax));
|
||||
|
||||
$claimID = floor(rand(1000,9999));
|
||||
$q = "INSERT INTO hostiles (hostileType, maxHealth, health, strength, speed, stash, alive, claimID)
|
||||
VALUES ('ravager', '$health', '$health', '$strength', '$speed', '$stash', 1, '$claimID');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo $health.",".$speed.",".$strength.",".$claimID;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
|
||||
|
||||
case "claim":
|
||||
$claimAmount = $dataToSend2;
|
||||
|
||||
|
||||
$q = "SELECT stash FROM hostiles WHERE alive = 0 AND claimID = '$dataToSend' LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$stash=stripslashes($a['stash']);
|
||||
}
|
||||
if($claimAmount <= $stash){
|
||||
//take money from the stash
|
||||
$q = "UPDATE hostiles SET stash = stash - $claimAmount WHERE claimID = '$dataToSend' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$q = "UPDATE users SET wallet = wallet + $claimAmount WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "INSERT INTO userLog (discordUserID, actionType, actionData)
|
||||
VALUES (" . $userID . ", '" . $dataType . "', '$userID claimed $claimAmount crystals from a Ravager.');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$stash = $stash - $claimAmount;
|
||||
if($stash == 0){
|
||||
$q = "UPDATE hostiles SET claimID=0 WHERE claimID = '$dataToSend' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
}
|
||||
echo $stash;
|
||||
}else{
|
||||
echo "notEnough";
|
||||
}
|
||||
exit;
|
||||
} else{
|
||||
echo "noClaimID";
|
||||
}
|
||||
|
||||
|
||||
exit;
|
||||
|
||||
break;
|
||||
|
||||
case "getHostileData":
|
||||
$q = "SELECT stash,claimID FROM hostiles WHERE alive = 0 AND id = '$dataToSend' LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$stash=stripslashes($a['stash']);
|
||||
$claimID=stripslashes($a['claimID']);
|
||||
}
|
||||
echo $stash.",".$claimID;
|
||||
}
|
||||
exit;
|
||||
|
||||
break;
|
||||
|
||||
|
||||
|
||||
case "getDamageDistribution":
|
||||
//Gets base stats for enemy
|
||||
$q = "SELECT stash,maxHealth,fled FROM hostiles WHERE id = '$dataToSend' LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$a = mysqli_fetch_assoc($r2);
|
||||
$stash=stripslashes($a['stash']);
|
||||
$maxHealth=stripslashes($a['maxHealth']);
|
||||
$fled=stripslashes($a['fled']);
|
||||
$totalCrystalsInStash = 0;
|
||||
|
||||
if($fled == 1){
|
||||
echo "fled";
|
||||
}else{
|
||||
//gets all dammage from users
|
||||
$damageDistribution = array();
|
||||
$q = "SELECT discordUserID,SUM(damage) totalDamage FROM attackLog WHERE hostileID = $dataToSend GROUP BY discordUserID;";
|
||||
//$q = "SELECT attackLog.damage,attackLog.discordUserID,hostiles.stash,hostiles.maxHealth FROM attackLog WHERE hostiles.id = attackLog.hostileID AND attackLog.hostileID = '$dataToSend';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$damage=stripslashes($a['totalDamage']);
|
||||
$discordUserID=stripslashes($a['discordUserID']);
|
||||
$damagePercent = round(( $damage / $maxHealth ) * 100);
|
||||
$percentStashAmount = round($stash * ($damagePercent/100));
|
||||
$totalCrystalsInStash += $percentStashAmount;
|
||||
// you can add single array values too
|
||||
$damageDistribution[] = array('id'=>$discordUserID, 'totalDamage'=>$damage, 'damagePercent'=>$damagePercent, 'crystalsReceived'=>$percentStashAmount);
|
||||
if($dataToSend2 == 1){
|
||||
//Flag to actually distribute crystals
|
||||
$q2 = "UPDATE users SET wallet = wallet + $percentStashAmount WHERE discordUserID = '$discordUserID' LIMIT 1";
|
||||
$r3 = mysqli_query($con,$q2);
|
||||
}
|
||||
|
||||
}
|
||||
echo json_encode($damageDistribution);
|
||||
} else{
|
||||
echo 0;
|
||||
}
|
||||
exit;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
||||
case "updateStamina":
|
||||
$q = "UPDATE users SET stamina = stamina + 1 WHERE stamina < maxStamina;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
//UPDATE users SET health = min(floor(health + (maxHeath/100)), maxHealth)
|
||||
$q = "UPDATE users SET health = least(floor(health + (maxHealth/100)), maxHealth) WHERE health < maxHealth AND health > 0;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
exit;
|
||||
break;
|
||||
|
||||
|
||||
case "reviveAll":
|
||||
$q = "UPDATE users SET health = 1 WHERE health = 0;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$q = "INSERT INTO userLog (discordUserID, actionType, actionData)
|
||||
VALUES (0,'revive','reviveAll');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
exit;
|
||||
break;
|
||||
|
||||
|
||||
case "lvlinfo":
|
||||
$q = "SELECT xp,lvl FROM users WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$xp=stripslashes($a['xp']);
|
||||
$currentlvl=stripslashes($a['lvl']);
|
||||
$lvlbase=getLevelBase();
|
||||
$lvl=getLevel($xp,$lvlbase);
|
||||
|
||||
}
|
||||
}
|
||||
//echo "LEVEL: ".getLevel($xp,$lvlbase),"<BR>XP: ".$xp."<BR>CURRENT LEVEL PROGRESS:".getCurrentLevelProgress($xp,$lvl);
|
||||
echo "LEVEL: ".getLevel($dataToSend,$lvlbase),"<BR>XP: ".$xp."<BR>CURRENT LEVEL PROGRESS:".getCurrentLevelProgress($xp,$lvl);
|
||||
break;
|
||||
|
||||
case "upgradeStats":
|
||||
//Changed it to just upgrade 1 point automatically
|
||||
$dataToSend2 = 1;
|
||||
$q = "SELECT statPoints FROM users WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$statPoints=stripslashes($a['statPoints']);
|
||||
}
|
||||
if($dataToSend2 <= $statPoints){
|
||||
$tableName = "";
|
||||
switch (strtoupper($dataToSend)) {
|
||||
case "STR":
|
||||
$tableName = "strength = strength + ".$dataToSend2;
|
||||
break;
|
||||
case "HP":
|
||||
$tableName = "maxHealth = maxHealth + 10";
|
||||
break;
|
||||
case "SPD":
|
||||
$tableName = "speed = speed + ".$dataToSend2;
|
||||
break;
|
||||
case "STAM":
|
||||
$tableName = "maxStamina = maxStamina + ".$dataToSend2;
|
||||
break;
|
||||
}
|
||||
$q = "UPDATE users SET statPoints = statPoints - $dataToSend2,$tableName WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo "success";
|
||||
} else{
|
||||
echo "notEnoughPoints";
|
||||
}
|
||||
} else{
|
||||
echo "failure";
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
||||
|
||||
|
||||
case "heal":
|
||||
$q = "SELECT health,maxHealth,wallet FROM users WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$health=stripslashes($a['health']);
|
||||
$maxHealth=stripslashes($a['maxHealth']);
|
||||
$crystals=stripslashes($a['wallet']);
|
||||
}
|
||||
$treatmentCost = $dataToSend;
|
||||
$treatmentName = $dataToSend2;
|
||||
$newHealth = $health;
|
||||
if($health == $maxHealth){echo "fullHealth";exit;}
|
||||
|
||||
if($health > 0){
|
||||
if($crystals >= $treatmentCost){
|
||||
switch ($treatmentName) {
|
||||
case "TREAT":
|
||||
$newHealth += 15;
|
||||
break;
|
||||
case "TREATV2":
|
||||
$newHealth = $maxHealth*0.15;
|
||||
break;
|
||||
case "PATCH":
|
||||
$newHealth += 50;
|
||||
break;
|
||||
case "PATCHV2":
|
||||
$newHealth = $maxHealth*0.5;
|
||||
break;
|
||||
case "REGEN":
|
||||
$newHealth += 100;
|
||||
break;
|
||||
case "REGENV2":
|
||||
$newHealth = $maxHealth;
|
||||
break;
|
||||
default:
|
||||
echo "cantDoThat";exit;
|
||||
break;
|
||||
}
|
||||
if($newHealth < $health){echo "lessThanYourHealth";exit;}
|
||||
if($newHealth>$maxHealth){$newHealth = $maxHealth;};
|
||||
$q = "UPDATE users SET health = $newHealth,wallet = wallet - $treatmentCost WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo "success,".$newHealth."/".$maxHealth;
|
||||
} else{
|
||||
echo "notEnoughCrystals";
|
||||
}
|
||||
} else{
|
||||
if($crystals >= $treatmentCost){
|
||||
switch ($treatmentName) {
|
||||
case "REVIVE":
|
||||
$newHealth = 25;
|
||||
break;
|
||||
case "REVIVEV2":
|
||||
$newHealth = $maxHealth*0.5;
|
||||
break;
|
||||
case "REVIVEV3":
|
||||
$newHealth = $maxHealth;
|
||||
break;
|
||||
case "TREAT":
|
||||
echo "youreKnockedOut";exit;
|
||||
break;
|
||||
case "TREATV2":
|
||||
echo "youreKnockedOut";exit;
|
||||
break;
|
||||
case "PATCH":
|
||||
echo "youreKnockedOut";exit;
|
||||
break;
|
||||
case "PATCHV2":
|
||||
echo "youreKnockedOut";exit;
|
||||
break;
|
||||
case "REGEN":
|
||||
echo "youreKnockedOut";exit;
|
||||
break;
|
||||
default:
|
||||
echo "cantDoThat";exit;
|
||||
break;
|
||||
}
|
||||
if($newHealth < $health){echo "lessThanYourHealth";exit;}
|
||||
if($newHealth>$maxHealth){$newHealth = $maxHealth;};
|
||||
$q = "UPDATE users SET health = $newHealth,wallet = wallet - $treatmentCost WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo "success,".$newHealth."/".$maxHealth;
|
||||
}else{
|
||||
echo "notEnoughCrystals";
|
||||
}
|
||||
}
|
||||
} else{
|
||||
echo "failure";
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
||||
|
||||
case "addXP":
|
||||
addXp($userID,$dataToSend);
|
||||
break;
|
||||
|
||||
|
||||
case "getLevelUp":
|
||||
//addXp($userID,$dataToSend);
|
||||
$levelCap = 30;$levelCapXP = 625;
|
||||
$q = "SELECT xp,lvl,statPoints,chests FROM users WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$xp=stripslashes($a['xp']);
|
||||
$lvl=stripslashes($a['lvl']);
|
||||
$statPoints=stripslashes($a['statPoints']);
|
||||
$chests=stripslashes($a['chests']);
|
||||
}
|
||||
$lvlbase = getLevelBase();
|
||||
$currentLVL = floor(getLevel($xp,$lvlbase));
|
||||
if($currentLVL > $lvl){
|
||||
if($currentLVL > $levelCap){
|
||||
$chests += 1;
|
||||
$q = "UPDATE users SET lvl = $levelCap,chests = chests + 1,xp = $levelCapXP WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
}else{
|
||||
$statPoints += 1;
|
||||
$q = "UPDATE users SET lvl = lvl + 1,statPoints = statPoints + 1 WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$lvl = $lvl + 1;
|
||||
}
|
||||
echo "levelup,".$lvl.",".$statPoints.",".$statPoints;
|
||||
} else{
|
||||
echo "xpadded,".$currentLVL.",".$statPoints;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
||||
case "scavenge":
|
||||
$random = floor(rand(0,101));
|
||||
$ultrarare = 0;$rare = 0; $uncommon = 0; $common = 0; $scrap = 0;
|
||||
if($random <= 0.5){
|
||||
$ultrarare = 1;
|
||||
}
|
||||
if($random <= 3 && $random > 0.5){
|
||||
$rare = round(rand(1,2));
|
||||
}
|
||||
if($random <= 10 && $random > 3){
|
||||
$uncommon = round(rand(1,3));
|
||||
}
|
||||
if($random <= 50 && $random > 10){
|
||||
$common = round(rand(1,3));
|
||||
}
|
||||
if($random > 50){
|
||||
$scrap = round(rand(1,7));
|
||||
}
|
||||
|
||||
$staminaCost = $dataToSend;
|
||||
$crystalCost = $dataToSend2;
|
||||
$q = "UPDATE users SET stamina = stamina - $staminaCost,wallet = wallet - $crystalCost WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "SELECT id FROM artifacts WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
|
||||
$q = "UPDATE artifacts SET scrap = scrap + $scrap,common = common + $common,uncommon = uncommon + $uncommon,rare = rare + $rare,ultrarare = ultrarare + $ultrarare WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo "success,".$ultrarare.",".$rare.",".$uncommon.",".$common.",".$scrap;
|
||||
} else{
|
||||
$q = "INSERT INTO artifacts (discordUserID, scrap, common, uncommon, rare, ultrarare)
|
||||
VALUES ($userID,$scrap,$common,$uncommon,$rare,$ultrarare);";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo "success,".$ultrarare.",".$rare.",".$uncommon.",".$common.",".$scrap;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
|
||||
case "artifactSell":
|
||||
|
||||
|
||||
$q = "SELECT scrap,common,uncommon,rare,ultrarare FROM artifacts WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
$a = mysqli_fetch_assoc($r2);
|
||||
$scrapQuantity=stripslashes($a['scrap']);
|
||||
$commonQuantity=stripslashes($a['common']);
|
||||
$uncommonQuantity=stripslashes($a['uncommon']);
|
||||
$rareQuantity=stripslashes($a['rare']);
|
||||
$ultrarareQuantity=stripslashes($a['ultrarare']);
|
||||
|
||||
$itemToSell = strtolower ($dataToSend);
|
||||
$price = 0;$totalPayout = 0;$itemQuantity = 0;
|
||||
|
||||
$price = 0.1;
|
||||
$scrapTotalPayout = round($price * $scrapQuantity);
|
||||
$price = 2;
|
||||
$commonTotalPayout = $price * $commonQuantity;
|
||||
$price = 5;
|
||||
$uncommonTotalPayout = $price * $uncommonQuantity;
|
||||
$price = 10;
|
||||
$rareTotalPayout = $price * $rareQuantity;
|
||||
$price = 30;
|
||||
$ultrarareTotalPayout = $price * $ultrarareQuantity;
|
||||
|
||||
$itemQuantity = $scrapQuantity + $commonQuantity + $uncommonQuantity + $rareQuantity + $ultrarareQuantity;
|
||||
$totalPayout = $scrapTotalPayout + $commonTotalPayout + $uncommonTotalPayout + $rareTotalPayout + $ultrarareTotalPayout;
|
||||
|
||||
if($itemToSell == "all"){
|
||||
$q = "UPDATE artifacts SET scrap =0,common = 0,uncommon = 0,rare = 0,ultrarare = 0 WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$q = "UPDATE users SET wallet = wallet + $totalPayout WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo "success,".$itemQuantity.",".$totalPayout;
|
||||
}else{
|
||||
|
||||
$crystals = 0;
|
||||
switch ($itemToSell) {
|
||||
case "scrap":
|
||||
$singlePayout = $scrapTotalPayout;
|
||||
$itemQuantity = $scrapQuantity;
|
||||
break;
|
||||
case "common":
|
||||
$singlePayout = $commonTotalPayout;
|
||||
$itemQuantity = $commonQuantity;
|
||||
break;
|
||||
case "uncommon":
|
||||
$singlePayout = $uncommonTotalPayout;
|
||||
$itemQuantity = $uncommonQuantity;
|
||||
break;
|
||||
case "rare":
|
||||
$singlePayout = $rareTotalPayout;
|
||||
$itemQuantity = $rareQuantity;
|
||||
break;
|
||||
case "ultrarare":
|
||||
$singlePayout = $ultrarareTotalPayout;
|
||||
$itemQuantity = $ultrarareQuantity;
|
||||
break;
|
||||
}
|
||||
$q = "UPDATE artifacts SET $itemToSell = 0 WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$q = "UPDATE users SET wallet = wallet + $singlePayout WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo "success,".$itemQuantity.",".$singlePayout;
|
||||
}
|
||||
}else{
|
||||
echo "failure";
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
|
||||
case "buyDrink":
|
||||
$q = "UPDATE users SET wallet = wallet - $dataToSend WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
break;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
//echo json_encode($array);
|
||||
|
||||
|
||||
|
||||
if($debug){
|
||||
echo "\n"."UID:".$userID;
|
||||
}
|
||||
|
||||
mysqli_close($con);
|
||||
|
||||
|
||||
function getEnemyDamage($hostileSpeed,$userSpeed,$hostileStrength){
|
||||
$hitAmount = 0;
|
||||
$percentage = floor(rand(0,101));
|
||||
if($hostileSpeed > $userSpeed){
|
||||
if($percentage <= 80 ){
|
||||
//80% chance to hit you back.
|
||||
$hitAmount = $hostileStrength + rand(-($hostileStrength/4),$hostileStrength/4);
|
||||
}
|
||||
} else{
|
||||
if($percentage <= 30){
|
||||
//30% chance to hit you back.
|
||||
$hitAmount = $hostileStrength + rand(-($hostileStrength/4),$hostileStrength/4);
|
||||
}
|
||||
}
|
||||
/*
|
||||
if($hostileSpeed > $userSpeed){
|
||||
if(20 > rand(0,100)){
|
||||
$hitAmount = $hostileStrength + rand(-($hostileStrength/4),$hostileStrength/4);
|
||||
}
|
||||
} elseif($hostileSpeed == $userSpeed){
|
||||
if(50 >= rand(0,100)){
|
||||
$hitAmount = $hostileStrength + rand(-($hostileStrength/4),$hostileStrength/4);
|
||||
}
|
||||
} else{
|
||||
if(70 >= rand(0,100)){
|
||||
$hitAmount = $hostileStrength + rand(-($hostileStrength/4),$hostileStrength/4);
|
||||
}
|
||||
}
|
||||
*/
|
||||
return $hitAmount;
|
||||
}
|
||||
|
||||
?>
|
||||
743
PHPBotServer/sendData2.php
Normal file
743
PHPBotServer/sendData2.php
Normal file
@@ -0,0 +1,743 @@
|
||||
<?php
|
||||
//header('Access-Control-Allow-Origin: *');
|
||||
//header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
|
||||
include_once 'functions.php';
|
||||
|
||||
if( isset($_GET['dataType']) ){ $dataType = $_GET['dataType']; } else{ $dataType = ''; };
|
||||
if( isset($_GET['dataToSend']) ){ $dataToSend = $_GET['dataToSend']; } else{ $dataToSend = ''; };
|
||||
if( isset($_GET['dataToSend2']) ){ $dataToSend2 = $_GET['dataToSend2']; } else{ $dataToSend2 = ''; };
|
||||
if( isset($_GET['userid']) ){ $userID = $_GET['userid']; } else{ $userID = ''; };
|
||||
if( isset($_GET['pk']) ){ $privateKey = $_GET['pk']; } else{ $privateKey = ''; };
|
||||
$debug = false;
|
||||
|
||||
if($privateKey != privateKey()){
|
||||
echo throwError("invalidPrivateKey");
|
||||
exit;
|
||||
}
|
||||
|
||||
$con = mysqlConnect();
|
||||
|
||||
switch ($dataType) {
|
||||
case "conversion":
|
||||
$q = "INSERT INTO userLog (discordUserID, actionType, actionData)
|
||||
VALUES (" . $userID . ", '" . $dataType . "', '" . $dataToSend . "');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
break;
|
||||
case "newUser":
|
||||
/*
|
||||
$q = "INSERT INTO users (discordUserID,wallet)
|
||||
SELECT * FROM (SELECT '$userID',0) AS tmp
|
||||
WHERE NOT EXISTS (
|
||||
SELECT discordUserID FROM users WHERE discordUserID = '$userID'
|
||||
) LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
*/
|
||||
|
||||
$q = "SELECT id FROM users WHERE discordUserID = '$userID' LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
echo "userAlreadyExists";
|
||||
} else{
|
||||
$q = "INSERT INTO users (discordUserID,wallet)
|
||||
SELECT * FROM (SELECT '$userID',0) AS tmp
|
||||
WHERE NOT EXISTS (
|
||||
SELECT discordUserID FROM users WHERE discordUserID = '$userID'
|
||||
) LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo "createdUser";
|
||||
}
|
||||
break;
|
||||
case "checkin":
|
||||
$q = "SELECT id,actionTime FROM userLog WHERE actionTime >= CURDATE() AND actionType = 'checkin' AND discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
//already checked in today.
|
||||
$a = mysqli_fetch_assoc($r2);
|
||||
$flastupdated=stripslashes($a['actionTime']);
|
||||
|
||||
$timeAgoObject = new convertToAgo; // Create an object for the time conversion functions
|
||||
// Query your database here and get timestamp
|
||||
$ts = $flastupdated;
|
||||
$convertedTime = ($timeAgoObject -> convert_datetime($ts)); // Convert Date Time
|
||||
$when = ($timeAgoObject -> makeAgo($convertedTime)); // Then convert to ago time
|
||||
//date("F j, Y, g:i a", strtotime($flastupdated));
|
||||
echo $when;
|
||||
} else{
|
||||
//Can check in.
|
||||
$q = "UPDATE users SET wallet = wallet + $dataToSend WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "INSERT INTO userLog (discordUserID, actionType, actionData)
|
||||
VALUES (" . $userID . ", '" . $dataType . "', 'Checked in for $dataToSend crystals.');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo 1;
|
||||
exit;
|
||||
}
|
||||
break;
|
||||
|
||||
case "deposit":
|
||||
$q = "SELECT wallet FROM users WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$account=stripslashes($a['wallet']);
|
||||
}
|
||||
if($account >= $dataToSend && $dataToSend > 0){
|
||||
//has enough credits in their account
|
||||
$q = "UPDATE users SET wallet = wallet - $dataToSend WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "UPDATE factions SET account = account + $dataToSend WHERE discordRoleID = '$dataToSend2' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "INSERT INTO userLog (discordUserID, actionType, actionData)
|
||||
VALUES (" . $userID . ", '" . $dataType . "', 'Deposited $dataToSend crystals to $dataToSend2.');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo 1;
|
||||
} else{
|
||||
echo "{ERROR} - Not enough crystals in your account.";
|
||||
}
|
||||
exit;
|
||||
} else{
|
||||
echo "{ERROR} - Cant find wallet. Something went wrong.";
|
||||
}
|
||||
break;
|
||||
|
||||
case "gambleWon":
|
||||
$q = "UPDATE users SET wallet = wallet + $dataToSend WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "INSERT INTO userLog (discordUserID, actionType, actionData)
|
||||
VALUES (" . $userID . ", '" . $dataType . "', 'Gambled and won for $dataToSend crystals.');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo 1;
|
||||
exit;
|
||||
|
||||
break;
|
||||
case "gambleLost":
|
||||
$q = "UPDATE users SET wallet = wallet - $dataToSend WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "INSERT INTO userLog (discordUserID, actionType, actionData)
|
||||
VALUES (" . $userID . ", '" . $dataType . "', 'Gambled and lost for $dataToSend crystals.');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo 1;
|
||||
exit;
|
||||
|
||||
break;
|
||||
|
||||
case "transfer":
|
||||
$q = "UPDATE users SET wallet = wallet - $dataToSend2 WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$q = "UPDATE users SET wallet = wallet + $dataToSend2 WHERE discordUserID = '$dataToSend' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "INSERT INTO userLog (discordUserID, actionType, actionData)
|
||||
VALUES (" . $userID . ", '" . $dataType . "', '$userID gave $dataToSend2 crystals to $dataToSend.');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo 1;
|
||||
exit;
|
||||
|
||||
break;
|
||||
|
||||
case "attack":
|
||||
|
||||
$q = "UPDATE hostiles SET health = health - $dataToSend WHERE id = '$dataToSend2' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$q = "UPDATE users SET stamina = stamina - 1 WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
//$q = "INSERT INTO userLog (discordUserID, actionType, actionData)
|
||||
//VALUES (" . $userID . ", '" . $dataType . "', '$userID attacked Ravager#$dataToSend2.');";
|
||||
//$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "INSERT INTO attackLog (discordUserID, hostileID, damage)
|
||||
VALUES ('$userID','$dataToSend2','$dataToSend');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "SELECT hostiles.health,hostiles.maxHealth,hostiles.speed,hostiles.strength,users.speed as userspeed,users.health as userhealth FROM hostiles,users WHERE hostiles.id = '$dataToSend2' AND users.discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$hostileHealth=stripslashes($a['health']);
|
||||
$hostileMaxHealth=stripslashes($a['maxHealth']);
|
||||
$hostileSpeed=stripslashes($a['speed']);
|
||||
$hostileStrength=stripslashes($a['strength']);
|
||||
$userSpeed=stripslashes($a['userspeed']);
|
||||
$userHealth=stripslashes($a['userhealth']);
|
||||
}
|
||||
if($hostileHealth <= 0){
|
||||
if($hostileHealth < 0){ $hostileHealth = 0;};
|
||||
//returns health less than zero, kill enemy.
|
||||
$q = "UPDATE hostiles SET alive = 0,health = 0 WHERE id = '$dataToSend2' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
}
|
||||
$criticalHit = 0;
|
||||
$hitAmount = getEnemyDamage($hostileSpeed,$userSpeed,$hostileStrength);
|
||||
if($hitAmount > 0){
|
||||
if ($hitAmount >= $userHealth){$hitAmount = $userHealth; $criticalHit = 1;};
|
||||
$q = "UPDATE users SET health = health - $hitAmount WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
}
|
||||
echo $hostileHealth.",".$hostileMaxHealth.",".$hitAmount.",".$criticalHit;
|
||||
exit;
|
||||
} else{
|
||||
echo "0";
|
||||
}
|
||||
|
||||
|
||||
exit;
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case "hostileAttackBack":
|
||||
|
||||
$q = "UPDATE users SET stamina = stamina - 1 WHERE discordUserID = '$userID' AND stamina > 0 LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
|
||||
$q = "SELECT hostiles.health,hostiles.maxHealth,hostiles.speed,hostiles.strength,users.speed as userspeed,users.health as userhealth FROM hostiles,users WHERE hostiles.id = '$dataToSend2' AND users.discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$hostileHealth=stripslashes($a['health']);
|
||||
$hostileMaxHealth=stripslashes($a['maxHealth']);
|
||||
$hostileSpeed=stripslashes($a['speed']);
|
||||
$hostileStrength=stripslashes($a['strength']);
|
||||
$userSpeed=stripslashes($a['userspeed']);
|
||||
$userHealth=stripslashes($a['userhealth']);
|
||||
}
|
||||
$criticalHit = 0;
|
||||
$hitAmount = getEnemyDamage($hostileSpeed,$userSpeed,$hostileStrength);
|
||||
if($hitAmount > 0){
|
||||
if ($hitAmount >= $userHealth){$hitAmount = $userHealth; $criticalHit = 1;};
|
||||
$q = "UPDATE users SET health = health - $hitAmount WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
}
|
||||
echo $hostileHealth.",".$hostileMaxHealth.",".$hitAmount.",".$criticalHit;
|
||||
exit;
|
||||
} else{
|
||||
echo "0";
|
||||
}
|
||||
|
||||
|
||||
exit;
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case "hostileFlee":
|
||||
$q = "SELECT id FROM hostiles WHERE alive = 1 ORDER BY id DESC LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$hostileID=stripslashes($a['id']);
|
||||
}
|
||||
$q = "UPDATE hostiles SET fled = 1,alive=0 WHERE id = '$hostileID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo "fled";
|
||||
} else{
|
||||
echo "alreadyDead";
|
||||
}
|
||||
break;
|
||||
|
||||
case "newHostile":
|
||||
$q = "SELECT id FROM hostiles WHERE alive = 1 LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
echo "notCreated";
|
||||
} else{
|
||||
$elvl = $dataToSend;
|
||||
$healthBase = 150; $strengthBase = 6; $speedBase = 6; $stashBase = 9;
|
||||
$healthMin = ($healthBase * $elvl) / 2; $healthMax = $healthBase * $elvl;
|
||||
$strengthMin = ($strengthBase * $elvl) / 2; $strengthMax = $strengthBase * $elvl;
|
||||
$speedMin = ($speedBase * $elvl) / 2; $speedMax = $speedBase * $elvl;
|
||||
$stashMin = ($stashBase * $elvl) / 2; $stashMax = $stashBase * $elvl;
|
||||
|
||||
$health = floor(rand($healthMin,$healthMax));
|
||||
$strength = floor(rand($strengthMin,$strengthMax));
|
||||
$speed = floor(rand($speedMin,$speedMax));
|
||||
$stash = floor(rand($stashMin,$stashMax));
|
||||
|
||||
$claimID = floor(rand(1000,9999));
|
||||
$q = "INSERT INTO hostiles (hostileType, maxHealth, health, strength, speed, stash, alive, claimID)
|
||||
VALUES ('ravager', '$health', '$health', '$strength', '$speed', '$stash', 1, '$claimID');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo $health.",".$speed.",".$strength.",".$claimID;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
|
||||
|
||||
case "claim":
|
||||
$claimAmount = $dataToSend2;
|
||||
|
||||
|
||||
$q = "SELECT stash FROM hostiles WHERE alive = 0 AND claimID = '$dataToSend' LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$stash=stripslashes($a['stash']);
|
||||
}
|
||||
if($claimAmount <= $stash){
|
||||
//take money from the stash
|
||||
$q = "UPDATE hostiles SET stash = stash - $claimAmount WHERE claimID = '$dataToSend' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$q = "UPDATE users SET wallet = wallet + $claimAmount WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "INSERT INTO userLog (discordUserID, actionType, actionData)
|
||||
VALUES (" . $userID . ", '" . $dataType . "', '$userID claimed $claimAmount crystals from a Ravager.');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$stash = $stash - $claimAmount;
|
||||
if($stash == 0){
|
||||
$q = "UPDATE hostiles SET claimID=0 WHERE claimID = '$dataToSend' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
}
|
||||
echo $stash;
|
||||
}else{
|
||||
echo "notEnough";
|
||||
}
|
||||
exit;
|
||||
} else{
|
||||
echo "noClaimID";
|
||||
}
|
||||
|
||||
|
||||
exit;
|
||||
|
||||
break;
|
||||
|
||||
case "getHostileData":
|
||||
$q = "SELECT stash,claimID FROM hostiles WHERE alive = 0 AND id = '$dataToSend' LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$stash=stripslashes($a['stash']);
|
||||
$claimID=stripslashes($a['claimID']);
|
||||
}
|
||||
echo $stash.",".$claimID;
|
||||
}
|
||||
exit;
|
||||
|
||||
break;
|
||||
|
||||
|
||||
|
||||
case "getDamageDistribution":
|
||||
//Gets base stats for enemy
|
||||
$q = "SELECT stash,maxHealth,fled FROM hostiles WHERE id = '$dataToSend' LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$a = mysqli_fetch_assoc($r2);
|
||||
$stash=stripslashes($a['stash']);
|
||||
$maxHealth=stripslashes($a['maxHealth']);
|
||||
$fled=stripslashes($a['fled']);
|
||||
$totalCrystalsInStash = 0;
|
||||
|
||||
if($fled == 1){
|
||||
echo "fled";
|
||||
}else{
|
||||
//gets all dammage from users
|
||||
$damageDistribution = array();
|
||||
$q = "SELECT discordUserID,SUM(damage) totalDamage FROM attackLog WHERE hostileID = $dataToSend GROUP BY discordUserID;";
|
||||
//$q = "SELECT attackLog.damage,attackLog.discordUserID,hostiles.stash,hostiles.maxHealth FROM attackLog WHERE hostiles.id = attackLog.hostileID AND attackLog.hostileID = '$dataToSend';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$damage=stripslashes($a['totalDamage']);
|
||||
$discordUserID=stripslashes($a['discordUserID']);
|
||||
$damagePercent = round(( $damage / $maxHealth ) * 100);
|
||||
$percentStashAmount = round($stash * ($damagePercent/100));
|
||||
$totalCrystalsInStash += $percentStashAmount;
|
||||
// you can add single array values too
|
||||
$damageDistribution[] = array('id'=>$discordUserID, 'totalDamage'=>$damage, 'damagePercent'=>$damagePercent, 'crystalsReceived'=>$percentStashAmount);
|
||||
if($dataToSend2 == 1){
|
||||
//Flag to actually distribute crystals
|
||||
$q2 = "UPDATE users SET wallet = wallet + $percentStashAmount WHERE discordUserID = '$discordUserID' LIMIT 1";
|
||||
$r3 = mysqli_query($con,$q2);
|
||||
}
|
||||
|
||||
}
|
||||
echo json_encode($damageDistribution);
|
||||
} else{
|
||||
echo 0;
|
||||
}
|
||||
exit;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
||||
case "updateStamina":
|
||||
$q = "UPDATE users SET stamina = stamina + 1 WHERE stamina < maxStamina;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
//UPDATE users SET health = min(floor(health + (maxHeath/100)), maxHealth)
|
||||
$q = "UPDATE users SET health = least(floor(health + (maxHealth/100)), maxHealth) WHERE health < maxHealth AND health > 0;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
exit;
|
||||
break;
|
||||
|
||||
|
||||
case "reviveAll":
|
||||
$q = "UPDATE users SET health = 1 WHERE health = 0;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$q = "INSERT INTO userLog (discordUserID, actionType, actionData)
|
||||
VALUES (0,'revive','reviveAll');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
exit;
|
||||
break;
|
||||
|
||||
|
||||
case "lvlinfo":
|
||||
$q = "SELECT xp,lvl FROM users WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$xp=stripslashes($a['xp']);
|
||||
$currentlvl=stripslashes($a['lvl']);
|
||||
$lvlbase=getLevelBase();
|
||||
$lvl=getLevel($xp,$lvlbase);
|
||||
|
||||
}
|
||||
}
|
||||
echo "LEVEL: ".getLevel($xp,$lvlbase),"<BR>XP: ".$xp."<BR>CURRENT LEVEL PROGRESS:".getCurrentLevelProgress($xp,$lvl);
|
||||
break;
|
||||
|
||||
case "upgradeStats":
|
||||
//Changed it to just upgrade 1 point automatically
|
||||
$dataToSend2 = 1;
|
||||
$q = "SELECT statPoints FROM users WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$statPoints=stripslashes($a['statPoints']);
|
||||
}
|
||||
if($dataToSend2 <= $statPoints){
|
||||
$tableName = "";
|
||||
switch (strtoupper($dataToSend)) {
|
||||
case "STR":
|
||||
$tableName = "strength = strength + ".$dataToSend2;
|
||||
break;
|
||||
case "HP":
|
||||
$tableName = "maxHealth = maxHealth + 10";
|
||||
break;
|
||||
case "SPD":
|
||||
$tableName = "speed = speed + ".$dataToSend2;
|
||||
break;
|
||||
case "STAM":
|
||||
$tableName = "maxStamina = maxStamina + ".$dataToSend2;
|
||||
break;
|
||||
}
|
||||
$q = "UPDATE users SET statPoints = statPoints - $dataToSend2,$tableName WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo "success";
|
||||
} else{
|
||||
echo "notEnoughPoints";
|
||||
}
|
||||
} else{
|
||||
echo "failure";
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
||||
|
||||
|
||||
case "heal":
|
||||
$q = "SELECT health,maxHealth,wallet FROM users WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$health=stripslashes($a['health']);
|
||||
$maxHealth=stripslashes($a['maxHealth']);
|
||||
$crystals=stripslashes($a['wallet']);
|
||||
}
|
||||
$treatmentCost = $dataToSend;
|
||||
$treatmentName = $dataToSend2;
|
||||
$newHealth = $health;
|
||||
if($health == $maxHealth){echo "fullHealth";exit;}
|
||||
|
||||
if($health > 0){
|
||||
if($crystals >= $treatmentCost){
|
||||
switch ($treatmentName) {
|
||||
case "TREAT":
|
||||
$newHealth += 15;
|
||||
break;
|
||||
case "TREATV2":
|
||||
$newHealth = $maxHealth*0.15;
|
||||
break;
|
||||
case "PATCH":
|
||||
$newHealth += 50;
|
||||
break;
|
||||
case "PATCHV2":
|
||||
$newHealth = $maxHealth*0.5;
|
||||
break;
|
||||
case "REGEN":
|
||||
$newHealth += 100;
|
||||
break;
|
||||
case "REGENV2":
|
||||
$newHealth = $maxHealth;
|
||||
break;
|
||||
default:
|
||||
echo "cantDoThat";exit;
|
||||
break;
|
||||
}
|
||||
if($newHealth < $health){echo "lessThanYourHealth";exit;}
|
||||
if($newHealth>$maxHealth){$newHealth = $maxHealth;};
|
||||
$q = "UPDATE users SET health = $newHealth,wallet = wallet - $treatmentCost WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo "success,".$newHealth."/".$maxHealth;
|
||||
} else{
|
||||
echo "notEnoughCrystals";
|
||||
}
|
||||
} else{
|
||||
if($crystals >= $treatmentCost){
|
||||
switch ($treatmentName) {
|
||||
case "REVIVE":
|
||||
$newHealth = 25;
|
||||
break;
|
||||
case "REVIVEV2":
|
||||
$newHealth = $maxHealth*0.5;
|
||||
break;
|
||||
case "REVIVEV3":
|
||||
$newHealth = $maxHealth;
|
||||
break;
|
||||
case "TREAT":
|
||||
echo "youreKnockedOut";exit;
|
||||
break;
|
||||
case "TREATV2":
|
||||
echo "youreKnockedOut";exit;
|
||||
break;
|
||||
case "PATCH":
|
||||
echo "youreKnockedOut";exit;
|
||||
break;
|
||||
case "PATCHV2":
|
||||
echo "youreKnockedOut";exit;
|
||||
break;
|
||||
case "REGEN":
|
||||
echo "youreKnockedOut";exit;
|
||||
break;
|
||||
default:
|
||||
echo "cantDoThat";exit;
|
||||
break;
|
||||
}
|
||||
if($newHealth < $health){echo "lessThanYourHealth";exit;}
|
||||
if($newHealth>$maxHealth){$newHealth = $maxHealth;};
|
||||
$q = "UPDATE users SET health = $newHealth,wallet = wallet - $treatmentCost WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo "success,".$newHealth."/".$maxHealth;
|
||||
}else{
|
||||
echo "notEnoughCrystals";
|
||||
}
|
||||
}
|
||||
} else{
|
||||
echo "failure";
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
||||
|
||||
case "addXP":
|
||||
addXp($userID,$dataToSend);
|
||||
break;
|
||||
|
||||
|
||||
case "getLevelUp":
|
||||
//addXp($userID,$dataToSend);
|
||||
$q = "SELECT xp,lvl,statPoints FROM users WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$xp=stripslashes($a['xp']);
|
||||
$lvl=stripslashes($a['lvl']);
|
||||
$statPoints=stripslashes($a['statPoints']);
|
||||
}
|
||||
$lvlbase = getLevelBase();
|
||||
$currentLVL = floor(getLevel($xp,$lvlbase));
|
||||
if($currentLVL > $lvl){
|
||||
$statPoints += 1;
|
||||
$q = "UPDATE users SET lvl = lvl + 1,statPoints = statPoints + 1 WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$lvl = $lvl + 1;
|
||||
echo "levelup,".$lvl.",".$statPoints;
|
||||
} else{
|
||||
echo "xpadded,".$currentLVL.",".$statPoints;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
||||
case "scavenge":
|
||||
$random = floor(rand(0,101));
|
||||
$ultrarare = 0;$rare = 0; $uncommon = 0; $common = 0; $scrap = 0;
|
||||
if($random <= 0.5){
|
||||
$ultrarare = 1;
|
||||
}
|
||||
if($random <= 3 && $random > 0.5){
|
||||
$rare = round(rand(1,2));
|
||||
}
|
||||
if($random <= 10 && $random > 3){
|
||||
$uncommon = round(rand(1,3));
|
||||
}
|
||||
if($random <= 50 && $random > 10){
|
||||
$common = round(rand(1,3));
|
||||
}
|
||||
if($random > 50){
|
||||
$scrap = round(rand(1,7));
|
||||
}
|
||||
|
||||
$staminaCost = $dataToSend;
|
||||
$crystalCost = $dataToSend2;
|
||||
$q = "UPDATE users SET stamina = stamina - $staminaCost,wallet = wallet - $crystalCost WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "SELECT id FROM artifacts WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
|
||||
$q = "UPDATE artifacts SET scrap = scrap + $scrap,common = common + $common,uncommon = uncommon + $uncommon,rare = rare + $rare,ultrarare = ultrarare + $ultrarare WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo "success,".$ultrarare.",".$rare.",".$uncommon.",".$common.",".$scrap;
|
||||
} else{
|
||||
$q = "INSERT INTO artifacts (discordUserID, scrap, common, uncommon, rare, ultrarare)
|
||||
VALUES ($userID,$scrap,$common,$uncommon,$rare,$ultrarare);";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo "success,".$ultrarare.",".$rare.",".$uncommon.",".$common.",".$scrap;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
|
||||
case "artifactSell":
|
||||
|
||||
|
||||
$q = "SELECT scrap,common,uncommon,rare,ultrarare FROM artifacts WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
$a = mysqli_fetch_assoc($r2);
|
||||
$scrapQuantity=stripslashes($a['scrap']);
|
||||
$commonQuantity=stripslashes($a['common']);
|
||||
$uncommonQuantity=stripslashes($a['uncommon']);
|
||||
$rareQuantity=stripslashes($a['rare']);
|
||||
$ultrarareQuantity=stripslashes($a['ultrarare']);
|
||||
|
||||
$itemToSell = strtolower ($dataToSend);
|
||||
$price = 0;$totalPayout = 0;$itemQuantity = 0;
|
||||
|
||||
$price = 0.1;
|
||||
$scrapTotalPayout = round($price * $scrapQuantity);
|
||||
$price = 2;
|
||||
$commonTotalPayout = $price * $commonQuantity;
|
||||
$price = 5;
|
||||
$uncommonTotalPayout = $price * $uncommonQuantity;
|
||||
$price = 10;
|
||||
$rareTotalPayout = $price * $rareQuantity;
|
||||
$price = 30;
|
||||
$ultrarareTotalPayout = $price * $ultrarareQuantity;
|
||||
|
||||
$itemQuantity = $scrapQuantity + $commonQuantity + $uncommonQuantity + $rareQuantity + $ultrarareQuantity;
|
||||
$totalPayout = $scrapTotalPayout + $commonTotalPayout + $uncommonTotalPayout + $rareTotalPayout + $ultrarareTotalPayout;
|
||||
|
||||
if($itemToSell == "all"){
|
||||
$q = "UPDATE artifacts SET scrap =0,common = 0,uncommon = 0,rare = 0,ultrarare = 0 WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$q = "UPDATE users SET wallet = wallet + $totalPayout WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo "success,".$itemQuantity.",".$totalPayout;
|
||||
}else{
|
||||
|
||||
$crystals = 0;
|
||||
switch ($itemToSell) {
|
||||
case "scrap":
|
||||
$singlePayout = $scrapTotalPayout;
|
||||
$itemQuantity = $scrapQuantity;
|
||||
break;
|
||||
case "common":
|
||||
$singlePayout = $commonTotalPayout;
|
||||
$itemQuantity = $commonQuantity;
|
||||
break;
|
||||
case "uncommon":
|
||||
$singlePayout = $uncommonTotalPayout;
|
||||
$itemQuantity = $uncommonQuantity;
|
||||
break;
|
||||
case "rare":
|
||||
$singlePayout = $rareTotalPayout;
|
||||
$itemQuantity = $rareQuantity;
|
||||
break;
|
||||
case "ultrarare":
|
||||
$singlePayout = $ultrarareTotalPayout;
|
||||
$itemQuantity = $ultrarareQuantity;
|
||||
break;
|
||||
}
|
||||
$q = "UPDATE artifacts SET $itemToSell = 0 WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$q = "UPDATE users SET wallet = wallet + $singlePayout WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo "success,".$itemQuantity.",".$singlePayout;
|
||||
}
|
||||
}else{
|
||||
echo "failure";
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
|
||||
case "buyDrink":
|
||||
$q = "UPDATE users SET wallet = wallet - $dataToSend WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
break;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
//echo json_encode($array);
|
||||
|
||||
|
||||
|
||||
if($debug){
|
||||
echo "\n"."UID:".$userID;
|
||||
}
|
||||
|
||||
mysqli_close($con);
|
||||
|
||||
|
||||
function getEnemyDamage($hostileSpeed,$userSpeed,$hostileStrength){
|
||||
$hitAmount = 0;
|
||||
$percentage = floor(rand(0,101));
|
||||
if($hostileSpeed > $userSpeed){
|
||||
if($percentage <= 80 ){
|
||||
//80% chance to hit you back.
|
||||
$hitAmount = $hostileStrength + rand(-($hostileStrength/4),$hostileStrength/4);
|
||||
}
|
||||
} else{
|
||||
if($percentage <= 30){
|
||||
//30% chance to hit you back.
|
||||
$hitAmount = $hostileStrength + rand(-($hostileStrength/4),$hostileStrength/4);
|
||||
}
|
||||
}
|
||||
/*
|
||||
if($hostileSpeed > $userSpeed){
|
||||
if(20 > rand(0,100)){
|
||||
$hitAmount = $hostileStrength + rand(-($hostileStrength/4),$hostileStrength/4);
|
||||
}
|
||||
} elseif($hostileSpeed == $userSpeed){
|
||||
if(50 >= rand(0,100)){
|
||||
$hitAmount = $hostileStrength + rand(-($hostileStrength/4),$hostileStrength/4);
|
||||
}
|
||||
} else{
|
||||
if(70 >= rand(0,100)){
|
||||
$hitAmount = $hostileStrength + rand(-($hostileStrength/4),$hostileStrength/4);
|
||||
}
|
||||
}
|
||||
*/
|
||||
return $hitAmount;
|
||||
}
|
||||
|
||||
?>
|
||||
400
PHPBotServer/sendPostData.php
Normal file
400
PHPBotServer/sendPostData.php
Normal file
@@ -0,0 +1,400 @@
|
||||
<?php
|
||||
//header('Access-Control-Allow-Origin: *');
|
||||
//header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
|
||||
include_once 'functions.php';
|
||||
|
||||
if( isset($_GET['dataType']) ){ $dataType = $_GET['dataType']; } else{ $dataType = ''; };
|
||||
if( isset($_GET['dataToSend']) ){ $dataToSend = $_GET['dataToSend']; } else{ $dataToSend = ''; };
|
||||
if( isset($_GET['dataToSend2']) ){ $dataToSend2 = $_GET['dataToSend2']; } else{ $dataToSend2 = ''; };
|
||||
if( isset($_GET['userid']) ){ $userID = $_GET['userid']; } else{ $userID = ''; };
|
||||
if( isset($_GET['pk']) ){ $privateKey = $_GET['pk']; } else{ $privateKey = ''; };
|
||||
$debug = false;
|
||||
|
||||
if($privateKey != privateKey()){
|
||||
echo throwError("invalidPrivateKey");
|
||||
exit;
|
||||
}
|
||||
|
||||
$con = mysqlConnect();
|
||||
|
||||
switch ($dataType) {
|
||||
|
||||
|
||||
//gets all dammage from users
|
||||
|
||||
|
||||
case "sendAllAttacks":
|
||||
$message = "";
|
||||
$playerIDs = explode("|", $dataToSend);
|
||||
$hostileType = $dataToSend2;
|
||||
|
||||
if (is_array($playerIDs)){
|
||||
foreach($playerIDs as $item) {
|
||||
$message .= "discordUserID = '".$item."' OR ";
|
||||
}
|
||||
$message = substr($message, 0, -4);
|
||||
//echo json_encode($playerIDs);
|
||||
//Get all user data
|
||||
$attackerStats= array();
|
||||
$q = "SELECT discordUserID,speed,maxHealth,health,strength FROM users WHERE $message;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$discordUserID=stripslashes($a['discordUserID']);
|
||||
$userHealth=stripslashes($a['health']);
|
||||
$userMaxHealth=stripslashes($a['maxHealth']);
|
||||
$userSpeed=stripslashes($a['speed']);
|
||||
$userStrength=stripslashes($a['strength']);
|
||||
$attackerStats[] = array('id'=>$discordUserID, 'maxHealth'=>$userHealth, 'health'=>$userHealth, 'speed'=>$userSpeed, 'strength'=>$userStrength, 'hitback'=>'');
|
||||
}
|
||||
}
|
||||
//Get enemy data
|
||||
$q = "SELECT hostiles.health,hostiles.maxHealth,hostiles.speed,hostiles.strength,hostiles.alive,hostiles.fled FROM hostiles WHERE hostileType = '$hostileType' ORDER BY id DESC LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$hostileHealth=stripslashes($a['health']);
|
||||
$hostileMaxHealth=stripslashes($a['maxHealth']);
|
||||
$hostileSpeed=stripslashes($a['speed']);
|
||||
$hostileStrength=stripslashes($a['strength']);
|
||||
$hostileAlive=stripslashes($a['alive']);
|
||||
$hostileFled=stripslashes($a['fled']);
|
||||
}
|
||||
}
|
||||
|
||||
//do all the damage
|
||||
$totalDamage = 0;
|
||||
$returnInfo= array();
|
||||
$query = "UPDATE users SET health = CASE discordUserID ";
|
||||
$queryIDs = "";
|
||||
for ($i=0;$i<count($attackerStats);$i++){
|
||||
//$message += $attackerStats[$i][0];
|
||||
//If bad guy is still alive, carry on.
|
||||
if($hostileHealth > $attackerStats[$i]['strength']){
|
||||
$totalDamage = $totalDamage + $attackerStats[$i]['strength'];
|
||||
$hitAmount = getEnemyDamage($hostileSpeed,$attackerStats[$i]['speed'],$hostileStrength);
|
||||
if($hitAmount > 0){
|
||||
if ($hitAmount >= $attackerStats[$i]['health']){$hitAmount = $attackerStats[$i]['health'];};
|
||||
$attackerStats[$i]['health'] = $attackerStats[$i]['health'] - $hitAmount;
|
||||
$attackerStats[$i]['hitback'] = $hitAmount;
|
||||
//$q = "UPDATE users SET health = health - $hitAmount WHERE discordUserID = '$userID' LIMIT 1";
|
||||
//$r2 = mysqli_query($con,$q);
|
||||
}
|
||||
$query .= " WHEN ".$attackerStats[$i]['id']." THEN ".$attackerStats[$i]['health'];
|
||||
$queryIDs .= $attackerStats[$i]['id'].",";
|
||||
$hhealth = $hostileHealth-$totalDamage;
|
||||
$returnInfo[] = array('hostileHealth'=>$hhealth.'|'.$hostileMaxHealth, 'atkDamage'=>$attackerStats[$i]['strength'], 'id'=>$attackerStats[$i]['id'], 'hitback'=>$hitAmount, 'userHealth'=>$attackerStats[$i]['health']."|".$attackerStats[$i]['maxHealth']);
|
||||
}else{
|
||||
//If the bad guy is not alive, finish up.
|
||||
$q = "UPDATE hostiles SET health = 0 WHERE hostileType = '$hostileType' ORDER BY id DESC LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$query .= " END
|
||||
WHERE discordUserID IN (".substr($queryIDs, 0, -1).");";
|
||||
$r2 = mysqli_query($con,$query);
|
||||
echo json_encode($returnInfo);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
//assemble the end of the query.
|
||||
$query .= " END
|
||||
WHERE discordUserID IN (".substr($queryIDs, 0, -1).");";
|
||||
$r2 = mysqli_query($con,$query);
|
||||
$q = "UPDATE hostiles SET health = health - $totalDamage WHERE hostileType = '$hostileType' ORDER BY id DESC LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo json_encode($returnInfo);
|
||||
exit;
|
||||
|
||||
|
||||
|
||||
}else{
|
||||
echo "notArray";
|
||||
exit;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
||||
case "lvlinfo":
|
||||
$q = "SELECT xp,lvl FROM users WHERE discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$xp=stripslashes($a['xp']);
|
||||
$currentlvl=stripslashes($a['lvl']);
|
||||
$lvlbase=getLevelBase();
|
||||
$lvl=getLevel($xp,$lvlbase);
|
||||
$level = $dataToSend2;
|
||||
$str = generateStatFromLevel($level,"str");
|
||||
$spd = generateStatFromLevel($level,"spd");
|
||||
$hp = generateStatFromLevel($level,"hp");
|
||||
$stash = generateStatFromLevel($level,"stash");
|
||||
|
||||
}
|
||||
}
|
||||
//echo "LEVEL: ".getLevel($xp,$lvlbase),"<BR>XP: ".$xp."<BR>CURRENT LEVEL PROGRESS:".getCurrentLevelProgress($xp,$lvl);
|
||||
echo "LEVEL: ".getLevel($dataToSend,$lvlbase),"<BR>XP: ".$xp."<BR>CURRENT LEVEL PROGRESS:".getCurrentLevelProgress($xp,$lvl)."<BR><BR>STR: ".$str." SPD: ".$spd." HP: ".$hp." STASH:: ".$stash;
|
||||
break;
|
||||
|
||||
case "attack":
|
||||
|
||||
$q = "UPDATE hostiles SET health = health - $dataToSend WHERE id = '$dataToSend2' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$q = "UPDATE users SET stamina = stamina - 1 WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
//$q = "INSERT INTO userLog (discordUserID, actionType, actionData)
|
||||
//VALUES (" . $userID . ", '" . $dataType . "', '$userID attacked Ravager#$dataToSend2.');";
|
||||
//$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "INSERT INTO attackLog (discordUserID, hostileID, damage)
|
||||
VALUES ('$userID','$dataToSend2','$dataToSend');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
$q = "SELECT hostiles.health,hostiles.maxHealth,hostiles.speed,hostiles.strength,users.speed as userspeed,users.health as userhealth FROM hostiles,users WHERE hostiles.id = '$dataToSend2' AND users.discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$hostileHealth=stripslashes($a['health']);
|
||||
$hostileMaxHealth=stripslashes($a['maxHealth']);
|
||||
$hostileSpeed=stripslashes($a['speed']);
|
||||
$hostileStrength=stripslashes($a['strength']);
|
||||
$userSpeed=stripslashes($a['userspeed']);
|
||||
$userHealth=stripslashes($a['userhealth']);
|
||||
}
|
||||
if($hostileHealth <= 0){
|
||||
if($hostileHealth < 0){ $hostileHealth = 0;};
|
||||
//returns health less than zero, kill enemy.
|
||||
$q = "UPDATE hostiles SET alive = 0,health = 0 WHERE id = '$dataToSend2' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
}
|
||||
$criticalHit = 0;
|
||||
$hitAmount = getEnemyDamage($hostileSpeed,$userSpeed,$hostileStrength);
|
||||
if($hitAmount > 0){
|
||||
if ($hitAmount >= $userHealth){$hitAmount = $userHealth; $criticalHit = 1;};
|
||||
$q = "UPDATE users SET health = health - $hitAmount WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
}
|
||||
echo $hostileHealth.",".$hostileMaxHealth.",".$hitAmount.",".$criticalHit;
|
||||
exit;
|
||||
} else{
|
||||
echo "0";
|
||||
}
|
||||
|
||||
|
||||
exit;
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case "hostileAttackBack":
|
||||
|
||||
$q = "UPDATE users SET stamina = stamina - 1 WHERE discordUserID = '$userID' AND stamina > 0 LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
|
||||
|
||||
$q = "SELECT hostiles.health,hostiles.maxHealth,hostiles.speed,hostiles.strength,users.speed as userspeed,users.health as userhealth FROM hostiles,users WHERE hostiles.id = '$dataToSend2' AND users.discordUserID = '$userID';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$hostileHealth=stripslashes($a['health']);
|
||||
$hostileMaxHealth=stripslashes($a['maxHealth']);
|
||||
$hostileSpeed=stripslashes($a['speed']);
|
||||
$hostileStrength=stripslashes($a['strength']);
|
||||
$userSpeed=stripslashes($a['userspeed']);
|
||||
$userHealth=stripslashes($a['userhealth']);
|
||||
}
|
||||
$criticalHit = 0;
|
||||
$hitAmount = getEnemyDamage($hostileSpeed,$userSpeed,$hostileStrength);
|
||||
if($hitAmount > 0){
|
||||
if ($hitAmount >= $userHealth){$hitAmount = $userHealth; $criticalHit = 1;};
|
||||
$q = "UPDATE users SET health = health - $hitAmount WHERE discordUserID = '$userID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
}
|
||||
echo $hostileHealth.",".$hostileMaxHealth.",".$hitAmount.",".$criticalHit;
|
||||
exit;
|
||||
} else{
|
||||
echo "0";
|
||||
}
|
||||
|
||||
|
||||
exit;
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case "hostileFlee":
|
||||
$q = "SELECT id FROM hostiles WHERE alive = 1 ORDER BY id DESC LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$hostileID=stripslashes($a['id']);
|
||||
}
|
||||
$q = "UPDATE hostiles SET fled = 1,alive=0 WHERE id = '$hostileID' LIMIT 1";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo "fled";
|
||||
} else{
|
||||
echo "alreadyDead";
|
||||
}
|
||||
break;
|
||||
|
||||
case "newHostile":
|
||||
$q = "SELECT id FROM hostiles WHERE alive = 1 LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
echo "notCreated";
|
||||
} else{
|
||||
$elvl = $dataToSend;
|
||||
$healthBase = 50; $strengthBase = 3; $speedBase = 3; $stashBase = 3;
|
||||
$healthMin = ($healthBase * $elvl) / 2; $healthMax = $healthBase * $elvl;
|
||||
$strengthMin = ($strengthBase * $elvl) / 2; $strengthMax = $strengthBase * $elvl;
|
||||
$speedMin = ($speedBase * $elvl) / 2; $speedMax = $speedBase * $elvl;
|
||||
$stashMin = ($stashBase * $elvl) / 2; $stashMax = $stashBase * $elvl;
|
||||
|
||||
$health = floor(rand($healthMin,$healthMax));
|
||||
$strength = floor(rand($strengthMin,$strengthMax));
|
||||
$speed = floor(rand($speedMin,$speedMax));
|
||||
$stash = floor(rand($stashMin,$stashMax));
|
||||
|
||||
$claimID = floor(rand(1000,9999));
|
||||
$q = "INSERT INTO hostiles (hostileType, maxHealth, health, strength, speed, stash, alive, claimID)
|
||||
VALUES ('ravager', '$health', '$health', '$strength', '$speed', '$stash', 1, '$claimID');";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
echo $health.",".$speed.",".$strength.",".$claimID;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
|
||||
|
||||
case "getHostileData":
|
||||
$q = "SELECT stash,claimID FROM hostiles WHERE alive = 0 AND id = '$dataToSend' LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$stash=stripslashes($a['stash']);
|
||||
$claimID=stripslashes($a['claimID']);
|
||||
}
|
||||
echo $stash.",".$claimID;
|
||||
}
|
||||
exit;
|
||||
|
||||
break;
|
||||
|
||||
|
||||
|
||||
case "getDamageDistribution":
|
||||
//Gets base stats for enemy
|
||||
$q = "SELECT stash,maxHealth,fled FROM hostiles WHERE id = '$dataToSend' LIMIT 1;";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
$a = mysqli_fetch_assoc($r2);
|
||||
$stash=stripslashes($a['stash']);
|
||||
$maxHealth=stripslashes($a['maxHealth']);
|
||||
$fled=stripslashes($a['fled']);
|
||||
$totalCrystalsInStash = 0;
|
||||
|
||||
if($fled == 1){
|
||||
echo "fled";
|
||||
}else{
|
||||
//gets all dammage from users
|
||||
$damageDistribution = array();
|
||||
$q = "SELECT discordUserID,SUM(damage) totalDamage FROM attackLog WHERE hostileID = $dataToSend GROUP BY discordUserID;";
|
||||
//$q = "SELECT attackLog.damage,attackLog.discordUserID,hostiles.stash,hostiles.maxHealth FROM attackLog WHERE hostiles.id = attackLog.hostileID AND attackLog.hostileID = '$dataToSend';";
|
||||
$r2 = mysqli_query($con,$q);
|
||||
if ( $r2 !== false && mysqli_num_rows($r2) > 0 ) {
|
||||
while ( $a = mysqli_fetch_assoc($r2) ) {
|
||||
$damage=stripslashes($a['totalDamage']);
|
||||
$discordUserID=stripslashes($a['discordUserID']);
|
||||
$damagePercent = round(( $damage / $maxHealth ) * 100);
|
||||
$percentStashAmount = round($stash * ($damagePercent/100));
|
||||
$totalCrystalsInStash += $percentStashAmount;
|
||||
// you can add single array values too
|
||||
$damageDistribution[] = array('id'=>$discordUserID, 'totalDamage'=>$damage, 'damagePercent'=>$damagePercent, 'crystalsReceived'=>$percentStashAmount);
|
||||
if($dataToSend2 == 1){
|
||||
//Flag to actually distribute crystals
|
||||
$q2 = "UPDATE users SET wallet = wallet + $percentStashAmount WHERE discordUserID = '$discordUserID' LIMIT 1";
|
||||
$r3 = mysqli_query($con,$q2);
|
||||
}
|
||||
|
||||
}
|
||||
echo json_encode($damageDistribution);
|
||||
} else{
|
||||
echo 0;
|
||||
}
|
||||
exit;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
//echo json_encode($array);
|
||||
|
||||
|
||||
|
||||
if($debug){
|
||||
echo "\n"."UID:".$userID;
|
||||
}
|
||||
|
||||
mysqli_close($con);
|
||||
|
||||
|
||||
function getEnemyDamage($hostileSpeed,$userSpeed,$hostileStrength){
|
||||
$hitAmount = 0;
|
||||
$percentage = floor(rand(0,101));
|
||||
if($hostileSpeed > $userSpeed){
|
||||
if($percentage <= 80 ){
|
||||
//80% chance to hit you back.
|
||||
$hitAmount = $hostileStrength + rand(-($hostileStrength/4),$hostileStrength/4);
|
||||
}
|
||||
} else{
|
||||
if($percentage <= 30){
|
||||
//30% chance to hit you back.
|
||||
$hitAmount = $hostileStrength + rand(-($hostileStrength/4),$hostileStrength/4);
|
||||
}
|
||||
}
|
||||
/*
|
||||
if($hostileSpeed > $userSpeed){
|
||||
if(20 > rand(0,100)){
|
||||
$hitAmount = $hostileStrength + rand(-($hostileStrength/4),$hostileStrength/4);
|
||||
}
|
||||
} elseif($hostileSpeed == $userSpeed){
|
||||
if(50 >= rand(0,100)){
|
||||
$hitAmount = $hostileStrength + rand(-($hostileStrength/4),$hostileStrength/4);
|
||||
}
|
||||
} else{
|
||||
if(70 >= rand(0,100)){
|
||||
$hitAmount = $hostileStrength + rand(-($hostileStrength/4),$hostileStrength/4);
|
||||
}
|
||||
}
|
||||
*/
|
||||
return $hitAmount;
|
||||
}
|
||||
|
||||
|
||||
function generateStatFromLevel($level,$stat){
|
||||
$value = 0;
|
||||
if(strtolower($stat) === "str"){
|
||||
$value = (round((((($level + 1) * log10($level + 1)) / (0.02 * ($level + 1))) + 0.6) * 0.4)) -2;
|
||||
$value = round($value + (rand(-$value/10,$value/10)));
|
||||
if($level < 15){$value = round($value * 0.9);};
|
||||
}elseif(strtolower($stat) === "spd"){
|
||||
$value = (round((((($level + 1) * log10($level + 1)) / (0.02 * ($level + 1))) + 0.6) * 0.4)) -2 ; //round(rand(-2,2))
|
||||
$value = round($value + (rand(-$value/10,$value/10)));
|
||||
if($level < 15){$value = round($value * 0.9);};
|
||||
}elseif(strtolower($stat) === "hp"){
|
||||
$value = floor(50 + (30 * $level) + pow($level, 1.5));
|
||||
}elseif(strtolower($stat) === "stash"){
|
||||
$value = (round((((($level + 1) * log10($level + 1)) / (0.02 * ($level + 1))) + 0.6) * 0.1)) ;
|
||||
$value = rand(pow($value, 2.2),pow($value, 2.3));
|
||||
if($level < 15){$value = round($value * 0.7);};
|
||||
}
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user