diff --git a/ag/sp_item.php b/ag/sp_item.php
index 593fa06..3575aac 100644
--- a/ag/sp_item.php
+++ b/ag/sp_item.php
@@ -113,31 +113,36 @@ function usePotaraReally($user, $item_id, $char1, $char2, $new_name = ''){
$new_hp = ($hp1[1] + $hp2[1]) ;
$new_mp = ($mp1[1] + $mp2[1]);
+ $stats = array( 'name' => '\''.$new_name.'\'',
+ 'rasse' => $char_v_1['rasse_a']['id'],
+ 'bild' => '\''.$char_v_1['bild'].'\'',
+ 'besitzer' => $char_v_1['besitzer'],
+ 'hp' => '\''.$new_hp.','.$new_hp.'\'',
+ 'mp' => '\''.$new_mp.','.$new_mp.'\'',
+ 'exp' => '\''.$char_v_1['exp'].'\'',
+ 'fusion_rasse' => $char_v_2['rasse_a']['id'],
+ 'fusion' => '\'ja\'',
+ 'level' => $char_v_1['level'],
+ 'ort' => $char_v_1['ort'],
+ 'clan_train' => $char_v_1['clan_train']
+ );
+
+ $sums = array('starke', 'verteidigung', 'speed', 'ausdauer', 'glueck', 'training_points', 'lernpunkte');
+ foreach ($sums as $key) {
+ $stats[$key] = $char_v_1[$key] + $char_v_2[$key];
+ }
+
+ $keys = array();
+ $values = array();
+ foreach ($stats as $key => $value) {
+ $keys[] = $key;
+ $values[] = $value;
+ }
+
+ $sql = 'INSERT INTO chars('.join(',', $keys).') values('.join(',', $values).')';
- $sql = 'UPDATE chars SET fusion_rasse = '.$char_v_2['rasse_a']['id'].',' .
- 'fusion=\'ja\',' .
-// 'name=\''.$new_name.'\',' .
- 'starke=starke+'.$char_v_2['starke'].',' .
- 'verteidigung=verteidigung+'.$char_v_2['verteidigung'].',' .
- 'speed=speed+'.$char_v_2['speed'].',' .
- 'ausdauer=ausdauer+'.$char_v_2['ausdauer'].',' .
- 'glueck=glueck+'.$char_v_2['glueck'].',' .
- 'training_points=training_points+'.$char_v_2['training_points'].',' .
- 'lernpunkte=lernpunkte+'.$char_v_2['lernpunkte'].',' .
- 'hp=\''.$new_hp.','.$new_hp.'\',' .
- 'mp=\''.$new_mp.','.$new_mp.'\',' .
- 'dead_list = \'\',' .
- 'preis = 0,' .
- 'siege = 0,' .
- 'niederlagen = 0,' .
- 'liga_punkte = 0,' .
-// 'frucht = \'Keine\',' . // frucht is NULL now!!
- 'frucht = NULL,' .
- 'liga_siege = 0,' .
- 'liga_niederlagen = 0,' .
- 'clan_train = 0 ' .
- 'where id = '.$char1;
// echo $sql.'
';
+
$qry = db_query($sql);
// Umkopieren der Techniken
@@ -146,25 +151,19 @@ function usePotaraReally($user, $item_id, $char1, $char2, $new_name = ''){
displayErrorMessage('Schwerwiegender Fehler','Fusion konnte nicht durchgeführt werden, melden sie sich bei einem GM!!',displayHistoryBackLink());
return;
}
+ // Fetch new charid
+ $char3 = mysqli_fetch_row(db_query('SELECT id FROM chars WHERE name = \''.$new_name.'\''))[0];
+
db_query('DELETE from sp_ware WHERE item='.$item_id.' and user = '.$user['id'].' LIMIT 1'); // Potara loeschen!!
-// 1. Ermitteln der Attacken die beide chars gemeinsam hatten
- $qry = db_query('select l1.at_id,l1.benutzt + l2.benutzt as benutzt from lernen l1 inner join lernen l2' .
- ' on l1.at_id = l2.at_id ' .
- ' where (l1.besitzer = '.$char1.' and l2.besitzer = '.$char2.')');
-// 2. Addieren der Ausfuehrungsanzahl
- while($row = mysqli_fetch_assoc($qry)){
- $attarray[] = $row['at_id'];
- db_query('Update lernen set benutzt = '.$row['benutzt'].' where at_id = '.$row['at_id'].' and besitzer = '.$char1);
+ $qry = db_query('select at_id, name, sum(benutzt) as benutzt from lernen where besitzer IN('.$char1.', '.$char2.') GROUP BY at_id;');
+ while ($row = mysqli_fetch_assoc($qry)) {
+ db_query('INSERT INTO lernen(name, at_id, besitzer, dauer, aktiv, benutzt) values(\''.$row['name'].'\', '.$row['at_id'].', '.$char3.', 0, 1, '.$row['benutzt'].')');
}
-// 3. Ermitteln und Umschreiben der Attacken die char2 hat die char1 jedoch nicht besaß
- db_query('Update lernen set besitzer = '.$char1.' where besitzer = '.$char2.' and at_id NOT IN('.join($attarray,',').')');
-// 4. Loeschen der Eintraege von char2
- db_query('Delete from lernen where besitzer = '.$char2);
- db_query('DELETE FROM chars WHERE id='.$char2.' LIMIT 1'); // Char kann erst jetzt gelöscht werden
+ db_query('DELETE FROM lernen WHERE besitzer IN('.$char1.', '.$char2.')');
- db_query('Update chars set name=\''.$new_name.'\' WHERE id = '.$char1);
+ db_query('DELETE FROM chars WHERE id IN('.$char1.', '.$char2.')'); // Char kann erst jetzt gelöscht werden
displayErrorMessage('Änderungen übernommen','Charakter: '.$new_name.' erfolgreich fusioniert!!','weiter...');
return;