필살 확률을 주 능력치만 사용하도록 변경
This commit is contained in:
@@ -197,7 +197,7 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
|
||||
|
||||
//크리
|
||||
$rd = rand() % 100; // 0 ~ 99
|
||||
$ratio = CriticalRatio2($general[leader], $general[power], $general[intel]);
|
||||
$ratio = CriticalRatio3($general[leader], $general[power], $general[intel], $general['crewtype']);
|
||||
if($ratio >= $rd && $avoid == 1) {
|
||||
$msg .= "<C>●</><C>필살</>공격!</><br>";
|
||||
$cityCrew = CriticalScore2($cityCrew);
|
||||
@@ -553,7 +553,7 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
|
||||
|
||||
//크리
|
||||
$rd = rand() % 100; // 0 ~ 99
|
||||
$ratio = CriticalRatio2($general[leader], $general[power], $general[intel]);
|
||||
$ratio = CriticalRatio3($general[leader], $general[power], $general[intel], $general['crewtype']);
|
||||
if($ratio >= $rd && $myAvoid == 1) {
|
||||
$msg .= "<C>●</><C>필살</>공격!</><br>";
|
||||
$opCrew = CriticalScore2($opCrew);
|
||||
@@ -561,7 +561,7 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
|
||||
}
|
||||
//크리
|
||||
$rd = rand() % 100; // 0 ~ 99
|
||||
$ratio = CriticalRatio2($oppose[leader], $oppose[power], $oppose[intel]);
|
||||
$ratio = CriticalRatio3($oppose[leader], $oppose[power], $oppose[intel], $oppose['crewtype']);
|
||||
if($ratio >= $rd && $opAvoid == 1) {
|
||||
$msg .= "<C>●</>상대의 <R>필살</>공격!</><br>";
|
||||
$myCrew = CriticalScore2($myCrew);
|
||||
|
||||
@@ -273,7 +273,7 @@ function processWar($connect, $general, $city) {
|
||||
|
||||
//크리
|
||||
$rd = rand() % 100; // 0 ~ 99
|
||||
$ratio = CriticalRatio2($general[leader]+getHorseEff($general[horse])+$lbonus, $general[power]+getWeapEff($general[weap]), $general[intel]+getBookEff($general[book]));
|
||||
$ratio = CriticalRatio3($general[leader]+getHorseEff($general[horse])+$lbonus, $general[power]+getWeapEff($general[weap]), $general[intel]+getBookEff($general[book]), $general['crewtype']);
|
||||
// 특기보정 : 무쌍, 필살
|
||||
if($general[special2] == 61) { $ratio += 10; }
|
||||
if($general[special2] == 71) { $ratio += 20; }
|
||||
@@ -1030,7 +1030,7 @@ function processWar($connect, $general, $city) {
|
||||
|
||||
//크리
|
||||
$rd = rand() % 100; // 0 ~ 99
|
||||
$ratio = CriticalRatio2($general[leader]+getHorseEff($general[horse])+$lbonus, $general[power]+getWeapEff($general[weap]), $general[intel]+getBookEff($general[book]));
|
||||
$ratio = CriticalRatio3($general[leader]+getHorseEff($general[horse])+$lbonus, $general[power]+getWeapEff($general[weap]), $general[intel]+getBookEff($general[book]), $general['crewtype']);
|
||||
// 특기보정 : 무쌍, 필살
|
||||
if($general[special2] == 61) { $ratio += 10; }
|
||||
if($general[special2] == 71) { $ratio += 20; }
|
||||
@@ -1052,7 +1052,7 @@ function processWar($connect, $general, $city) {
|
||||
}
|
||||
//크리
|
||||
$rd = rand() % 100; // 0 ~ 99
|
||||
$ratio = CriticalRatio2($oppose[leader]+getHorseEff($oppose[horse])+$opplbonus, $oppose[power]+getWeapEff($oppose[weap]), $oppose[intel]+getBookEff($oppose[book]));
|
||||
$ratio = CriticalRatio3($oppose[leader]+getHorseEff($oppose[horse])+$opplbonus, $oppose[power]+getWeapEff($oppose[weap]), $oppose[intel]+getBookEff($oppose[book]), $oppose['crewtype']);
|
||||
// 특기보정 : 필살
|
||||
if($oppose[special2] == 71) { $ratio += 20; }
|
||||
if($ratio >= $rd && $opAvoid == 1) {
|
||||
@@ -1450,6 +1450,38 @@ function CriticalRatio2($leader, $power, $intel) {
|
||||
return $ratio;
|
||||
}
|
||||
|
||||
function CriticalRatio3($leader, $power, $intel, $crewtype) {
|
||||
// 무장 무력 : 65 5%, 70 10%, 75 15%, 80 20%
|
||||
// 지장 지력 : 65 5%, 70 8%, 75 10%, 80 13%
|
||||
//충차장 통솔: 65 5%, 70 10%, 75 15%, 80 20%
|
||||
|
||||
$crewtype = floor($crwtype/10);
|
||||
|
||||
if($crewtype == 3){ //지장
|
||||
$mainstat = $intel;
|
||||
}
|
||||
else if($crewtype == 4){ //병기
|
||||
$mainstat = $leader;
|
||||
}
|
||||
else{
|
||||
$mainstat = $power;
|
||||
}
|
||||
$mainstat = 0;
|
||||
|
||||
$ratio = max($mainstat - 65, 0);
|
||||
|
||||
if (floor($crewtype/10) == 3) {
|
||||
$ratio / 2;
|
||||
}
|
||||
|
||||
$ratio += 5;
|
||||
$ratio = round($ratio);
|
||||
|
||||
if($ratio > 50) $ratio = 50;
|
||||
|
||||
return $ratio;
|
||||
}
|
||||
|
||||
function CriticalScore2($score) {
|
||||
$score = round($score * (rand()%8 + 13)/10); // 1.3~2.0
|
||||
return $score;
|
||||
|
||||
Reference in New Issue
Block a user