<?php
/**
 * Tis file is part of XNova:Legacies
 *
 * @license http://www.gnu.org/licenses/gpl-3.0.txt
 * @see http://www.xnova-ng.org/
 *
 * Copyright (c) 2009-Present, XNova Support Team <http://www.xnova-ng.org>
 * All rights reserved.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 *                                --> NOTICE <--
 *  This file is part of the core development branch, changing its contents will
 * make you unable to use the automatic updates manager. Please refer to the
 * documentation for further information about customizing XNova.
 *
 */

function raketenangriff($verteidiger_panzerung, $angreifer_waffen, $iraks, $def, $primaerziel = '0') {
	// Variablen initialisieren
	$temp = '';
	$temp2 = '';

	$def[10] = $iraks;

	$metall     = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
	$kristall   = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
	$deut       = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
	$verblieben = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);

	for($temp = 0; $temp < 11; $temp++) {
		$verblieben[$temp] = $def[$temp];
	}

	$kaputt = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);

	$hull = Array();

	$hull[0] = 200 * (1 + $verteidiger_panzerung / 10);
	$hull[1] = $hull[0];
	$hull[2] = 800 * (1 + ($verteidiger_panzerung / 10));
	$hull[3] = 3500 * (1 + ($verteidiger_panzerung / 10));
	$hull[4] = $hull[2];
	$hull[5] = 10000 * (1 + ($verteidiger_panzerung / 10));
	$hull[6] = 2000 * (1 + ($verteidiger_panzerung / 10));
	$hull[7] = $hull[5];
	$hull[8] = 1500 * (1 + ($verteidiger_panzerung / 10));

	$metall_cost_tab   = Array( 2, 1.5, 6, 20, 2, 50, 10, 50, 12.5, 8);
	$kristall_cost_tab = Array( 0, 0.5, 2, 15, 6, 50, 10, 50,  2.5, 0);
	$deut_cost_tab     = Array( 0,   0, 0,  2, 0, 30,  0,  0, 10.0, 2);

	$schaden = floor(($def[10] - $def[9]) * (12000 * (1 + ($angreifer_waffen / 10))));
	if ($schaden < 0)
		$schaden = 0;

	switch ($primaerziel) {
		case 0:
			$beschussreihenfolge = Array(0, 1, 2, 3, 4, 5, 6, 7, 8);
			break;
		case 1:
			$beschussreihenfolge = Array(1, 0, 2, 3, 4, 5, 6, 7, 8);
			break;
		case 2:
			$beschussreihenfolge = Array(2, 0, 1, 3, 4, 5, 6, 7, 8);
			break;
		case 3:
			$beschussreihenfolge = Array(3, 0, 1, 2, 4, 5, 6, 7, 8);
			break;
		case 4:
			$beschussreihenfolge = Array(4, 0, 1, 2, 3, 5, 6, 7, 8);
			break;
		case 5:
			$beschussreihenfolge = Array(5, 0, 1, 2, 3, 4, 6, 7, 8);
			break;
		case 6:
			$beschussreihenfolge = Array(6, 0, 1, 2, 3, 4, 5, 7, 8);
			break;
		case 7:
			$beschussreihenfolge = Array(7, 0, 1, 2, 3, 4, 5, 6, 8);
			break;
		case 8:
			$beschussreihenfolge = Array(0, 1, 2, 3, 4, 5, 6, 7, 8);
			break;
	}
	// Simulation
	// das Einfachste: I-Raks und Abfangraks ausrechnen...
	$verblieben[10] = 0;
	$kaputt[10] += $def[10];
	$metall[10] += $kaputt[10] * $metall_cost_tab[8];
	$kristall[10] += $kaputt[10] * $kristall_cost_tab[8];
	$deut[10] += $kaputt[10] * $deut_cost_tab[8];

	$verblieben[9] = ($def[9] - $def[10]);
	if ($verblieben[9] < 0)
		$verblieben[9] = 0;

	$kaputt[11] = $def[9] - $verblieben[9];
	$kaputt[9] += ($def[9] - $verblieben[9]);
	$metall[9] += $kaputt[9] * $metall_cost_tab[9];
	$kristall[9] += $kaputt[9] * $kristall_cost_tab[9];
	$deut[9] += $kaputt[9] * $deut_cost_tab[9];
	$metall[11] += $metall[9];
	$kristall[11] += $kristall[9];
	$deut[11] += $deut[9];
	// und jetzt der Reihe nach alles ABKNALLEN!!!
	for($temp = 0; $temp < 9; $temp++) {
		if ($schaden >= ($hull[$beschussreihenfolge[$temp]] * $def[$beschussreihenfolge[$temp]])) {
			$kaputt[$beschussreihenfolge[$temp]] += $def[$beschussreihenfolge[$temp]];

			$verblieben[$beschussreihenfolge[$temp]] = 0;

			$schaden -= ($hull[$beschussreihenfolge[$temp]] * $kaputt[$beschussreihenfolge[$temp]]);
		} else {
			$kaputt[$beschussreihenfolge[$temp]] += floor($schaden / $hull[$beschussreihenfolge[$temp]]);

			$schaden -= $kaputt[$beschussreihenfolge[$temp]] * $hull[$beschussreihenfolge[$temp]];

			$verblieben[$beschussreihenfolge[$temp]] = ($def[$beschussreihenfolge[$temp]] - $kaputt[$beschussreihenfolge[$temp]]);
		}

		$metall[$beschussreihenfolge[$temp]] += $kaputt[$beschussreihenfolge[$temp]] * $metall_cost_tab[$beschussreihenfolge[$temp]];
		$kristall[$beschussreihenfolge[$temp]] += $kaputt[$beschussreihenfolge[$temp]] * $kristall_cost_tab[$beschussreihenfolge[$temp]];
		$deut[$beschussreihenfolge[$temp]] += $kaputt[$beschussreihenfolge[$temp]] * $deut_cost_tab[$beschussreihenfolge[$temp]];

		$verblieben[11] += $verblieben[$beschussreihenfolge[$temp]];
		$kaputt[11] += $kaputt[$beschussreihenfolge[$temp]];
		$metall[11] += $metall[$beschussreihenfolge[$temp]];
		$kristall[11] += $kristall[$beschussreihenfolge[$temp]];
		$deut[11] += $deut[$beschussreihenfolge[$temp]];
	}

	$return = array();

	$return['verbleibt'] = $verblieben; // �brige Def
	$return['zerstoert'] = $kaputt; // Zerst�rte Def
	$return['verluste_metall'] = $metall; // Gesamtverluste Metall
	$return['verluste_kristall'] = $kristall; // Gesamtverluste Kristall
	$return['verluste_deuterium'] = $deut; // Gesamtverluste Deuterium

	return $return;
}

// 11 => Immer gesamt
// Copyright (c) 2007 by -= MoF =- for Deutsches UGamela Forum
// Date N/A
// Open Source

?>