물자 조달, 인재 탐색, 군량 매매시, '랜덤 경험'이 현재 능력치 비중을 따르도록 수정
This commit is contained in:
@@ -12,6 +12,32 @@ function randF(){
|
|||||||
return mt_rand() / mt_getrandmax();
|
return mt_rand() / mt_getrandmax();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 각 값의 비중에 따라 랜덤한 값을 선택
|
||||||
|
*
|
||||||
|
* @param array 각 수치의 비중
|
||||||
|
*
|
||||||
|
* @return object 선택된 랜덤 값의 key값. 단순 배열인 경우에는 index
|
||||||
|
*/
|
||||||
|
function ChooseRandomItem($items){
|
||||||
|
$sum = 0;
|
||||||
|
foreach($items as $value){
|
||||||
|
$sum += $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
$rd = randF()*$sum;
|
||||||
|
foreach($items as $key=>$value){
|
||||||
|
if($rd <= $value){
|
||||||
|
return $key;
|
||||||
|
}
|
||||||
|
$rd -= $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
//fallback. 이곳으로 빠지지 않음
|
||||||
|
end($items);
|
||||||
|
return key($items);
|
||||||
|
}
|
||||||
|
|
||||||
// 37.5 ~ 75
|
// 37.5 ~ 75
|
||||||
function abilityRand() {
|
function abilityRand() {
|
||||||
$total = 150;
|
$total = 150;
|
||||||
|
|||||||
@@ -805,7 +805,7 @@ function process_9($connect, &$general) {
|
|||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
}
|
}
|
||||||
|
|
||||||
switch(rand()%3) {
|
switch(ChooseRandomItem(array($general['leader'], $general['power'], $general['intel']))) {
|
||||||
case 0:
|
case 0:
|
||||||
$general[leader2]++;
|
$general[leader2]++;
|
||||||
$query = "update general set resturn='SUCCESS',leader2='$general[leader2]',dedication=dedication+'$ded',experience=experience+'$exp' where no='$general[no]'";
|
$query = "update general set resturn='SUCCESS',leader2='$general[leader2]',dedication=dedication+'$ded',experience=experience+'$exp' where no='$general[no]'";
|
||||||
@@ -1981,7 +1981,7 @@ function process_29($connect, &$general) {
|
|||||||
if(rand() % $criteria > 0) {
|
if(rand() % $criteria > 0) {
|
||||||
$exp = 100;
|
$exp = 100;
|
||||||
$ded = 70;
|
$ded = 70;
|
||||||
switch(rand()%3) {
|
switch(ChooseRandomItem(array($general['leader'], $general['power'], $general['intel']))) {
|
||||||
case 0: $general[leader2] += 1; break;
|
case 0: $general[leader2] += 1; break;
|
||||||
case 1: $general[power2] += 1; break;
|
case 1: $general[power2] += 1; break;
|
||||||
case 2: $general[intel2] += 1; break;
|
case 2: $general[intel2] += 1; break;
|
||||||
@@ -1991,7 +1991,7 @@ function process_29($connect, &$general) {
|
|||||||
// 탐색 성공
|
// 탐색 성공
|
||||||
$exp = 200;
|
$exp = 200;
|
||||||
$ded = 300;
|
$ded = 300;
|
||||||
switch(rand()%3) {
|
switch(ChooseRandomItem(array($general['leader'], $general['power'], $general['intel']))) {
|
||||||
case 0: $general[leader2] += 3; break;
|
case 0: $general[leader2] += 3; break;
|
||||||
case 1: $general[power2] += 3; break;
|
case 1: $general[power2] += 3; break;
|
||||||
case 2: $general[intel2] += 3; break;
|
case 2: $general[intel2] += 3; break;
|
||||||
@@ -3934,7 +3934,7 @@ function process_49($connect, &$general) {
|
|||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
|
|
||||||
// 경험치 상승
|
// 경험치 상승
|
||||||
switch(rand()%3) {
|
switch(ChooseRandomItem(array($general['leader'], $general['power'], $general['intel']))) {
|
||||||
case 0:
|
case 0:
|
||||||
$general[leader2]++;
|
$general[leader2]++;
|
||||||
$query = "update general set leader2='$general[leader2]' where no='$general[no]'";
|
$query = "update general set leader2='$general[leader2]' where no='$general[no]'";
|
||||||
|
|||||||
Reference in New Issue
Block a user