mysql_query('Delete from quest_rounds where charid ='.$charid);
mysql_query('Delete from quest_fights where charid ='.$charid);
mysql_query('Delete from quests where charid ='.$charid);
mysql_query('Update chars set status = \'Frei\' where id = '.$charid);
}
function getMonsterCount($ort){
return mysql_fetch_assoc(mysql_query('Select count(*) as arten, sum(anzahl) as anzahl from quest_monster_orte as qma inner join quest_monster as qm on qma.monsterid = qm.id where ortid = '.$ort));
}
// Die Monsterauswahl in eine Funktion gekapselt um es spaeter optimieren zu koennen!
function getMonster($char_level, $city_id, $min, $max){
$rechnung = 'ROUND(1/SQRT(PI()*2) * EXP(-1/(('.$top.'-'.$bottom.')*2.5)*POW((level-floor(('.$bottom.'+'.$min_l.')/2)),2))*250) as guete';
$sql = 'select *, '.$rechnung.' from quest_monster as qm inner join quest_monster_orte as qmo on qm.id = qmo.monsterid where ortid = '.$city_id.' and level <= 20 + '.$char_level.' order by rand()';
// echo $sql.'<br>';
$qry = mysql_query($sql); // Lade alle Monster
// while($monster[] = mysql_fetch_assoc($qry)); // Lade alle monster in einen Array
$gesamtguete = 0;
while($row = mysql_fetch_assoc($qry)){
if($row['guete'] == 0){
$row['guete'] += 1;
}
$gesamtguete+=$row['guete'];
$monster[] = $row;
}
$count_monster = 0;
for($i=0;$monster[$i];$i++){
$count_monster+= $monster[$i]['anzahl'];
}
$max = min($count_monster,$max);
if($max == 0){
return NULL;
}
$sight = mt_rand($min,$max);
$all_monster = array();
for($i=0;$i<$sight;$i++){
$index = mt_rand(0, $gesamtguete-1);
for($t=0;$t<count($monster);$t++){
if($monster[$t] !== NULL){
$index -= $monster[$t]['guete'];
if($index <0){//DasMonsterwirdausgewaehlt
$all_monster[] = $monster[$t];
$monster[$t]['anzahl']--;
if($monster[$t]['anzahl'] == 0){
//Verringern der Gesamtguete
$gesamtguete-= $monster[$t]['guete'];
$monster[$t] = NULL;
}
break;
}
}
}
}
// Jetzt nur nochmal mischen ^^
shuffle($all_monster);
$new_monster_array = array();
foreach ($all_monster as $monster) {
$new_monster_array[] = $monster;
}
// So jetzt aber!
return $new_monster_array;
}
function monsterfight_neu($chara_1, $fight_monster, $std, $ort){
$char1_buffs = mysql_fetch_assoc(mysql_query('SELECT sum(i.hp) as hp, sum(i.mp) as mp, sum(i.starke) as starke, sum(i.verteidigung) as verteidigung, sum(i.speed) as speed FROM ware w LEFT JOIN item i ON(i.id=w.item_id) WHERE w.id IN (' . $chara_1['kampf_item'] . ')'));
$divisor = 2/(1+exp(-$monster_count/5+2)); // Je hoeher desto besser
$items = array();
$sql = 'SELECT * FROM sp_item where FLOOR(RAND()*wert/'.$divisor.') = 0';
// echo $sql.' ('.$monster_count.')<br>';
$qry = mysql_query($sql);
while($items[] = mysql_fetch_assoc($qry));
return $items;
}
function submitCharChanges($charid, $items, $exp, $geld, $ort, $hp, $mp, $attacken){
if($ort == null){
echo '<tr><td>Dein Char sieht ein blaues Portal und ist Neugierig. Er geht hindurch und findet sich aufeinmal in Gyasta wieder! Was für ein seltsames Ereignis!</td></tr>';
$ort = 13;
}
$char = getChar($charid);
$tmp = preg_split('#,#',$char['hp']);
$hp[1] = $tmp[1];
$tmp = preg_split('#,#',$char['mp']);
$mp[1] = $tmp[1];
$hp[0] = max($hp[0], 0);
$mp[0] = max($mp[0], 0);
// Erstmal aufräumen
mysql_query('Delete from quests where charid = '.$charid);
mysql_query('Delete from quest_fights where charid = '.$charid);
mysql_query('Delete from quest_rounds where charid = '.$charid);
// Das leveln :)
// Erfahrung
addExpToChar($charid, $exp);
// Attacken
addAttackUsageToChar($charid, $attacken);
// Schaden und den neuen Ort eintragen (und den Status nicht vergessen :)
$sql = 'Update chars set hp=\''.$hp[0].','.$hp[1].'\', mp=\''.$mp[0].','.$mp[1].'\', ort = '.$ort.', status = \'Frei\' where id = '.$charid;
// echo $sql.'<br>';
mysql_query($sql);
// // Kohle gibts ja nichmehr :)
// $sql = 'Update user set geld = geld + '.$geld.' where id = '.$char['besitzer'];
//// echo $sql.'<br>';
// mysql_query($sql);
// Nun gehts zum auffinden der Items :)
for($i=0;$items[$i];$i++){
// Ermittle ob es eine Teufelsfrucht ist!
$sql = 'Select name, type from sp_item where id = '.$items[$i]['id'];
$row = mysql_fetch_assoc(mysql_query($sql));
if($row['type'] == 'Teufels Frucht'){
$sql = 'Select id from wochen_markt where item = \''.$row['name'].'\'';
$row2 = mysql_fetch_assoc(mysql_query($sql));
$sql = 'INSERT INTO wochen_ware(item, user) values('.$row2['id'].','.$char['besitzer'].')';
mysql_query($sql);
} else{
$sql = 'Insert into sp_ware(item, user) values('.$items[$i]['id'].','.$char['besitzer'].')';
// echo $sql.'<br>';
mysql_query($sql);
}
}
}
function getMonsterPowerLevel($monster, $buffer_enabled = true){