NPC는 항상 정란 징병, 무장, 지장은 '정착장려'를 우선시함. 그리고 기술 연구 중시
This commit is contained in:
+40
-70
@@ -22,6 +22,22 @@ function SetDevelop($genType, $no, $city, $tech) {
|
|||||||
$command = EncodeCommand(0, 0, 0, 9); //조달
|
$command = EncodeCommand(0, 0, 0, 9); //조달
|
||||||
switch($genType) {
|
switch($genType) {
|
||||||
case 0: //무장
|
case 0: //무장
|
||||||
|
if($prob < 30) {
|
||||||
|
if($city['po'] < 99) { $command = EncodeCommand(0, 0, 0, 7); } //정장
|
||||||
|
elseif($city['de'] < 99) { $command = EncodeCommand(0, 0, 0, 5); } //수비
|
||||||
|
else { $command = EncodeCommand(0, 0, 0, 9); } //조달
|
||||||
|
} elseif($prob < 60) {
|
||||||
|
if($city['po'] < 99) { $command = EncodeCommand(0, 0, 0, 7); } //정장
|
||||||
|
elseif($city['wa'] < 99) { $command = EncodeCommand(0, 0, 0, 6); } //성벽
|
||||||
|
else { $command = EncodeCommand(0, 0, 0, 9); } //조달
|
||||||
|
} elseif($prob < 90) {
|
||||||
|
if($city['po'] < 99) { $command = EncodeCommand(0, 0, 0, 7); } //정장
|
||||||
|
elseif($city['se'] < 99) { $command = EncodeCommand(0, 0, 0, 8); } //치안
|
||||||
|
else { $command = EncodeCommand(0, 0, 0, 9); } //조달
|
||||||
|
} else {
|
||||||
|
$command = EncodeCommand(0, 0, 0, 29);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case 2: //무내정장
|
case 2: //무내정장
|
||||||
if($prob < 30) {
|
if($prob < 30) {
|
||||||
if($city['de'] < 99) { $command = EncodeCommand(0, 0, 0, 5); } //수비
|
if($city['de'] < 99) { $command = EncodeCommand(0, 0, 0, 5); } //수비
|
||||||
@@ -40,15 +56,34 @@ function SetDevelop($genType, $no, $city, $tech) {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1: //지장
|
case 1: //지장
|
||||||
|
if($prob < 40) {
|
||||||
|
if($city['po'] < 99) { $command = EncodeCommand(0, 0, 0, 7); } //정장
|
||||||
|
elseif($tech < 10000) { $command = EncodeCommand(0, 0, 0, 3); } //기술
|
||||||
|
elseif($city['ag'] < 99) { $command = EncodeCommand(0, 0, 0, 1); } //농업
|
||||||
|
else { $command = EncodeCommand(0, 0, 0, 9); } //조달
|
||||||
|
} elseif($prob < 80) {
|
||||||
|
if($city['po'] < 99) { $command = EncodeCommand(0, 0, 0, 7); } //정장
|
||||||
|
elseif($tech < 10000) { $command = EncodeCommand(0, 0, 0, 3); } //기술
|
||||||
|
elseif($city['co'] < 99) { $command = EncodeCommand(0, 0, 0, 2); } //상업
|
||||||
|
else { $command = EncodeCommand(0, 0, 0, 9); } //조달
|
||||||
|
} elseif($prob < 90) {
|
||||||
|
if($city['po'] < 99) { $command = EncodeCommand(0, 0, 0, 7); } //정장
|
||||||
|
elseif($tech < 10000) { $command = EncodeCommand(0, 0, 0, 3); } //기술
|
||||||
|
else { $command = EncodeCommand(0, 0, 0, 9); } //조달
|
||||||
|
} else {
|
||||||
|
if($tech < 10000) { $command = EncodeCommand(0, 0, 0, 3 + (rand() % 2) * 6); } //기술, 조달
|
||||||
|
else { $command = EncodeCommand(0, 0, 0, 29); }
|
||||||
|
}
|
||||||
|
break;
|
||||||
case 3: //지내정장
|
case 3: //지내정장
|
||||||
if($prob < 40) {
|
if($prob < 40) {
|
||||||
if($city['ag'] < 99) { $command = EncodeCommand(0, 0, 0, 1); } //농업
|
if($tech < 10000) { $command = EncodeCommand(0, 0, 0, 3); } //기술
|
||||||
elseif($tech < 10000) { $command = EncodeCommand(0, 0, 0, 3); } //기술
|
elseif($city['ag'] < 99) { $command = EncodeCommand(0, 0, 0, 1); } //농업
|
||||||
elseif($city['po'] < 99) { $command = EncodeCommand(0, 0, 0, 7); } //정장
|
elseif($city['po'] < 99) { $command = EncodeCommand(0, 0, 0, 7); } //정장
|
||||||
else { $command = EncodeCommand(0, 0, 0, 9); } //조달
|
else { $command = EncodeCommand(0, 0, 0, 9); } //조달
|
||||||
} elseif($prob < 80) {
|
} elseif($prob < 80) {
|
||||||
if($city['co'] < 99) { $command = EncodeCommand(0, 0, 0, 2); } //상업
|
if($tech < 10000) { $command = EncodeCommand(0, 0, 0, 3); } //기술
|
||||||
elseif($tech < 10000) { $command = EncodeCommand(0, 0, 0, 3); } //기술
|
elseif($city['co'] < 99) { $command = EncodeCommand(0, 0, 0, 2); } //상업
|
||||||
elseif($city['po'] < 99) { $command = EncodeCommand(0, 0, 0, 7); } //정장
|
elseif($city['po'] < 99) { $command = EncodeCommand(0, 0, 0, 7); } //정장
|
||||||
else { $command = EncodeCommand(0, 0, 0, 9); } //조달
|
else { $command = EncodeCommand(0, 0, 0, 9); } //조달
|
||||||
} elseif($prob < 90) {
|
} elseif($prob < 90) {
|
||||||
@@ -96,72 +131,7 @@ function SetCrew($no, $nationID, $personal, $gold, $leader, $genType, $tech, $de
|
|||||||
[$startyear, $year] = $gameStor->getValuesAsArray(['startyear', 'year']);
|
[$startyear, $year] = $gameStor->getValuesAsArray(['startyear', 'year']);
|
||||||
$relYear = Util::valueFit($year-$startyear, 0);
|
$relYear = Util::valueFit($year-$startyear, 0);
|
||||||
|
|
||||||
$type = 0;
|
$type = GameUnitConst::DEFAULT_CREWTYPE;
|
||||||
switch($genType) {
|
|
||||||
case 0: //무장
|
|
||||||
case 2: //무내정장
|
|
||||||
$dex0 = $dex0 + rand()%1000;
|
|
||||||
$dex10 = $dex10 + rand()%1000;
|
|
||||||
$dex20 = $dex20 + rand()%1000;
|
|
||||||
$sel = 0;
|
|
||||||
// 보궁기 선택
|
|
||||||
if($dex0 > $dex10) {
|
|
||||||
if($dex0 > $dex20) {
|
|
||||||
$sel = 0;
|
|
||||||
} else {
|
|
||||||
$sel = 2;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if($dex10 > $dex20) {
|
|
||||||
$sel = 1;
|
|
||||||
} else {
|
|
||||||
$sel = 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$types = [];
|
|
||||||
switch($sel) {
|
|
||||||
case 0:
|
|
||||||
foreach(GameUnitConst::byType(GameUnitConst::T_FOOTMAN) as $crewtype){
|
|
||||||
if($crewtype->isValid($cities, $regions, $relYear, $tech)){
|
|
||||||
$types[] = $crewtype->id;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
foreach(GameUnitConst::byType(GameUnitConst::T_ARCHER) as $crewtype){
|
|
||||||
if($crewtype->isValid($cities, $regions, $relYear, $tech)){
|
|
||||||
$types[] = $crewtype->id;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
foreach(GameUnitConst::byType(GameUnitConst::T_CAVALRY) as $crewtype){
|
|
||||||
if($crewtype->isValid($cities, $regions, $relYear, $tech)){
|
|
||||||
$types[] = $crewtype->id;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 1: //지장
|
|
||||||
case 3: //지내정장
|
|
||||||
foreach(GameUnitConst::byType(GameUnitConst::T_WIZARD) as $crewtype){
|
|
||||||
if($crewtype->isValid($cities, $regions, $relYear, $tech)){
|
|
||||||
$types[] = $crewtype->id;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if($types){
|
|
||||||
$type = Util::choiceRandom($types);
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
$type = GameUnitConst::DEFAULT_CREWTYPE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user