Example #1
0
function wonders_getContent()
{
    global $template;
    // open template
    $template->setFile('wonder.tmpl');
    $id = request_var('wondersID', 0);
    if (!isset($GLOBALS['wonderTypeList'][$id]) || $GLOBALS['wonderTypeList'][$id]->nodocumentation || $GLOBALS['wonderTypeList'][$id]->isTribeCaveWonder) {
        $wonder = $GLOBALS['wonderTypeList'][0];
    } else {
        $wonder = $GLOBALS['wonderTypeList'][$id];
    }
    $uaWonderTargetText = WonderTarget::getWonderTargets();
    $resourceCost = array();
    foreach ($wonder->resourceProductionCost as $key => $value) {
        if ($value != "" && $value != "0") {
            array_push($resourceCost, array('dbFieldName' => $GLOBALS['resourceTypeList'][$key]->dbFieldName, 'name' => $GLOBALS['resourceTypeList'][$key]->name, 'amount' => formula_parseToReadable($value)));
        }
    }
    $unitCost = array();
    foreach ($wonder->unitProductionCost as $key => $value) {
        if ($value != "" && $value != "0") {
            array_push($unitCost, array('dbFieldName' => $GLOBALS['unitTypeList'][$key]->dbFieldName, 'name' => $GLOBALS['unitTypeList'][$key]->name, 'amount' => formula_parseToReadable($value)));
        }
    }
    $moreCost = array_merge($unitCost);
    $template->addVars(array('name' => $wonder->name, 'offensiveness' => $wonder->offensiveness, 'description' => $wonder->description, 'chance' => round(eval('return ' . formula_parseBasic($wonder->chance) . ';'), 3), 'target' => $uaWonderTargetText[$wonder->target], 'resource_cost' => $resourceCost, 'dependencies' => rules_checkDependencies($wonder), 'more_cost' => sizeof($moreCost) ? $moreCost : false));
}
Example #2
0
function wonder_getWonderDetailContent($wonderID, $caveData)
{
    global $buildingTypeList, $defenseSystemTypeList, $resourceTypeList, $scienceTypeList, $unitTypeList, $wonderTypeList, $no_resource_flag, $config, $params;
    // get wonder target text
    $uaWonderTargetText = WonderTarget::getWonderTargets();
    $no_resource_flag = 1;
    // first check whether that wonder should be displayed...
    $wonder = $wonderTypeList[$wonderID];
    if (!$wonder || $wonder->nodocumentation && rules_checkDependencies($wonder, $caveData) !== TRUE) {
        $wonder = current($wonderTypeList);
    }
    $template = tmpl_open($params->SESSION->player->getTemplatePath() . 'wonderDetail.ihtml');
    // iterate ressourcecosts
    $resourcecost = array();
    foreach ($wonder->resourceProductionCost as $resourceID => $function) {
        $cost = ceil(eval('return ' . formula_parseToPHP($function . ';', '$caveData')));
        if ($cost) {
            array_push($resourcecost, array('name' => $resourceTypeList[$resourceID]->name, 'dbFieldName' => $resourceTypeList[$resourceID]->dbFieldName, 'value' => $cost));
        }
    }
    // iterate unitcosts
    $unitcost = array();
    foreach ($wonder->unitProductionCost as $unitID => $function) {
        $cost = ceil(eval('return ' . formula_parseToPHP($function . ';', '$caveData')));
        if ($cost) {
            array_push($unitcost, array('name' => $unitTypeList[$unitID]->name, 'dbFieldName' => $unitTypeList[$unitID]->dbFieldName, 'value' => $cost));
        }
    }
    $dependencies = array();
    $buildingdep = array();
    $defensesystemdep = array();
    $resourcedep = array();
    $sciencedep = array();
    $unitdep = array();
    foreach ($wonder->buildingDepList as $key => $level) {
        if ($level) {
            array_push($buildingdep, array('name' => $buildingTypeList[$key]->name, 'level' => ">= " . $level));
        }
    }
    foreach ($wonder->defenseSystemDepList as $key => $level) {
        if ($level) {
            array_push($defensesystemdep, array('name' => $defenseSystemTypeList[$key]->name, 'level' => ">= " . $level));
        }
    }
    foreach ($wonder->resourceDepList as $key => $level) {
        if ($level) {
            array_push($resourcedep, array('name' => $resourceTypeList[$key]->name, 'level' => ">= " . $level));
        }
    }
    foreach ($wonder->scienceDepList as $key => $level) {
        if ($level) {
            array_push($sciencedep, array('name' => $scienceTypeList[$key]->name, 'level' => ">= " . $level));
        }
    }
    foreach ($wonder->unitDepList as $key => $level) {
        if ($level) {
            array_push($unitdep, array('name' => $unitTypeList[$key]->name, 'level' => ">= " . $level));
        }
    }
    foreach ($wonder->maxBuildingDepList as $key => $level) {
        if ($level != -1) {
            array_push($buildingdep, array('name' => $buildingTypeList[$key]->name, 'level' => "<= " . $level));
        }
    }
    foreach ($wonder->maxDefenseSystemDepList as $key => $level) {
        if ($level != -1) {
            array_push($defensesystemdep, array('name' => $defenseSystemTypeList[$key]->name, 'level' => "<= " . $level));
        }
    }
    foreach ($wonder->maxResourceDepList as $key => $level) {
        if ($level != -1) {
            array_push($resourcedep, array('name' => $resourceTypeList[$key]->name, 'level' => "<= " . $level));
        }
    }
    foreach ($wonder->maxScienceDepList as $key => $level) {
        if ($level != -1) {
            array_push($sciencedep, array('name' => $scienceTypeList[$key]->name, 'level' => "<= " . $level));
        }
    }
    foreach ($wonder->maxUnitDepList as $key => $level) {
        if ($level != -1) {
            array_push($unitdep, array('name' => $unitTypeList[$key]->name, 'level' => "<= " . $level));
        }
    }
    if (sizeof($wonderdep)) {
        array_push($dependencies, array('name' => _('Erweiterungen'), 'DEP' => $wonderdep));
    }
    if (sizeof($defensesystemdep)) {
        array_push($dependencies, array('name' => _('Verteidigungsanlagen'), 'DEP' => $defensesystemdep));
    }
    if (sizeof($resourcedep)) {
        array_push($dependencies, array('name' => _('Rohstoffe'), 'DEP' => $resourcedep));
    }
    if (sizeof($sciencedep)) {
        array_push($dependencies, array('name' => _('Forschungen'), 'DEP' => $sciencedep));
    }
    if (sizeof($unitdep)) {
        array_push($dependencies, array('name' => _('Einheiten'), 'DEP' => $unitdep));
    }
    $target = $uaWonderTargetText[$wonder->target];
    $chance = eval('return ' . formula_parseToPHP($wonder->chance . ';', '$caveData'));
    tmpl_set($template, '/', array('name' => $wonder->name, 'dbFieldName' => $wonder->dbFieldName, 'chance' => $chance, 'offensiveness' => $wonder->offensiveness, 'target' => $target, 'description' => $wonder->description, 'maxlevel' => $wonder->maxLevel, 'currentlevel' => $currentlevel, 'RESOURCECOST' => $resourcecost, 'UNITCOST' => $unitcost, 'DEPGROUP' => $dependencies, 'rules_path' => RULES_PATH));
    return tmpl_parse($template);
}
Example #3
0
function getWondersStats()
{
    global $template;
    require_once 'wonder.inc.php';
    $uaWonderTargetText = WonderTarget::getWonderTargets();
    // open template
    $template->setFile('wondersStats.tmpl');
    // get a copy of the wonderTypeList
    $wondersList = $GLOBALS['wonderTypeList'];
    // sort that copy by names
    usort($wondersList, "nameCompare");
    $wonders = array();
    foreach ($wondersList as $value) {
        if (!$value->nodocumentation) {
            $wonders[] = array('id' => $value->wonderID, 'name' => $value->name, 'offensiveness' => $value->offensiveness, 'chance' => round(eval('return ' . formula_parseBasic($value->chance) . ';'), 3), 'target' => $uaWonderTargetText[$value->target], 'remark' => $value->remark);
        }
    }
    $template->addVar('wonders_list', $wonders);
}
Example #4
0
function wonder_getWonderDetailContent($wonderID, $caveData, $method)
{
    global $config, $template;
    // get wonder target text
    $uaWonderTargetText = WonderTarget::getWonderTargets();
    // first check whether that wonder should be displayed...
    $wonder = $GLOBALS['wonderTypeList'][$wonderID];
    if (!$wonder || $wonder->nodocumentation && rules_checkDependencies($wonder, $caveData) !== TRUE) {
        $wonder = current($GLOBALS['wonderTypeList']);
    }
    // open template
    if ($method == 'ajax') {
        $shortVersion = true;
        $template->setFile('wonderDetailAjax.tmpl');
    } else {
        $shortVersion = false;
        $template->setFile('wonderDetail.tmpl');
        $template->setShowRresource(false);
    }
    // iterate ressourcecosts
    $resourceCost = array();
    foreach ($wonder->resourceProductionCost as $resourceID => $function) {
        $cost = ceil(eval('return ' . formula_parseToPHP($function . ';', '$caveData')));
        if ($cost) {
            array_push($resourceCost, array('name' => $GLOBALS['resourceTypeList'][$resourceID]->name, 'dbFieldName' => $GLOBALS['resourceTypeList'][$resourceID]->dbFieldName, 'value' => $cost));
        }
    }
    // iterate unitcosts
    $unitcost = array();
    foreach ($wonder->unitProductionCost as $unitID => $function) {
        $cost = ceil(eval('return ' . formula_parseToPHP($function . ';', '$caveData')));
        if ($cost) {
            array_push($unitcost, array('name' => $GLOBALS['unitTypeList'][$unitID]->name, 'dbFieldName' => $GLOBALS['unitTypeList'][$unitID]->dbFieldName, 'value' => $cost));
        }
    }
    $dependencies = array();
    $buildingdep = array();
    $defensesystemdep = array();
    $resourcedep = array();
    $sciencedep = array();
    $unitdep = array();
    foreach ($wonder->buildingDepList as $key => $level) {
        if ($level) {
            array_push($buildingdep, array('name' => $GLOBALS['buildingTypeList'][$key]->name, 'level' => ">= " . $level));
        }
    }
    foreach ($wonder->defenseSystemDepList as $key => $level) {
        if ($level) {
            array_push($defensesystemdep, array('name' => $GLOBALS['defenseSystemTypeList'][$key]->name, 'level' => ">= " . $level));
        }
    }
    foreach ($wonder->resourceDepList as $key => $level) {
        if ($level) {
            array_push($resourcedep, array('name' => $GLOBALS['resourceTypeList'][$key]->name, 'level' => ">= " . $level));
        }
    }
    foreach ($wonder->scienceDepList as $key => $level) {
        if ($level) {
            array_push($sciencedep, array('name' => $GLOBALS['scienceTypeList'][$key]->name, 'level' => ">= " . $level));
        }
    }
    foreach ($wonder->unitDepList as $key => $level) {
        if ($level) {
            array_push($unitdep, array('name' => $GLOBALS['unitTypeList'][$key]->name, 'level' => ">= " . $level));
        }
    }
    foreach ($wonder->maxBuildingDepList as $key => $level) {
        if ($level != -1) {
            array_push($buildingdep, array('name' => $GLOBALS['buildingTypeList'][$key]->name, 'level' => "<= " . $level));
        }
    }
    foreach ($wonder->maxDefenseSystemDepList as $key => $level) {
        if ($level != -1) {
            array_push($defensesystemdep, array('name' => $GLOBALS['defenseSystemTypeList'][$key]->name, 'level' => "<= " . $level));
        }
    }
    foreach ($wonder->maxResourceDepList as $key => $level) {
        if ($level != -1) {
            array_push($resourcedep, array('name' => $GLOBALS['resourceTypeList'][$key]->name, 'level' => "<= " . $level));
        }
    }
    foreach ($wonder->maxScienceDepList as $key => $level) {
        if ($level != -1) {
            array_push($sciencedep, array('name' => $GLOBALS['scienceTypeList'][$key]->name, 'level' => "<= " . $level));
        }
    }
    foreach ($wonder->maxUnitDepList as $key => $level) {
        if ($level != -1) {
            array_push($unitdep, array('name' => $GLOBALS['unitTypeList'][$key]->name, 'level' => "<= " . $level));
        }
    }
    if (sizeof($buildingdep)) {
        array_push($dependencies, array('name' => _('Erweiterungen'), 'dep' => $buildingdep));
    }
    if (sizeof($defensesystemdep)) {
        array_push($dependencies, array('name' => _('Verteidigungsanlagen'), 'dep' => $defensesystemdep));
    }
    if (sizeof($resourcedep)) {
        array_push($dependencies, array('name' => _('Rohstoffe'), 'dep' => $resourcedep));
    }
    if (sizeof($sciencedep)) {
        array_push($dependencies, array('name' => _('Forschungen'), 'dep' => $sciencedep));
    }
    if (sizeof($unitdep)) {
        array_push($dependencies, array('name' => _('Einheiten'), 'dep' => $unitdep));
    }
    $targetsPossible = array();
    foreach ($wonder->targetsPossible as $target) {
        if (sizeof($target['relation']) == 0) {
            if ($target['target'] == 'own') {
                $tmpMsg[] = _('Das wundern auf den eigenen Stamm ist immer erlaubt');
            } else {
                if ($target['target'] == 'other') {
                    $tmpMsg[] = _('Das wundern auf einen fremden Stamm ist immer erlaubt');
                }
            }
        } else {
            $tmpMsg = array();
            foreach ($target['relation'] as $relation) {
                if ($relation['negate']) {
                    switch ($relation['type']) {
                        case 'own2other':
                            $tmpMsg[] = sprintf(_('Dein Stamm darf die Beziehung %s gegenüber den Zielstamm nicht haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']);
                            break;
                        case 'own2any':
                            $tmpMsg[] = sprintf(_('Dein Stamm darf die Beziehung %s gegenüber irgendeinem Stamm nicht haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']);
                            break;
                        case 'other2own':
                            $tmpMsg[] = sprintf(_('Der Zielstamm darf die Beziehung %s gegenüber deinem Stamm nicht haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']);
                            break;
                        case 'other2any':
                            $tmpMsg[] = sprintf(_('Der Zielstamm darf die Beziehung %s gegenüber eines anderen Stammes nicht haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']);
                            break;
                        case 'any2own':
                            $tmpMsg[] = sprintf(_('Irgendein Stammdarf die Beziehung %s gegenüber deinem Stamm nicht haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']);
                            break;
                        case 'any2other':
                            $tmpMsg[] = sprintf(_('Irgendein Stamm darf die Beziehung %s gegenüber dem Zielstamm nicht haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']);
                            break;
                    }
                } else {
                    switch ($relation['type']) {
                        case 'own2other':
                            $tmpMsg[] = sprintf(_('Dein Stamm muß die Beziehung %s gegenüber den Zielstamm haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']);
                            break;
                        case 'own2any':
                            $tmpMsg[] = sprintf(_('Dein Stamm muß die Beziehung %s gegenüber irgendeinem Stamm haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']);
                            break;
                        case 'other2own':
                            $tmpMsg[] = sprintf(_('Der Zielstamm muß die Beziehung %s gegenüber deinem Stamm haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']);
                            break;
                        case 'other2any':
                            $tmpMsg[] = sprintf(_('Der Zielstamm muß die Beziehung %s gegenüber eines anderen Stammes haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']);
                            break;
                        case 'any2own':
                            $tmpMsg[] = sprintf(_('Irgendein Stamm muß die Beziehung %s gegenüber deinem Stamm haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']);
                            break;
                        case 'any2other':
                            $tmpMsg[] = sprintf(_('Irgendein Stamm muß die Beziehung %s gegenüber dem Zielstamm haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']);
                            break;
                    }
                }
            }
        }
        $targetsPossible[] = array('type' => $target['target'], 'msg' => $tmpMsg);
    }
    $template->addVars(array('name' => $wonder->name, 'wonder_id' => $wonder->wonderID, 'chance' => eval('return ' . formula_parseToPHP($wonder->chance . ';', '$caveData')), 'offensiveness' => $wonder->offensiveness, 'target' => $uaWonderTargetText[$wonder->target], 'description' => $wonder->description, 'resource_cost' => $resourceCost, 'unit_cost' => $unitcost, 'dependencies' => $dependencies, 'tribe_wonder' => $wonder->isTribeWonder, 'targets_possible' => $targetsPossible, 'delay' => $wonder->secondsBetween ? date("H:i:s", $wonder->secondsBetween) : ''));
}