array( 210 => 5, 212 => 5 ), 203 => array( 210 => 5, 212 => 5 ), 204 => array( 210 => 5, 212 => 5 ), 205 => array( 202 => 3, 210 => 5, 212 => 5 ), 206 => array( 204 => 6, 210 => 5, 212 => 5, 401 => 10 ), 207 => array( 210 => 5, 212 => 5 ), 208 => array( 210 => 5, 212 => 5 ), 209 => array( 210 => 5, 212 => 5 ), 211 => array( 210 => 5, 212 => 5, 401 => 20, 402 => 20, 403 => 10, 405 => 10 ), 213 => array( 210 => 5, 212 => 5, 215 => 2, 402 => 10 ), 214 => array( 210 => 1250, 212 => 1250, 202 => 250, 203 => 250, 204 => 200, 205 => 100, 206 => 33, 207 => 30, 208 => 250, 209 => 250, 211 => 25, 213 => 5, 215 => 15, 401 => 200, 402 => 200, 403 => 100, 404 => 50, 405 => 100 ), 215 => array( 202 => 3, 203 => 3, 205 => 4, 206 => 4, 207 => 7, 210 => 5, 212 => 5 ) ); // RapidFire ende $runda = array(); $atakujacy_n=array(); $wrog_n=array(); if (!is_null($atakujacy)) { $atakujacy_zlom_poczatek["metal"] =0; $atakujacy_zlom_poczatek["krysztal"] =0; foreach($atakujacy as $a => $b){ $atakujacy_zlom_poczatek["metal"] = $atakujacy_zlom_poczatek["metal"] + $atakujacy[$a]["ilosc"] * $pricelist[$a]["metal"]; $atakujacy_zlom_poczatek["krysztal"] = $atakujacy_zlom_poczatek["krysztal"] + $atakujacy[$a]["ilosc"] * $pricelist[$a]["crystal"]; } } $wrog_zlom_poczatek["metal"] = 0; $wrog_zlom_poczatek["krysztal"] = 0; $wrog_poczatek=$wrog; if (!is_null($wrog)) { foreach($wrog as $a => $b){ if ($a < 300){ $wrog_zlom_poczatek["metal"] = $wrog_zlom_poczatek["metal"] + $wrog[$a]["ilosc"] * $pricelist[$a]["metal"]; $wrog_zlom_poczatek["krysztal"] = $wrog_zlom_poczatek["krysztal"] + $wrog[$a]["ilosc"] * $pricelist[$a]["crystal"]; } else { $wrog_zlom_poczatek_obrona["metal"] = $wrog_zlom_poczatek_obrona["metal"] + $wrog[$a]["ilosc"] * $pricelist[$a]["metal"]; $wrog_zlom_poczatek_obrona["krysztal"] = $wrog_zlom_poczatek_obrona["krysztal"] + $wrog[$a]["ilosc"] * $pricelist[$a]["crystal"]; } } } for ($i = 1; $i<=7;$i++){ $atakujacy_atak=0; $wrog_atak=0; $atakujacy_obrona=0; $wrog_obrona=0; $atakujacy_ilosc=0; $wrog_ilosc=0; $wrog_tarcza=0; $atakujacy_tarcza=0; $angreifer_fire = 0; $verteidiger_fire = 0; $zusatzschuss_angreifer = array(); $zusatzschuss_verteidiger = array(); if (!is_null($atakujacy)) { foreach($atakujacy as $a => $c){ if (!is_null($wrog)) { foreach($wrog as $b => $d) { if (isset($rapidfire[$a]) && isset($rapidfire[$a][$b])) { // isset($rapidfire[$a][$b]) if ($c['ilosc'] < 1000000) { for ($i = 0; $i <= $c['ilosc']; $i++) { $rapidfirex = $rapidfire[$a][$b]; $ship_rf = 100*($rapidfirex-1)/$rapidfirex; $zufall = mt_rand(1,100); if ($zufall <= $ship_rf) { if (empty($zusatzschuss_angreifer[$a])) $zusatzschuss_angreifer[$a] = 1; else $zusatzschuss_angreifer[$a]++; } } } } } } } } if (!is_null($wrog)) { foreach($wrog as $a => $c){ if (!is_null($atakujacy)) { foreach($atakujacy as $b => $d) { if (isset($rapidfire[$a]) && isset($rapidfire[$a][$b])) { // isset($rapidfire[$a][$b]) if ($c['ilosc'] < 1000000) { for ($i = 0; $i <= $c['ilosc']; $i++) { $rapidfirex = $rapidfire[$a][$b]; $ship_rf = 100*($rapidfirex-1)/$rapidfirex; $zufall = mt_rand(1,100); if ($zufall <= $ship_rf) { if (empty($zusatzschuss_verteidiger[$a])) $zusatzschuss_verteidiger[$a] = 1; else $zusatzschuss_verteidiger[$a]++; } } } } } } } } if (!is_null($atakujacy)) { foreach($atakujacy as $a => $b){ // print_r($zusatzschuss_angreifer); if ($zusatzschuss_angreifer[$a] <= 0) { $multiplikator = 0; $add = 0; } else { $multiplikator = $zusatzschuss_angreifer[$a]; // $angreifer_fire = ($angreifer_fire + $multiplikator); // RapidFire eintragen } $multiplikator++; $angreifer_fire = ($atakujacy[$a]["ilosc"] + $multiplikator); $atakujacy[$a]["obrona"] = $atakujacy[$a]["ilosc"] * ($pricelist[$a]["metal"] + $pricelist[$a]["crystal"])/10 * (1 + (0.1 * ($tech_atakujacy["defence_tech"]))); $rand = rand(80,120)/100; $atakujacy[$a]["tarcza"] = $atakujacy[$a]["ilosc"] * $pricelist[$a]["shield"] * (1 + (0.1 *$tech_atakujacy["shield_tech"])) * $rand; $atak_statku = $pricelist[$a]["attack"]; $technologie = (1 + (0.1 * $tech_atakujacy["military_tech"])); $rand = rand(80,120)/100; $ilosc = $atakujacy[$a]["ilosc"]; $atakujacy[$a]["atak"] = ($ilosc * $atak_statku * $technologie * $rand); $add = (($atakujacy[$a]["atak"] / $atakujacy[$a]["ilosc"]) * $multiplikator); $atakujacy_atak = ($atakujacy_atak + $atakujacy[$a]["atak"] + $add); $atakujacy_obrona = $atakujacy_obrona + $atakujacy[$a]["obrona"]; $atakujacy_ilosc = $atakujacy_ilosc + $atakujacy[$a]["ilosc"]; } } else { $atakujacy_ilosc = 0; break; } if (!is_null($wrog)) { foreach($wrog as $a => $b) { if ($zusatzschuss_verteidiger[$a] <= 0) { $multiplikator = 0; $add = 0; } else { $multiplikator = $zusatzschuss_verteidiger[$a]; } $multiplikator++; $verteidiger_fire = ($wrog[$a]["ilosc"] + $multiplikator); $wrog[$a]["obrona"] = $wrog[$a]["ilosc"] * ($pricelist[$a]["metal"] + $pricelist[$a]["crystal"])/10 * (1 + (0.1 * ($tech_wrog["defence_tech"]))); $rand = rand(80,120)/100; $wrog[$a]["tarcza"] = $wrog[$a]["ilosc"] * $pricelist[$a]["shield"] * (1 + (0.1 *$tech_wrog["shield_tech"])) * $rand; $atak_statku = $pricelist[$a]["attack"]; $technologie = (1 + (0.1 * $tech_wrog["military_tech"])); $rand = rand(80,120)/100; $ilosc = $wrog[$a]["ilosc"]; $wrog[$a]["atak"] = $ilosc * $atak_statku * $technologie * $rand; $add = (($wrog[$a]["atak"] / $wrog[$a]["ilosc"]) * $multiplikator); $wrog_atak = ($wrog_atak + $wrog[$a]["atak"] + $add); $wrog_obrona = $wrog_obrona + $wrog[$a]["obrona"]; $wrog_ilosc = $wrog_ilosc + $wrog[$a]["ilosc"]; } } else { $wrog_ilosc = 0; $runda[$i]["atakujacy"] = $atakujacy; $runda[$i]["wrog"] = $wrog; $runda[$i]["atakujacy"]["atak"] = $atakujacy_atak; $runda[$i]["wrog"]["atak"] = $wrog_atak; $runda[$i]["atakujacy"]["ilosc"] = $atakujacy_ilosc; $runda[$i]["wrog"]["ilosc"] = $wrog_ilosc; break; } $runda[$i]["atakujacy"] = $atakujacy; $runda[$i]["wrog"] = $wrog; $runda[$i]["atakujacy"]["atak"] = $atakujacy_atak; $runda[$i]["wrog"]["atak"] = $wrog_atak; $runda[$i]["atakujacy"]["ilosc"] = $atakujacy_ilosc; $runda[$i]["wrog"]["ilosc"] = $wrog_ilosc; $runda[$i]["angreiferfire"] = $angreifer_fire; $runda[$i]["verteidigerfire"] = $verteidiger_fire; if (($atakujacy_ilosc == 0) or ($wrog_ilosc == 0)){ break; } foreach($atakujacy as $a => $b){ if ($atakujacy_ilosc > 0){ $wrog_moc=$atakujacy[$a]["ilosc"] * $wrog_atak/$atakujacy_ilosc; if ($atakujacy[$a]["tarcza"] < $wrog_moc){ $max_zdjac = floor($atakujacy[$a]["ilosc"]*$wrog_ilosc/$atakujacy_ilosc); $wrog_moc = $wrog_moc - $atakujacy[$a]["tarcza"]; $atakujacy_tarcza = $atakujacy_tarcza + $atakujacy[$a]["tarcza"]; $ile_zdjac = floor(($wrog_moc/(($pricelist[$a]["metal"] + $pricelist[$a]["crystal"])/10))); if ($ile_zdjac > $max_zdjac) { $ile_zdjac = $max_zdjac; } $atakujacy_n[$a]["ilosc"] = ceil($atakujacy[$a]["ilosc"] - $ile_zdjac); if ($atakujacy_n[$a]["ilosc"] <= 0){ $atakujacy_n[$a]["ilosc"] = 0; } } else { $atakujacy_n[$a]["ilosc"] = $atakujacy[$a]["ilosc"]; $atakujacy_tarcza = $atakujacy_tarcza + $wrog_moc; } } else { $atakujacy_n[$a]["ilosc"] = $atakujacy[$a]["ilosc"]; $atakujacy_tarcza = $atakujacy_tarcza + $wrog_moc; } } foreach($wrog as $a => $b){ if ($wrog_ilosc > 0){ $atakujacy_moc = $wrog[$a]["ilosc"] * $atakujacy_atak/$wrog_ilosc; if ($wrog[$a]["tarcza"] < $atakujacy_moc){ $max_zdjac = floor($wrog[$a]["ilosc"]*$atakujacy_ilosc/$wrog_ilosc); $atakujacy_moc = $atakujacy_moc - $wrog[$a]["tarcza"]; $wrog_tarcza = $wrog_tarcza + $wrog[$a]["tarcza"]; $ile_zdjac = floor(($atakujacy_moc/(($pricelist[$a]["metal"] + $pricelist[$a]["crystal"])/10))); if ($ile_zdjac > $max_zdjac) { $ile_zdjac = $max_zdjac; } $wrog_n[$a]["ilosc"] = ceil($wrog[$a]["ilosc"] - $ile_zdjac); if ($wrog_n[$a]["ilosc"] <= 0){ $wrog_n[$a]["ilosc"] = 0; } } else { $wrog_n[$a]["ilosc"] = $wrog[$a]["ilosc"]; $wrog_tarcza = $wrog_tarcza + $atakujacy_moc; } } else { $wrog_n[$a]["ilosc"] = $wrog[$a]["ilosc"]; $wrog_tarcza = $wrog_tarcza + $atakujacy_moc; } } foreach($atakujacy as $a => $b){ foreach ($pricelist[$a]['sd'] as $c => $d){ if (isset($wrog[$c])){ $wrog_n[$c]["ilosc"] = $wrog_n[$c]["ilosc"] - floor($d * rand(50,100)/100); if ($wrog_n[$c]["ilosc"] <= 0){ $wrog_n[$c]["ilosc"] = 0; } } } } foreach($wrog as $a => $b){ foreach ($pricelist[$a]['sd'] as $c => $d){ if (isset($atakujacy[$c])){ $atakujacy_n[$c]["ilosc"] = $atakujacy_n[$c]["ilosc"] - floor($d * rand(50,100)/100); if ($atakujacy_n[$c]["ilosc"] <= 0){ $atakujacy_n[$c]["ilosc"] = 0; } } } } $runda[$i]["atakujacy"]["tarcza"] = $atakujacy_tarcza; $runda[$i]["wrog"]["tarcza"] = $wrog_tarcza; $wrog = $wrog_n; $atakujacy = $atakujacy_n; $schiffe_a = 0; $schiffe_v = 0; foreach($atakujacy as $a => $b){ if ($atakujacy[$a]["ilosc"] > 0) $schiffe_a = $atakujacy[$a]["ilosc"]; } foreach($wrog as $a => $b){ if ($wrog[$a]["ilosc"] > 0) $schiffe_v = $wrog[$a]["ilosc"]; } if ($schiffe_v == 0 || $schiffe_a == 0) { $i++; } if ($schiffe_a == 0) { $atakujacy_ilosc = 0; $runda[$i]["atakujacy"] = $atakujacy; $runda[$i]["wrog"] = $wrog; $runda[$i]["atakujacy"]["atak"] = $atakujacy_atak; $runda[$i]["wrog"]["atak"] = $wrog_atak; $runda[$i]["atakujacy"]["ilosc"] = $atakujacy_ilosc; $runda[$i]["wrog"]["ilosc"] = $wrog_ilosc; } if ($schiffe_v == 0) { $wrog_ilosc = 0; $runda[$i]["atakujacy"] = $atakujacy; $runda[$i]["wrog"] = $wrog; $runda[$i]["atakujacy"]["atak"] = $atakujacy_atak; $runda[$i]["wrog"]["atak"] = $wrog_atak; $runda[$i]["atakujacy"]["ilosc"] = $atakujacy_ilosc; $runda[$i]["wrog"]["ilosc"] = $wrog_ilosc; } if ($schiffe_v == 0 || $schiffe_a == 0) { break; } } if (($atakujacy_ilosc == 0) or ($wrog_ilosc == 0)){ if (($atakujacy_ilosc == 0) and ($wrog_ilosc == 0)){ $wygrana = "r"; } else { if ($atakujacy_ilosc == 0){ $wygrana = "w"; } else { $wygrana = "a"; } } } else { $i = sizeof($runda); $runda[$i]["atakujacy"] = $atakujacy; $runda[$i]["wrog"] = $wrog; $runda[$i]["atakujacy"]["atak"] = $atakujacy_atak; $runda[$i]["wrog"]["atak"] = $wrog_atak; $runda[$i]["atakujacy"]["ilosc"] = $atakujacy_ilosc; $runda[$i]["wrog"]["ilosc"] = $wrog_ilosc; $wygrana = "r"; } $atakujacy_zlom_koniec["metal"] = 0; $atakujacy_zlom_koniec["krysztal"] = 0; if (!is_null($atakujacy)) { foreach($atakujacy as $a => $b){ $atakujacy_zlom_koniec["metal"] = $atakujacy_zlom_koniec["metal"] + $atakujacy[$a]["ilosc"] * $pricelist[$a]["metal"]; $atakujacy_zlom_koniec["krysztal"] = $atakujacy_zlom_koniec["krysztal"] + $atakujacy[$a]["ilosc"] * $pricelist[$a]["crystal"]; } } $wrog_zlom_koniec["metal"] = 0; $wrog_zlom_koniec["krysztal"] = 0; if (!is_null($wrog)) { foreach($wrog as $a => $b){ if ($a < 300){ $wrog_zlom_koniec["metal"] = $wrog_zlom_koniec["metal"] + $wrog[$a]["ilosc"] * $pricelist[$a]["metal"]; $wrog_zlom_koniec["krysztal"] = $wrog_zlom_koniec["krysztal"] + $wrog[$a]["ilosc"] * $pricelist[$a]["crystal"]; } else { $wrog_zlom_koniec_obrona["metal"] = $wrog_zlom_koniec_obrona["metal"] + $wrog[$a]["ilosc"] * $pricelist[$a]["metal"]; $wrog_zlom_koniec_obrona["krysztal"] = $wrog_zlom_koniec_obrona["krysztal"] + $wrog[$a]["ilosc"] * $pricelist[$a]["crystal"]; } } } $ilosc_wrog=0; $straty_obrona_wrog=0; if (!is_null($wrog)) { foreach($wrog as $a => $b){ if ($a > 300){ $straty_obrona_wrog = $straty_obrona_wrog + (($wrog_poczatek[$a]["ilosc"] - $wrog[$a]["ilosc"]) * ($pricelist[$a]["metal"] + $pricelist[$a]["crystal"])); $wrog[$a]["ilosc"] = $wrog[$a]["ilosc"] + (($wrog_poczatek[$a]["ilosc"] - $wrog[$a]["ilosc"])*rand(60,80)/100); $ilosc_wrog = $ilosc_wrog + $wrog[$a]["ilosc"]; } } } if (($ilosc_wrog > 0) and ($atakujacy_ilosc == 0)){ $wygrana = "w"; } $zlom["metal"] = ((($atakujacy_zlom_poczatek["metal"] - $atakujacy_zlom_koniec["metal"]) + ($wrog_zlom_poczatek["metal"] - $wrog_zlom_koniec["metal"]))*($game_config["flota_na_zlom"]/100)); $zlom["krysztal"] = ((($atakujacy_zlom_poczatek["krysztal"] - $atakujacy_zlom_koniec["krysztal"]) + ($wrog_zlom_poczatek["krysztal"] - $wrog_zlom_koniec["krysztal"]))*($game_config["flota_na_zlom"]/100)); $zlom["metal"] = $zlom["metal"] + ((($atakujacy_zlom_poczatek["metal"] - $atakujacy_zlom_koniec["metal"]) + ($wrog_zlom_poczatek["metal"] - $wrog_zlom_koniec["metal"]))*($game_config["obrona_na_zlom"]/100)); $zlom["krysztal"] = $zlom["krysztal"] + ((($atakujacy_zlom_poczatek["krysztal"] - $atakujacy_zlom_koniec["krysztal"]) + ($wrog_zlom_poczatek["krysztal"] - $wrog_zlom_koniec["krysztal"]))*($game_config["obrona_na_zlom"]/100)); $zlom["atakujacy"] = (($atakujacy_zlom_poczatek["metal"] - $atakujacy_zlom_koniec["metal"]) + ($atakujacy_zlom_poczatek["krysztal"] - $atakujacy_zlom_koniec["krysztal"])); $zlom["wrog"] = (($wrog_zlom_poczatek["metal"] - $wrog_zlom_koniec["metal"]) + ($wrog_zlom_poczatek["krysztal"] - $wrog_zlom_koniec["krysztal"]) + $straty_obrona_wrog); return array("atakujacy" => $atakujacy, "wrog" => $wrog, "wygrana" => $wygrana, "dane_do_rw" => $runda, "zlom" => $zlom); } ?>