コード例 #1
0
function effect_getEffectWonderDetailContent($caveID, $caveData)
{
    global $buildingTypeList, $defenseSystemTypeList, $resourceTypeList, $scienceTypeList, $unitTypeList, $wonderTypeList, $effectTypeList, $terrainList, $config, $params, $db;
    // don't show the resource bar
    $no_resource_flag = 1;
    // open the template
    $template = @tmpl_open('./templates/' . $config->template_paths[$params->SESSION->user['template']] . '/effectWonderDetail.ihtml');
    $wonders = wonder_getActiveWondersForCaveID($caveID, $db);
    $wondersData = array();
    if ($wonders) {
        foreach ($wonders as $key => $data) {
            $wonderData = array("name" => $wonderTypeList[$data['wonderID']]->name, "end" => $data['end_time']);
            $effectsData = array();
            // iterating through effectTypes
            foreach ($effectTypeList as $effect) {
                if ($value = $data[$effect->dbFieldName] + 0) {
                    $effectsData[] = array("name" => $effect->name, "value" => ($value > 0 ? "+" : "") . $value);
                }
            }
            // iterating through resourceTypes
            foreach ($resourceTypeList as $resource) {
                if ($value = $data[$resource->dbFieldName] + 0) {
                    $effectsData[] = array("name" => $resource->name, "value" => ($value > 0 ? "+" : "") . $value);
                }
            }
            // iterating through buildingTypes
            foreach ($buildingTypeList as $building) {
                if ($value = $data[$building->dbFieldName] + 0) {
                    $effectsData[] = array("name" => $building->name, "value" => ($value > 0 ? "+" : "") . $value);
                }
            }
            // iterating through scienceTypes
            foreach ($scienceTypeList as $science) {
                if ($value = $data[$science->dbFieldName] + 0) {
                    $effectsData[] = array("name" => $science->name, "value" => ($value > 0 ? "+" : "") . $value);
                }
            }
            // iterating through unitTypes
            foreach ($unitTypeList as $unit) {
                if ($value = $data[$unit->dbFieldName] + 0) {
                    $effectsData[] = array("name" => $unit->name, "value" => ($value > 0 ? "+" : "") . $value);
                }
            }
            // iterating through defenseSystemTypes
            foreach ($defenseSystemTypeList as $defenseSystem) {
                if ($value = $data[$defenseSystem->dbFieldName] + 0) {
                    $effectsData[] = array("name" => $defenseSystem->name, "value" => ($value > 0 ? "+" : "") . $value);
                }
            }
            $wonderData['EFFECT'] = $effectsData;
            $wondersData[] = $wonderData;
        }
        // end iterating through active wonders
    }
    // ADDED by chris--- for terrain effects ****************************
    global $effect, $effectname;
    $terraineffectData = array();
    $cave = getCaveByID($caveID);
    $terrainvalue = $cave['terrain'];
    $terraineffectsData[] = array("name" => $terrainList[$terrainvalue]['name'] . ":", "value" => "");
    for ($t = 0; $t < count($effect[$terrainvalue]); $t++) {
        $effectvalue = explode(" = ", $effect[$terrainvalue][$t]);
        $effectkey[$t] = $effectvalue[0];
        $effectv[$t] = substr($effectvalue[1], 1, -1);
        $terraineffectsData[] = array("name" => $effectname[$terrainvalue][$t], "value" => $effectv[$t]);
    }
    // *******************************************************************
    // ADDED by chris--- for leadership
    $leadermultiplier = 0;
    if ($caveData['science_faith'] > 0) {
        $leadermultiplier = $caveData['building_leader'] * 0.05 + 1 * ($caveData['building_betterleader'] * 0.1) + 1;
    }
    if ($caveData['science_darkness'] > 0) {
        $leadermultiplier = $caveData['building_orcleader'] * 0.05 + 1 * ($caveData['building_betterorcleader'] * 0.1) + 1;
    }
    if ($caveData['science_hex'] > 0) {
        $leadermultiplier = $caveData['building_soeldnerleader'] * 0.05 + 1 * ($caveData['building_bettersoeldnerleader'] * 0.1) + 1;
    }
    // -----------------------------------------
    $effectsData = array();
    foreach ($effectTypeList as $data) {
        $value = $caveData[$data->dbFieldName] + 0;
        // ADDED by chris--- for leadership
        if ($leadermultiplier > 0) {
            if ($data->dbFieldName == "effect_rangeattack_factor") {
                if ($value > 0) {
                    $value = $value * $leadermultiplier;
                } else {
                    $value = $leadermultiplier - 1;
                }
            }
            if ($data->dbFieldName == "effect_arealattack_factor") {
                if ($value > 0) {
                    $value = $value * $leadermultiplier;
                } else {
                    $value = $leadermultiplier - 1;
                }
            }
            if ($data->dbFieldName == "effect_attackrate_factor") {
                if ($value > 0) {
                    $value = $value * $leadermultiplier;
                } else {
                    $value = $leadermultiplier - 1;
                }
            }
            if ($data->dbFieldName == "effect_defenserate_factor") {
                if ($value > 0) {
                    $value = $value * $leadermultiplier;
                } else {
                    $value = $leadermultiplier - 1;
                }
            }
            if ($data->dbFieldName == "effect_ranged_damage_resistance_factor") {
                if ($value > 0) {
                    $value = $value * $leadermultiplier;
                } else {
                    $value = $leadermultiplier - 1;
                }
            }
        }
        // ---------------------------------------------
        for ($t = 0; $t < count($effect[$terrainvalue]); $t++) {
            if ($data->dbFieldName == $effectkey[$t]) {
                $value = $value - $effectv[$t];
            }
        }
        if ($value) {
            $effectsData[] = array("name" => $data->name, "value" => $value);
        }
    }
    // end iterating through effectTypes
    $data = array();
    if (!sizeof($wondersData)) {
        $data['NOWONDER'] = array('dummy' => "");
    } else {
        $data['WONDER'] = $wondersData;
    }
    if (!sizeof($effectsData)) {
        $data['NOEFFECT'] = array('dummy' => "");
    } else {
        $data['EFFECT'] = $effectsData;
    }
    if (sizeof($terraineffectsData) < 2) {
        $data['TERRAINNOEFFECT'] = array('dummy' => "");
    } else {
        $data['TERRAINEFFECT'] = $terraineffectsData;
    }
    tmpl_set($template, "/", $data);
    return tmpl_parse($template);
}
コード例 #2
0
function effect_getEffectWonderDetailContent($caveID, $caveData)
{
    global $db, $template;
    // open template
    $template->setFile('effectWonderDetail.tmpl');
    $wonders = wonder_getActiveWondersForCaveID($caveID);
    $wondersData = array();
    if ($wonders) {
        foreach ($wonders as $key => $data) {
            if ($GLOBALS['wonderTypeList'][$data['wonderID']]->groupID == 0 or $GLOBALS['wonderTypeList'][$data['wonderID']]->groupID == 3) {
                $wonderData = array('name' => $GLOBALS['wonderTypeList'][$data['wonderID']]->name, 'end' => $data['end_time']);
                $effectsData = array();
                // iterating through effectTypes
                foreach ($GLOBALS['effectTypeList'] as $effect) {
                    if ($value = $data[$effect->dbFieldName] + 0) {
                        $effectsData[] = array('name' => $effect->name, 'value' => ($value > 0 ? "+" : "") . $value);
                    }
                }
                // iterating through resourceTypes
                foreach ($GLOBALS['resourceTypeList'] as $resource) {
                    if ($value = $data[$resource->dbFieldName] + 0) {
                        $effectsData[] = array('name' => $resource->name, 'value' => ($value > 0 ? "+" : "") . $value);
                    }
                }
                // iterating through buildingTypes
                foreach ($GLOBALS['buildingTypeList'] as $building) {
                    if ($value = $data[$building->dbFieldName] + 0) {
                        $effectsData[] = array('name' => $building->name, 'value' => ($value > 0 ? "+" : "") . $value);
                    }
                }
                // iterating through scienceTypes
                foreach ($GLOBALS['scienceTypeList'] as $science) {
                    if ($value = $data[$science->dbFieldName] + 0) {
                        $effectsData[] = array('name' => $science->name, 'value' => ($value > 0 ? "+" : "") . $value);
                    }
                }
                // iterating through unitTypes
                foreach ($GLOBALS['unitTypeList'] as $unit) {
                    if ($value = $data[$unit->dbFieldName] + 0) {
                        $effectsData[] = array('name' => $unit->name, 'value' => ($value > 0 ? "+" : "") . $value);
                    }
                }
                // iterating through defenseSystemTypes
                foreach ($GLOBALS['defenseSystemTypeList'] as $defenseSystem) {
                    if ($value = $data[$defenseSystem->dbFieldName] + 0) {
                        $effectsData[] = array('name' => $defenseSystem->name, 'value' => ($value > 0 ? "+" : "") . $value);
                    }
                }
                $wonderData['EFFECT'] = $effectsData;
                $wondersData[] = $wonderData;
            }
        }
        // end iterating through active wonders
    }
    //hero effects
    $hero = getHeroByPlayer($_SESSION['player']->playerID);
    $heroData = array();
    if ($hero && $hero['caveID'] == $caveID) {
        foreach ($GLOBALS['effectTypeList'] as $effect) {
            $value = $hero[$effect->dbFieldName] + 0;
            if ($value) {
                $heroData[] = array('name' => $effect->name, 'value' => $value);
            }
        }
    }
    $effectsData = array();
    foreach ($GLOBALS['effectTypeList'] as $data) {
        $value = $caveData[$data->dbFieldName] + 0;
        if ($value) {
            $effectsData[] = array('name' => $data->name, 'value' => $value);
        }
    }
    // end iterating through effectTypes
    $data = array();
    $data['wonder'] = $wondersData;
    $data['effect'] = $effectsData;
    $data['hero'] = $heroData;
    $data['farmpoints'] = $_SESSION['player']->fame;
    $template->addVars($data);
}
コード例 #3
0
function effect_getEffectWonderDetailContent($caveID, $caveData)
{
    global $buildingTypeList, $defenseSystemTypeList, $resourceTypeList, $scienceTypeList, $unitTypeList, $wonderTypeList, $effectTypeList, $terrainList, $config, $params, $db;
    // don't show the resource bar
    $no_resource_flag = 1;
    // open the template
    $template = tmpl_open($params->SESSION->player->getTemplatePath() . 'effectWonderDetail.ihtml');
    $wonders = wonder_getActiveWondersForCaveID($caveID, $db);
    $wondersData = array();
    if ($wonders) {
        foreach ($wonders as $key => $data) {
            if ($wonderTypeList[$data['wonderID']]->groupID == 0 or $wonderTypeList[$data['wonderID']]->groupID == 3) {
                $wonderData = array("name" => $wonderTypeList[$data['wonderID']]->name, "end" => $data['end_time']);
                $effectsData = array();
                // iterating through effectTypes
                foreach ($effectTypeList as $effect) {
                    if ($value = $data[$effect->dbFieldName] + 0) {
                        $effectsData[] = array("name" => $effect->name, "value" => ($value > 0 ? "+" : "") . $value);
                    }
                }
                // iterating through resourceTypes
                foreach ($resourceTypeList as $resource) {
                    if ($value = $data[$resource->dbFieldName] + 0) {
                        $effectsData[] = array("name" => $resource->name, "value" => ($value > 0 ? "+" : "") . $value);
                    }
                }
                // iterating through buildingTypes
                foreach ($buildingTypeList as $building) {
                    if ($value = $data[$building->dbFieldName] + 0) {
                        $effectsData[] = array("name" => $building->name, "value" => ($value > 0 ? "+" : "") . $value);
                    }
                }
                // iterating through scienceTypes
                foreach ($scienceTypeList as $science) {
                    if ($value = $data[$science->dbFieldName] + 0) {
                        $effectsData[] = array("name" => $science->name, "value" => ($value > 0 ? "+" : "") . $value);
                    }
                }
                // iterating through unitTypes
                foreach ($unitTypeList as $unit) {
                    if ($value = $data[$unit->dbFieldName] + 0) {
                        $effectsData[] = array("name" => $unit->name, "value" => ($value > 0 ? "+" : "") . $value);
                    }
                }
                // iterating through defenseSystemTypes
                foreach ($defenseSystemTypeList as $defenseSystem) {
                    if ($value = $data[$defenseSystem->dbFieldName] + 0) {
                        $effectsData[] = array("name" => $defenseSystem->name, "value" => ($value > 0 ? "+" : "") . $value);
                    }
                }
                $wonderData['EFFECT'] = $effectsData;
                $wondersData[] = $wonderData;
            }
        }
        // end iterating through active wonders
    }
    // ADDED by chris--- for terrain effects ****************************
    global $effect, $effectname;
    $terraineffectData = array();
    $cave = getCaveByID($caveID);
    $terrainvalue = $cave['terrain'];
    $terraineffectsData[] = array("name" => $terrainList[$terrainvalue]['name'] . ":", "value" => "");
    for ($t = 0; $t < count($effect[$terrainvalue]); $t++) {
        $effectvalue = explode(" = ", $effect[$terrainvalue][$t]);
        $effectkey[$t] = $effectvalue[0];
        $effectv[$t] = substr($effectvalue[1], 1, -1);
        $terraineffectsData[] = array("name" => $effectname[$terrainvalue][$t], "value" => $effectv[$t]);
    }
    // *******************************************************************
    $effectsData = array();
    foreach ($effectTypeList as $data) {
        $value = $caveData[$data->dbFieldName] + 0;
        if ($value) {
            $effectsData[] = array("name" => $data->name, "value" => $value);
        }
    }
    // end iterating through effectTypes
    $data = array();
    if (!sizeof($wondersData)) {
        $data['NOWONDER'] = array('dummy' => "");
    } else {
        $data['WONDER'] = $wondersData;
    }
    if (!sizeof($effectsData)) {
        $data['NOEFFECT'] = array('dummy' => "");
    } else {
        $data['EFFECT'] = $effectsData;
    }
    if (sizeof($terraineffectsData) < 2) {
        $data['TERRAINNOEFFECT'] = array('dummy' => "");
    } else {
        $data['TERRAINEFFECT'] = $terraineffectsData;
    }
    // put user, its session and nogfx flag into session
    $_SESSION['player'] = Player::getPlayer($params->SESSION->player->playerID);
    $params->SESSION->player = $_SESSION['player'];
    $data['farmpoints'] = $params->SESSION->player->fame;
    $data['rules_path'] = RULES_PATH;
    tmpl_set($template, "/", $data);
    return tmpl_parse($template);
}