Compare commits

...
2 Commits
Author SHA1 Message Date
Hide_D 921ba6811d balance: 무쌍 너프, NPC 출병 금지 불가 2021-09-23 03:59:08 +09:00
Hide_D 906dd241b4 fix: RootDB template 2021-09-23 03:08:49 +09:00
4 changed files with 76 additions and 63 deletions
+1
View File
@@ -10,6 +10,7 @@ use Illuminate\Container\Container;
class RootDB class RootDB
{ {
private static $uDB = null; private static $uDB = null;
private static ?Capsule $uIlluminate = null;
private static $host = '_tK_host_'; private static $host = '_tK_host_';
private static $user = '_tK_user_'; private static $user = '_tK_user_';
+21 -9
View File
@@ -1,4 +1,5 @@
<?php <?php
namespace sammo; namespace sammo;
include "lib.php"; include "lib.php";
@@ -57,7 +58,8 @@ if ($permission < 3) {
]); ]);
} }
function applyNationPolicy($policy, $nationID, $generalName):?string{ function applyNationPolicy($policy, $nationID, $generalName): ?string
{
$db = DB::db(); $db = DB::db();
$nationStor = KVStorage::getStorage($db, $nationID, 'nation_env'); $nationStor = KVStorage::getStorage($db, $nationID, 'nation_env');
@@ -139,7 +141,8 @@ function applyNationPolicy($policy, $nationID, $generalName):?string{
return null; return null;
} }
function applyNationPriority($priority, $nationID, $generalName):?string{ function applyNationPriority($priority, $nationID, $generalName): ?string
{
$db = DB::db(); $db = DB::db();
$nationStor = KVStorage::getStorage($db, $nationID, 'nation_env'); $nationStor = KVStorage::getStorage($db, $nationID, 'nation_env');
$nationPolicyRoot = $nationStor->npc_nation_policy; $nationPolicyRoot = $nationStor->npc_nation_policy;
@@ -157,17 +160,29 @@ function applyNationPriority($priority, $nationID, $generalName):?string{
return null; return null;
} }
function applyGeneralPriority($priority, $nationID, $generalName):?string{ function applyGeneralPriority($priority, $nationID, $generalName): ?string
{
$db = DB::db(); $db = DB::db();
$nationStor = KVStorage::getStorage($db, $nationID, 'nation_env'); $nationStor = KVStorage::getStorage($db, $nationID, 'nation_env');
$generalPolicyRoot = $nationStor->npc_general_policy; $generalPolicyRoot = $nationStor->npc_general_policy;
$defaultPriority = AutorunGeneralPolicy::$default_priority; $defaultPriority = AutorunGeneralPolicy::$default_priority;
$mustHaveActions = ['출병' => 1];
foreach ($priority as $item) { foreach ($priority as $item) {
if (key_exists($item, $mustHaveActions)) {
$mustHaveActions[$item] = 0;
}
if (!in_array($item, $defaultPriority)) { if (!in_array($item, $defaultPriority)) {
return "{$item}은 올바른 명령이 아닙니다."; return "{$item}은 올바른 명령이 아닙니다.";
} }
} }
foreach ($mustHaveActions as $actionKey => $unset) {
if ($unset) {
return "{$actionKey}은 항상 사용해야 합니다.";
}
}
$generalPolicyRoot['priority'] = $priority; $generalPolicyRoot['priority'] = $priority;
$generalPolicyRoot['prioritySetter'] = $generalName; $generalPolicyRoot['prioritySetter'] = $generalName;
$generalPolicyRoot['prioritySetTime'] = TimeUtil::now(); $generalPolicyRoot['prioritySetTime'] = TimeUtil::now();
@@ -177,14 +192,11 @@ function applyGeneralPriority($priority, $nationID, $generalName):?string{
if ($type == 'nationPolicy') { if ($type == 'nationPolicy') {
$result = applyNationPolicy($data, $nationID, $me['name']); $result = applyNationPolicy($data, $nationID, $me['name']);
} } else if ($type == 'generalPriority') {
else if($type == 'generalPriority'){
$result = applyGeneralPriority($data, $nationID, $me['name']); $result = applyGeneralPriority($data, $nationID, $me['name']);
} } else if ($type == 'nationPriority') {
else if($type == 'nationPriority'){
$result = applyNationPriority($data, $nationID, $me['name']); $result = applyNationPriority($data, $nationID, $me['name']);
} } else {
else{
throw new MustNotBeReachedException(); throw new MustNotBeReachedException();
} }
@@ -11,7 +11,7 @@ class event_전투특기_무쌍 extends \sammo\BaseItem{
protected $id = 61; protected $id = 61;
protected $rawName = '비급'; protected $rawName = '비급';
protected $name = '비급(무쌍)'; protected $name = '비급(무쌍)';
protected $info = '[전투] 대미지 +10%, 피해 -5%, 공격 시 필살 확률 +10%p, <br>승리 수만큼 대미지 0.20%씩 추가 상승(최대40%)<br>승리 수만큼 피해 0.05%씩 감소(최대30%)'; protected $info = '[전투] 대미지 +10%, 피해 -5%, 공격 시 필살 확률 +10%p, <br>승리 수만큼 대미지 0.20%씩 추가 상승(최대50%)<br>승리 수만큼 피해 0.05%씩 감소(최대20%)';
protected $cost = 100; protected $cost = 100;
protected $buyable = true; protected $buyable = true;
protected $consumable = false; protected $consumable = false;
@@ -28,8 +28,8 @@ class event_전투특기_무쌍 extends \sammo\BaseItem{
$attackMultiplier = 1.1; $attackMultiplier = 1.1;
$defenceMultiplier = 0.95; $defenceMultiplier = 0.95;
$killnum = $unit->getGeneral()->getRankVar('killnum'); $killnum = $unit->getGeneral()->getRankVar('killnum');
$attackMultiplier += Util::valueFit($killnum * 0.01 * 0.2, null, 0.4); $attackMultiplier += Util::valueFit($killnum * 0.01 * 0.2, null, 0.5);
$defenceMultiplier -= Util::valueFit($killnum * 0.01 * 0.05, null, 0.3); $defenceMultiplier -= Util::valueFit($killnum * 0.01 * 0.05, null, 0.2);
return [$attackMultiplier, $defenceMultiplier]; return [$attackMultiplier, $defenceMultiplier];
} }
} }
+3 -3
View File
@@ -10,7 +10,7 @@ class che_무쌍 extends \sammo\BaseSpecial{
protected $id = 61; protected $id = 61;
protected $name = '무쌍'; protected $name = '무쌍';
protected $info = '[전투] 대미지 +10%, 피해 -5%, 공격 시 필살 확률 +10%p, <br>승리 수만큼 대미지 0.20%씩 추가 상승(최대40%)<br>승리 수만큼 피해 0.05%씩 감소(최대30%)'; protected $info = '[전투] 대미지 +10%, 피해 -5%, 공격 시 필살 확률 +10%p, <br>승리 수만큼 대미지 0.20%씩 추가 상승(최대50%)<br>승리 수만큼 피해 0.05%씩 감소(최대20%)';
static $selectWeightType = SpecialityHelper::WEIGHT_NORM; static $selectWeightType = SpecialityHelper::WEIGHT_NORM;
static $selectWeight = 1; static $selectWeight = 1;
@@ -29,8 +29,8 @@ class che_무쌍 extends \sammo\BaseSpecial{
$attackMultiplier = 1.1; $attackMultiplier = 1.1;
$defenceMultiplier = 0.95; $defenceMultiplier = 0.95;
$killnum = $unit->getGeneral()->getRankVar('killnum'); $killnum = $unit->getGeneral()->getRankVar('killnum');
$attackMultiplier += Util::valueFit($killnum * 0.01 * 0.2, null, 0.4); $attackMultiplier += Util::valueFit($killnum * 0.01 * 0.2, null, 0.5);
$defenceMultiplier -= Util::valueFit($killnum * 0.01 * 0.05, null, 0.3); $defenceMultiplier -= Util::valueFit($killnum * 0.01 * 0.05, null, 0.2);
return [$attackMultiplier, $defenceMultiplier]; return [$attackMultiplier, $defenceMultiplier];
} }
} }