가상 모드 대응. 랜덤 특성 세팅 추가

This commit is contained in:
2018-04-28 23:55:22 +09:00
parent 657c35f876
commit e97e702c2e
+45 -13
View File
@@ -53,16 +53,37 @@ class NPC{
$this->ego = $ego; $this->ego = $ego;
$this->text = $text; $this->text = $text;
$char = \sammo\SpecCall($char); $general = [
if($char < 40){ 'leader'=>$leadership,
$this->charDomestic = $char; 'power'=>$power,
'intel'=>$intel
];
if($char === '랜덤전특'){
$this->charWar = \sammo\Engine\SpecialityConst::pickSpecialWar($general);
}
else if($char === '랜덤내특'){
$this->charDomestic = \sammo\Engine\SpecialityConst::pickSpecialDomestic($general);
}
else if($char === '랜덤'){
if(Util::randBool(2/3)){
$this->charWar = \sammo\Engine\SpecialityConst::pickSpecialWar($general);
}
else{
$this->charDomestic = \sammo\Engine\SpecialityConst::pickSpecialDomestic($general);
}
} }
else{ else{
$this->charWar = $char; $char = \sammo\SpecCall($char);
} if($char < 40){
$this->charDomestic = $char;
}
else{
$this->charWar = $char;
}
}
} }
public function build($env=[]){ public function build($env=[]){
//scenario에 life==1인 경우 수명 제한이 없어지는 모양. //scenario에 life==1인 경우 수명 제한이 없어지는 모양.
$nationID = $this->nationID; $nationID = $this->nationID;
@@ -70,10 +91,7 @@ class NPC{
$nationID = 0; $nationID = 0;
}; };
$affinity = $this->affinity; $isFictionMode = (Util::array_get($env['fiction'], 0)!=0);
if(Util::array_get($env['fiction'],false) || $affinity === 0){
$affinity = mt_rand(1, 150);
}
$year = $env['year']; $year = $env['year'];
$month = $env['month']; $month = $env['month'];
@@ -93,13 +111,27 @@ class NPC{
\sammo\pushWorldHistory(["<C>●</>1월:<Y>$name</>(이)가 성인이 되어 <S>등장</>했습니다."], $year, $month); \sammo\pushWorldHistory(["<C>●</>1월:<Y>$name</>(이)가 성인이 되어 <S>등장</>했습니다."], $year, $month);
} }
if($this->ego == null){ if($this->ego == null || $isFictionMode){
$ego = mt_rand(0, 9);//TODO: 나중에 성격을 따로 분리할 경우 클래스를 참조. $ego = mt_rand(0, 9);//TODO: 나중에 성격을 따로 분리할 경우 클래스를 참조.
} }
else{ else{
$ego = \sammo\CharCall($this->ego); $ego = \sammo\CharCall($this->ego);
} }
$affinity = $this->affinity;
$charWar = $this->charWar;
$charDomestic = $this->charDomestic;
if($affinity === 0 || $isFictionMode){
$affinity = mt_rand(1, 150);
}
if($isFictionMode){
$charWar = 0;
$charDomestic = 0;
}
$name = 'ⓝ'.$this->name; $name = 'ⓝ'.$this->name;
$pictureID = $this->pictureID; $pictureID = $this->pictureID;
@@ -167,9 +199,9 @@ class NPC{
'age'=>$age, 'age'=>$age,
'belong'=>1, 'belong'=>1,
'personal'=>$ego, 'personal'=>$ego,
'special'=>$this->charDomestic, 'special'=>$charDomestic,
'specage'=>$specage, 'specage'=>$specage,
'special2'=>$this->charWar, 'special2'=>$charWar,
'specage2'=>$specage2, 'specage2'=>$specage2,
'npcmsg'=>$this->text, 'npcmsg'=>$this->text,
'makelimit'=>0, 'makelimit'=>0,