function changeFlag($getPage_connection2)
{
    if (strlen($_SESSION["action"]) >= 1) {
        if ($_SESSION["action"] == "flag") {
            if ($_SESSION["nation_id"] >= 1) {
                $flagArray = uploadFile($getPage_connection2);
                // tries to upload new file and delete old one
                if (strlen($flagArray["path"]) >= 2 && strlen($flagArray["error"]) <= 1) {
                    $nationInfoP = getNationInfo($getPage_connection2, $_SESSION["nation_id"]);
                    $new_flag = $flagArray["path"];
                    setNationInfo($getPage_connection2, $_SESSION["nation_id"], $nationInfoP["name"], $nationInfoP["home"], $nationInfoP["formal"], $new_flag, $nationInfoP["production"], $nationInfoP["money"], $nationInfoP["debt"], $nationInfoP["happiness"], $nationInfoP["food"], $nationInfoP["authority"], $nationInfoP["authorityChanged"], $nationInfoP["economy"], $nationInfoP["economyChanged"], $nationInfoP["organizations"], $nationInfoP["invites"], $nationInfoP["goods"], $nationInfoP["resources"], $nationInfoP["population"], $nationInfoP["strike"]);
                    $_SESSION["success_message"] = "Cannot complete action: Upload was successful, flag is changed!";
                } else {
                    $_SESSION["warning_message"] = "Cannot complete action: upload failed.  " . $flagArray["error"] . "  Double-check your image to make sure it is valid!";
                }
                // else
            } else {
                $_SESSION["warning_message"] = "Cannot complete action: action is not valid.";
            }
            // else
        } else {
            $_SESSION["warning_message"] = "Cannot complete action: action is not valid.";
        }
        // else
    } else {
        $_SESSION["warning_message"] = "Cannot complete action: action is not valid.";
    }
    // else
}
function declineOrganization($getPage_connection2)
{
    if (strlen($_SESSION["action"]) >= 1) {
        if ($_SESSION["action"] == "decline") {
            if ($_SESSION["nation_id"] >= 1) {
                $nationInfoSelect = getNationInfo($getPage_connection2, $_SESSION["nation_id"]);
                if ($_SESSION["org"] >= 1) {
                    $organizationInfoSelect = getOrganizationInfo($getPage_connection2, $_SESSION["org"]);
                    $new_invites = array(0 => 0);
                    $counter = 0;
                    $nationInfoM = getNationInfo($getPage_connection2, $_SESSION["nation_id"]);
                    for ($z = 0; $z < count($nationInfoM["invites"]); $z++) {
                        if ($_SESSION["org"] != $nationInfoM["invites"][$z]) {
                            $new_invites[$counter] = $nationInfoM["invites"][$z];
                            $counter++;
                        }
                        // if
                    }
                    // for
                    setNationInfo($getPage_connection2, $nationInfoSelect["id"], $nationInfoSelect["name"], $nationInfoSelect["home"], $nationInfoSelect["formal"], $nationInfoSelect["flag"], $nationInfoSelect["production"], $nationInfoSelect["money"], $nationInfoSelect["debt"], $nationInfoSelect["happiness"], $nationInfoSelect["food"], $nationInfoSelect["authority"], $nationInfoSelect["authorityChanged"], $nationInfoSelect["economy"], $nationInfoSelect["economyChanged"], $nationInfoSelect["organizations"], $new_invites, $nationInfoSelect["goods"], $nationInfoSelect["resources"], $nationInfoSelect["population"], $nationInfoSelect["strike"]);
                    $new_pending = array(0 => 0);
                    $counter = 0;
                    $organizationInfoM = getOrganizationInfo($getPage_connection2, $_SESSION["org"]);
                    for ($z = 0; $z < count($organizationInfoM["pending"]); $z++) {
                        if ($_SESSION["nation_id"] != $organizationInfoM["pending"][$z]) {
                            $new_pending[$counter] = $organizationInfoM["pending"][$z];
                            $counter++;
                        }
                        // if
                    }
                    // for
                    setOrganizationInfo($getPage_connection2, $_SESSION["org"], $organizationInfoSelect["name"], $organizationInfoSelect["members"], $organizationInfoSelect["managers"], $new_pending, $organizationInfoSelect["ranking"]);
                    $_SESSION["success_message"] = "Nation has declined organization successfully!";
                } else {
                    $_SESSION["warning_message"] = "Cannot complete action: organization is not valid.";
                }
                // else
            } else {
                $_SESSION["warning_message"] = "Cannot complete action: nation is not valid.";
            }
            // else
        } else {
            $_SESSION["warning_message"] = "Cannot complete action: action is not valid.";
        }
        // else
    } else {
        $_SESSION["warning_message"] = "Cannot complete action: action is not valid.";
    }
    // else
}
Esempio n. 3
0
function processOffer($getPage_connection2, $offerInfo1)
{
    $payup = false;
    if ($offerInfo1["givingItems"][0] > 0 || $offerInfo1["receivingItems"][0] > 0) {
        // toNation: the target nation of action
        // fromNation: the source nation of action
        $toNationInfo = getNationInfo($getPage_connection2, $offerInfo1["toNation"]);
        $fromNationInfo = getNationInfo($getPage_connection2, $offerInfo1["fromNation"]);
        $notEnough = array(0 => false, 1 => "");
        for ($zz = 0; $zz < count($toNationInfo["goods"]); $zz++) {
            $new_to_goods = $toNationInfo["goods"][$zz];
        }
        // for
        for ($zz = 0; $zz < count($toNationInfo["resources"]); $zz++) {
            $new_to_resources = $toNationInfo["resources"][$zz];
        }
        // for
        $new_to_food = $toNationInfo["food"];
        $new_to_money = $toNationInfo["money"];
        for ($zz = 0; $zz < count($fromNationInfo["goods"]); $zz++) {
            $new_from_goods = $fromNationInfo["goods"][$zz];
        }
        // for
        for ($zz = 0; $zz < count($fromNationInfo["resources"]); $zz++) {
            $new_from_resources = $fromNationInfo["resources"][$zz];
        }
        // for
        $new_from_food = $fromNationInfo["food"];
        $new_from_money = $fromNationInfo["money"];
        if ($offerInfo1["givingItems"][0] > 0) {
            for ($z = 0; $z < count($offerInfo1["givingItems"]); $z++) {
                $new_bonus = 1;
                for ($y = 0; $y * 10 > $offerInfo1["givingQuantities"][$z]; $y++) {
                    $new_bonus = $y + $new_bonus;
                }
                // for
                // set new sell strength
                if ($offerInfo1["givingTypes"][$z] == "goods") {
                    $itemInfo1 = getGoodsInfo($getPage_connection2, $offerInfo1["givingItems"][$z]);
                    $new_buyStrength = $itemInfo1["buyStrength"];
                    $new_sellStrength = $itemInfo1["sellStrength"] + $new_bonus;
                    setGoodsInfo($getPage_connection2, $itemInfo1["id"], $itemInfo1["name"], $itemInfo1["productionRequired"], $itemInfo1["resourceTypesRequired"], $itemInfo1["resourceQuantitiesRequired"], $itemInfo1["improvementTypesRequired"], $itemInfo1["improvementQuantitiesRequired"], $itemInfo1["improvementLevelRequired"], $new_buyStrength, $new_sellStrength);
                    for ($zz = 0; $zz < count($fromNationInfo["goods"]); $zz++) {
                        if ($offerInfo1["givingQuantities"][$z] <= $fromNationInfo["goods"][$zz]) {
                            $new_to_goods[$zz] = $toNationInfo["goods"][$zz] + $offerInfo1["givingQuantities"][$z];
                            $new_from_goods[$zz] = $fromNationInfo["goods"][$zz] - $offerInfo1["givingQuantities"][$z];
                        } else {
                            $notEnough[0] = true;
                            $notEnough[1] = "offer";
                            break;
                        }
                        // else
                    }
                    // for
                } else {
                    if ($offerInfo1["givingTypes"][$z] == "resources") {
                        $itemInfo1 = getResourceTypeInfo($getPage_connection2, $offerInfo1["givingItems"][$z]);
                        $new_buyStrength = $itemInfo1["buyStrength"];
                        $new_sellStrength = $itemInfo1["sellStrength"] + $new_bonus;
                        setResourceTypeInfo($getPage_connection2, $itemInfo1["id"], $itemInfo1["name"], $itemInfo1["incompatibleWith"], $itemInfo1["image"], $new_buyStrength, $new_sellStrength);
                        for ($zz = 0; $zz < count($fromNationInfo["resources"]); $zz++) {
                            if ($offerInfo1["givingQuantities"][$z] <= $fromNationInfo["resources"][$zz]) {
                                $new_to_resources[$zz] = $toNationInfo["resources"][$zz] + $offerInfo1["givingQuantities"][$z];
                                $new_from_resources[$zz] = $fromNationInfo["resources"][$zz] - $offerInfo1["givingQuantities"][$z];
                            } else {
                                $notEnough[0] = true;
                                $notEnough[1] = "offer";
                                break;
                            }
                            // else
                        }
                        // for
                    } else {
                        if ($offerInfo1["givingQuantities"][$z] <= $fromNationInfo["money"]) {
                            $new_to_money = $toNationInfo["money"] + $offerInfo1["givingQuantities"][$z];
                            $new_from_money = $fromNationInfo["money"] - $offerInfo1["givingQuantities"][$z];
                        } else {
                            $notEnough[0] = true;
                            $notEnough[1] = "offer";
                            break;
                        }
                        // else
                    }
                }
                // else
            }
            // for
        }
        // if
        if ($offerInfo1["receivingItems"][0] > 0) {
            for ($z = 0; $z < count($offerInfo1["receivingItems"]); $z++) {
                // set new buy strength
                if ($offerInfo1["receivingTypes"][$z] == "goods") {
                    $itemInfo1 = getGoodsInfo($getPage_connection2, $offerInfo1["receivingItems"][$z]);
                    $new_buyStrength = $itemInfo1["buyStrength"] + $new_bonus;
                    $new_sellStrength = $itemInfo1["sellStrength"];
                    setGoodsInfo($getPage_connection2, $itemInfo1["id"], $itemInfo1["name"], $itemInfo1["productionRequired"], $itemInfo1["resourceTypesRequired"], $itemInfo1["resourceQuantitiesRequired"], $itemInfo1["improvementTypesRequired"], $itemInfo1["improvementQuantitiesRequired"], $itemInfo1["improvementLevelRequired"], $new_buyStrength, $new_sellStrength);
                    for ($zz = 0; $zz < count($fromNationInfo["goods"]); $zz++) {
                        if ($offerInfo1["givingQuantities"][$z] <= $fromNationInfo["goods"][$zz]) {
                            $new_to_goods[$zz] = $toNationInfo["goods"][$zz] - $offerInfo1["givingQuantities"][$z];
                            $new_from_goods[$zz] = $fromNationInfo["goods"][$zz] + $offerInfo1["givingQuantities"][$z];
                        } else {
                            $notEnough[0] = true;
                            $notEnough[1] = "demand";
                            break;
                        }
                        // else
                    }
                    // for
                } else {
                    if ($offerInfo1["receivingTypes"][$z] == "resources") {
                        $itemInfo1 = getResourceTypeInfo($getPage_connection2, $offerInfo1["receivingItems"][$z]);
                        $new_buyStrength = $itemInfo1["buyStrength"] + $new_bonus;
                        $new_sellStrength = $itemInfo1["sellStrength"];
                        setResourceTypeInfo($getPage_connection2, $itemInfo1["id"], $itemInfo1["name"], $itemInfo1["incompatibleWith"], $itemInfo1["image"], $new_buyStrength, $new_sellStrength);
                        for ($zz = 0; $zz < count($fromNationInfo["resources"]); $zz++) {
                            if ($offerInfo1["givingQuantities"][$z] <= $fromNationInfo["resources"][$zz]) {
                                $new_to_resources[$zz] = $toNationInfo["resources"][$zz] - $offerInfo1["givingQuantities"][$z];
                                $new_from_resources[$zz] = $fromNationInfo["resources"][$zz] + $offerInfo1["givingQuantities"][$z];
                            } else {
                                $notEnough[0] = true;
                                $notEnough[1] = "offer";
                                break;
                            }
                            // else
                        }
                        // for
                    } else {
                        if ($offerInfo1["receivingTypes"][$z] == "food") {
                            if ($offerInfo1["receivingQuantities"][$z] <= $toNationInfo["food"]) {
                                $new_to_food = $toNationInfo["food"] - $offerInfo1["receivingQuantities"][$z];
                                $new_from_food = $fromNationInfo["food"] + $offerInfo1["receivingQuantities"][$z];
                            } else {
                                $notEnough[0] = true;
                                $notEnough[1] = "demand";
                                break;
                            }
                            // else
                        } else {
                            if ($offerInfo1["receivingQuantities"][$z] <= $toNationInfo["money"]) {
                                $new_to_money = $toNationInfo["money"] - $offerInfo1["receivingQuantities"][$z];
                                $new_from_money = $fromNationInfo["money"] + $offerInfo1["receivingQuantities"][$z];
                            } else {
                                $notEnough[0] = true;
                                $notEnough[1] = "demand";
                                break;
                            }
                            // else
                        }
                    }
                }
                // else
            }
            // for
        }
        // if
        if ($notEnough[0] === false) {
            // give items
            setNationInfo($getPage_connection2, $toNationInfo["id"], $toNationInfo["name"], $toNationInfo["home"], $toNationInfo["formal"], $toNationInfo["flag"], $toNationInfo["production"], $new_to_money, $toNationInfo["debt"], $toNationInfo["happiness"], $new_to_food, $toNationInfo["authority"], $toNationInfo["authorityChanged"], $toNationInfo["economy"], $toNationInfo["economyChanged"], $toNationInfo["organizations"], $toNationInfo["invites"], $new_to_goods, $new_to_resources, $toNationInfo["population"], $toNationInfo["strike"]);
            // receive items
            setNationInfo($getPage_connection2, $fromNationInfo["id"], $fromNationInfo["name"], $fromNationInfo["home"], $fromNationInfo["formal"], $fromNationInfo["flag"], $fromNationInfo["production"], $new_from_money, $fromNationInfo["debt"], $fromNationInfo["happiness"], $new_from_food, $fromNationInfo["authority"], $fromNationInfo["authorityChanged"], $fromNationInfo["economy"], $fromNationInfo["economyChanged"], $fromNationInfo["organizations"], $fromNationInfo["invites"], $new_from_goods, $new_from_resources, $fromNationInfo["population"], $fromNationInfo["strike"]);
            // set offer status
            setOfferInfo($getPage_connection2, $_SESSION["action_id"], $offerInfo1["fromNation"], $offerInfo1["toNation"], $offerInfo1["givingItems"], $offerInfo1["receivingItems"], $offerInfo1["givingQuantities"], $offerInfo1["receivingQuantities"], $offerInfo1["givingTypes"], $offerInfo1["receivingTypes"], $offerInfo1["turns"], $offerInfo1["counter"], 1);
        } else {
            $payup = true;
        }
        // else
    } else {
    }
    // else
    // if trade is not completed in full, freeze the route for the nation at fault
    if ($payup === true) {
        // who's responsible?
        // target nation's fault
        if ($notEnough[1] == "demand") {
            for ($x = 0; $x < count($toTradeInfo["offers"]); $x++) {
                $new_worth = $toTradeInfo["worth"];
                $new_worth[$x] = 0;
                setTradeInfo($getPage_connection2, $toTradeInfo["id"], $toTradeInfo["nation"], $toTradeInfo["routes"], $new_worth, $toTradeInfo["offers"], $toTradeInfo["limit"]);
            }
            // for
            // source nation's fault
        } else {
            for ($x = 0; $x < count($fromTradeInfo["offers"]); $x++) {
                $new_worth = $fromTradeInfo["worth"];
                $new_worth[$x] = 0;
                setTradeInfo($getPage_connection2, $fromTradeInfo["id"], $fromTradeInfo["nation"], $fromTradeInfo["routes"], $new_worth, $fromTradeInfo["offers"], $fromTradeInfo["limit"]);
            }
            // for
        }
        // else
    }
    // if
}
function acceptOffer($getPage_connection2)
{
    if ($_SESSION["action"] == "accept_offer") {
        if ($_SESSION["action_id"] > 0) {
            $offerInfo1 = getOfferInfo($getPage_connection2, $_SESSION["action_id"]);
            if (($offerInfo1["toNation"] == $_SESSION["nation_id"] || $offerInfo1["fromNation"] == $_SESSION["nation_id"]) && $offerInfo1["status"] == 0) {
                if ($offerInfo1["givingItems"][0] > 0 || $offerInfo1["receivingItems"][0] > 0) {
                    // toNation: the target nation of action
                    // fromNation: the source nation of action
                    $toNationInfo = getNationInfo($getPage_connection2, $offerInfo1["toNation"]);
                    $fromNationInfo = getNationInfo($getPage_connection2, $offerInfo1["fromNation"]);
                    $notEnough = array(0 => false, 1 => "");
                    for ($zz = 0; $zz < count($toNationInfo["goods"]); $zz++) {
                        $new_to_goods = $toNationInfo["goods"][$zz];
                    }
                    // for
                    for ($zz = 0; $zz < count($toNationInfo["resources"]); $zz++) {
                        $new_to_resources = $toNationInfo["resources"][$zz];
                    }
                    // for
                    $new_to_food = $toNationInfo["food"];
                    $new_to_money = $toNationInfo["money"];
                    for ($zz = 0; $zz < count($fromNationInfo["goods"]); $zz++) {
                        $new_from_goods = $fromNationInfo["goods"][$zz];
                    }
                    // for
                    for ($zz = 0; $zz < count($fromNationInfo["resources"]); $zz++) {
                        $new_from_resources = $fromNationInfo["resources"][$zz];
                    }
                    // for
                    $new_from_food = $fromNationInfo["food"];
                    $new_from_money = $fromNationInfo["money"];
                    if ($offerInfo1["givingItems"][0] > 0) {
                        for ($z = 0; $z < count($offerInfo1["givingItems"]); $z++) {
                            $new_bonus = 1;
                            for ($y = 0; $y * 10 > $offerInfo1["givingQuantities"][$z]; $y++) {
                                $new_bonus = $y + $new_bonus;
                            }
                            // for
                            // set new sell strength
                            if ($offerInfo1["givingTypes"][$z] == "goods") {
                                $itemInfo1 = getGoodsInfo($getPage_connection2, $offerInfo1["givingItems"][$z]);
                                $new_buyStrength = $itemInfo1["buyStrength"];
                                $new_sellStrength = $itemInfo1["sellStrength"] + $new_bonus;
                                setGoodsInfo($getPage_connection2, $itemInfo1["id"], $itemInfo1["name"], $itemInfo1["productionRequired"], $itemInfo1["resourceTypesRequired"], $itemInfo1["resourceQuantitiesRequired"], $itemInfo1["improvementTypesRequired"], $itemInfo1["improvementQuantitiesRequired"], $itemInfo1["improvementLevelRequired"], $new_buyStrength, $new_sellStrength);
                                for ($zz = 0; $zz < count($fromNationInfo["goods"]); $zz++) {
                                    if ($offerInfo1["givingQuantities"][$z] <= $fromNationInfo["goods"][$zz]) {
                                        $new_to_goods[$zz] = $toNationInfo["goods"][$zz] + $offerInfo1["givingQuantities"][$z];
                                        $new_from_goods[$zz] = $fromNationInfo["goods"][$zz] - $offerInfo1["givingQuantities"][$z];
                                    } else {
                                        $notEnough[0] = true;
                                        $notEnough[1] = "offer";
                                        break;
                                    }
                                    // else
                                }
                                // for
                            } else {
                                if ($offerInfo1["givingTypes"][$z] == "resources") {
                                    $itemInfo1 = getResourceTypeInfo($getPage_connection2, $offerInfo1["givingItems"][$z]);
                                    $new_buyStrength = $itemInfo1["buyStrength"];
                                    $new_sellStrength = $itemInfo1["sellStrength"] + $new_bonus;
                                    setResourceTypeInfo($getPage_connection2, $itemInfo1["id"], $itemInfo1["name"], $itemInfo1["incompatibleWith"], $itemInfo1["image"], $new_buyStrength, $new_sellStrength);
                                    for ($zz = 0; $zz < count($fromNationInfo["resources"]); $zz++) {
                                        if ($offerInfo1["givingQuantities"][$z] <= $fromNationInfo["resources"][$zz]) {
                                            $new_to_resources[$zz] = $toNationInfo["resources"][$zz] + $offerInfo1["givingQuantities"][$z];
                                            $new_from_resources[$zz] = $fromNationInfo["resources"][$zz] - $offerInfo1["givingQuantities"][$z];
                                        } else {
                                            $notEnough[0] = true;
                                            $notEnough[1] = "offer";
                                            break;
                                        }
                                        // else
                                    }
                                    // for
                                } else {
                                    if ($offerInfo1["givingQuantities"][$z] <= $fromNationInfo["money"]) {
                                        $new_to_money = $toNationInfo["money"] + $offerInfo1["givingQuantities"][$z];
                                        $new_from_money = $fromNationInfo["money"] - $offerInfo1["givingQuantities"][$z];
                                    } else {
                                        $notEnough[0] = true;
                                        $notEnough[1] = "offer";
                                        break;
                                    }
                                    // else
                                }
                            }
                            // else
                        }
                        // for
                    }
                    // if
                    if ($offerInfo1["receivingItems"][0] > 0) {
                        for ($z = 0; $z < count($offerInfo1["receivingItems"]); $z++) {
                            // set new buy strength
                            if ($offerInfo1["receivingTypes"][$z] == "goods") {
                                $itemInfo1 = getGoodsInfo($getPage_connection2, $offerInfo1["receivingItems"][$z]);
                                $new_buyStrength = $itemInfo1["buyStrength"] + $new_bonus;
                                $new_sellStrength = $itemInfo1["sellStrength"];
                                setGoodsInfo($getPage_connection2, $itemInfo1["id"], $itemInfo1["name"], $itemInfo1["productionRequired"], $itemInfo1["resourceTypesRequired"], $itemInfo1["resourceQuantitiesRequired"], $itemInfo1["improvementTypesRequired"], $itemInfo1["improvementQuantitiesRequired"], $itemInfo1["improvementLevelRequired"], $new_buyStrength, $new_sellStrength);
                                for ($zz = 0; $zz < count($fromNationInfo["goods"]); $zz++) {
                                    if ($offerInfo1["givingQuantities"][$z] <= $fromNationInfo["goods"][$zz]) {
                                        $new_to_goods[$zz] = $toNationInfo["goods"][$zz] - $offerInfo1["givingQuantities"][$z];
                                        $new_from_goods[$zz] = $fromNationInfo["goods"][$zz] + $offerInfo1["givingQuantities"][$z];
                                    } else {
                                        $notEnough[0] = true;
                                        $notEnough[1] = "demand";
                                        break;
                                    }
                                    // else
                                }
                                // for
                            } else {
                                if ($offerInfo1["receivingTypes"][$z] == "resources") {
                                    $itemInfo1 = getResourceTypeInfo($getPage_connection2, $offerInfo1["receivingItems"][$z]);
                                    $new_buyStrength = $itemInfo1["buyStrength"] + $new_bonus;
                                    $new_sellStrength = $itemInfo1["sellStrength"];
                                    setResourceTypeInfo($getPage_connection2, $itemInfo1["id"], $itemInfo1["name"], $itemInfo1["incompatibleWith"], $itemInfo1["image"], $new_buyStrength, $new_sellStrength);
                                    for ($zz = 0; $zz < count($fromNationInfo["resources"]); $zz++) {
                                        if ($offerInfo1["givingQuantities"][$z] <= $fromNationInfo["resources"][$zz]) {
                                            $new_to_resources[$zz] = $toNationInfo["resources"][$zz] - $offerInfo1["givingQuantities"][$z];
                                            $new_from_resources[$zz] = $fromNationInfo["resources"][$zz] + $offerInfo1["givingQuantities"][$z];
                                        } else {
                                            $notEnough[0] = true;
                                            $notEnough[1] = "offer";
                                            break;
                                        }
                                        // else
                                    }
                                    // for
                                } else {
                                    if ($offerInfo1["receivingTypes"][$z] == "food") {
                                        if ($offerInfo1["receivingQuantities"][$z] <= $toNationInfo["food"]) {
                                            $new_to_food = $toNationInfo["food"] - $offerInfo1["receivingQuantities"][$z];
                                            $new_from_food = $fromNationInfo["food"] + $offerInfo1["receivingQuantities"][$z];
                                        } else {
                                            $notEnough[0] = true;
                                            $notEnough[1] = "demand";
                                            break;
                                        }
                                        // else
                                    } else {
                                        if ($offerInfo1["receivingQuantities"][$z] <= $toNationInfo["money"]) {
                                            $new_to_money = $toNationInfo["money"] - $offerInfo1["receivingQuantities"][$z];
                                            $new_from_money = $fromNationInfo["money"] + $offerInfo1["receivingQuantities"][$z];
                                        } else {
                                            $notEnough[0] = true;
                                            $notEnough[1] = "demand";
                                            break;
                                        }
                                        // else
                                    }
                                }
                            }
                            // else
                        }
                        // for
                    }
                    // if
                    if ($notEnough[0] === false) {
                        // give items
                        setNationInfo($getPage_connection2, $toNationInfo["id"], $toNationInfo["name"], $toNationInfo["home"], $toNationInfo["formal"], $toNationInfo["flag"], $toNationInfo["production"], $new_to_money, $toNationInfo["debt"], $toNationInfo["happiness"], $new_to_food, $toNationInfo["authority"], $toNationInfo["authorityChanged"], $toNationInfo["economy"], $toNationInfo["economyChanged"], $toNationInfo["organizations"], $toNationInfo["invites"], $new_to_goods, $new_to_resources, $toNationInfo["population"], $toNationInfo["strike"]);
                        // receive items
                        setNationInfo($getPage_connection2, $fromNationInfo["id"], $fromNationInfo["name"], $fromNationInfo["home"], $fromNationInfo["formal"], $fromNationInfo["flag"], $fromNationInfo["production"], $new_from_money, $fromNationInfo["debt"], $fromNationInfo["happiness"], $new_from_food, $fromNationInfo["authority"], $fromNationInfo["authorityChanged"], $fromNationInfo["economy"], $fromNationInfo["economyChanged"], $fromNationInfo["organizations"], $fromNationInfo["invites"], $new_from_goods, $new_from_resources, $fromNationInfo["population"], $fromNationInfo["strike"]);
                        // set offer status
                        setOfferInfo($getPage_connection2, $_SESSION["action_id"], $offerInfo1["fromNation"], $offerInfo1["toNation"], $offerInfo1["givingItems"], $offerInfo1["receivingItems"], $offerInfo1["givingQuantities"], $offerInfo1["receivingQuantities"], $offerInfo1["givingTypes"], $offerInfo1["receivingTypes"], $offerInfo1["turns"], $offerInfo1["counter"], 1);
                        $_SESSION["success_message"] = "Offer has been accepted successfully!";
                    } else {
                        $_SESSION["warning_message"] = "Cannot complete action: a requested " . $notEnough[1] . " is not possible due to insufficent supply.";
                    }
                    // else
                } else {
                    $_SESSION["warning_message"] = "Cannot complete action: offer is empty.";
                }
                // else
            } else {
                $_SESSION["warning_message"] = "Cannot complete action: current nation is not involved in selected offer.";
            }
            // else
        } else {
            $_SESSION["warning_message"] = "Cannot complete action: invalid offer selected.";
        }
        // else
    } else {
        $_SESSION["warning_message"] = "Cannot complete action: invalid action.";
    }
    // else
}
Esempio n. 5
0
function buildUnit($getPage_connection2)
{
    $tileInfoW = getTileInfo($getPage_connection2, $_SESSION["continent_id"], $_SESSION["xpos"], $_SESSION["ypos"]);
    $improvementValid = false;
    // go through improvements
    for ($a = 0; $a < count($tileInfoW["improvements"]); $a++) {
        $improvementInfoW = getImprovementInfo($getPage_connection2, $tileInfoW["improvements"][$a]);
        // is it a depot?
        if ($improvementInfoW["type"] == 5) {
            // are any of the owners of the depot the player?
            for ($b = 0; $b < count($improvementInfoW); $b++) {
                if ($improvementInfoW["owners"][$b] == $_SESSION["nation_id"]) {
                    $improvementValid = true;
                    break;
                } else {
                    $improvementValid = false;
                }
                // else
            }
            // for
        }
        // if
        if ($improvementValid === true) {
            break;
        }
        // if
    }
    // for
    // if valid depot exists on tile, proceed
    if ($_SESSION["action_id"] >= 1 && $improvementValid === true) {
        $unitTypeInfoW = getUnitTypeInfo($getPage_connection2, $_SESSION["action_id"]);
        $nationInfoW = getNationInfo($getPage_connection2, $_SESSION["nation_id"]);
        // is it a valid entity?
        if ($unitTypeInfoW["id"] >= 1) {
            if ($unitTypeInfoW["water"] == 1) {
                if (isItCoast($getPage_connection2, $tileInfoW) === true) {
                    $coastCheck = true;
                } else {
                    $coastCheck = false;
                }
                // else
            } else {
                $coastCheck = true;
            }
            // else
            // can player afford this expense?
            if ($coastCheck === true) {
                if ($unitTypeInfoW["baseCost"] <= $nationInfoW["money"]) {
                    $notEnough = false;
                    for ($zz = 0; $zz < count($unitTypeInfoW["goodsRequired"]); $zz++) {
                        if ($unitTypeInfoW["goodsRequired"][$zz] > $nationInfoW["goods"][$zz]) {
                            $notEnough = true;
                            break;
                        }
                        // if
                    }
                    // for
                    if ($notEnough === false) {
                        $unitInfoD = getUnitInfo($getPage_connection2, $tileInfoW["continent"], $tileInfoW["xpos"], $tileInfoW["ypos"]);
                        if ($unitInfoD["id"] < 1) {
                            $_SESSION["success_message"] = "Unit has been trained successfully!";
                            $new_money = $nationInfoW["money"] - $unitTypeInfoW["baseCost"];
                            $new_goods = array(0 => 0);
                            for ($zz = 0; $zz < count($nationInfoW["goods"]); $zz++) {
                                $new_goods[$zz] = $nationInfoW["goods"][$zz] - $unitTypeInfoW["goodsRequired"][$zz];
                            }
                            // for
                            $new_food = $nationInfoW["food"] - $unitTypeInfoW["foodRequired"];
                            setNationInfo($getPage_connection2, $_SESSION["nation_id"], $nationInfoW["name"], $nationInfoW["home"], $nationInfoW["formal"], $nationInfoW["flag"], $nationInfoW["production"], $new_money, $nationInfoW["debt"], $nationInfoW["happiness"], $new_food, $nationInfoW["authority"], $nationInfoW["authorityChanged"], $nationInfoW["economy"], $nationInfoW["economyChanged"], $nationInfoW["organizations"], $nationInfoW["invites"], $new_goods, $nationInfoW["resources"], $nationInfoW["population"], $nationInfoW["strike"]);
                            $mt_rand = mt_rand(100, 9999);
                            $new_name = "Unit " . $mt_rand;
                            // if transport, add to transport list
                            if ($_SESSION["action_id"] == 10) {
                                addTransportInfo($getPage_connection2, "0");
                                $new_transport_id = $getPage_connection2->insert_id;
                            } else {
                                $new_transport_id = 0;
                            }
                            // else
                            $tileInfoX = getTileInfo($getPage_connection2, $_SESSION["continent_id"], $_SESSION["xpos"], $_SESSION["ypos"]);
                            addUnitInfo($getPage_connection2, $_SESSION["continent_id"], $_SESSION["xpos"], $_SESSION["ypos"], $unitTypeInfoW["health"], $unitTypeInfoW["movement"], $new_name, $_SESSION["action_id"], $_SESSION["nation_id"], 1, $new_transport_id, $tileInfoX["id"], 0.0);
                        } else {
                            $_SESSION["warning_message"] = "Cannot complete action: there is already a unit on that current tile.";
                        }
                        // else
                    }
                    // if
                }
                // if
            } else {
                if ($coastCheck === true) {
                    $_SESSION["warning_message"] = "Cannot complete action: player cannot afford this unit.";
                } else {
                    $_SESSION["warning_message"] = "Cannot complete action: unit type requires coast to train.";
                }
                // else
            }
            // else
        } else {
            $_SESSION["warning_message"] = "Cannot complete action: unit is not valid.";
        }
        // else
    } else {
        if ($improvementValid === true) {
            $_SESSION["warning_message"] = "Cannot complete action: unit requires depot for training.";
        } else {
            $_SESSION["warning_message"] = "Cannot complete action: unit is not valid.";
        }
        // else
    }
    // else
}
Esempio n. 6
0
function deleteOrganizationInfo($s_connection, $s_id)
{
    if ($stmt = $s_connection->prepare("DELETE FROM organizations WHERE id=?")) {
        $stmt->bind_param("i", $s_id);
        $stmt->execute();
        $stmt->close();
    } else {
    }
    // else
    if ($stmt = $getPage_connection2->prepare("SELECT id FROM nations ORDER BY id ASC")) {
        $stmt->execute();
        $stmt->store_result();
        $stmt->bind_result($r_result);
        while ($stmt->fetch()) {
            $next_nations = $r_result;
            $nationInfo2 = getNationInfo($s_connection, $next_nations);
            $new_organizations = array(0 => 0);
            $counter1 = 0;
            for ($xx = 0; $xx < count($nationInfo2["organizations"]); $xx++) {
                if ($nationInfo2["organizations"][$xx] != $s_id) {
                    $new_organizations[$counter1] = $nationInfo2["organizations"][$xx];
                    $counter1++;
                }
                // if
            }
            // for
            setNationInfo($s_connection, $nationInfo2["id"], $nationInfo2["name"], $nationInfo2["home"], $nationInfo2["formal"], $nationInfo2["flag"], $nationInfo2["production"], $nationInfo2["money"], $nationInfo2["debt"], $nationInfo2["happiness"], $nationInfo2["food"], $nationInfo2["authority"], $nationInfo2["authorityChanged"], $nationInfo2["economy"], $nationInfo2["economyChanged"], $new_organizations, $nationInfo2["invites"], $nationInfo2["goods"], $nationInfo2["resources"], $nationInfo2["population"], $nationInfo2["strike"]);
        }
        // while
        $stmt->close();
    } else {
    }
    // else
}
Esempio n. 7
0
function updateNations($getPage_connection2)
{
    // main player sequence
    $_SESSION["scriptOutput"] = "<br /><br />Running main sequence...<br />";
    if ($stmt = $getPage_connection2->prepare("SELECT id FROM nations ORDER BY id ASC")) {
        $stmt->execute();
        $stmt->store_result();
        $stmt->bind_result($r_result);
        while ($stmt->fetch()) {
            $next_nations = $r_result;
            $_SESSION["scriptOutput"] .= "<br />Setup nation...<br />";
            $nationInfoW = getNationInfo($getPage_connection2, $next_nations);
            $tradeInfoW = getTradeInfo($getPage_connection2, $next_nations);
            $formula = 0.0;
            $tax = 0.0;
            $new_production = 0;
            $new_money = $nationInfoW["money"];
            $new_food = $nationInfoW["food"];
            $new_happiness = 0.0;
            $new_goods = $nationInfoW["goods"];
            $new_resources = $nationInfoW["resources"];
            $new_limit = $tradeInfoW["limit"];
            $new_routes = array(0 => 0);
            $new_worth = array(0 => 0);
            $old_population = $nationInfoW["population"];
            $new_population = 0.0;
            $foreignTradePercent = 0.0;
            $productionPercent = 0.0;
            $efficiencyPercent = 0.0;
            $happinessPenalty = 0.0;
            $money_upkeep = 0.0;
            $food_upkeep = 0.0;
            $new_debt = $nationInfoW["debt"];
            $money_debt = 0.0;
            $food_debt = 0.0;
            $productionPercent = $nationInfoW["economy"] * 10;
            $foreignTradePercent = 100 - $productionPercent;
            $efficiencyPercent = $nationInfoW["authority"] * 10;
            $happinessPenalty = $nationInfoW["authority"] * 5;
            $productionInfoW = getProductionInfo($getPage_connection2, $next_nations);
            $using_production = 0.0;
            $used_production = $using_production;
            $new_prod = $new_goods;
            $new_strike = $nationInfoW["strike"];
            $new_tilesOwned = 0;
            $tradeCount = 0;
            $limit_allTilesOwned = 0;
            if ($stmt1 = $getPage_connection2->prepare("SELECT COUNT(id) FROM tilesmap WHERE owner=?")) {
                $stmt1->bind_param("i", $next_nations);
                $stmt1->execute();
                $stmt1->bind_result($r_result);
                $stmt1->fetch();
                $limit_allTilesOwned = $r_result;
                $stmt1->close();
            } else {
                $endTurnFailed = "failed";
            }
            // else
            $limit_allImprovements = 0;
            if ($stmt1 = $getPage_connection2->prepare("SELECT COUNT(id) FROM improvementsmap")) {
                $stmt1->execute();
                $stmt1->bind_result($r_result);
                $stmt1->fetch();
                $limit_allImprovements = $r_result;
                $stmt1->close();
            } else {
                $endTurnFailed = "failed";
            }
            // else
            /********************************
            		 Base Additions (including revenue) from improvements, tiles, etc.
            		 ********************************/
            // get tiles info for production/claims/bonus addition
            $_SESSION["scriptOutput"] .= "Get tiles info for production/claims/bonus addition...<br />";
            if ($stmt1 = $getPage_connection2->prepare("SELECT id FROM tilesmap ORDER BY id ASC")) {
                $stmt1->execute();
                $stmt1->store_result();
                $stmt1->bind_result($r_result);
                while ($stmt1->fetch()) {
                    $next_tiles = $r_result;
                    $tileInfoW = getTileInfoByID($getPage_connection2, $next_tiles);
                    if ($tileInfoW["owner"] == $next_nations) {
                        // add claim strength if claim is dominant and tile is controlled
                        $claimsStateW = checkClaimsState($getPage_connection2, $tileInfoW, $next_nations);
                        if ($claimsStateW == 1) {
                            for ($e = 0; $e < count($tileInfoW["claims"]); $e++) {
                                $claimInfoW = getClaimInfo($getPage_connection2, $tileInfoW["claims"][$e]);
                                if ($claimInfoW["owner"] == $next_nations) {
                                    if ($claimInfoW["strength"] > 0) {
                                        $bonus_new_strength = 0;
                                        for ($c = 0; $c < count($tileInfoW["improvements"]); $c++) {
                                            $improvementInfoV = getImprovementInfo($getPage_connection2, $tileInfoW["improvements"][$c]);
                                            if ($improvementInfoV["type"] == 1) {
                                                $bonus_new_strength = 3;
                                            }
                                            // if
                                        }
                                        // for
                                        $new_strength = $bonus_new_strength + $claimInfoW["strength"] + 2;
                                    }
                                    // if
                                    setClaimInfo($getPage_connection2, $claimInfoW["id"], $new_strength, $claimInfoW["owner"]);
                                }
                                // if
                            }
                            // for
                        }
                        // if
                        // trade
                        $_SESSION["scriptOutput"] .= "Trade Count adjust...<br />";
                        for ($ss = 0; $ss < count($tileInfoW["improvements"]); $ss++) {
                            $improvementInfoF = getImprovementInfo($getPage_connection2, $tileInfoW["improvements"][$ss]);
                            if ($improvementInfoF["type"] == 1 || $improvementInfoF["type"] == 2) {
                                for ($cc = 0; $cc < count($improvementInfoF["owners"]); $cc++) {
                                    if ($improvementInfoF["owners"] == $next_nations) {
                                        if ($improvementInfoF["type"] == 1) {
                                            $tradeCount++;
                                        } else {
                                            if ($improvementInfoF["type"] == 2) {
                                                $tradeCount = $tradeCount + 2;
                                            }
                                        }
                                        // else if
                                    }
                                    // if
                                }
                                // for
                            }
                            // if
                        }
                        // for
                        // claims for happiness
                        $_SESSION["scriptOutput"] .= "Happiness+Claims adjust...<br />";
                        $claimsStateW = checkClaimsState($getPage_connection2, $tileInfoW, $next_nations);
                        // set happiness addition dependent on claim to tile
                        // if current nation claims successfully
                        if ($claimsStateW == 1) {
                            $new_happiness = $new_happiness + 5;
                            // if enemy nation claims successfully
                        } else {
                            if ($claimsStateW == 2) {
                                $new_happiness = $new_happiness + 1;
                                // if claim is contested and player is involved
                            } else {
                                if ($claimsStateW == 3) {
                                    $new_happiness = $new_happiness + 2;
                                    // if claim is contested and player is not involved
                                } else {
                                    if ($claimsStateW == 4) {
                                        // default to enemy claim
                                    } else {
                                        // bad
                                        $new_happiness = $new_happiness + 1;
                                    }
                                }
                            }
                        }
                        // else
                        // terrain production modifiers
                        $_SESSION["scriptOutput"] .= "Terrain production modifiers...<br />";
                        $terrainInfoW = array("productionModifier" => 0);
                        if ($stmt100 = $getPage_connection2->prepare("SELECT productionModifier FROM terrain WHERE id=? LIMIT 1")) {
                            $stmt100->bind_param("i", $tileInfoW["terrain"]);
                            $stmt100->execute();
                            $stmt100->bind_result($r_productionModifier);
                            $stmt100->fetch();
                            $terrainInfoW["productionModifier"] = $r_productionModifier;
                            $stmt100->close();
                        } else {
                        }
                        // else
                        if ($terrainInfoW["productionModifier"] >= 1) {
                            $mod = 0.01;
                            $new_production = $new_production + $terrainInfoW["productionModifier"] * $mod * 2.0;
                        } else {
                            $new_production = $new_production + 2;
                        }
                        // else
                    }
                    // if
                }
                // while
                $stmt1->close();
            } else {
            }
            // else
            // add to nation variables based on tile number
            $new_money = $new_money + 2 * $limit_allTilesOwned;
            //  get improvements
            $_SESSION["scriptOutput"] .= "Get improvements info for production, money, population mods...<br />";
            if ($stmt1 = $getPage_connection2->prepare("SELECT id FROM improvementsmap ORDER BY id ASC")) {
                $stmt1->execute();
                $stmt1->store_result();
                $stmt1->bind_result($r_result);
                while ($stmt1->fetch()) {
                    $next_improvements = $r_result;
                    $improvementInfoW = getImprovementInfo($getPage_connection2, $next_improvements);
                    for ($z = 0; $z < count($improvementInfoW["owners"]); $z++) {
                        if ($improvementInfoW["owners"][$z] == $next_nations) {
                            // capital
                            if ($improvementInfoW["type"] == 1) {
                                $new_money = $new_money + 60.0 * (0.25 * $improvementInfoW["level"]) / count($improvementInfoW["owners"]);
                                $new_production = $new_production + 20.0 * (0.25 * $improvementInfoW["level"]) / count($improvementInfoW["owners"]);
                                $tileInfoG = getTileInfo($getPage_connection2, $improvementInfoW["continent"], $improvementInfoW["xpos"], $improvementInfoW["ypos"]);
                                $generate_population = mt_rand(200.0 * (0.25 * $improvementInfoW["level"]), 800.0 * (0.25 * $improvementInfoW["level"]));
                                $new_tile_population = $tileInfoG["population"] + $generate_population / count($improvementInfoW["owners"]);
                                setTileInfo($getPage_connection2, $tileInfoG["id"], $tileInfoG["continent"], $tileInfoG["xpos"], $tileInfoG["ypos"], $tileInfoG["terrain"], $tileInfoG["resources"], $tileInfoG["improvements"], $tileInfoG["owner"], $tileInfoG["claims"], $new_tile_population);
                                // town
                            } else {
                                if ($improvementInfoW["type"] == 2) {
                                    $new_money = $new_money + 30.0 * (0.25 * $improvementInfoW["level"]) / count($improvementInfoW["owners"]);
                                    $tileInfoG = getTileInfo($getPage_connection2, $improvementInfoW["continent"], $improvementInfoW["xpos"], $improvementInfoW["ypos"]);
                                    $generate_population = mt_rand(200.0 * (0.25 * $improvementInfoW["level"]), 400.0 * (0.25 * $improvementInfoW["level"]));
                                    $new_tile_population = $tileInfoG["population"] + $generate_population / count($improvementInfoW["owners"]);
                                    setTileInfo($getPage_connection2, $tileInfoG["id"], $tileInfoG["continent"], $tileInfoG["xpos"], $tileInfoG["ypos"], $tileInfoG["terrain"], $tileInfoG["resources"], $tileInfoG["improvements"], $tileInfoG["owner"], $tileInfoG["claims"], $new_tile_population);
                                    // industry
                                } else {
                                    if ($improvementInfoW["type"] == 3) {
                                        $new_production = $new_production + 20.0 * (0.25 * $improvementInfoW["level"]) / count($improvementInfoW["owners"]);
                                        // farm
                                    } else {
                                        if ($improvementInfoW["type"] == 4) {
                                            $generate_food = mt_rand(1000.0 * (0.25 * $improvementInfoW["level"]), 6000.0 * (0.25 * $improvementInfoW["level"]));
                                            $new_food = $new_food + $generate_food / count($improvementInfoW["owners"]);
                                            // depot
                                        } else {
                                            if ($improvementInfoW["type"] == 5) {
                                                // mill
                                            } else {
                                                if ($improvementInfoW["type"] == 6) {
                                                    for ($d = 0; $d < count($improvementInfoW["usingResources"]); $d++) {
                                                        $resourceInfoW = getResourceInfo($getPage_connection2, $improvementInfoW["usingResources"][$d]);
                                                        if ($resourceInfoW["type"] == 1 && $resourceInfoW["capacity"] >= 5) {
                                                            $initialExtract = 0.02 * $resourceInfoW["capacity"];
                                                            $extractAmount = $initialExtract * (0.25 * $improvementInfoW["level"]) / count($improvementInfoW["owners"]);
                                                            $new_resources[0] = $new_resources[0] + $extractAmount;
                                                            $new_capacity = $resourceInfoW["capacity"] - $extractAmount;
                                                            setResourceInfo($getPage_connection2, $resourceInfoW["id"], $resourceInfoW["type"], $new_capacity);
                                                            break;
                                                        }
                                                        // if
                                                    }
                                                    // for
                                                    // reserve
                                                } else {
                                                    if ($improvementInfoW["type"] == 7) {
                                                        $new_happiness = $new_happiness + 0.01 / count($improvementInfoW["owners"]);
                                                        // mine
                                                    } else {
                                                        if ($improvementInfoW["type"] == 8) {
                                                            for ($d = 0; $d < count($improvementInfoW["usingResources"]); $d++) {
                                                                $resourceInfoW = getResourceInfo($getPage_connection2, $improvementInfoW["usingResources"][$d]);
                                                                if ($resourceInfoW["type"] == 2 && $resourceInfoW["capacity"] >= 5) {
                                                                    $initialExtract = 0.02 * $resourceInfoW["capacity"];
                                                                    $extractAmount = $initialExtract * (0.25 * $improvementInfoW["level"]) / count($improvementInfoW["owners"]);
                                                                    $new_resources[1] = $new_resources[1] + $extractAmount;
                                                                    $new_capacity = $resourceInfoW["capacity"] - $extractAmount;
                                                                    setResourceInfo($getPage_connection2, $resourceInfoW["id"], $resourceInfoW["type"], $new_capacity);
                                                                    break;
                                                                }
                                                                // if
                                                            }
                                                            // for
                                                            // well
                                                        } else {
                                                            if ($improvementInfoW["type"] == 9) {
                                                                for ($d = 0; $d < count($improvementInfoW["usingResources"]); $d++) {
                                                                    $resourceInfoW = getResourceInfo($getPage_connection2, $improvementInfoW["usingResources"][$d]);
                                                                    if ($resourceInfoW["type"] == 3 && $resourceInfoW["capacity"] >= 5) {
                                                                        $initialExtract = 0.02 * $resourceInfoW["capacity"];
                                                                        $extractAmount = $initialExtract * (0.25 * $improvementInfoW["level"]) / count($improvementInfoW["owners"]);
                                                                        $new_resources[2] = $new_resources[2] + $extractAmount;
                                                                        $new_capacity = $resourceInfoW["capacity"] - $extractAmount;
                                                                        setResourceInfo($getPage_connection2, $resourceInfoW["id"], $resourceInfoW["type"], $new_capacity);
                                                                        break;
                                                                    }
                                                                    // if
                                                                }
                                                                // for
                                                                // dam
                                                            } else {
                                                                if ($improvementInfoW["type"] == 10) {
                                                                    for ($d = 0; $d < count($improvementInfoW["usingResources"]); $d++) {
                                                                        $resourceInfoW = getResourceInfo($getPage_connection2, $improvementInfoW["usingResources"][$d]);
                                                                        if ($resourceInfoW["type"] == 4 && $resourceInfoW["capacity"] >= 5) {
                                                                            $new_production = $new_production + 22.0 * (0.25 * $improvementInfoW["level"]) / count($improvementInfoW["owners"]);
                                                                            setResourceInfo($getPage_connection2, $resourceInfoW["id"], $resourceInfoW["type"], $new_capacity);
                                                                            break;
                                                                        }
                                                                        // if
                                                                    }
                                                                    // for
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                            // else if
                        }
                        // if
                    }
                    // for
                }
                // while
                $stmt1->close();
            } else {
            }
            // else
            /********************************
            		 HAPPINESS EFFECTS
            		 ********************************/
            $_SESSION["scriptOutput"] .= "Change happiness...<br />";
            // penalty for lack of consumer goods (basic and luxury), less penalty with more goods
            // luxury goods provide bigger boost
            $consumptionPenalty = 3.25 * $limit_allTilesOwned;
            $goodsPenalty = 0.0;
            if ($consumptionPenalty >= $new_goods[4] * 3.0E-5 * $limit_allTilesOwned + $new_goods[5] * 5.0E-5 * $limit_allTilesOwned) {
                $goodsPenalty = $consumptionPenalty - $new_goods[4] * 3.0E-5 * $limit_allTilesOwned + $new_goods[5] * 5.0E-5 * $limit_allTilesOwned;
            } else {
                $goodsPenalty = 0.0;
            }
            // else
            // happiness
            $new_happiness = ($new_happiness - ($happinessPenalty + $goodsPenalty) * $new_happiness / 100) / $limit_allTilesOwned;
            // set the rate of effect of happiness on production,taxation
            // Happiest
            if ($new_happiness >= 4) {
                $new_production = $new_production + $new_production * 0.25;
                $efficiencyPercent = $efficiencyPercent + $efficiencyPercent * 0.25;
                // Very Happy
            } else {
                if ($new_happiness >= 3) {
                    $new_production = $new_production + $new_production * 0.1;
                    $efficiencyPercent = $efficiencyPercent + $efficiencyPercent * 0.1;
                    // Happy
                } else {
                    if ($new_happiness >= 2) {
                        $new_production = $new_production + $new_production * 0.05;
                        $efficiencyPercent = $efficiencyPercent + $efficiencyPercent * 0.05;
                        // Content (nothing happens)
                    } else {
                        if ($new_happiness >= 1) {
                            // Unhappy
                        } else {
                            $new_production = $new_production - $new_production * 0.25;
                            $efficiencyPercent = $efficiencyPercent - $efficiencyPercent * 0.25;
                        }
                    }
                }
            }
            // else
            /********************************
            		 TRADE
            		 ********************************/
            $_SESSION["scriptOutput"] .= "Update trade routes, worth, offers...<br />";
            // cut off trade routes to the limit that exists and update trade info
            // this limits trade routes to currently controlled tiles
            $new_limit = $tradeCount;
            if (count($tradeInfoW["routes"]) < $new_limit) {
                for ($r = 0; $r < $new_limit; $r++) {
                    $new_routes[$r] = $tradeInfoW["routes"][$r];
                }
                // for
            } else {
                for ($r = 0; $r < count($tradeInfoW["routes"]); $r++) {
                    $new_routes[$r] = $tradeInfoW["routes"][$r];
                }
                // for
            }
            // else
            setTradeInfo($getPage_connection2, $tradeInfoW["id"], $next_nations, $new_routes, $new_limit);
            // do individual trades action if current nation involved
            if ($stmt1 = $getPage_connection2->prepare("SELECT id FROM offers ORDER BY id ASC")) {
                $stmt1->execute();
                $stmt1->store_result();
                $stmt1->bind_result($r_result);
                while ($stmt1->fetch()) {
                    $next_offers = $r_result;
                    $offerInfoW = getOfferInfo($getPage_connection2, $next_offers);
                    if ($offerInfoW["fromNation"] == $next_nations) {
                        if ($offerInfoW["turns"] > $offerInfoW["counter"]) {
                            if ($offerInfoW["status"] == 1) {
                                processOffer($getPage_connection2, $offersInfoW);
                                $new_offer = $offerInfoW["counter"] + 1;
                                // remove if trade offer has expired
                                if ($new_counter > $offerInfoW["turns"]) {
                                    deleteOfferInfo($getPage_connection2, $offerInfoW["id"]);
                                } else {
                                    setOfferInfo($getPage_connection2, $offerInfoW["id"], $offerInfoW["fromNation"], $offerInfoW["toNation"], $offerInfoW["givingItems"], $offerInfoW["receivingItems"], $offerInfoW["givingQuantities"], $offerInfoW["receivingQuantities"], $offerInfoW["givingTypes"], $offerInfoW["receivingTypes"], $offerInfoW["turns"], $new_counter, $offerInfoW["status"]);
                                }
                                // else
                            }
                            // if
                        }
                        // if
                    }
                    // if
                }
                // while
                $stmt1->close();
            } else {
            }
            // else
            // trade agreements
            $tradeBonus = 0.0;
            $productionBonus = 0.0;
            $happinessPenaltyFromTrade = 0.0;
            for ($v = 0; $v < count($tradeInfoW["routes"]); $v++) {
                $agreementInfoQ = getAgreementInfo($getPage_connection2, $tradeInfoW["routes"][$v]);
                if ($agreementInfoQ["fromNation"] == $next_nations) {
                    if ($offerInfoW["status"] == 1) {
                        // receive money/production
                        $worth1 = 0.0;
                        // total worth of trade
                        $nationFrom1 = getNationInfo($getPage_connection2, $agreementInfoQ["fromNation"]);
                        $nationTo1 = getNationInfo($getPage_connection2, $agreementInfoQ["toNation"]);
                        // figure out wealth and production worth
                        $totalWealth = $nationFrom1["money"] + $nationTo1["money"];
                        $totalProduction = $nationFrom1["production"] + $nationTo1["production"];
                        // high policy number = protectionism, low policy number = free trade
                        // max 25% bonus from policy for either production or wealth
                        $tradeBonus = $tradeBonus + $totalWealth * (0.01 + 0.025 * (10 - $agreementInfoQ["policy"])) / 2;
                        $productionBonus = $productionBonus + $totalProduction * (0.008 + 0.025 * $agreementInfoQ["policy"]) / 2;
                        // happiness penalty for clashing ideologies
                        if ($agreementInfoQ["policy"] > $nationInfoW["economy"]) {
                            if ($agreementInfoQ["policy"] - $nationInfoW["economy"] > 0 && $agreementInfoQ["policy"] - $nationInfoW["economy"] <= 1) {
                                $happinessPenaltyFromTrade = $happinessPenaltyFromTrade + 0.005;
                            } else {
                                if ($agreementInfoQ["policy"] - $nationInfoW["economy"] >= 2 && $agreementInfoQ["policy"] - $nationInfoW["economy"] <= 3) {
                                    $happinessPenaltyFromTrade = $happinessPenaltyFromTrade + 0.01;
                                } else {
                                    if ($agreementInfoQ["policy"] - $nationInfoW["economy"] >= 4 && $agreementInfoQ["policy"] - $nationInfoW["economy"] <= 5) {
                                        $happinessPenaltyFromTrade = $happinessPenaltyFromTrade + 0.02;
                                    } else {
                                        if ($agreementInfoQ["policy"] - $nationInfoW["economy"] >= 6 && $agreementInfoQ["policy"] - $nationInfoW["economy"] <= 7) {
                                            $happinessPenaltyFromTrade = $happinessPenaltyFromTrade + 0.03;
                                        } else {
                                            if ($agreementInfoQ["policy"] - $nationInfoW["economy"] >= 8 && $agreementInfoQ["policy"] - $nationInfoW["economy"] <= 9) {
                                                $happinessPenaltyFromTrade = $happinessPenaltyFromTrade + 0.04;
                                            } else {
                                                if ($agreementInfoQ["policy"] - $nationInfoW["economy"] >= 10) {
                                                    $happinessPenaltyFromTrade = $happinessPenaltyFromTrade + 0.05;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                            // else if
                        } else {
                            if ($agreementInfoQ["policy"] < $nationInfoW["economy"]) {
                                if ($agreementInfoQ["economy"] - $nationInfoW["policy"] > 0 && $agreementInfoQ["economy"] - $nationInfoW["policy"] <= 1) {
                                    $happinessPenaltyFromTrade = $happinessPenaltyFromTrade + 0.005;
                                } else {
                                    if ($agreementInfoQ["economy"] - $nationInfoW["policy"] >= 2 && $agreementInfoQ["economy"] - $nationInfoW["policy"] <= 3) {
                                        $happinessPenaltyFromTrade = $happinessPenaltyFromTrade + 0.01;
                                    } else {
                                        if ($agreementInfoQ["economy"] - $nationInfoW["policy"] >= 4 && $agreementInfoQ["economy"] - $nationInfoW["policy"] <= 5) {
                                            $happinessPenaltyFromTrade = $happinessPenaltyFromTrade + 0.02;
                                        } else {
                                            if ($agreementInfoQ["economy"] - $nationInfoW["policy"] >= 6 && $agreementInfoQ["economy"] - $nationInfoW["policy"] <= 7) {
                                                $happinessPenaltyFromTrade = $happinessPenaltyFromTrade + 0.03;
                                            } else {
                                                if ($agreementInfoQ["economy"] - $nationInfoW["policy"] >= 8 && $agreementInfoQ["economy"] - $nationInfoW["policy"] <= 9) {
                                                    $happinessPenaltyFromTrade = $happinessPenaltyFromTrade + 0.04;
                                                } else {
                                                    if ($agreementInfoQ["economy"] - $nationInfoW["policy"] >= 10) {
                                                        $happinessPenaltyFromTrade = $happinessPenaltyFromTrade + 0.05;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                                // else if
                            } else {
                            }
                        }
                        $new_counter = $agreementInfoQ["counter"] + 1;
                        // remove if trade agreement has expired
                        if ($new_counter > $agreementInfoQ["turns"]) {
                            deleteAgreementInfo($getPage_connection2, $agreementInfoQ["id"]);
                        } else {
                            setAgreementInfo($getPage_connection2, $agreementInfoQ["id"], $agreementInfoQ["policy"], $agreementInfoQ["turns"], $new_counter, $agreementInfoQ["toNation"], $agreementInfoQ["fromNation"], $agreementInfoQ["status"]);
                        }
                        // else
                    }
                    // if
                }
                // if
            }
            // for
            $new_happiness = $new_happiness - $happinessPenaltyFromTrade;
            $new_production = $new_production + $productionBonus;
            /********************************
            			 PRODUCTION COSTS
            			********************************/
            $_SESSION["scriptOutput"] .= "Produce stuff...<br />";
            // figure out spending percentage
            $using_production = $new_production * ($productionInfoW["spending"] * 0.01);
            // set production used to new spending amount
            $used_production = $using_production;
            // percentage of expenditure
            $ratios = $productionInfoW["ratios"];
            for ($t = 0; $t < count($ratios); $t++) {
                $ratio_id = $t + 1;
                $goodsInfoW = getGoodsInfo($getPage_connection2, $ratio_id);
                if ($goodsInfoW["id"] >= 1) {
                    $availableProduction = $used_production * ($ratios[$t] * 0.01);
                    // problem with this while loop: it's endless
                    while ($availableProduction > 0) {
                        $canProduce = false;
                        if ($goodsInfoW["productionRequired"] <= $availableProduction) {
                            if ($goodsInfoW["foodRequired"] <= $new_food) {
                                $checkForResourceTypes = true;
                                if (count($goodsInfoW["resourceTypesRequired"]) <= 1) {
                                    if ($goodsInfoW["resourceTypesRequired"][0] == 0) {
                                        $checkForResourceTypes = false;
                                    }
                                    // if
                                }
                                // if
                                if ($checkForResourceTypes === true) {
                                    for ($h = 0; $h < count($goodsInfoW["resourceTypesRequired"]); $h++) {
                                        // if resources are required
                                        if ($goodsInfoW["resourceTypesRequired"][$h] >= 1) {
                                            $resourceArraySlot1 = $goodsInfoW["resourceTypesRequired"][$h] - 1;
                                            if ($new_resources[$resourceArraySlot1] >= $goodsInfoW["resourceQuantitiesRequired"][$h]) {
                                                $canProduce = true;
                                            } else {
                                                $canProduce = false;
                                                break;
                                            }
                                            // else
                                        } else {
                                            $canProduce = true;
                                        }
                                        // else
                                    }
                                    // for
                                } else {
                                    $canProduce = true;
                                }
                                // else
                            } else {
                                $canProduce = false;
                            }
                            // else
                        } else {
                            $canProduce = false;
                        }
                        // else
                        if ($canProduce === true) {
                            for ($j = 0; $j < count($goodsInfoW["improvementTypesRequired"]); $j++) {
                                $typeCount = 0;
                                // if improvements are required
                                if ($goodsInfoW["improvementTypesRequired"][$j] >= 1) {
                                    if ($stmt2 = $getPage_connection2->prepare("SELECT id FROM improvementsmap ORDER BY id ASC")) {
                                        $stmt2->execute();
                                        $stmt2->store_result();
                                        $stmt2->bind_result($r_result);
                                        while ($stmt2->fetch()) {
                                            $next_improvements2 = $r_result;
                                            $improvementInfoY = getImprovementInfo($getPage_connection2, $next_improvements2);
                                            if ($improvementInfoY["type"] == $goodsInfoW["improvementTypesRequired"][$j]) {
                                                for ($f = 0; $f < count($improvementInfoY["owners"]); $f++) {
                                                    if ($improvementInfoY["owners"][$f] == $next_nations) {
                                                        $typeCount++;
                                                    }
                                                    // if
                                                }
                                                // for
                                            }
                                            // if
                                            if ($typeCount >= $goodsInfoW["improvementQuantitiesRequired"][$j]) {
                                                $canProduce = true;
                                                break;
                                            }
                                            // if
                                        }
                                        // while
                                        $stmt2->close();
                                    } else {
                                    }
                                    // else
                                    if ($typeCount < $goodsInfoW["improvementQuantitiesRequired"][$j]) {
                                        $canProduce = false;
                                        break;
                                    }
                                    // if
                                }
                                // if
                            }
                            // for
                        }
                        // if
                        // able to produce good, proceed
                        if ($canProduce === true) {
                            // subtract from available production, nation's food total, nation's resources totals
                            $availableProduction = $availableProduction - $goodsInfoW["productionRequired"];
                            $new_food = $new_food - $goodsInfoW["foodRequired"];
                            if ($checkForResourceTypes === true) {
                                for ($k = 0; $k < count($goodsInfoW["resourceTypesRequired"]); $k++) {
                                    // if resources are required
                                    if ($goodsInfoW["resourceTypesRequired"][$k] >= 1) {
                                        $resourceArraySlot = $goodsInfoW["resourceTypesRequired"][$k] - 1;
                                        $new_resources[$resourceArraySlot] = $new_resources[$resourceArraySlot] - $goodsInfoW["resourceQuantitiesRequired"][$k];
                                    }
                                    // if
                                }
                                // for
                            }
                            // if
                            // add new good
                            $new_goods[$t] = $new_goods[$t] + 1;
                        } else {
                            break;
                        }
                        // else
                    }
                    // while
                }
                // if
            }
            // for
            $new_production = $new_production - $used_production;
            // tax
            $tax = $old_population * 0.11 * ($efficiencyPercent * 0.01);
            // trade and production bonus formula
            $formula = $productionPercent * 0.01 * ($new_production * 14);
            $_SESSION["scriptOutput"] .= "prod: " . $new_production . "<br />";
            $_SESSION["scriptOutput"] .= "formula: " . $formula . "<br />";
            $_SESSION["scriptOutput"] .= "tax: " . $tax . "<br />";
            $_SESSION["scriptOutput"] .= "money: " . $new_money . "<br />";
            // final money calculation
            $new_money = $new_money + $formula + $tax;
            /********************************
            		 COSTS AND UPKEEP
            		 ********************************/
            $_SESSION["scriptOutput"] .= "Unit upkeep...<br />";
            // unit upkeep
            if ($stmt1 = $getPage_connection2->prepare("SELECT id FROM unitsmap ORDER BY id ASC")) {
                $stmt1->execute();
                $stmt1->store_result();
                $stmt1->bind_result($r_result);
                while ($stmt1->fetch()) {
                    $next_units = $r_result;
                    $unitInfoW = getUnitInfoByID($getPage_connection2, $next_units);
                    if ($unitInfoW["owner"] == $next_nations) {
                        $unitTypeInfoW = getUnitTypeInfo($getPage_connection2, $unitInfoW["type"]);
                        $tileInfoW = getTileInfo($getPage_connection2, $unitInfoW["continent"], $unitInfoW["xpos"], $unitInfoW["ypos"]);
                        $terrainInfoW = getTerrainInfo($getPage_connection2, $tileInfoW["terrain"]);
                        // figure out nearest supply depot for supply line distance
                        $best_difference = 9999;
                        $best_continent = 0;
                        if ($stmt2 = $getPage_connection2->prepare("SELECT id FROM improvementsmap ORDER BY id ASC")) {
                            $stmt2->execute();
                            $stmt2->bind_result($r_result);
                            while ($stmt2->fetch()) {
                                $next_improvements1 = $r_result;
                                $improvementInfoWA = getImprovementInfo($getPage_connection2, $next_improvements1);
                                if ($improvementInfoWA["id"] >= 1) {
                                    for ($v = 0; $v < count($improvementInfoWA["owners"]); $v++) {
                                        if ($improvementInfoWA["owners"][$v] == $next_nations) {
                                            if ($improvementInfoWA["type"] == 5) {
                                                $current_difference = 0;
                                                if ($improvementInfoWA["continent"] == $unitInfoW["continent"]) {
                                                    $best_difference = 0;
                                                    $best_continent = $improvementInfoWA["continent"];
                                                    break;
                                                } else {
                                                    if ($improvementInfoWA["continent"] > $unitInfoW["continent"]) {
                                                        $current_difference = $improvementInfoWA["continent"] - $unitInfoW["continent"];
                                                    } else {
                                                        if ($improvementInfoWA["continent"] < $unitInfoW["continent"]) {
                                                            $current_difference = $unitInfoW["continent"] - $improvementInfoWA["continent"];
                                                        }
                                                    }
                                                }
                                                // else if
                                                if ($current_difference < $best_difference) {
                                                    $best_difference = $current_difference;
                                                    $best_continent = $improvementInfoWA["continent"];
                                                }
                                                // if
                                            }
                                            // if
                                        }
                                        // if
                                    }
                                    // for
                                }
                                // if
                            }
                            // while
                            $stmt2->close();
                        } else {
                        }
                        // else
                        $distance = $best_difference;
                        $distanceModifier = 5 * $distance;
                        if ($terrainInfoW["upkeepModifier"] >= 1) {
                            $mod = 0.01;
                            $food_upkeep = $food_upkeep + $unitTypeInfoW["foodRequired"] / 4 + $unitTypeInfoW["foodRequired"] / 4 * (($terrainInfoW["upkeepModifier"] + $distanceModifier) * $mod);
                            $money_upkeep = $money_upkeep + $unitTypeInfoW["baseCost"] / 4 + $unitTypeInfoW["baseCost"] / 4 * (($terrainInfoW["upkeepModifier"] + $distanceModifier) * $mod);
                        } else {
                            $food_upkeep = $food_upkeep + $unitTypeInfoW["foodRequired"] / 4;
                            $money_upkeep = $money_upkeep + $unitTypeInfoW["baseCost"] / 4;
                        }
                        // else
                    }
                    // if
                }
                // while
                $stmt1->close();
            } else {
            }
            // else
            $_SESSION["scriptOutput"] .= "Improvement upkeep...<br />";
            // improvement upkeep and nation's population update
            if ($stmt2 = $getPage_connection2->prepare("SELECT id FROM tilesmap ORDER BY id ASC")) {
                $stmt2->execute();
                $stmt2->store_result();
                $stmt2->bind_result($r_result);
                while ($stmt2->fetch()) {
                    $next_tiles = $r_result;
                    $tileInfoW = getTileInfoByID($getPage_connection2, $next_tiles);
                    $terrainInfoW = getTerrainInfo($getPage_connection2, $tileInfoW["terrain"]);
                    for ($y = 0; $y < count($tileInfoW["improvements"]); $y++) {
                        $improvementInfoW = getImprovementInfo($getPage_connection2, $tileInfoW["improvements"][$y]);
                        $improvementTypeInfoW = getImprovementTypeInfo($getPage_connection2, $improvementInfoW["type"]);
                        for ($z = 0; $z < count($improvementInfoW["owners"]); $z++) {
                            if ($improvementInfoW["owners"][$z] == $next_nations) {
                                // figure out distance costs
                                if ($nationInfoW["home"] > $tileInfoW["continent"]) {
                                    $distanceModifier = $nationInfoW["home"] - $tileInfoW["continent"];
                                } else {
                                    $distanceModifier = $tileInfoW["continent"] - $nationInfoW["home"];
                                }
                                $mod = 0.01;
                                $money_upkeep = $money_upkeep + $improvementTypeInfoW["baseCost"] / 4 / count($improvementInfoW["owners"]) + $improvementTypeInfoW["baseCost"] / 4 / count($improvementInfoW["owners"]) * (($distanceModifier + $terrainInfoW["upkeepModifier"]) * $mod);
                            }
                            // if
                        }
                        // for
                    }
                    // for
                    if ($tileInfoW["owner"] == $next_nations) {
                        $new_population = $new_population + $tileInfoW["population"];
                    }
                    // if
                }
                // while
                $stmt2->close();
            } else {
            }
            // else
            /********************************
            			FOOD
            			********************************/
            $_SESSION["scriptOutput"] .= "Feeding time...<br />";
            $_SESSION["scriptOutput"] .= "food: " . $new_food . "<br />";
            // food debt
            if ($new_food < $food_upkeep) {
                $food_debt = $food_upkeep - $new_food;
                $new_food = 0;
            } else {
                $new_food = $new_food - $food_upkeep;
            }
            // else
            // if food can feed new population, then allow for the growth
            if ($new_food >= $new_population) {
                $surplus = $new_food - $new_population;
                $popGrowth = 0.1 * ($surplus / $limit_allTilesOwned);
                $popGrowthInt = round($popGrowth, 0, PHP_ROUND_HALF_UP);
                $new_population = 0;
                // reset population to assign new value based on pop changes
                $next_tiles = 1;
                if ($stmt2 = $getPage_connection2->prepare("SELECT id FROM tilesmap ORDER BY id ASC")) {
                    $stmt2->execute();
                    $stmt2->store_result();
                    $stmt2->bind_result($r_result);
                    while ($stmt2->fetch()) {
                        $next_tiles = $r_result;
                        $tileInfoD = getTileInfoByID($getPage_connection2, $next_tiles);
                        $new_tile_population = 0;
                        if ($tileInfoD["owner"] == $next_nations) {
                            $new_tile_population = $tileInfoD["population"] + $popGrowthInt;
                            setTileInfo($getPage_connection2, $tileInfoD["id"], $tileInfoD["continent"], $tileInfoD["xpos"], $tileInfoD["ypos"], $tileInfoD["terrain"], $tileInfoD["resources"], $tileInfoD["improvements"], $tileInfoD["owner"], $tileInfoD["claims"], $new_tile_population);
                            $new_population = $new_population + $new_tile_population;
                        }
                        // if
                    }
                    // while
                    $stmt2->close();
                } else {
                    $next_tiles = 0;
                }
                // else
                // if food cannot even sustain the population, it shrinks
            } else {
                if ($new_food < $new_population) {
                    // if there is food debt, then set food debt + random number to be deficit
                    if ($food_debt >= 1) {
                        $rand = mt_rand(1, 50);
                        $deficit = $food_debt + $rand;
                        $popShrink = 0.15 * ($deficit / $limit_allTilesOwned);
                        $popShrinkInt = round($popShrink, 0, PHP_ROUND_HALF_DOWN);
                        $new_population = 0;
                        // reset population to assign new value based on pop changes
                        if ($stmt2 = $getPage_connection2->prepare("SELECT id FROM tilesmap ORDER BY id ASC")) {
                            $stmt2->execute();
                            $stmt2->store_result();
                            $stmt2->bind_result($r_result);
                            while ($stmt2->fetch()) {
                                $next_tiles = $r_result;
                                $tileInfoD = getTileInfoByID($getPage_connection2, $next_tiles);
                                $new_tile_population = 0;
                                if ($tileInfoD["owner"] == $next_nations) {
                                    $new_tile_population = $tileInfoD["population"] - $popShrinkInt;
                                    if ($new_tile_population < 0) {
                                        $new_tile_population = 0;
                                    }
                                    // if
                                    setTileInfo($getPage_connection2, $tileInfoD["id"], $tileInfoD["continent"], $tileInfoD["xpos"], $tileInfoD["ypos"], $tileInfoD["terrain"], $tileInfoD["resources"], $tileInfoD["improvements"], $tileInfoD["owner"], $tileInfoD["claims"], $new_tile_population);
                                    $new_population = $new_population + $new_tile_population;
                                }
                                // if
                            }
                            // while
                            $stmt2->close();
                        } else {
                        }
                        // else
                        // otherwise just use difference between population and food and random number to be deficit
                    } else {
                        $rand = mt_rand(1, 100);
                        $deficit = $new_population - $new_food + $rand;
                        $popShrink = 0.25 * ($deficit / $limit_allTilesOwned);
                        $popShrinkInt = round($popShrink, 0, PHP_ROUND_HALF_DOWN);
                        $new_population = 0;
                        // reset population to assign new value based on pop changes
                        if ($stmt2 = $getPage_connection2->prepare("SELECT id FROM tilesmap ORDER BY id ASC")) {
                            $stmt2->execute();
                            $stmt2->store_result();
                            $stmt2->bind_result($r_result);
                            while ($stmt2->fetch()) {
                                $next_tiles = $r_result;
                                $tileInfoD = getTileInfoByID($getPage_connection2, $next_tiles);
                                $new_tile_population = 0;
                                if ($tileInfoD["owner"] == $next_nations) {
                                    $new_tile_population = $tileInfoD["population"] - $popShrinkInt;
                                    if ($new_tile_population < 0) {
                                        $new_tile_population = 0;
                                    }
                                    // if
                                    setTileInfo($getPage_connection2, $tileInfoD["id"], $tileInfoD["continent"], $tileInfoD["xpos"], $tileInfoD["ypos"], $tileInfoD["terrain"], $tileInfoD["resources"], $tileInfoD["improvements"], $tileInfoD["owner"], $tileInfoD["claims"], $new_tile_population);
                                    $new_population = $new_population + $new_tile_population;
                                }
                                // if
                            }
                            // while
                            $stmt2->close();
                        } else {
                        }
                        // else
                    }
                    // else
                }
            }
            // else if
            /********************************
            			 DEBT COLLECTION
            			********************************/
            $_SESSION["scriptOutput"] .= "Money and Debts...<br />";
            // pay off debt before anything else
            if ($new_debt > 0) {
                if ($new_money < $new_debt) {
                    $money_debt = $new_debt - $new_money;
                    // reduce the debt if nothing else
                    $new_debt = $money_debt;
                    $new_money = 0;
                } else {
                    $new_money = $new_money - $new_debt;
                    $new_debt = 0;
                }
                // else
            }
            // if
            if ($new_money < $money_upkeep) {
                $money_debt = $money_upkeep - $new_money;
                $new_debt = $money_debt;
                $new_money = 0;
            } else {
                $new_money = $new_money - $money_upkeep;
            }
            // else
            $_SESSION["scriptOutput"] .= "Debt collecting...<br />";
            // money debt collecting
            // increase strike counter if debt is owed
            if ($new_debt > 0) {
                $new_strike = $new_strike + 1;
            }
            // if
            if ($new_food < 0) {
                $new_food = 0;
            }
            // if
            /********************************
            		 SET NEW VARIABLES
            		 ********************************/
            $_SESSION["scriptOutput"] .= "Update database...<br />";
            setNationInfo($getPage_connection2, $next_nations, $nationInfoW["name"], $nationInfoW["home"], $nationInfoW["formal"], $nationInfoW["flag"], $new_production, $new_money, $new_debt, $new_happiness, $new_food, $nationInfoW["authority"], 0, $nationInfoW["economy"], 0, $nationInfoW["organizations"], $nationInfoW["invites"], $new_goods, $new_resources, $new_population, $new_strike);
        }
        // while
        $stmt->close();
    } else {
    }
    // else
    $_SESSION["scriptOutput"] .= "That's a wrap, script complete.<br />";
}