Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
921ba6811d | ||
|
|
906dd241b4 |
@@ -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_';
|
||||||
|
|||||||
@@ -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];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user