diff --git a/twe/func_converter.php b/twe/func_converter.php index 0693e7d0..4acb06bb 100644 --- a/twe/func_converter.php +++ b/twe/func_converter.php @@ -8,40 +8,6 @@ namespace sammo; * Side effect 없이 값의 변환만을 수행하는 함수들의 모음. */ -function getScenario() { - //FIXME: 정말로 side effect가 없으려면 query는 밖으로 이동해야함. - $scenario = DB::db()->queryFirstColumn('select `scenario` from `game` where no=1'); - - switch($scenario) { - case 0: $str = '공백지모드'; break; - case 1: $str = '역사모드1 : 184년 황건적의 난'; break; - case 2: $str = '역사모드2 : 190년 반동탁연합'; break; - case 3: $str = '역사모드3 : 194년 군웅할거'; break; - case 4: $str = '역사모드4 : 196년 황제는 허도로'; break; - case 5: $str = '역사모드5 : 200년 관도대전'; break; - case 6: $str = '역사모드6 : 202년 원가의 분열'; break; - case 7: $str = '역사모드7 : 207년 적벽대전'; break; - case 8: $str = '역사모드8 : 213년 익주 공방전'; break; - case 9: $str = '역사모드9 : 219년 삼국정립'; break; - case 10: $str = '역사모드10 : 225년 칠종칠금'; break; - case 11: $str = '역사모드11 : 228년 출사표'; break; - - case 12: $str = 'IF모드1 : 191년 백마장군의 위세'; break; - - case 20: $str = '가상모드1 : 180년 영웅 난무'; break; - case 21: $str = '가상모드1 : 180년 영웅 집결'; break; - case 22: $str = '가상모드2 : 179년 훼신 집결'; break; - case 23: $str = '가상모드3 : 180년 영웅 시대'; break; - case 24: $str = '가상모드4 : 180년 결사항전'; break; - case 25: $str = '가상모드5 : 180년 영웅독존'; break; - case 26: $str = '가상모드6 : 180년 무풍지대'; break; - case 27: $str = '가상모드7 : 180년 가요대잔치'; break; - case 28: $str = '가상모드8 : 180년 확산성 밀리언 아서'; break; - default: $str = '시나리오?'; break; - } - return $str; -} - function NationCharCall($call) { switch($call) { diff --git a/twe/index.php b/twe/index.php index 7073938c..5d6fdf6f 100644 --- a/twe/index.php +++ b/twe/index.php @@ -43,7 +43,7 @@ if($me['newmsg'] == 1 && $me['newvote'] == 1) { MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); } -$query = "select develcost,online,conlimit,tournament,tnmt_type,turnterm,scenario,extend,fiction,npcmode,vote from game where no=1"; +$query = "select develcost,online,conlimit,tournament,tnmt_type,turnterm,scenario,scenario_text,extend,fiction,npcmode,vote from game where no=1"; $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $admin = MYDB_fetch_array($result); @@ -54,7 +54,7 @@ $plock = MYDB_fetch_array($result); $con = checkLimit($me['con'], $admin['conlimit']); if($con >= 2) { printLimitMsg($me['turntime']); exit(); } -$scenario = getScenario(); +$scenario = $admin['scenario_text']; ?> @@ -293,9 +293,10 @@ echo banner(); - - + + diff --git a/twe/j_install.php b/twe/j_install.php index 4056ad36..ece97d4d 100644 --- a/twe/j_install.php +++ b/twe/j_install.php @@ -59,7 +59,7 @@ $db = DB::db(); $mysqli_obj = $db->get(); -$scenarioObj = new Scenario($scenario); +$scenarioObj = new Scenario($scenario, false); $startyear = $scenarioObj->getYear(); if($mysqli_obj->multi_query(file_get_contents(__dir__.'/sql/reset.sql'))){ @@ -118,6 +118,7 @@ if($npcmode == 1) { $killturn = floor($killturn / 3); } $env = [ 'scenario'=>$scenario, + 'scenario_text'=>$scenarioObj->getTitle(), 'startyear'=>$startyear, 'year'=> $year, 'month'=> $month, diff --git a/twe/sql/schema.sql b/twe/sql/schema.sql index b7ed67e3..17800322 100644 --- a/twe/sql/schema.sql +++ b/twe/sql/schema.sql @@ -355,54 +355,68 @@ create table plock ( ## 게임 테이블 ########################################################################## -create table game ( - no int(11) not null auto_increment, - startyear int(3) not null, - year int(3) not null, - month int(3) not null, - refresh int(9) default 0, - maxonline int(9) default 1, - maxrefresh int(9) default 1, - conlimit int(9) default 5, - conweight int(3) default 100, - develcost int(4) default 20, - online int(9) default 0, - onlinenation varchar(256) default '', - onlinegen varchar(1024) default '', - msg text default '', - maxgeneral int(3) default 100, - genius int(2) default 3, - normgeneral int(3) default 100, - maxnation int(3) default 50, - gold_rate int(3) default 100, - rice_rate int(3) default 100, - city_rate int(3) default 50, - turnterm int(3) default 60, - killturn int(6) default 80, - turntime datetime, - starttime datetime, - isUnited int(1) default 0, - scenario int(2) default 0, - show_img_level int(2) default 0, - extended_general int(1) default 0, - fiction int(1) default 0, - npcmode int(1) default 0, - tnmt_auto int(2) default 0, tnmt_time datetime default '2100-01-01 00:00:00', - tournament int(2) default 0, phase int(2) default 0, - tnmt_type int(2) default 0, tnmt_msg char(255) default '', - tnmt_trig int(2) default 0, - voteopen int(1) default 1, - vote text default '', - votecomment text default '', - npccount int(4) default 0, - - bet0 int(8) default 0, bet1 int(8) default 0, bet2 int(8) default 0, bet3 int(8) default 0, - bet4 int(8) default 0, bet5 int(8) default 0, bet6 int(8) default 0, bet7 int(8) default 0, - bet8 int(8) default 0, bet9 int(8) default 0, bet10 int(8) default 0, bet11 int(8) default 0, - bet12 int(8) default 0, bet13 int(8) default 0, bet14 int(8) default 0, bet15 int(8) default 0, - - PRIMARY KEY (no) - ) ENGINE=INNODB ROW_FORMAT=DYNAMIC DEFAULT CHARSET=utf8mb4; +CREATE TABLE `game` ( + `no` INT(11) NOT NULL AUTO_INCREMENT, + `startyear` INT(3) NOT NULL, + `year` INT(3) NOT NULL, + `month` INT(3) NOT NULL, + `refresh` INT(9) NULL DEFAULT '0', + `maxonline` INT(9) NULL DEFAULT '1', + `maxrefresh` INT(9) NULL DEFAULT '1', + `conlimit` INT(9) NULL DEFAULT '5', + `conweight` INT(3) NULL DEFAULT '100', + `develcost` INT(4) NULL DEFAULT '20', + `online` INT(9) NULL DEFAULT '0', + `onlinenation` VARCHAR(256) NULL DEFAULT '', + `onlinegen` VARCHAR(1024) NULL DEFAULT '', + `msg` TEXT NULL DEFAULT '', + `maxgeneral` INT(3) NULL DEFAULT '100', + `genius` INT(2) NULL DEFAULT '3', + `normgeneral` INT(3) NULL DEFAULT '100', + `maxnation` INT(3) NULL DEFAULT '50', + `gold_rate` INT(3) NULL DEFAULT '100', + `rice_rate` INT(3) NULL DEFAULT '100', + `city_rate` INT(3) NULL DEFAULT '50', + `turnterm` INT(3) NULL DEFAULT '60', + `killturn` INT(6) NULL DEFAULT '80', + `turntime` DATETIME NULL DEFAULT NULL, + `starttime` DATETIME NULL DEFAULT NULL, + `isUnited` INT(1) NULL DEFAULT '0', + `scenario` INT(4) NULL DEFAULT '0', + `scenario_text` VARCHAR(80) NULL DEFAULT '0', + `show_img_level` INT(2) NULL DEFAULT '0', + `extended_general` INT(1) NULL DEFAULT '0', + `fiction` INT(1) NULL DEFAULT '0', + `npcmode` INT(1) NULL DEFAULT '0', + `tnmt_auto` INT(2) NULL DEFAULT '0', + `tnmt_time` DATETIME NULL DEFAULT '2100-01-01 00:00:00', + `tournament` INT(2) NULL DEFAULT '0', + `phase` INT(2) NULL DEFAULT '0', + `tnmt_type` INT(2) NULL DEFAULT '0', + `tnmt_msg` CHAR(255) NULL DEFAULT '', + `tnmt_trig` INT(2) NULL DEFAULT '0', + `voteopen` INT(1) NULL DEFAULT '1', + `vote` TEXT NULL DEFAULT '', + `votecomment` TEXT NULL DEFAULT '', + `npccount` INT(4) NULL DEFAULT '0', + `bet0` INT(8) NULL DEFAULT '0', + `bet1` INT(8) NULL DEFAULT '0', + `bet2` INT(8) NULL DEFAULT '0', + `bet3` INT(8) NULL DEFAULT '0', + `bet4` INT(8) NULL DEFAULT '0', + `bet5` INT(8) NULL DEFAULT '0', + `bet6` INT(8) NULL DEFAULT '0', + `bet7` INT(8) NULL DEFAULT '0', + `bet8` INT(8) NULL DEFAULT '0', + `bet9` INT(8) NULL DEFAULT '0', + `bet10` INT(8) NULL DEFAULT '0', + `bet11` INT(8) NULL DEFAULT '0', + `bet12` INT(8) NULL DEFAULT '0', + `bet13` INT(8) NULL DEFAULT '0', + `bet14` INT(8) NULL DEFAULT '0', + `bet15` INT(8) NULL DEFAULT '0', + PRIMARY KEY (`no`) +) ENGINE=INNODB ROW_FORMAT=DYNAMIC DEFAULT CHARSET=utf8mb4; ########################################################################### ## 메시지 테이블