• R/O
  • SSH
  • HTTPS

thief: Commit


Commit MetaInfo

Revision27 (tree)
Time2011-12-15 22:40:30
Authorseussnu

Log Message

0.0.7-alpha6
・ インデントをざっと修正

Change Summary

Incremental Difference

--- thief.js (revision 26)
+++ thief.js (revision 27)
@@ -1,5 +1,5 @@
11 /*
2- This software is licensed under the BSD license.
2+ This software is licensed under the new BSD license.
33
44 Copyright (c) 2011, Seussnu Koromotani
55 All rights reserved.
@@ -282,7 +282,8 @@
282282
283283 if (!Object.create) {
284284 Object.create = function(o) {
285- var func = function() { };
285+ var func = function() {
286+ };
286287 func.prototype = o;
287288 return new func();
288289 };
@@ -303,7 +304,7 @@
303304 }
304305
305306 if (!Math.dice) {
306- Math.dice = function(fre, sides){
307+ Math.dice = function(fre, sides) {
307308 var val = 0;
308309 for (var i = 0; i < fre; i++) {
309310 val += Math.round(Math.random() * sides + 0.5);
@@ -366,8 +367,8 @@
366367 THIEF.func.method.get = function (param) {
367368 var val;
368369
369- if(THIEF.global.debugmode){
370- if(typeof param === 'undefined'){
370+ if (THIEF.global.debugmode) {
371+ if (typeof param === 'undefined') {
371372 alert('引数が指定されていません');
372373 }
373374 }
@@ -390,7 +391,7 @@
390391 return val;
391392 };
392393
393-THIEF.func.method.isBasedOn = function (obj){
394+THIEF.func.method.isBasedOn = function (obj) {
394395 return this.uniqNumber === obj.uniqNumber;
395396 };
396397
@@ -446,7 +447,7 @@
446447 }
447448
448449 // Item の場合のみアルファベットを設定
449- if(obj.isItem){
450+ if (obj.isItem) {
450451 THIEF.html.addDebugMessage(obj.get(THIEF.PROP.displayName) + ' はアイテムなので、アルファベットの割り当てを行う...');
451452 var alphabets = this.getInventoryAlphabets();
452453 if (typeof obj.get(THIEF.PROP.alphabet) === 'string' && alphabets.indexOf(obj.get(THIEF.PROP.alphabet)) === -1) {
@@ -459,7 +460,7 @@
459460 } else {
460461 obj[THIEF.PROP.alphabet] = alp;
461462 }
462- THIEF.html.addDebugMessage('新たに ' + alp + ' を割り当てた。')
463+ THIEF.html.addDebugMessage('新たに ' + alp + ' を割り当てた。')
463464 }
464465 THIEF.html.addDebugMessage('...アルファベットの割り当て処理完了。');
465466 }
@@ -564,8 +565,8 @@
564565
565566 //my.slot[THIEF.PARAM.slot.hand] = selected[0];
566567 var val;
567- if(typeof obj.slot === 'undefined' || typeof obj.slot[THIEF.Data.Obj.$Item.slot] === 'undefined'){
568- if(typeof obj.damage === 'undefined'){
568+ if (typeof obj.slot === 'undefined' || typeof obj.slot[THIEF.Data.Obj.$Item.slot] === 'undefined') {
569+ if (typeof obj.damage === 'undefined') {
569570 val = '1d2';
570571 } else {
571572 val = obj.damage;
@@ -577,7 +578,7 @@
577578 var revP = THIEF.util.infixToRevP(val);
578579 var damage = THIEF.util.execRevP(revP);
579580
580- THIEF.html.addDebugMessage('ベースダメージ : ' + damage );
581+ THIEF.html.addDebugMessage('ベースダメージ : ' + damage);
581582 damage += obj.get(THIEF.PROP.db);
582583 THIEF.html.addDebugMessage('ダメージボーナス追加後 : ' + damage);
583584 var ac = this.get(THIEF.PROP.armorPoint);
@@ -584,7 +585,7 @@
584585 THIEF.html.addDebugMessage('AC適用後 : ' + (damage - ac));
585586 damage -= ac;
586587
587- if(damage> 0){
588+ if (damage > 0) {
588589 THIEF.html.addDebugMessage(this.get(THIEF.PROP.displayName) + ' HP : ' + this.get(THIEF.PROP.hp) + ' -> ' + (this.get(THIEF.PROP.hp) - damage) + 'とする。');
589590 this.hp -= damage;
590591 THIEF.html.addMessage(THIEF.util.getText(THIEF.Data.Text.attack, damage, this.get(THIEF.PROP.displayName), obj.get(THIEF.PROP.displayName)));
@@ -641,14 +642,14 @@
641642 // ループ処理を加えること
642643 THIEF.func.method.getInventoryAlphabets = function() {
643644 var alphabets = [];
644- if(this.inventory){
645- for(var i=0; i<this.get(THIEF.PROP.inventoryWidth); i++){
646- if(this.inventory[i]){
647- for(var j=0; j<this.get(THIEF.PROP.inventoryHeight); j++){
648- if(this.inventory[i][j]){
649- for(var k=0; k<this.inventory[i][j].length; k++){
645+ if (this.inventory) {
646+ for (var i = 0; i < this.get(THIEF.PROP.inventoryWidth); i++) {
647+ if (this.inventory[i]) {
648+ for (var j = 0; j < this.get(THIEF.PROP.inventoryHeight); j++) {
649+ if (this.inventory[i][j]) {
650+ for (var k = 0; k < this.inventory[i][j].length; k++) {
650651 var alphabet = this.inventory[i][j][k].get(THIEF.PROP.alphabet);
651- if(alphabet){
652+ if (alphabet) {
652653 alphabets.push(alphabet);
653654 }
654655 }
@@ -769,12 +770,12 @@
769770
770771 // すべてを選択しない
771772 case key.Minus:
772- if(immediately) {
773+ if (immediately) {
773774 selected.push(undefined);
774775 finish = true;
775776 } else {
776777 selected.length = 0;
777- for(var i=0; i<targets.length; i++){
778+ for (var i = 0; i < targets.length; i++) {
778779 // 表示を初期化すること
779780 }
780781 }
@@ -929,7 +930,9 @@
929930 };
930931
931932 // 基本は AI 処理とする
932-THIEF.func.method.next = function() { return this.cpu(); };
933+THIEF.func.method.next = function() {
934+ return this.cpu();
935+};
933936
934937 THIEF.func.method.notify = function() {
935938
@@ -955,7 +958,7 @@
955958 // CT を増加
956959 if (this.get(THIEF.PROP.active)) {
957960
958- if(this.ct > 100){
961+ if (this.ct > 100) {
959962 this.ct = 100;
960963 }
961964
@@ -1061,8 +1064,8 @@
10611064 } else {
10621065 THIEF.html.addDebugMessage(String.fromCharCode(code) + '(' + code + ')の入力に対する処理を開始...');
10631066
1064- for(var name in THIEF.Data.Keymap){
1065- if(THIEF.Data.Keymap[name].key !== 'undefined' && THIEF.Data.Keymap[name].key === code){
1067+ for (var name in THIEF.Data.Keymap) {
1068+ if (THIEF.Data.Keymap[name].key !== 'undefined' && THIEF.Data.Keymap[name].key === code) {
10661069 THIEF.html.addDebugMessage(this.get(THIEF.PROP.displayName) + ' の ' + name + ' コマンドを実行');
10671070 finish = THIEF.Data.Keymap[name].cmd.call(this);
10681071 break;
@@ -1198,7 +1201,7 @@
11981201 if (from.removeFromInventory(selected[i])) {
11991202
12001203 // 装備済みなら外す
1201- if(typeof from.slot !== 'undefined' && typeof from.slot[selected[i].slot] !== 'undefined'){
1204+ if (typeof from.slot !== 'undefined' && typeof from.slot[selected[i].slot] !== 'undefined') {
12021205 delete from.slot[selected[i].slot].equiped;
12031206 delete from.slot[selected[i].slot];
12041207 THIEF.html.addMessage(THIEF.util.getText(THIEF.Data.Text.equipNone, from.get(THIEF.PROP.displayName), selected[i].get(THIEF.PROP.slotName)));
@@ -1336,7 +1339,7 @@
13361339 for (var i = THIEF.conf.mapHeight; i >= 0; i--) {
13371340 if (typeof THIEF.global.hist[index - i] !== 'undefined') {
13381341 THIEF.html.addInfomation(THIEF.global.hist[index - i].turn + ' : ' + THIEF.global.hist[index - i].text);
1339- if (index - i === THIEF.global.hist.length - 1) {
1342+ if (index - i === THIEF.global.hist.length - 1) {
13401343 THIEF.html.addInfomation('<div style="text-align:center;">--Now--</div>');
13411344 }
13421345 }
@@ -1355,7 +1358,7 @@
13551358
13561359 var com = [];
13571360 for (var name in THIEF.Data.Keymap) {
1358- if( typeof THIEF.Data.Keymap[name].txt !== 'undefined' ) {
1361+ if (typeof THIEF.Data.Keymap[name].txt !== 'undefined') {
13591362 com.push(name);
13601363 }
13611364 }
@@ -1451,11 +1454,13 @@
14511454 var act = false;
14521455 if (selected.length > 0) {
14531456 act = true;
1454- if(typeof my.slot === 'undefined'){ my.slot = {}; }
1457+ if (typeof my.slot === 'undefined') {
1458+ my.slot = {};
1459+ }
14551460
14561461 // 既に付けている装備を外す必要があるか
1457- if(typeof selected[0] !== 'undefined' && typeof my.slot[selected[0].slot] !== 'undefined'){
1458- if(selected[0] === my.slot[selected[0].slot]){
1462+ if (typeof selected[0] !== 'undefined' && typeof my.slot[selected[0].slot] !== 'undefined') {
1463+ if (selected[0] === my.slot[selected[0].slot]) {
14591464 THIEF.html.addMessage(THIEF.util.getText(THIEF.Data.Text.equipAlready, selected[0].get(THIEF.PROP.displayName), my.get(THIEF.PROP.displayName)));
14601465 selected[0] = undefined;
14611466 } else {
@@ -1467,7 +1472,7 @@
14671472 }
14681473
14691474 // 装備
1470- if(typeof selected[0] !== 'undefined'){
1475+ if (typeof selected[0] !== 'undefined') {
14711476 my.slot[selected[0].slot] = selected[0];
14721477 my.slot[selected[0].slot].equiped = true;
14731478 THIEF.html.addMessage(THIEF.util.getText(THIEF.Data.Text.equipItem, selected[0].get(THIEF.PROP.displayName), my.get(THIEF.PROP.displayName), selected[0].get(THIEF.PROP.slotName)));
@@ -1531,7 +1536,7 @@
15311536 THIEF.global.adventurer.inventoryWidth = 10;
15321537 THIEF.global.adventurer.inventoryCellSize = 1;
15331538 THIEF.global.adventurer.ct = 100;
1534-
1539+
15351540 THIEF.global.actLV.addToInventory(THIEF.global.adventurer);
15361541
15371542
@@ -1598,7 +1603,7 @@
15981603 compCounter = 15;
15991604 }
16001605
1601- if(completion){
1606+ if (completion) {
16021607 THIEF.html.addDebugMessage('...ターン:' + THIEF.global.turn + ' を完了。');
16031608 } else {
16041609 THIEF.html.addDebugMessage('...ターン:' + THIEF.global.turn + ' を中断。(ユーザからの入力待ち)');
@@ -1651,7 +1656,7 @@
16511656
16521657 } else {
16531658
1654- if(e.shiftKey) {
1659+ if (e.shiftKey) {
16551660 //
16561661 } else {
16571662 switch (code) {
@@ -1682,7 +1687,7 @@
16821687 }
16831688 }
16841689
1685- if(e.ctrlKey){
1690+ if (e.ctrlKey) {
16861691 switch (code) {
16871692 // コピペ・ブックマーク用
16881693 case THIEF.KEY.a:
@@ -1694,7 +1699,7 @@
16941699 code = 0;
16951700 }
16961701 break;
1697-
1702+
16981703 default:
16991704 break;
17001705 }
@@ -1753,7 +1758,7 @@
17531758 if (typeof THIEF.Data.Obj[inh].uniqNumber === 'undefined') {
17541759 THIEF.html.addDebugMessage(inh + ' のマスタが生成されていないので作成...');
17551760
1756- if(typeof THIEF.Data.Obj[inh].uniqNumber === 'undefined'){
1761+ if (typeof THIEF.Data.Obj[inh].uniqNumber === 'undefined') {
17571762 THIEF.Data.Obj[inh].uniqNumber = id;
17581763 id++;
17591764 }
@@ -1801,7 +1806,7 @@
18011806 THIEF.html.addDebugMessage('.' + propName);
18021807 }
18031808 }
1804- THIEF.html.addDebugMessage('.inheritance = ' + inhPrev );
1809+ THIEF.html.addDebugMessage('.inheritance = ' + inhPrev);
18051810 tree[THIEF.Data.Obj[inh].uniqNumber].inheritance = inhPrev;
18061811 THIEF.html.addDebugMessage('...コピー完了');
18071812
@@ -1817,18 +1822,18 @@
18171822 obj.uniqNumber = id;
18181823 id++;
18191824
1820- if(obj !== THIEF.Data.Obj.$){
1825+ if (obj !== THIEF.Data.Obj.$) {
18211826 THIEF.html.addDebugMessage('要求オブジェクトのマスタ作成開始...');
18221827 THIEF.html.addDebugMessage(inhPrev + ' より雛形オブジェクトを作成');
18231828 tree[obj.uniqNumber] = Object.create(tree[THIEF.Data.Obj[inhPrev].uniqNumber]);
18241829 THIEF.html.addDebugMessage('Own Property をコピー開始...');
1825- for(propName in obj) {
1826- if(obj.hasOwnProperty(propName)){
1830+ for (propName in obj) {
1831+ if (obj.hasOwnProperty(propName)) {
18271832 tree[obj.uniqNumber][propName] = obj[propName];
18281833 THIEF.html.addDebugMessage('.' + propName);
18291834 }
18301835 }
1831- THIEF.html.addDebugMessage('.inheritance = ' + inhPrev );
1836+ THIEF.html.addDebugMessage('.inheritance = ' + inhPrev);
18321837 tree[obj.uniqNumber].inheritance = inhPrev;
18331838 THIEF.html.addDebugMessage('...コピー完了');
18341839 THIEF.html.addDebugMessage('...マスタ作成完了');
@@ -1842,20 +1847,20 @@
18421847 THIEF.html.addDebugMessage('マスターからインスタンスを作成');
18431848 THIEF.html.addDebugMessage('初期化を開始...');
18441849 var val = Object.create(tree[obj.uniqNumber]);
1845- for (propName in val){
1846- if(typeof val[propName] === 'string' && val[propName].charAt(0) === '_'){
1850+ for (propName in val) {
1851+ if (typeof val[propName] === 'string' && val[propName].charAt(0) === '_') {
18471852 THIEF.html.addDebugMessage(propName + ' の変数を初期化します');
1848- val[propName] = THIEF.util.execRevP(THIEF.util.infixToRevP(val[propName].slice(1)));
1853+ val[propName] = THIEF.util.execRevP(THIEF.util.infixToRevP(val[propName].slice(1)));
18491854 THIEF.html.addDebugMessage(propName + ' : ' + val[propName]);
18501855 }
18511856 }
18521857
1853- if(typeof val.pow === 'number' && typeof val.san !== 'number'){
1858+ if (typeof val.pow === 'number' && typeof val.san !== 'number') {
18541859 val.san = val.pow * 5;
18551860 THIEF.html.addDebugMessage('san : ' + val.san);
18561861 }
18571862
1858- if(typeof val.hp === 'undefined') {
1863+ if (typeof val.hp === 'undefined') {
18591864 val.hp = Math.ceil((val.con + val.siz) / 2);
18601865 }
18611866
@@ -1874,7 +1879,7 @@
18741879 lv.inventory = THIEF.util.createMap(THIEF.conf.mapWidth, THIEF.conf.mapHeight);
18751880 lv[THIEF.PROP.name] = {ja:'テストレベル', en:'Practice'};
18761881 lv[THIEF.PROP.inventoryWidth] = THIEF.conf.mapWidth;
1877- lv[THIEF.PROP.inventoryHeight] = THIEF.conf.mapHeight;
1882+ lv[THIEF.PROP.inventoryHeight] = THIEF.conf.mapHeight;
18781883 lv[THIEF.PROP.inventoryDepth] = THIEF.conf.mapDepth;
18791884 lv.inventoryCellSize = 1;
18801885 return lv;
@@ -1892,7 +1897,7 @@
18921897 for (j = 0; j < height; j++) {
18931898 line[j] = [];
18941899 if (i === 0 || j === 0 || i === (width - 1) || j === (height - 1)) {
1895- line[j].push( THIEF.util.factory(THIEF.Data.Obj.NonDiggableWall) );
1900+ line[j].push(THIEF.util.factory(THIEF.Data.Obj.NonDiggableWall));
18961901 }
18971902 }
18981903 map[i] = line;
@@ -1901,7 +1906,9 @@
19011906 // マップ分割
19021907 var maxRooms = Math.floor(Math.random() * (width + height) / 10) + (width + height) / 20;
19031908 var anchors = []; // 部屋の起点(一番左上=若い座標)
1904- var spaceEdges = [ {x:1, y:1} ]; // 左上は常にスペースの角のため
1909+ var spaceEdges = [
1910+ {x:1, y:1}
1911+ ]; // 左上は常にスペースの角のため
19051912 var roonCount = 0;
19061913 var roop = 0;
19071914 var roopLimit = 300; // 300 回くらい試行して駄目ならあきらめる
@@ -1976,7 +1983,7 @@
19761983 // 一般的にマップ全体は横幅の方が長いと仮定している
19771984 // 壁までの距離が短い方に伸ばすように分割線を引く
19781985 // 長い方に伸ばすように引くと部屋が小さくなるため
1979- map[ax][ay].push( THIEF.util.factory(THIEF.Data.Obj.DarkFloor) );
1986+ map[ax][ay].push(THIEF.util.factory(THIEF.Data.Obj.DarkFloor));
19801987 anchors.push({x:ax, y:ay});
19811988
19821989 if (my < mx) {
@@ -2063,7 +2070,7 @@
20632070 endY++;
20642071 }
20652072
2066- roomsInfo.push({x:x+startX, y:y+startY, width:endX-startX, height:endY-startY});
2073+ roomsInfo.push({x:x + startX, y:y + startY, width:endX - startX, height:endY - startY});
20672074
20682075 // 部屋作成
20692076 for (i = startX; i < endX; i++) {
@@ -2081,23 +2088,23 @@
20812088 // 部屋の位置関係を取得し、縦横各1通を生成する
20822089 // 部屋は次の部屋と比較され、最後の部屋は最初の部屋と比較される(孤立する部屋を作らないようにするため)
20832090 roomsInfo.push(roomsInfo[0]);
2084- for(i = 0; i < (roomsInfo.length-1); i++){
2091+ for (i = 0; i < (roomsInfo.length - 1); i++) {
20852092
20862093 // 中心を計算し、通路を伸ばす方向を決める
2087- var vx = Math.sign((roomsInfo[i].x + roomsInfo[i].width/2) - (roomsInfo[i+1].x + roomsInfo[i+1].width/2));
2088- var vy = Math.sign((roomsInfo[i].y + roomsInfo[i].height/2) - (roomsInfo[i+1].y + roomsInfo[i+1].height/2));
2094+ var vx = Math.sign((roomsInfo[i].x + roomsInfo[i].width / 2) - (roomsInfo[i + 1].x + roomsInfo[i + 1].width / 2));
2095+ var vy = Math.sign((roomsInfo[i].y + roomsInfo[i].height / 2) - (roomsInfo[i + 1].y + roomsInfo[i + 1].height / 2));
20892096
20902097 // 部屋の中から適当に一つポイントを決める
20912098 // 壁にめり込まないように 座標+1, 長さ-3 (-1分は原点)
20922099 ax = 1 + roomsInfo[i].x + Math.round(Math.random() * (roomsInfo[i].width - 3));
2093- ay = 1 + roomsInfo[i].y + Math.round(Math.random() * (roomsInfo[i].height -3));
2100+ ay = 1 + roomsInfo[i].y + Math.round(Math.random() * (roomsInfo[i].height - 3));
20942101
2095- if(THIEF.conf.debugmode){
2096- map[roomsInfo[i].x + Math.round(roomsInfo[i].width/2) -1][roomsInfo[i].y + Math.round(roomsInfo[i].height/2) -1].getLast().color = 'red';
2102+ if (THIEF.conf.debugmode) {
2103+ map[roomsInfo[i].x + Math.round(roomsInfo[i].width / 2) - 1][roomsInfo[i].y + Math.round(roomsInfo[i].height / 2) - 1].getLast().color = 'red';
20972104 map[roomsInfo[i].x][roomsInfo[i].y].getLast().color = 'olive';
20982105 map[ax][ay].getLast().color = 'green';
20992106 }
2100-
2107+
21012108 //alert('x:' + roomsInfo[i].x + ', y:' + roomsInfo[i].y + ', width:' + roomsInfo[i].width + ', height:' + roomsInfo[i].height + '\nvx:' + vx + ', vy:' + vy + ', ax:' + ax + ', ay:' + ay);
21022109
21032110 // 通路を作成
@@ -2110,24 +2117,24 @@
21102117 wallCounter = 0;
21112118 var diffX;
21122119 var diffY;
2113- while(true){
2114- diffX = index*vx;
2115- diffY = index*vy;
2120+ while (true) {
2121+ diffX = index * vx;
2122+ diffY = index * vy;
21162123 fl = map[ax - diffX][ay - diffY].getLast();
21172124 index++;
21182125
21192126 // 名にもないのであればとりあえず通路を作る
2120- if(typeof fl === 'undefined') {
2127+ if (typeof fl === 'undefined') {
21212128 map[ax - diffX][ay - diffY].push(THIEF.util.factory(THIEF.Data.Obj.DarkFloor));
21222129 continue;
21232130 }
21242131
21252132 // 壁ならば通路に置換
2126- if(fl.isBasedOn(THIEF.Data.Obj.NormalWall)){
2133+ if (fl.isBasedOn(THIEF.Data.Obj.NormalWall)) {
21272134 map[ax - diffX][ay - diffY].pop();
21282135 map[ax - diffX][ay - diffY].push(THIEF.util.factory(THIEF.Data.Obj.LitFloor));
21292136 wallCounter++;
2130- if(wallCounter === 2){
2137+ if (wallCounter === 2) {
21312138 break;
21322139 }
21332140 continue;
@@ -2134,78 +2141,77 @@
21342141 }
21352142
21362143 // それ以外なら終了
2137- if(fl.isBasedOn(THIEF.Data.Obj.DarkFloor)
2138- || fl.isBasedOn(THIEF.Data.Obj.NonDiggableWall)){
2144+ if (fl.isBasedOn(THIEF.Data.Obj.DarkFloor)
2145+ || fl.isBasedOn(THIEF.Data.Obj.NonDiggableWall)) {
21392146 break;
21402147 }
21412148 }
21422149 };
21432150 // 縦軸
2144- if(vx !== 0){
2151+ if (vx !== 0) {
21452152 setFloor(ax, ay, vx, 0);
21462153 }
21472154 // 横軸
2148- if(vy !== 0){
2155+ if (vy !== 0) {
21492156 setFloor(ax, ay, 0, vy);
21502157 }
21512158 }
21522159
21532160
2154-
21552161 // 不要な通路を削除
21562162
2157- var clearFloor = function(_x, _y){
2163+ var clearFloor = function(_x, _y) {
21582164 var around;
21592165 var x = _x;
21602166 var y = _y;
21612167 var nextX, nextY;
21622168 var flr = map[x][y].getLast();
2163- if(typeof flr !== 'undefined' && flr.type === THIEF.Data.Obj.$Floor.type ){
2164- while(true){
2169+ if (typeof flr !== 'undefined' && flr.type === THIEF.Data.Obj.$Floor.type) {
2170+ while (true) {
21652171 // 周囲に通路が一つだけか調べる
21662172 around = 0;
2167- if(typeof map[x-1][y-1].getLast() !== 'undefined' && map[x-1][y-1].getLast().type === THIEF.Data.Obj.$Floor.type) {
2173+ if (typeof map[x - 1][y - 1].getLast() !== 'undefined' && map[x - 1][y - 1].getLast().type === THIEF.Data.Obj.$Floor.type) {
21682174 around++;
2169- nextX=x-1;
2170- nextY=y-1;
2175+ nextX = x - 1;
2176+ nextY = y - 1;
21712177 }
2172- if(typeof map[x][y-1].getLast() !== 'undefined' && map[x][y-1].getLast().type === THIEF.Data.Obj.$Floor.type) {
2178+ if (typeof map[x][y - 1].getLast() !== 'undefined' && map[x][y - 1].getLast().type === THIEF.Data.Obj.$Floor.type) {
21732179 around++;
2174- nextX=x;
2175- nextY=y-1;
2180+ nextX = x;
2181+ nextY = y - 1;
21762182 }
2177- if(typeof map[x+1][y-1].getLast() !== 'undefined' && map[x+1][y-1].getLast().type === THIEF.Data.Obj.$Floor.type) {
2183+ if (typeof map[x + 1][y - 1].getLast() !== 'undefined' && map[x + 1][y - 1].getLast().type === THIEF.Data.Obj.$Floor.type) {
21782184 around++;
2179- nextX=x+1;
2180- nextY=y-1;
2185+ nextX = x + 1;
2186+ nextY = y - 1;
21812187 }
2182- if(typeof map[x-1][y].getLast() !== 'undefined' && map[x-1][y].getLast().type === THIEF.Data.Obj.$Floor.type) {
2188+ if (typeof map[x - 1][y].getLast() !== 'undefined' && map[x - 1][y].getLast().type === THIEF.Data.Obj.$Floor.type) {
21832189 around++;
2184- nextX=x-1;
2185- nextY=y;
2190+ nextX = x - 1;
2191+ nextY = y;
21862192 }
21872193 // me
2188- if(typeof map[x+1][y].getLast() !== 'undefined' && map[x+1][y].getLast().type === THIEF.Data.Obj.$Floor.type) {
2194+ if (typeof map[x + 1][y].getLast() !== 'undefined' && map[x + 1][y].getLast().type === THIEF.Data.Obj.$Floor.type) {
21892195 around++;
2190- nextX=x+1;
2191- nextY=y;
2196+ nextX = x + 1;
2197+ nextY = y;
21922198 }
2193- if(typeof map[x-1][y+1].getLast() !== 'undefined' && map[x-1][y+1].getLast().type === THIEF.Data.Obj.$Floor.type) {
2199+ if (typeof map[x - 1][y + 1].getLast() !== 'undefined' && map[x - 1][y + 1].getLast().type === THIEF.Data.Obj.$Floor.type) {
21942200 around++;
2195- nextX=x-1;
2196- nextY=y+1;
2201+ nextX = x - 1;
2202+ nextY = y + 1;
21972203 }
2198- if(typeof map[x][y+1].getLast() !== 'undefined' && map[x][y+1].getLast().type === THIEF.Data.Obj.$Floor.type) {
2204+ if (typeof map[x][y + 1].getLast() !== 'undefined' && map[x][y + 1].getLast().type === THIEF.Data.Obj.$Floor.type) {
21992205 around++;
2200- nextX=x;
2201- nextY=y+1;
2206+ nextX = x;
2207+ nextY = y + 1;
22022208 }
2203- if(typeof map[x+1][y+1].getLast() !== 'undefined' && map[x+1][y+1].getLast().type === THIEF.Data.Obj.$Floor.type) {
2209+ if (typeof map[x + 1][y + 1].getLast() !== 'undefined' && map[x + 1][y + 1].getLast().type === THIEF.Data.Obj.$Floor.type) {
22042210 around++;
2205- nextX=x+1;
2206- nextY=y+1;
2211+ nextX = x + 1;
2212+ nextY = y + 1;
22072213 }
2208- if(around === 1){
2214+ if (around === 1) {
22092215 map[x][y].pop();
22102216 map[x][y].push(THIEF.util.factory(THIEF.Data.Obj.HiddenWall));
22112217 map[nextX][nextY].pop();
@@ -2218,13 +2224,13 @@
22182224 }
22192225 }
22202226 };
2221- for(i=1; i<width-2; i++){
2227+ for (i = 1; i < width - 2; i++) {
22222228 clearFloor(i, 1);
2223- clearFloor(i, height-2);
2229+ clearFloor(i, height - 2);
22242230 }
2225- for(i=1; i<height-2; i++){
2231+ for (i = 1; i < height - 2; i++) {
22262232 clearFloor(1, i);
2227- clearFloor(width-2, i);
2233+ clearFloor(width - 2, i);
22282234 }
22292235
22302236 // 残りを初期化
@@ -2231,7 +2237,7 @@
22312237 for (i = 0; i < width; i++) {
22322238 for (j = 0; j < height; j++) {
22332239 if (map[i][j].length === 0) {
2234- map[i][j].push( THIEF.util.factory(THIEF.Data.Obj.HiddenWall));
2240+ map[i][j].push(THIEF.util.factory(THIEF.Data.Obj.HiddenWall));
22352241 //map[i][j].push( THIEF.util.factory(THIEF.Data.Obj.LitFloor));
22362242 }
22372243 }
@@ -2260,7 +2266,7 @@
22602266 point = THIEF.global.actLV.getInventoryFreeSpace(monster, x, y);
22612267
22622268 if (typeof point !== 'undefined' && THIEF.global.actLV.inventory[x][y].getLast().isBasedOn(THIEF.Data.Obj.LitFloor)) {
2263- //if (point.x === 'number' && typeof point.y === 'number') {
2269+ //if (point.x === 'number' && typeof point.y === 'number') {
22642270 break;
22652271 }
22662272
@@ -2289,12 +2295,12 @@
22892295 THIEF.html.addDebugMessage('数式を逆ポーランドに変換開始...');
22902296 THIEF.html.addDebugMessage('変換前:' + val);
22912297
2292- for(var i = 0; i < val.length; i++){
2298+ for (var i = 0; i < val.length; i++) {
22932299 var ope = val.charAt(i);
22942300 switch (ope) {
22952301 case '+' :
22962302 case '-' :
2297- while(/^[\*\/\^%dM]$/.test(stack.getLast())){
2303+ while (/^[\*\/\^%dM]$/.test(stack.getLast())) {
22982304 revP.push(stack.pop());
22992305 }
23002306 stack.push(ope);
@@ -2301,7 +2307,7 @@
23012307 break;
23022308
23032309 case '*' :
2304- while(/^[\/\^%dM]$/.test(stack.getLast())){
2310+ while (/^[\/\^%dM]$/.test(stack.getLast())) {
23052311 revP.push(stack.pop());
23062312 }
23072313 stack.push(ope);
@@ -2308,7 +2314,7 @@
23082314 break;
23092315
23102316 case '/' :
2311- while(/^[\^%dM]$/.test(stack.getLast())){
2317+ while (/^[\^%dM]$/.test(stack.getLast())) {
23122318 revP.push(stack.pop());
23132319 }
23142320 stack.push(ope);
@@ -2317,7 +2323,7 @@
23172323
23182324 case '^' :
23192325 case '%' :
2320- while(/^[dM]$/.test(stack.getLast())){
2326+ while (/^[dM]$/.test(stack.getLast())) {
23212327 revP.push(stack.pop());
23222328 }
23232329 stack.push(ope);
@@ -2324,7 +2330,7 @@
23242330 break;
23252331
23262332 case 'd' :
2327- while(/^[M]$/.test(stack.getLast())){
2333+ while (/^[M]$/.test(stack.getLast())) {
23282334 revP.push(stack.pop());
23292335 }
23302336 stack.push(ope);
@@ -2336,17 +2342,17 @@
23362342 // Math. を必ず含むこと
23372343 // Math.PId6 とかは使用上無理
23382344 // Math.round () というように、()の前にスペースが入るのも無理
2339- for(subIndex=i+5; subIndex<val.length; subIndex++){
2340- if(/[^a-zA-Z]$/.test(val.charAt(subIndex))){
2341- math = val.substring(i+5, subIndex);
2345+ for (subIndex = i + 5; subIndex < val.length; subIndex++) {
2346+ if (/[^a-zA-Z]$/.test(val.charAt(subIndex))) {
2347+ math = val.substring(i + 5, subIndex);
23422348 break;
2343- } else if(subIndex === val.length-1){
2344- math = val.substring(i+5, val.length);
2349+ } else if (subIndex === val.length - 1) {
2350+ math = val.substring(i + 5, val.length);
23452351 break;
23462352 }
23472353 }
23482354
2349- if(typeof Math[math] === 'function'){
2355+ if (typeof Math[math] === 'function') {
23502356 revP.push('dummy');
23512357 stack.push('('); // 先に括弧を処理するため、インデックスはそのまま
23522358 stack.push(Math[math]);
@@ -2365,11 +2371,11 @@
23652371
23662372 case ')' :
23672373 // Math 関数の引数の数が不定なので、判別用のダミーの引数を加えておく
2368- if(typeof stack.getLast() === 'function'){
2374+ if (typeof stack.getLast() === 'function') {
23692375 //revP.push('dummy');
23702376 }
23712377
2372- while(stack.getLast() !== '('){
2378+ while (stack.getLast() !== '(') {
23732379 revP.push(stack.pop());
23742380 }
23752381 stack.pop(); // Delete (
@@ -2386,12 +2392,12 @@
23862392 case '8' :
23872393 case '9' :
23882394 case '.' :
2389- for(subIndex = i; subIndex<val.length; subIndex++){
2390- if(/[^0-9\.]/.test(val.charAt(subIndex))){
2395+ for (subIndex = i; subIndex < val.length; subIndex++) {
2396+ if (/[^0-9\.]/.test(val.charAt(subIndex))) {
23912397 revP.push(parseFloat(val.substring(i, subIndex)));
23922398 subIndex--; // 行き過ぎたインデックスを元に戻す
23932399 break;
2394- } else if(subIndex === val.length-1){
2400+ } else if (subIndex === val.length - 1) {
23952401 revP.push(parseFloat(val.substring(i, val.length)));
23962402 break;
23972403 }
@@ -2405,7 +2411,7 @@
24052411 }
24062412 }
24072413
2408- while(stack.getLast()){
2414+ while (stack.getLast()) {
24092415 revP.push(stack.pop());
24102416 }
24112417
@@ -2416,18 +2422,22 @@
24162422 };
24172423
24182424 THIEF.util.execRevP = function (val) {
2425+
2426+ // そのうちいろいろな乱数に対応させること
2427+ // http://nethackwiki.com/wiki/Category:Random_number_functions
2428+
24192429 THIEF.html.addDebugMessage('逆ポーランド記法の数式を計算開始...');
24202430
24212431 var revP;
2422- if(typeof val === 'number'){
2432+ if (typeof val === 'number') {
24232433 revP = [];
24242434 revP[0] = val;
24252435 } else {
24262436 revP = val.slice(0);
24272437 }
2428- var index=0;
2438+ var index = 0;
24292439 THIEF.html.addDebugMessage('X = ' + revP);
2430- for( ; revP.length > 1; index++){
2440+ for (; revP.length > 1; index++) {
24312441 var ope = revP[index];
24322442
24332443 switch (typeof ope) {
@@ -2437,47 +2447,49 @@
24372447 case 'string' :
24382448 switch (ope) {
24392449 case '+' :
2440- revP[index-2] = revP[index-2] + revP[index-1];
2450+ revP[index - 2] = revP[index - 2] + revP[index - 1];
24412451 break;
24422452 case '-' :
2443- revP[index-2] = revP[index-2] - revP[index-1];
2453+ revP[index - 2] = revP[index - 2] - revP[index - 1];
24442454 break;
24452455 case '/' :
2446- revP[index-2] = revP[index-2] / revP[index-1];
2456+ revP[index - 2] = revP[index - 2] / revP[index - 1];
24472457 break;
24482458 case '*' :
2449- revP[index-2] = revP[index-2] * revP[index-1];
2459+ revP[index - 2] = revP[index - 2] * revP[index - 1];
24502460 break;
24512461 case '%' :
2452- revP[index-2] = revP[index-2] % revP[index-1];
2462+ revP[index - 2] = revP[index - 2] % revP[index - 1];
24532463 break;
24542464 case '^' :
2455- revP[index-2] = revP[index-2] ^ revP[index-1];
2465+ revP[index - 2] = revP[index - 2] ^ revP[index - 1];
24562466 break;
24572467 case 'd' :
2458- revP[index-2] = Math.dice(revP[index-2], revP[index-1]);
2468+ revP[index - 2] = Math.dice(revP[index - 2], revP[index - 1]);
24592469 break;
24602470 case 'dummy' :
24612471 continue;
2462- default : break;
2472+ default :
2473+ break;
24632474 }
2464- revP.splice(index-1, 2);
2475+ revP.splice(index - 1, 2);
24652476 index -= 2;
24662477 break;
24672478
24682479 case 'function' :
2469- if(revP[index-2] === 'dummy'){
2470- revP[index-2] = revP[index](revP[index-1]);
2471- revP.splice(index-1, 2);
2480+ if (revP[index - 2] === 'dummy') {
2481+ revP[index - 2] = revP[index](revP[index - 1]);
2482+ revP.splice(index - 1, 2);
24722483 index -= 2;
2473- } else if (revP[index-3] === 'dummy') {
2474- revP[index-3] = revP[index](revP[index-2], revP[index-1]);
2475- revP.splice(index-2, 3);
2484+ } else if (revP[index - 3] === 'dummy') {
2485+ revP[index - 3] = revP[index](revP[index - 2], revP[index - 1]);
2486+ revP.splice(index - 2, 3);
24762487 index -= 3;
24772488 }
24782489 break;
24792490
2480- default : break;
2491+ default :
2492+ break;
24812493 }
24822494 }
24832495
@@ -2603,9 +2615,10 @@
26032615 THIEF.html.refreshXy = function(x, y) {
26042616 var obj = THIEF.global.actLV.inventory[x][y].getLast();
26052617 /*
2606- if(typeof obj === 'undefined') {
2607- THIEF.html.setXy(x, y, '&#x25D9;');
2608- } else */ if (obj.color) {
2618+ if(typeof obj === 'undefined') {
2619+ THIEF.html.setXy(x, y, '&#x25D9;');
2620+ } else */
2621+ if (obj.color) {
26092622 THIEF.html.setXy(x, y, '<span style="color:' + obj.color + ';">' + obj.symbol + '</span>');
26102623 } else {
26112624 THIEF.html.setXy(x, y, obj.symbol);
@@ -2645,10 +2658,10 @@
26452658 }
26462659
26472660
2648- if(document.getElementById(THIEF.conf.id + 'Message' + (THIEF.conf.messageLines - 1)).innerHTML !== '&nbsp;'){
2661+ if (document.getElementById(THIEF.conf.id + 'Message' + (THIEF.conf.messageLines - 1)).innerHTML !== '&nbsp;') {
26492662 var prev;
2650- for(var i=0; i<THIEF.conf.messageLines-1; i++){
2651- prev = document.getElementById(THIEF.conf.id + 'Message' + (i+1) ).innerHTML || '&nbsp;';
2663+ for (var i = 0; i < THIEF.conf.messageLines - 1; i++) {
2664+ prev = document.getElementById(THIEF.conf.id + 'Message' + (i + 1)).innerHTML || '&nbsp;';
26522665 document.getElementById(THIEF.conf.id + 'Message' + i).innerHTML = prev;
26532666 }
26542667 }
@@ -2678,7 +2691,7 @@
26782691 return function(text) {
26792692
26802693 if (THIEF.conf.debugmode) {
2681- if(typeof text === 'string'){
2694+ if (typeof text === 'string') {
26822695 // 文字列が ... から開始する場合にはインデントを減らす
26832696 if (text.match(/^\.\.\./) && indent.length > 0) {
26842697 indent = indent.slice(24);
@@ -2694,7 +2707,7 @@
26942707 } else {
26952708
26962709 var line = '';
2697- for(var i=0; i<hist.length; i++){
2710+ for (var i = 0; i < hist.length; i++) {
26982711 line += hist[i] + '<br>\n';
26992712 }
27002713 document.getElementById(THIEF.conf.id + 'Debug').innerHTML = line;
@@ -2705,28 +2718,27 @@
27052718 }
27062719
27072720 /*
2708- if(THIEF.conf.debugMessageClear){
2709- document.getElementById(THIEF.conf.id + 'Debug').scrollTop = 0;
2710- }
2711- */
2712-
2721+ if(THIEF.conf.debugMessageClear){
2722+ document.getElementById(THIEF.conf.id + 'Debug').scrollTop = 0;
2723+ }
2724+ */
2725+
27132726 //document.getElementById(THIEF.conf.id + 'Debug').scrollTop = 65535;
27142727 //document.getElementById(THIEF.conf.id + 'Debug').offsetTop = 65535;
27152728
27162729
2717-
27182730 }
27192731 };
27202732 }();
27212733
27222734 /*
2723-THIEF.html.clearDebugMessage = function() {
2724- if (THIEF.conf.debugmode && THIEF.conf.debugMessageClear ) {
2725- document.getElementById(THIEF.conf.id + 'Debug').scrollTop = 0;
2726- //document.getElementById(THIEF.conf.id + 'Debug').innerHTML = '';
2727- }
2728-};
2729-*/
2735+ THIEF.html.clearDebugMessage = function() {
2736+ if (THIEF.conf.debugmode && THIEF.conf.debugMessageClear ) {
2737+ document.getElementById(THIEF.conf.id + 'Debug').scrollTop = 0;
2738+ //document.getElementById(THIEF.conf.id + 'Debug').innerHTML = '';
2739+ }
2740+ };
2741+ */
27302742
27312743 THIEF.html.showCommandHelp = function() {
27322744 var help = '';
@@ -2734,7 +2746,7 @@
27342746 help += '<tr><th colspan=3>Command Help</th></tr>\n';
27352747 var com = [];
27362748 for (var name in THIEF.Data.Keymap) {
2737- if(typeof THIEF.Data.Keymap[name].txt !== 'undefined'){
2749+ if (typeof THIEF.Data.Keymap[name].txt !== 'undefined') {
27382750 com.push(name);
27392751 }
27402752 }
@@ -2915,50 +2927,50 @@
29152927
29162928 /* Date オブジェクトのついて
29172929
2918-Data クラスはプリセットされたデータセットです。
2919-配下には以下の三つの階層があります。
2930+ Data クラスはプリセットされたデータセットです。
2931+ 配下には以下の三つの階層があります。
29202932
2921-Data.Obj
2922- モンスターやアイテムの管理用
2923-Data.Event
2924- イベントやシナリオの管理用
2925-Data.Text
2926- ローカライズの管理用
2927-Data.Prop
2928- 特殊変数の管理用
2933+ Data.Obj
2934+ モンスターやアイテムの管理用
2935+ Data.Event
2936+ イベントやシナリオの管理用
2937+ Data.Text
2938+ ローカライズの管理用
2939+ Data.Prop
2940+ 特殊変数の管理用
29292941
2930-Data.Obj 配下の $ から始まるオブジェクトは、テンプレートとして扱われます。
2931- ※ スポーンの対象にならない・一覧に表示されない、など
2942+ Data.Obj 配下の $ から始まるオブジェクトは、テンプレートとして扱われます。
2943+ ※ スポーンの対象にならない・一覧に表示されない、など
29322944
2933-Date.Obj 配下に格納されるオブジェクトは、
2934-自動的に THIEF.func.command, THIEF.func.method 内のメソッドを継承し、その対象になります。
2935-その為、すべてのオブジェクトが eat や wear メソッドの対象になります。
2936- ※ 各コマンド名に -able をつけたプロパティ (eatable, wearable) の
2937- Boolean値 (true/false) に応じて動作します。
2945+ Date.Obj 配下に格納されるオブジェクトは、
2946+ 自動的に THIEF.func.command, THIEF.func.method 内のメソッドを継承し、その対象になります。
2947+ その為、すべてのオブジェクトが eat や wear メソッドの対象になります。
2948+ ※ 各コマンド名に -able をつけたプロパティ (eatable, wearable) の
2949+ Boolean値 (true/false) に応じて動作します。
29382950
2939-オブジェクト内に inheritance プロパティがあると、
2940-そのオブジェクトも継承します。
2941-inheritance は文字列で指定してください。
2942- ※ inheritance : 'Human'
2943-何もない場合は、Date.Obj.$を継承します。
2951+ オブジェクト内に inheritance プロパティがあると、
2952+ そのオブジェクトも継承します。
2953+ inheritance は文字列で指定してください。
2954+ ※ inheritance : 'Human'
2955+ 何もない場合は、Date.Obj.$を継承します。
29442956
2945-プロパティは以下の順番で参照されます。
2946- ※ Object -> THIEF.func.command -> THIEF.func.method -> Date.Obj.$ -> Date.Obj.Human -> this
2957+ プロパティは以下の順番で参照されます。
2958+ ※ Object -> THIEF.func.command -> THIEF.func.method -> Date.Obj.$ -> Date.Obj.Human -> this
29472959
2948-現段階では、多段的な階層はサポートしていません。
2949-今後もするつもりはありません。
2950- ※ Date.Monster.Humanoid.Elf
2960+ 現段階では、多段的な階層はサポートしていません。
2961+ 今後もするつもりはありません。
2962+ ※ Date.Monster.Humanoid.Elf
29512963
2952-$ (テンプレート) 以外のオブジェクトも、実質的にはテンプレートとして扱われます。
2953-オブジェクトの使用時にマスターオブジェクトが作成され、
2954-以降はそれをクローニングしてスポーン処理などを行います。
2964+ $ (テンプレート) 以外のオブジェクトも、実質的にはテンプレートとして扱われます。
2965+ オブジェクトの使用時にマスターオブジェクトが作成され、
2966+ 以降はそれをクローニングしてスポーン処理などを行います。
29552967
2956-そのため、起動後に Date 内のオブジェクトを修正した場合、
2957-その結果が新しいインスタンスには反映されません。
2968+ そのため、起動後に Date 内のオブジェクトを修正した場合、
2969+ その結果が新しいインスタンスには反映されません。
29582970
2959-Data.Obj 配下のオブジェクトのプロパティ値が _ から始まる場合、
2960-数式として処理されます。
2961- str : '_3d6'
2971+ Data.Obj 配下のオブジェクトのプロパティ値が _ から始まる場合、
2972+ 数式として処理されます。
2973+ str : '_3d6'
29622974
29632975 */
29642976
@@ -2968,7 +2980,7 @@
29682980 THIEF.Data.Prop = { // 特殊変数登録用
29692981 displayName : function() {
29702982 var text = '';
2971- if(this.equiped){
2983+ if (this.equiped) {
29722984 text += '[E] '
29732985 }
29742986 text += this.get(THIEF.PROP.name) + '(<span style="color:' + this.get(THIEF.PROP.color) + '">' + this.get(THIEF.PROP.symbol) + '</span>)';
@@ -2979,19 +2991,19 @@
29792991 var val = 0;
29802992
29812993 // 体力に応じたダメージボーナス
2982- if(typeof this.con === 'undefined') {
2994+ if (typeof this.con === 'undefined') {
29832995 //val += 0;
29842996 } else if (this.con >= 18) {
29852997 val += (this.con / 6);
2986- } else if (this.con >= 17 ) {
2998+ } else if (this.con >= 17) {
29872999 val += 2;
2988- } else if (this.con >= 15 ) {
3000+ } else if (this.con >= 15) {
29893001 val += 1;
2990- } else if (this.con >=7 ) {
3002+ } else if (this.con >= 7) {
29913003 //val += 0;
2992- } else if (this.con >=4 ) {
3004+ } else if (this.con >= 4) {
29933005 val += -1;
2994- } else if (this.con >=3 ) {
3006+ } else if (this.con >= 3) {
29953007 val += -2;
29963008 } else if (this.con < 3) {
29973009 val += -3;
@@ -2998,9 +3010,9 @@
29983010 }
29993011
30003012 // 腕力、サイズに応じたダメージボーナス
3001- if(typeof this.str === 'undefined'){
3013+ if (typeof this.str === 'undefined') {
30023014 //val += 0;
3003- } else if (typeof this.siz === 'undefined'){
3015+ } else if (typeof this.siz === 'undefined') {
30043016 // STR のみ定義されている場合
30053017 if (this.str >= 25) {
30063018 val += (this.str / 2.27);
@@ -3020,19 +3032,19 @@
30203032 } else {
30213033 // STR と SIZ の両方が定義されている場合
30223034 var num = this.str + this.siz;
3023- if(num >= 57){
3024- val += Math.dice( 2 + Math.floor((num-41)/16), 6);
3025- } else if(num >= 41){
3035+ if (num >= 57) {
3036+ val += Math.dice(2 + Math.floor((num - 41) / 16), 6);
3037+ } else if (num >= 41) {
30263038 val += Math.dice(2, 6);
3027- } else if(num >= 33){
3039+ } else if (num >= 33) {
30283040 val += Math.dice(1, 6);
3029- } else if(num >= 25){
3041+ } else if (num >= 25) {
30303042 val += Math.dice(1, 4);
3031- } else if(num >= 17){
3043+ } else if (num >= 17) {
30323044 //val += 0;
3033- } else if(num >= 13){
3045+ } else if (num >= 13) {
30343046 val += -Math.dice(1, 4);
3035- } else if(num >= 0){
3047+ } else if (num >= 0) {
30363048 val += -Math.dice(1, 6);
30373049 }
30383050 }
@@ -3045,9 +3057,9 @@
30453057
30463058 armorPoint : function () {
30473059 var val = 0;
3048- if(typeof this.slot !== 'undefined'){
3049- for(var slotName in this.slot){
3050- if(typeof this.slot[slotName].ac === 'number') {
3060+ if (typeof this.slot !== 'undefined') {
3061+ for (var slotName in this.slot) {
3062+ if (typeof this.slot[slotName].ac === 'number') {
30513063 val += this.slot[slotName].ac;
30523064 }
30533065 }
@@ -3381,14 +3393,15 @@
33813393 */
33823394
33833395
3396+//noinspection JSUnusedGlobalSymbols
33843397 THIEF.Data.Keymap = {
33853398 $ : { // help
33863399 ja : '' +
3387- 'y&nbsp;k&nbsp;u' + '&nbsp;&nbsp;&nbsp;&nbsp;' + 'yuhjklbn: 指定方向に一歩歩く' + '<br>\n' +
3400+ 'y&nbsp;k&nbsp;u' + '&nbsp;&nbsp;&nbsp;&nbsp;' + 'yuhjklbn: 指定方向に一歩歩く' + '<br>\n' +
33883401 '&nbsp;&#x20E5;|/&nbsp;' + '&nbsp;&nbsp;&nbsp;&nbsp;' + '←↑↓→: 同' + '<br>\n' +
3389- 'h-.-k' + '&nbsp;&nbsp;&nbsp;&nbsp;' + 'Home,End,PageUp,PageDown: 斜め方向に一歩歩く' + '<br>\n' +
3402+ 'h-.-k' + '&nbsp;&nbsp;&nbsp;&nbsp;' + 'Home,End,PageUp,PageDown: 斜め方向に一歩歩く' + '<br>\n' +
33903403 '&nbsp;/|&#x20E5;&nbsp;' + '&nbsp;&nbsp;&nbsp;&nbsp;' + '.: 何もしない' + '<br>\n' +
3391- 'b&nbsp;j&nbsp;n' + '&nbsp;&nbsp;&nbsp;&nbsp;' + '' + '<br>\n'
3404+ 'b&nbsp;j&nbsp;n' + '&nbsp;&nbsp;&nbsp;&nbsp;' + '' + '<br>\n'
33923405 },
33933406 moveUp1 : {
33943407 cmd : THIEF.func.command.goUp,
@@ -3482,7 +3495,7 @@
34823495 en : 'show messages history'
34833496 }
34843497 },
3485- RrefreshScreen : {
3498+ RrefreshScreen : {
34863499 cmd : THIEF.func.command.refreshHTML,
34873500 key : THIEF.KEY.R,
34883501 txt : {
@@ -3516,7 +3529,6 @@
35163529 }
35173530 };
35183531
3519-// TODO
35203532 THIEF.Data.Text = {
35213533 attack : {
35223534 // 1 : damage
@@ -3525,7 +3537,7 @@
35253537 // ja : [
35263538 // '${3} は ${2} に ${1} のダメージを与えた。',
35273539 // '${2} は ${1} のダメージを受けた。'
3528- // ],
3540+ // ],
35293541 ja : '${3} は ${2} に ${1} のダメージを与えた。',
35303542 en : '${2} Hit decreased by ${1}.'
35313543 },
@@ -3596,7 +3608,7 @@
35963608 ja : '"${1}" というコマンドは存在しません。',
35973609 en : '"${1}" command not found.'
35983610 },
3599-
3611+
36003612 decay : {
36013613 // 1 : subject
36023614 ja : '${1} は腐りきった。',
@@ -3626,4 +3638,68 @@
36263638 }
36273639 };
36283640
3629-THIEF.Data.Event = {}; // Event & Scenario
3641+/*
3642+
3643+// 独自追加パラメータ
3644+Height: その(配下の)マップの縦幅
3645+Width: その(配下の)マップの横幅
3646+
3647+// とりあえず NetHack Wiki から引っ張ってきた変数一覧
3648+http://nethackwiki.com/wiki/Dungeon.def_format
3649+ALIGNMENT
3650+BRANCH
3651+CHAINBRANCH
3652+CHAINLEVEL
3653+DESCRIPTION
3654+DUNGEON
3655+LEVALIGN
3656+LEVEL
3657+LEVELDESC
3658+PROTOFILE
3659+RNDLEVEL
3660+
3661+http://nethackwiki.com/wiki/Des-file_format
3662+ALTAR
3663+BRANCH
3664+CHANCE
3665+CONTAINER
3666+DOOR
3667+DRAWBRIDGE
3668+ENDMAP
3669+ENGRAVING
3670+FLAGS
3671+FOUNTAIN
3672+GEOMETRY
3673+GOLD
3674+INIT_MAP
3675+LADDER
3676+LEVEL
3677+MAP
3678+MAZE
3679+MAZEWALK
3680+MESSAGE
3681+MONSTER
3682+NAME
3683+NOMAP
3684+NON_DIGGABLE
3685+NON_PASSWALL
3686+OBJECT
3687+PORTAL
3688+RANDOM_CORRIDORS
3689+RANDOM_MONSTERS
3690+RANDOM_OBJECTS
3691+RANDOM_PLACES
3692+REGION
3693+ROOM
3694+SINK
3695+STAIR
3696+SUBROOM
3697+TELEPORT_REGION
3698+TRAP
3699+WALLIFY
3700+
3701+*/
3702+
3703+THIEF.Data.Event = {
3704+
3705+};
Show on old repository browser