PHP Code:
function genItem($lvl, $class, $shop) {
global $shakes_item_ids, $fidget_item_ids;
$potionRand = rand (1, 16); //potion chance
$epicRand = rand(1, 50); //epic chance
if ($epicRand == 1){
$itemMush = 15; //epic's mushroom
} else {
$itemMush = 0;
}
$item = array (
"item_type" => "1",
"item_id" => "1005",
"dmg_min" => "1",
"dmg_max" => "0",
"atr_type_1" => "0",
"atr_type_2" => "0",
"atr_type_3" => "0",
"atr_val_1" => "0",
"atr_val_2" => "0",
"atr_val_3" => "0",
"gold" => rand($lvl * 100, $lvl * 10000), //item's gold
"mush" => $itemMush,
"slot" => "0",
"owner_id" => "0"
);
// $class = 2;
if ($shop == 0) {
$type = rand ( 1, 7 );
while ( $class != 1 && $type == 2 )
$type = rand ( 1, 7 );
$item ['item_type'] = $type;
$random = rand ( 1, $shakes_item_ids [$class - 1] [$type - 1] );
if ($epicRand == 1){
if ($class == 3){
if ($type == 1 or $type == 2){
$item ['item_id'] = rand(2050, 2060);
} else {
$item ['item_id'] = rand(2050, 2058);
}
}
if ($class == 2){
if ($type == 1 or $type == 2){
$item ['item_id'] = rand(1050, 1060);
} else {
$item ['item_id'] = rand(1050, 1058);
}
}
if ($class == 1){
if ($type == 1 or $type == 2){
$item ['item_id'] = rand(50, 60);
} else {
$item ['item_id'] = rand(50, 58);
}
}
} else {
$item ['item_id'] = $random + (($class - 1) * 1000);
}
if ($type == 1) {
$class_weap_multiplier = array (
2,
3,
5
);
$m = mt_rand ( 900, 1100 ) / 1000;
$avg = round($lvl * '1.3' * $class_weap_multiplier [$class - 1]);
$minmax_m = round(mt_rand(750, 1000) / 1000);
$item ['dmg_min'] = round($avg * $minmax_m);
$item ['dmg_max'] = round($avg * ($minmax_m + '0.25') + rand (1, 50));
} else {
if ($type == 2){ //shield's stat
if ($lvl < 10){
$shieldNumber = 5;
}
if ($lvl < 100 and $lvl > 9){
$shieldNumber = 25;
}
if ($lvl > 99){
$shieldNumber = 50;
}
$item ['dmg_min'] = $shieldNumber;
} else {
$item ['dmg_min'] = $lvl * 2 * rand(1.51, 1.74) + rand(1, 6);
}
}
} else {
$item ['dmg_min'] = 0;
[COLOR="Red"]$type = rand ( 8, 10);[/COLOR] //11 is keys, 12 is potions. Change it to ( 8, 10) if you don't want potion and key!
//If you want potions only (keys not) then add this in the code:
// if ($type == 11){
// $type = rand ( 8, 10);
// } Bugfix by PassiLP
$item ['item_type'] = $type;
if ($epicRand == 1){
$item ['item_id'] = rand (50, 58);
} else {
$item ['item_id'] = rand ( 1, $fidget_item_ids [$type - 8] );
}
}
// generate stats
if ($class == 1){
$classStat = 1;
}
if ($class == 2){
$classStat = 3;
}
if ($class == 3){
$classStat = 2;
}
if ($epicRand == 1){
$stat_type2 = 4;
$stat_type3 = 5;
$m1 = mt_rand ( 650, 1300 ) / rand(950, 1050) * 2;
$stat_val1 = round ( $lvl * $m1 );
$stat_val2 = round ( $lvl * $m1 );
$stat_val3 = round ( $lvl * $m1 );
$item ['atr_type_1'] = $classStat;
$item ['atr_val_1'] = $stat_val1;
$item ['atr_type_2'] = $stat_type2;
$item ['atr_val_2'] = $stat_val2;
$item ['atr_type_3'] = $stat_type3;
$item ['atr_val_3'] = $stat_val3;
} else {
$stat_type = rand ( 1, 5 );
$m = mt_rand ( 650, 1300 ) / rand(950, 1050);
$stat_val = round ( $lvl * 3 * $m );
$item ['atr_type_1'] = $stat_type;
$item ['atr_val_1'] = $stat_val;
}
if ($type == 12){
$item ['item_id'] = $fidget_item_ids [$type - 8] + $potionRand;
switch ($potionRand) { //random potion
case 1:
$potionAtr_type = 1;
$potionAtr_val = 5;
break;
case 2:
$potionAtr_type = 2;
$potionAtr_val = 5;
break;
case 3:
$potionAtr_type = 3;
$potionAtr_val = 5;
break;
case 4:
$potionAtr_type = 4;
$potionAtr_val = 5;
break;
case 5:
$potionAtr_type = 5;
$potionAtr_val = 5;
break;
case 6:
$potionAtr_type = 1;
$potionAtr_val = 15;
break;
case 7:
$potionAtr_type = 2;
$potionAtr_val = 15;
break;
case 8:
$potionAtr_type = 3;
$potionAtr_val = 15;
break;
case 9:
$potionAtr_type = 4;
$potionAtr_val = 15;
break;
case 10:
$potionAtr_type = 5;
$potionAtr_val = 15;
break;
case 11:
$potionAtr_type = 1;
$potionAtr_val = 25;
break;
case 12:
$potionAtr_type = 2;
$potionAtr_val = 25;
break;
case 13:
$potionAtr_type = 3;
$potionAtr_val = 25;
break;
case 14:
$potionAtr_type = 4;
$potionAtr_val = 25;
break;
case 15:
$potionAtr_type = 5;
$potionAtr_val = 25;
break;
case 16:
$potionAtr_type = 4;
$potionAtr_val = 25;
break;
}
$item ['atr_type_1'] = $potionAtr_type;
$item ['atr_val_1'] = $potionAtr_val;
$item ['dmg_min'] = 0;
$item ['atr_type_2'] = 0;
$item ['atr_val_2'] = 0;
$item ['atr_type_3'] = 0;
$item ['atr_val_3'] = 0;
}
if ($type == 11){ //if key then
$item ['item_id'] = rand (1, 10);
$item ['dmg_min'] = 0;
$item ['atr_type_1'] = 0;
$item ['atr_val_1'] = 0;
$item ['atr_type_2'] = 0;
$item ['atr_val_2'] = 0;
$item ['atr_type_3'] = 0;
$item ['atr_val_3'] = 0;
}
return $item;
}