<?php
// $formdata is an associative array containing the following keys:
// 'crossing' - one of 'land', 'galley', 'lighthouse', 'snaking', 'astronomy', 'navigation'
// 'difficulty' - one of 'chieftain', 'warlord', 'regent', 'monarch', 'emperor', 'demigod', 'deity', 'sid'
// 'filetype' - one of 'CIV','PTW','C3C'
// 'traits' - an array of two or more elements
// each of which is one of 'expansionist', 'commercial', 'militaristic', scientific', 'religious', 'industrious', 'seafaring','agricultural'
// the code produces $formdata['score_modifier'] a multiplier for the base best score
// and $formdata['best_turns'], an array of turn values for the different victory conditions
// base values
$formdata['score_modifier'] = 0;
$best_turn = array (
'conquest' => 180,
'culture20k' => 330,
'culture100k' => 290,
'diplomatic' => 206,
'domination' => 180,
'spaceship' => 250
);
// map size modifiers - cultural100k modifier only applies to classic games
switch ($formdata['size']) {
case 'tiny':
$formdata['score_modifier'] += 0.0060;
$best_turn['conquest'] += -50;
$best_turn['culture20k'] += 0;
if ($formdata['filetype'] != 'C3C')
$best_turn['culture100k'] += 50;
$best_turn['diplomatic'] += -15;
$best_turn['domination'] += -35;
$best_turn['spaceship'] += -15;
break;
case 'small':
$formdata['score_modifier'] += 0.0045;
$best_turn['conquest'] += -25;
if ($formdata['filetype'] != 'C3C')
$best_turn['culture100k'] += 25;
$best_turn['culture20k'] += 0;
$best_turn['diplomatic'] += -7;
$best_turn['domination'] += -17;
$best_turn['spaceship'] += -7;
break;
case 'standard':
$formdata['score_modifier'] += 0.0030;
$best_turn['conquest'] += 0;
$best_turn['culture20k'] += 0;
if ($formdata['filetype'] != 'C3C')
$best_turn['culture100k'] += 0;
$best_turn['diplomatic'] += 0;
$best_turn['domination'] += 0;
$best_turn['spaceship'] += 0;
break;
case 'large':
$formdata['score_modifier'] += 0.0015;
$best_turn['conquest'] += 20;
$best_turn['culture20k'] += 0;
if ($formdata['filetype'] != 'C3C')
$best_turn['culture100k'] += -25;
$best_turn['diplomatic'] += -7;
$best_turn['domination'] += 10;
$best_turn['spaceship'] += -7;
break;
case 'huge':
$formdata['score_modifier'] += 0.0015;
$best_turn['conquest'] += 40;
if ($formdata['filetype'] != 'C3C')
$best_turn['culture100k'] += -50;
$best_turn['culture20k'] += 0;
$best_turn['diplomatic'] += -15;
$best_turn['domination'] += 20;
$best_turn['spaceship'] += -15;
break;
}
// crossing modifiers
switch (strtolower($formdata['crossing'])) {
case 'land':
$formdata['score_modifier'] += 0.63;
$best_turn['conquest'] += -30;
$best_turn['culture20k'] += 0;
$best_turn['culture100k'] += -6;
$best_turn['diplomatic'] += 0;
$best_turn['domination'] += -20;
$best_turn['spaceship'] += 0;
break;
case 'galley':
$formdata['score_modifier'] += 0.62;
$best_turn['conquest'] += -15;
$best_turn['culture20k'] += 0;
$best_turn['culture100k'] += -3;
$best_turn['diplomatic'] += 0;
$best_turn['domination'] += -10;
$best_turn['spaceship'] += 0;
break;
case 'lighthouse':
$formdata['score_modifier'] += 0.60;
$best_turn['conquest'] += 0;
$best_turn['culture20k'] += 0;
$best_turn['culture100k'] += 0;
$best_turn['diplomatic'] += 0;
$best_turn['domination'] += 0;
$best_turn['spaceship'] += 0;
break;
case 'snaking':
$formdata['score_modifier'] += 0.572;
$best_turn['conquest'] += 30;
$best_turn['culture20k'] += 0;
$best_turn['culture100k'] += 3;
$best_turn['diplomatic'] += 0;
$best_turn['domination'] += 10;
$best_turn['spaceship'] += 5;
break;
case 'astronomy':
$formdata['score_modifier'] += 0.56;
$best_turn['conquest'] += 30;
$best_turn['culture20k'] += 0;
$best_turn['culture100k'] += 5;
$best_turn['diplomatic'] += 5;
$best_turn['domination'] += 15;
$best_turn['spaceship'] += 5;
break;
case 'navigation':
$formdata['score_modifier'] += 0.57;
$best_turn['conquest'] += 35;
$best_turn['culture20k'] += 0;
$best_turn['culture100k'] += 6;
$best_turn['diplomatic'] += 6;
$best_turn['domination'] += 20;
$best_turn['spaceship'] += 6;
break;
}
if (in_array ('expansionist',$formdata['traits'])) {
$best_turn['conquest'] -= 5;
$best_turn['culture20k'] -= 0;
$best_turn['culture100k'] -= 0;
$best_turn['diplomatic'] -= 10;
$best_turn['domination'] -= 5;
$best_turn['spaceship'] -= 10;
}
if (in_array ('commercial',$formdata['traits'])) {
$best_turn['conquest'] -= 5;
$best_turn['culture20k'] -= 0;
$best_turn['culture100k'] -= 5;
$best_turn['diplomatic'] -= 10;
$best_turn['domination'] -= 10;
$best_turn['spaceship'] -= 10;
}
if (in_array ('militaristic',$formdata['traits'])) {
$best_turn['conquest'] -= 15;
$best_turn['culture20k'] -= 5;
$best_turn['culture100k'] -= 5;
$best_turn['diplomatic'] -= 5;
$best_turn['domination'] -= 15;
$best_turn['spaceship'] -= 5;
}
if (in_array ('scientific',$formdata['traits'])) {
$best_turn['conquest'] -= 5;
$best_turn['culture20k'] -= 0;
$best_turn['culture100k'] -= 15;
$best_turn['diplomatic'] -= 15;
$best_turn['domination'] -= 10;
$best_turn['spaceship'] -= 15;
}
if (in_array ('religious',$formdata['traits'])) {
$best_turn['conquest'] -= 5;
$best_turn['culture20k'] -= 10;
$best_turn['culture100k'] -= 15;
$best_turn['diplomatic'] -= 5;
$best_turn['domination'] -= 15;
$best_turn['spaceship'] -= 5;
}
if (in_array ('industrious',$formdata['traits'])) {
if ($formdata['filetype'] == 'C3C') {
$best_turn['conquest'] -= 5;
$best_turn['culture20k'] -= 0;
$best_turn['culture100k'] -= 3;
$best_turn['diplomatic'] -= 3;
$best_turn['domination'] -= 7;
$best_turn['spaceship'] -= 3;
} else {
$best_turn['conquest'] -= 10;
$best_turn['culture20k'] -= 0;
$best_turn['culture100k'] -= 7;
$best_turn['diplomatic'] -= 7;
$best_turn['domination'] -= 15;
$best_turn['spaceship'] -= 7;
}
}
if (in_array ('agricultural',$formdata['traits'])) {
$best_turn['conquest'] -= 10;
$best_turn['culture20k'] -= 0;
$best_turn['culture100k'] -= 7;
$best_turn['diplomatic'] -= 7;
$best_turn['domination'] -= 15;
$best_turn['spaceship'] -= 7;
}
if (in_array ('seafaring',$formdata['traits'])) {
$best_turn['conquest'] -= 10;
$best_turn['culture20k'] -= 0;
$best_turn['culture100k'] -= 5;
$best_turn['diplomatic'] -= 20;
$best_turn['domination'] -= 15;
$best_turn['spaceship'] -= 20;
}
// difficulty modifiers
switch (strtolower($formdata['difficulty'])) {
case 'chieftain':
$formdata['score_modifier'] += 0.0075;
$best_turn['conquest'] += -15;
$best_turn['culture20k'] += -10;
$best_turn['culture100k'] += -7;
$best_turn['diplomatic'] += -10;
$best_turn['domination'] += -7;
$best_turn['spaceship'] += -10;
break;
case 'warlord':
$formdata['score_modifier'] = 2 * ($formdata['score_modifier'] + 0.0060);
$best_turn['conquest'] += -10;
$best_turn['culture20k'] += -5;
$best_turn['culture100k'] += -5;
$best_turn['diplomatic'] += -5;
$best_turn['domination'] += -5;
$best_turn['spaceship'] += -5;
break;
case 'regent':
$formdata['score_modifier'] = 3 * ($formdata['score_modifier'] + 0.0045);
$best_turn['conquest'] += -5;
$best_turn['culture20k'] += 0;
$best_turn['culture100k'] += -2;
$best_turn['diplomatic'] += 0;
$best_turn['domination'] += -2;
$best_turn['spaceship'] += 0;
break;
case 'monarch':
$formdata['score_modifier'] = 4 * ($formdata['score_modifier'] + 0.0030);
$best_turn['conquest'] += 0;
$best_turn['culture20k'] += 0;
$best_turn['culture100k'] += 0;
$best_turn['diplomatic'] += 0;
$best_turn['domination'] += 0;
$best_turn['spaceship'] += 0;
break;
case 'emperor':
$formdata['score_modifier'] = 5 * ($formdata['score_modifier'] + 0.0015);
$best_turn['conquest'] += 20;
$best_turn['culture20k'] += 15;
$best_turn['culture100k'] += 5;
$best_turn['diplomatic'] += 0;
$best_turn['domination'] += 12;
$best_turn['spaceship'] += 0;
break;
case 'demigod': // C3C only
$formdata['score_modifier'] = 6 * ($formdata['score_modifier'] + 0.0010);
$best_turn['conquest'] += 35;
$best_turn['culture20k'] += 25;
$best_turn['culture100k'] += 10;
$best_turn['diplomatic'] += 0;
$best_turn['domination'] += 24;
$best_turn['spaceship'] += 0;
break;
case 'deity':
if ($formdata['filetype'] == 'C3C')
$formdata['score_modifier'] = 7 * ($formdata['score_modifier'] + 0.0000);
else
$formdata['score_modifier'] = 6 * ($formdata['score_modifier'] + 0.0000);
$best_turn['conquest'] += 50;
$best_turn['culture20k'] += 35;
$best_turn['culture100k'] += 15;
$best_turn['diplomatic'] += 0;
$best_turn['domination'] += 35;
$best_turn['spaceship'] += 0;
break;
case 'sid': // C3C only - date factors a guess by extrapolation
$formdata['score_modifier'] = 8 * ($formdata['score_modifier'] + 0.000);
$best_turn['conquest'] += 60;
$best_turn['culture20k'] += 40;
$best_turn['culture100k'] += 20;
$best_turn['diplomatic'] += 0;
$best_turn['domination'] += 45;
$best_turn['spaceship'] += 0;
break;
}
$formdata['best_turns'] =& $best_turn;
?>