From 05919c836e914de52dfe7a24b75f88b321519086 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sun, 10 May 2020 18:34:02 +0800 Subject: [PATCH] =?UTF-8?q?replace=20experience=20->=20exp,=20=E9=AD=94?= =?UTF-8?q?=E9=98=B2=20->=20=E6=8A=A4=E7=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- API列表.txt | 8 +-- _docs/_api.md | 6 +- _docs/api.md | 11 +-- _docs/element.md | 14 ++-- _docs/event.md | 14 ++-- _docs/personalization.md | 2 +- _server/MotaAction.g4 | 18 ++--- _server/css/editor_mode.css | 4 +- _server/editor_blockly.js | 2 +- _server/table/comment.js | 6 +- _server/table/data.comment.js | 10 +-- editor-mobile.html | 6 +- editor.html | 6 +- extensions/dynamicMapEditor.js | 4 +- index.html | 6 +- libs/control.js | 6 +- libs/events.js | 33 +-------- libs/ui.js | 18 ++--- main.js | 8 +-- project/data.js | 4 +- project/enemys.js | 128 ++++++++++++++++----------------- project/floors/sample1.js | 4 +- project/functions.js | 38 +++++----- project/items.js | 6 +- runtime.d.ts | 21 ++---- 25 files changed, 167 insertions(+), 216 deletions(-) diff --git a/API列表.txt b/API列表.txt index 061b3ca9..4a12de10 100644 --- a/API列表.txt +++ b/API列表.txt @@ -99,9 +99,9 @@ core.status.hero (勇士信息;此项和全塔属性中的hero大体是 core.status.hero.mana 当前魔力值 core.status.hero.atk 当前攻击力 core.status.hero.def 当前防御力 - core.status.hero.mdef 当前魔防值 + core.status.hero.mdef 当前护盾值 core.status.hero.money 当前金币值 - core.status.hero.experience 当前经验值 + core.status.hero.exp 当前经验值 core.status.hero.loc 当前的位置信息 core.status.hero.equipment 当前装上的装备 core.status.hero.items 当前拥有的道具信息 @@ -749,7 +749,7 @@ core.getDamage(enemy, x, y, floorId) core.getExtraDamage(enemy, x, y, floorId) -获得某个怪物的额外伤害值(不可被魔防减伤)。 +获得某个怪物的额外伤害值(不可被护盾减伤)。 目前暂时只包含了仇恨和固伤两者,如有需要可复写该函数。 @@ -1233,7 +1233,7 @@ core.unloadEquip(equipType, callback) core.compareEquipment(compareEquipId, beComparedEquipId) 比较两个套装的差异。 -此函数将对所有的勇士属性包括生命魔力攻防魔防金币等进行比较。 +此函数将对所有的勇士属性包括生命魔力攻防护盾金币等进行比较。 如果存在差异的,将作为一个对象返回其差异内容。 diff --git a/_docs/_api.md b/_docs/_api.md index 5bd7cb23..31880e51 100644 --- a/_docs/_api.md +++ b/_docs/_api.md @@ -52,7 +52,7 @@ core.updateStatusBar() core.setStatus('atk', 1000) -将攻击力设置为1000;这里把atk可以改成hp, def, mdef, money, experience等等。 +将攻击力设置为1000;这里把atk可以改成hp, def, mdef, money, exp等等。 本句等价于 core.status.hero.atk = 1000 @@ -385,10 +385,6 @@ core.enemys.getDamage(enemyId, x, y, floorId) 后面三个参数是怪物坐标和楼层。 -core.enemys.getExtraDamage(enemyId) -返回某个怪物会对勇士造成的额外伤害(不可被魔防抵消),例如仇恨、固伤等等。 - - core.enemys.nextCriticals(enemyId, number, x, y, floorId) 返回一个列表,为接下来number(可忽略,默认为1)个该怪物的临界值和临界减伤。 列表每一项类似 [x,y] 表示临界值为x,且临界减伤为y。 diff --git a/_docs/api.md b/_docs/api.md index 0d73e350..0519a600 100644 --- a/_docs/api.md +++ b/_docs/api.md @@ -99,9 +99,9 @@ core.status.hero (勇士信息;此项和全塔属性中的hero大体是 core.status.hero.mana 当前魔力值 core.status.hero.atk 当前攻击力 core.status.hero.def 当前防御力 - core.status.hero.mdef 当前魔防值 + core.status.hero.mdef 当前护盾值 core.status.hero.money 当前金币值 - core.status.hero.experience 当前经验值 + core.status.hero.exp 当前经验值 core.status.hero.loc 当前的位置信息 core.status.hero.equipment 当前装上的装备 core.status.hero.items 当前拥有的道具信息 @@ -747,11 +747,6 @@ core.getDamage(enemy, x, y, floorId) 如果没有破防或无法战斗则返回null,否则返回具体的伤害值。 -core.getExtraDamage(enemy, x, y, floorId) -获得某个怪物的额外伤害值(不可被魔防减伤)。 -目前暂时只包含了仇恨和固伤两者,如有需要可复写该函数。 - - core.getDamageString(enemy, x, y, floorId) 获得某个怪物伤害字符串和颜色信息,以便于在地图上绘制显伤。 @@ -1232,7 +1227,7 @@ core.unloadEquip(equipType, callback) core.compareEquipment(compareEquipId, beComparedEquipId) 比较两个套装的差异。 -此函数将对所有的勇士属性包括生命魔力攻防魔防金币等进行比较。 +此函数将对所有的勇士属性包括生命魔力攻防护盾金币等进行比较。 如果存在差异的,将作为一个对象返回其差异内容。 diff --git a/_docs/element.md b/_docs/element.md index b2576eb4..30ddded8 100644 --- a/_docs/element.md +++ b/_docs/element.md @@ -54,9 +54,9 @@ type为该装备的类型,必填,和上面装备栏一一对应。例如,0就是武器,2就是首饰等等。 -atk/def/mdef为该装备分别增加的攻防魔防数值(支持负数);如果不加也可省略不写。 +atk/def/mdef为该装备分别增加的攻防护盾数值(支持负数);如果不加也可省略不写。 -从V2.6开始,可以拓展到任何勇士的属性,如hpmax, atk, def, mdef, experience等等;自行添加的属性包括攻速speed也能使用。 +从V2.6开始,可以拓展到任何勇士的属性,如hpmax, atk, def, mdef, exp等等;自行添加的属性包括攻速speed也能使用。 animate为该装备的攻击动画,仅对type为0时有效。具体可参见[动画和天气系统](#动画和天气系统)。 @@ -68,9 +68,9 @@ percentage为该装备是否按比例增加属性。 {"type": 0, "atk": 10} // 装备类型是武器,效果是攻击+10,使用默认的攻击动画 {"type": 0, "atk": 40, "animate": "sword"} // 装备类型为武器,效果是攻击+10,攻击动画是sword {"type": 1, "def": 40, "percentage": true} // 装备类型是防具,效果是防御提升40% -{"type": 1, "def": 100, "mdef": 100} // 装备类型是防具,效果是防御和魔防各+100 -{"type": 3, "atk": -20, "def": 50, "mdef": 50} // 装备类型是魔杖,效果是攻击-20,防御和魔防各+50 -{"type": 2, "atk": -20, "def": 50, "mdef": 50, "percentage": true} // 装备类型是魔杖,效果是攻击下降20%,防御和魔防各提升50% +{"type": 1, "def": 100, "mdef": 100} // 装备类型是防具,效果是防御和护盾各+100 +{"type": 3, "atk": -20, "def": 50, "mdef": 50} // 装备类型是魔杖,效果是攻击-20,防御和护盾各+50 +{"type": 2, "atk": -20, "def": 50, "mdef": 50, "percentage": true} // 装备类型是魔杖,效果是攻击下降20%,防御和护盾各提升50% ``` 所有取值全部向下取整。 @@ -153,13 +153,13 @@ yellowWall, blueWall, whiteWall 怪物的特殊属性所对应的数字(special)在脚本编辑中的`getSpecials`中定义,请勿对已有的属性进行修改。 -多属性可采用数组的写法,比如`'special': [1,3]`视为同时拥有先攻和坚固属性;`'special': [5,10,14,18]`视为拥有3连击、魔防、诅咒、阻击四个属性。 +多属性可采用数组的写法,比如`'special': [1,3]`视为同时拥有先攻和坚固属性;`'special': [5,10,14,18]`视为拥有3连击、模仿、诅咒、阻击四个属性。 怪物可以负伤,在全塔属性的全局变量`enableNegativeDamage`中指定。 打败怪物后可以进行加点操作。有关加点塔的制作可参见[加点事件](event#加点事件)。 -如果全塔属性中的enableExperience为false,即不启用经验的话,怪物手册里将不显示怪物的经验值,打败怪物也不获得任何经验。 +如果全塔属性中的enableexp为false,即不启用经验的话,怪物手册里将不显示怪物的经验值,打败怪物也不获得任何经验。 拿到幸运金币后,打怪获得的金币将翻倍。 diff --git a/_docs/event.md b/_docs/event.md index fd39afb1..4fd92d4e 100644 --- a/_docs/event.md +++ b/_docs/event.md @@ -332,7 +332,7 @@ ![](img/events/7.png) -- `status:xxx` 获取勇士属性时只能使用如下几个:hp(生命值),atk(攻击力),def(防御力),mdef(魔防值),money(金币),experience(经验),x(勇士的横坐标),y(勇士的纵坐标),direction(勇士的方向)。 +- `status:xxx` 获取勇士属性时只能使用如下几个:hp(生命值),atk(攻击力),def(防御力),mdef(护盾值),money(金币),exp(经验),x(勇士的横坐标),y(勇士的纵坐标),direction(勇士的方向)。 - `item:xxx` 中的xxx为道具ID。所有道具的ID定义在items.js中,请自行查看。例如,`item:centerFly` 代表中心对称飞行器的个数。 - `flag:xxx` 中的xxx为一个自定义的变量/Flag(支持中文);如果没有对其进行赋值则默认值为0。 - `global:xxx` 中的xxx为一个全局存储的名称(支持中文);如果没有对其进行赋值则默认值为0。 @@ -507,7 +507,7 @@ value是一个表达式,将通过这个表达式计算出的结果赋值给nam id为必填项,代表要修改的怪物ID。 -name为必填项,代表要修改的项,例如`hp`, `atk`, `def`, `money`, `experience`, `point`, `special`, `name`。 +name为必填项,代表要修改的项,例如`hp`, `atk`, `def`, `money`, `exp`, `point`, `special`, `name`。 value为必填项,代表要修改到的内容。对于修改名称的,必须加单引号。 @@ -575,7 +575,7 @@ value为必填项,代表要修改到的结果。该项必须是个数值。 ``` js [ - {"type": "setGlobalFlag", "name": "enableMDef", "value": false}, // 不在状态栏显示魔防值 + {"type": "setGlobalFlag", "name": "enableMDef", "value": false}, // 不在状态栏显示护盾值 ] ``` @@ -2523,7 +2523,7 @@ if (core.flags.enableAddPoint && point > 0) { "name": "贪婪之神", // 商店名称(标题) "icon": "blueShop", // 商店图标,blueShop为蓝色商店,pinkShop为粉色商店 "textInList": "1F金币商店", // 在快捷商店栏中显示的名称 - "use": "money", // 商店所要使用的。只能是"money"或"experience"。 + "use": "money", // 商店所要使用的。只能是"money"或"exp"。 "commonTimes": true, // 是否使用全局次数 "mustEnable": false, // 如果未开启则不显示在状态栏中 "need": "20+10*times*(times+1)", // 商店需要的金币/经验数值;可以是一个表达式,以times(访问次数)作为参数计算。 @@ -2532,7 +2532,7 @@ if (core.flags.enableAddPoint && point > 0) { // effect可以对status,item和flag进行操作;必须是X+=Y的形式,其中Y可以是一个表达式 {"text": "生命+800", "effect": "status:hp+=800"}, // 生命+800 {"text": "攻击+4", "need": 30, "effect": "status:atk+=4"}, // 规定具体的数值 - {"text": "防御+2,魔防+4", "effect": "status:def+=2;status:mdef+=4"}, // 多个效果用分号分开 + {"text": "防御+2,护盾+4", "effect": "status:def+=2;status:mdef+=4"}, // 多个效果用分号分开 ] } ], @@ -2544,7 +2544,7 @@ if (core.flags.enableAddPoint && point > 0) { - name 为商店的名称(打开商店后的标题) - icon 为商店的图标,在icons.js的npcs中定义。如woman可代表一个商人。 - textInList 为其在快捷商店栏中显示的名称,如"3楼金币商店"等 -- use 为消耗的类型,是金币(money)还是经验(experience)。 +- use 为消耗的类型,是金币(money)还是经验(exp)。 - commonTimes 是否使用全局次数;如果为true则可以多个快捷商店共享相同的次数 - mustEnable 是否必须是只在开启状态才在列表显示;如果此项为true则未开启的快捷商店不予显示 - need 是一个表达式,计算商店所需要用到的数值。 @@ -2710,7 +2710,7 @@ if (core.flags.enableAddPoint && point > 0) { 本塔也支持经验升级,即用户杀怪获得经验后,可以到达某些数值自动进阶,全面提升属性。 -要经验升级,你需要先在`data.js`中的全局变量中启用。你需要将`enableExperience`启用经验,且`enableLevelUp`启用进阶。同时你也可以将`enableLv`置为true以在状态栏中显示当前等级(境界)。 +要经验升级,你需要先在`data.js`中的全局变量中启用。你需要将`enableExp`启用经验,且`enableLevelUp`启用进阶。同时你也可以将`enableLv`置为true以在状态栏中显示当前等级(境界)。 同时,你还需要在`data.js`中的`levelUp`来定义每一个进阶所需要的经验值,以及进阶时的效果。 diff --git a/_docs/personalization.md b/_docs/personalization.md index 6a37b175..ec6f5863 100644 --- a/_docs/personalization.md +++ b/_docs/personalization.md @@ -695,7 +695,7 @@ if (core.flags.statusBarItems.indexOf('enableSkill')>=0) { - **`flag:heroIcon`**: 当前的勇士行走图名称。 - **`flag:saveEquips`**: 快速换装时保存的套装。 - **`flag:__visited__`**: 当前访问过的楼层。 -- **`flag:__atk_buff__`**, **`flag:__def_buff__`**, **`flag:__mdef_buff__`**: 当前攻防魔防的实际计算比例加成。 +- **`flag:__atk_buff__`**, **`flag:__def_buff__`**, **`flag:__mdef_buff__`**: 当前攻防护盾的实际计算比例加成。 - **`flag:__color__`**, **`flag:__weather__`**, **`flag:__volume__`**: 当前的画面色调、天气和音量。 - **`flag:__events__`**: 当前保存的事件列表,读档时会恢复(适用于在事件中存档) - **`flag:textAttribute`**, **`flag:globalAttribute`**, **`flag:globalFlags`**: 当前的剧情文本属性,当前的全局属性,当前的全局开关。 diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4 index fdc3758a..ff7e86d7 100644 --- a/_server/MotaAction.g4 +++ b/_server/MotaAction.g4 @@ -2697,7 +2697,7 @@ TextBaseline_List ShopUse_List : '金币' | '经验' - /*ShopUse_List ['money','experience']*/; + /*ShopUse_List ['money','exp']*/; Arithmetic_List : '+'|'-'|'*'|'/'|'^'|'=='|'!='|'>'|'<'|'>='|'<='|'和'|'或' @@ -2745,8 +2745,8 @@ Global_Value_List Global_Flag_List - : '显示当前楼层'|'显示勇士图标'|'显示当前等级'|'启用生命上限'|'显示生命值'|'显示魔力值'|'显示攻击力'|'显示防御力'|'显示魔防值'|'显示金币值'|'显示经验值'|'允许等级提升'|'升级扣除模式'|'显示钥匙数量'|'显示绿钥匙'|'显示破炸飞'|'显示毒衰咒'|'显示当前技能'|'楼梯边才能楼传'|'楼传平面塔模式'|'破墙镐四方向'|'炸弹四方向'|'冰冻徽章四方向'|'铁门不需要钥匙'|'开启加点'|'开启负伤'|'夹击不超伤害值'|'循环计算临界'|'允许轻按'|'允许走到将死领域'|'允许瞬间移动'|'允许查看禁用商店'|'阻激夹域后禁用快捷商店'|'虚化前景层'|'检查控制台' - /*Global_Flag_List ['s:enableFloor','s:enableName','s:enableLv', 's:enableHPMax', 's:enableHP', 's:enableMana', 's:enableAtk', 's:enableDef', 's:enableMDef', 's:enableMoney', 's:enableExperience', 's:enableLevelUp', 's:levelUpLeftMode', 's:enableKeys', 's:enableGreenKey', 's:enablePZF', 's:enableDebuff', 's:enableSkill', 'flyNearStair', 'flyRecordPosition', 'pickaxeFourDirections', 'bombFourDirections', 'snowFourDirections', 'steelDoorWithoutKey', 'enableAddPoint', 'enableNegativeDamage', 'betweenAttackMax', 'useLoop', 'enableGentleClick', 'canGoDeadZone', 'enableMoveDirectly', 'enableDisabledShop', 'disableShopOnDamage', 'blurFg']*/; + : '显示当前楼层'|'显示勇士图标'|'显示当前等级'|'启用生命上限'|'显示生命值'|'显示魔力值'|'显示攻击力'|'显示防御力'|'显示护盾值'|'显示金币值'|'显示经验值'|'允许等级提升'|'升级扣除模式'|'显示钥匙数量'|'显示绿钥匙'|'显示破炸飞'|'显示毒衰咒'|'显示当前技能'|'楼梯边才能楼传'|'楼传平面塔模式'|'破墙镐四方向'|'炸弹四方向'|'冰冻徽章四方向'|'铁门不需要钥匙'|'开启加点'|'开启负伤'|'夹击不超伤害值'|'循环计算临界'|'允许轻按'|'允许走到将死领域'|'允许瞬间移动'|'允许查看禁用商店'|'阻激夹域后禁用快捷商店'|'虚化前景层'|'检查控制台' + /*Global_Flag_List ['s:enableFloor','s:enableName','s:enableLv', 's:enableHPMax', 's:enableHP', 's:enableMana', 's:enableAtk', 's:enableDef', 's:enableMDef', 's:enableMoney', 's:enableExp', 's:enableLevelUp', 's:levelUpLeftMode', 's:enableKeys', 's:enableGreenKey', 's:enablePZF', 's:enableDebuff', 's:enableSkill', 'flyNearStair', 'flyRecordPosition', 'pickaxeFourDirections', 'bombFourDirections', 'snowFourDirections', 'steelDoorWithoutKey', 'enableAddPoint', 'enableNegativeDamage', 'betweenAttackMax', 'useLoop', 'enableGentleClick', 'canGoDeadZone', 'enableMoveDirectly', 'enableDisabledShop', 'disableShopOnDamage', 'blurFg']*/; Colour : 'sdeirughvuiyasdeb'+ //为了被识别为复杂词法规则 @@ -2791,8 +2791,8 @@ IdString ; FixedId_List - : '生命'|'攻击'|'防御'|'魔防'|'黄钥匙'|'蓝钥匙'|'红钥匙'|'金币'|'经验' - /*FixedId_List ['status:hp','status:atk','status:def','status:mdef','item:yellowKey','item:blueKey','item:redKey','status:money','status:experience']*/; + : '生命'|'攻击'|'防御'|'护盾'|'黄钥匙'|'蓝钥匙'|'红钥匙'|'金币'|'经验' + /*FixedId_List ['status:hp','status:atk','status:def','status:mdef','item:yellowKey','item:blueKey','item:redKey','status:money','status:exp']*/; Id_List : '变量' | '状态' | '物品' | '独立开关' | '全局存储' @@ -2800,7 +2800,7 @@ Id_List EnemyId_List : '生命'|'攻击'|'防御'|'金币'|'经验'|'加点'|'属性'|'名称'|'映射名'|'value'|'atkValue'|'defValue'|'notBomb'|'zoneSquare'|'range'|'n'|'add'|'damage' - /*EnemyId_List ['hp','atk','def','money','experience','point','special','name','displayInBook','value','atkValue','defValue','notBomb','zoneSquare','range','n','add','damage']*/; + /*EnemyId_List ['hp','atk','def','money','exp','point','special','name','displayInBook','value','atkValue','defValue','notBomb','zoneSquare','range','n','add','damage']*/; //转blockly后不保留需要加" EvalString @@ -3900,11 +3900,11 @@ MotaActionFunctions.pattern.replaceStatusList = [ ["lv", "等级"], ["atk", "攻击"], ["def", "防御"], - ["mdef", "魔防"], + ["mdef", "护盾"], ["manamax", "魔力上限"], ["mana", "魔力"], ["money", "金币"], - ["experience", "经验"], + ["exp", "经验"], ["steps", "步数"], ]; @@ -3965,7 +3965,7 @@ MotaActionFunctions.pattern.replaceEnemyList = [ ["atk", "攻击"], ["def", "防御"], ["money", "金币"], - ["experience", "经验"], + ["exp", "经验"], ["point", "加点"], ["special", "属性"], ]; diff --git a/_server/css/editor_mode.css b/_server/css/editor_mode.css index a9ee3bcf..16c46f6e 100644 --- a/_server/css/editor_mode.css +++ b/_server/css/editor_mode.css @@ -150,11 +150,11 @@ } .etable tr > :nth-child(1) { - width: 17% + width: 20% } .etable tr > :nth-child(2) { - width: 23% + width: 20% } .etable tr > :nth-child(3) { diff --git a/_server/editor_blockly.js b/_server/editor_blockly.js index 12c70b63..3bd99924 100644 --- a/_server/editor_blockly.js +++ b/_server/editor_blockly.js @@ -928,7 +928,7 @@ function omitedcheckUpdateFunction(event) { if (index2 >= 0) { before = content.substring(0, index2); if (before.endsWith("怪物") || (ch == ':' && ch2 == ':' && before.endsWith("enemy"))) { - var list = ["name", "hp", "atk", "def", "money", "experience", "point", "special"]; + var list = ["name", "hp", "atk", "def", "money", "exp", "point", "special"]; if (before.endsWith("怪物") && MotaActionFunctions) { list = MotaActionFunctions.pattern.replaceEnemyList.map(function (v) { return v[1]; diff --git a/_server/table/comment.js b/_server/table/comment.js index 57b321bc..3129e109 100644 --- a/_server/table/comment.js +++ b/_server/table/comment.js @@ -51,7 +51,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_docs": "道具的装备属性", - "_data": "装备属性设置,仅对cls为equips有效。\n如果此项不为null,需要是一个对象,里面可含\"type\",\"atk\",\"def\",\"mdef\",\"animate\"五项,分别对应装备部位、攻防魔防和动画。\n具体详见文档(元件说明-装备)和已有的几个装备的写法。" + "_data": "装备属性设置,仅对cls为equips有效。\n如果此项不为null,需要是一个对象,里面可含\"type\",\"atk\",\"def\",\"mdef\",\"animate\"五项,分别对应装备部位、攻防护盾和动画。\n具体详见文档(元件说明-装备)和已有的几个装备的写法。" }, "hideInReplay": { "_leaf": true, @@ -150,7 +150,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_data": "金币" }, - "experience": { + "exp": { "_leaf": true, "_type": "textarea", "_data": "经验" @@ -228,7 +228,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { } } }, - "enemys_template": { 'name': '新敌人', 'hp': 0, 'atk': 0, 'def': 0, 'money': 0, 'experience': 0, 'point': 0, 'special': 0 }, + "enemys_template": { 'name': '新敌人', 'hp': 0, 'atk': 0, 'def': 0, 'money': 0, 'exp': 0, 'point': 0, 'special': 0 }, // --------------------------- 【图块属性】相关的表格配置 --------------------------- // diff --git a/_server/table/data.comment.js b/_server/table/data.comment.js index d2779ce5..f2e96178 100644 --- a/_server/table/data.comment.js +++ b/_server/table/data.comment.js @@ -249,14 +249,14 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "mdef": { "_leaf": true, "_type": "textarea", - "_data": "初始魔防" + "_data": "初始护盾" }, "money": { "_leaf": true, "_type": "textarea", "_data": "初始金币" }, - "experience": { + "exp": { "_leaf": true, "_type": "textarea", "_data": "初始经验" @@ -409,7 +409,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_docs": "绿宝石效果", - "_data": "绿宝石加魔防的数值" + "_data": "绿宝石加护盾的数值" }, "redPotion": { "_leaf": true, @@ -451,7 +451,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_docs": "净化比例", - "_data": "净化的比例(战斗前,怪物附加勇士魔防的x倍作为伤害)" + "_data": "净化的比例(战斗前,怪物附加勇士护盾的x倍作为伤害)" }, "hatred": { "_leaf": true, @@ -505,7 +505,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "enableDef", "enableMDef", "enableMoney", - "enableExperience", + "enableExp", "enableLevelUp", "levelUpLeftMode", "enableKeys", diff --git a/editor-mobile.html b/editor-mobile.html index c97cf6b2..784302b5 100644 --- a/editor-mobile.html +++ b/editor-mobile.html @@ -471,9 +471,9 @@

-
- -

+
+ +

diff --git a/editor.html b/editor.html index b1cbd95f..d82f8236 100644 --- a/editor.html +++ b/editor.html @@ -453,9 +453,9 @@

-
- -

+
+ +

diff --git a/extensions/dynamicMapEditor.js b/extensions/dynamicMapEditor.js index a06e7f70..83690a51 100644 --- a/extensions/dynamicMapEditor.js +++ b/extensions/dynamicMapEditor.js @@ -359,7 +359,7 @@ dynamicMapEditor.prototype.refreshToolBox = function() { core.formatBigNumber(core.getRealStatus("mdef"), true); core.fillText(this.canvas, text1, this.offsetX + 60, 380, '#FF7F00', 120); var text2 = core.formatBigNumber(core.getRealStatus('money', true)) + "/" + - core.formatBigNumber(core.getRealStatus('experience'), true) + "/" + + core.formatBigNumber(core.getRealStatus('exp'), true) + "/" + core.itemCount('yellowKey') + '/' + core.itemCount('blueKey') + '/' + core.itemCount('redKey'); core.fillText(this.canvas, text2, this.offsetX + 60, 395, '#FF7F00', 120); @@ -396,7 +396,7 @@ dynamicMapEditor.prototype.showHelp = function (fromButton) { text += " - [ 键将开关此模式;\n - ] 键将会把改动保存到文件;\n - \\ 键将撤销上步操作。\n"; text += " - Alt+0~9 保存当前图块 \n - 0~9 读取当前图块\n"; text += "最下面三行数据分别是:\n" - text += "血攻防魔防;金经黄蓝红;破炸飞和debuff。"; + text += "血攻防护盾;金经黄蓝红;破炸飞和debuff。"; if (!fromButton) text += "\n\n点取消将不再提示本页面。"; core.myconfirm(text, null, function () { if (!fromButton) core.setLocalStorage("_dynamicMapEditor_help", true); diff --git a/index.html b/index.html index 3e6f7c43..a8128fc7 100644 --- a/index.html +++ b/index.html @@ -111,9 +111,9 @@

-
- -

+
+ +

diff --git a/libs/control.js b/libs/control.js index 391a9f9c..a0a3d27a 100644 --- a/libs/control.js +++ b/libs/control.js @@ -389,7 +389,7 @@ control.prototype._initStatistics = function (totalTime) { 'hp': 0, "battle": 0, 'money': 0, - 'experience': 0, + 'exp': 0, 'battleDamage': 0, 'poisonDamage': 0, 'extraDamage': 0, @@ -1995,7 +1995,6 @@ control.prototype._updateFavoriteSaves = function () { ////// 设置勇士属性 ////// control.prototype.setStatus = function (name, value) { if (!core.status.hero) return; - if (name == 'exp') name = 'experience'; if (name == 'x' || name == 'y' || name == 'direction') this.setHeroLoc(name, value); else @@ -2012,7 +2011,6 @@ control.prototype.getStatus = function (name) { if (!core.status.hero) return null; if (name == 'x' || name == 'y' || name == 'direction') return this.getHeroLoc(name); - if (name == 'exp') name = 'experience'; return core.status.hero[name]; } @@ -2625,7 +2623,7 @@ control.prototype._shouldDisplayStatus = function(id) { case 'def': return obj.enableDef; case 'mdef': return obj.enableMDef; case 'money': return obj.enableMoney; - case 'experience': return obj.enableExperience && !obj.levelUpLeftMode; + case 'exp': return obj.enableExp && !obj.levelUpLeftMode; case 'up': return obj.enableLevelUp; case 'skill': return obj.enableSkill; case 'key': return obj.enableKeys; diff --git a/libs/events.js b/libs/events.js index fea5a77e..7462c7da 100644 --- a/libs/events.js +++ b/libs/events.js @@ -183,7 +183,7 @@ events.prototype._gameOver_doUpload = function (username, ending, norank) { formData.append('def', core.status.hero.def); formData.append('mdef', core.status.hero.mdef); formData.append('money', core.status.hero.money); - formData.append('experience', core.status.hero.experience); + formData.append('experience', core.status.hero.exp); formData.append('steps', core.status.hero.steps); formData.append('norank', norank ? 1 : 0); formData.append('seed', core.getFlag('__seed__')); @@ -2976,10 +2976,10 @@ events.prototype._checkLvUp_check = function () { var next = (core.firstData.levelUp[core.status.hero.lv] || {}); var need = core.calValue(next.need); if (need == null) return null; - if (core.status.hero.experience >= need) { + if (core.status.hero.exp >= need) { // 升级 core.status.hero.lv++; - if (next.clear) core.status.hero.experience -= need; + if (next.clear) core.status.hero.exp -= need; return next.action || []; } return null; @@ -2996,30 +2996,3 @@ events.prototype.tryUseItem = function (itemId) { if (core.canUseItem(itemId)) core.useItem(itemId); else core.drawTip("当前无法使用" + core.material.items[itemId].name); } - -////// 上传当前数据 ////// -events.prototype._uploadCurrent = function (username) { - var formData = new FormData(); - - formData.append('type', 'score'); - formData.append('name', core.firstData.name); - formData.append('version', core.firstData.version); - formData.append('platform', core.platform.string); - formData.append('hard', core.encodeBase64(core.status.hard)); - formData.append('username', core.encodeBase64(username || "current")); - formData.append('lv', core.status.hero.lv); - formData.append('hp', Math.min(core.status.hero.hp, Math.pow(2, 63))); - formData.append('atk', core.status.hero.atk); - formData.append('def', core.status.hero.def); - formData.append('mdef', core.status.hero.mdef); - formData.append('money', core.status.hero.money); - formData.append('experience', core.status.hero.experience); - formData.append('steps', core.status.hero.steps); - formData.append('seed', core.getFlag('__seed__')); - formData.append('totalTime', Math.floor(core.status.hero.statistics.totalTime / 1000)); - formData.append('route', core.encodeRoute(core.status.route)); - formData.append('deler', 'current'); - formData.append('base64', 1); - - core.http("POST", "/games/upload.php", formData); -} diff --git a/libs/ui.js b/libs/ui.js index b102dd03..965d4b80 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -1764,7 +1764,7 @@ ui.prototype._drawBook_drawRow2 = function (index, enemy, top, left, width, posi var second_line = []; if (core.flags.statusBarItems.indexOf('enableMoney')>=0) second_line.push(["金币", core.formatBigNumber(enemy.money || 0)]); if (core.flags.enableAddPoint) second_line.push(["加点", core.formatBigNumber(enemy.point || 0)]); - if (core.flags.statusBarItems.indexOf('enableExperience')>=0) second_line.push(["经验", core.formatBigNumber(enemy.experience || 0)]); + if (core.flags.statusBarItems.indexOf('enableExp')>=0) second_line.push(["经验", core.formatBigNumber(enemy.exp || 0)]); var damage_offset = col1 + (this.PIXEL - col1) / 2 - 12; // 第一列 @@ -2046,7 +2046,7 @@ ui.prototype.drawShop = function (shopId) { var times = shop.times, need=core.calValue(shop.need, null, null, times); var content = "\t["+shop.name+","+shop.icon+"]" + core.replaceText(shop.text, null, need, times); - var use = shop.use=='experience'?'经验':'金币'; + var use = shop.use=='exp'?'经验':'金币'; var choices = []; for (var i=0;i=0?(",中毒伤害"+core.formatBigNumber(statistics.poisonDamage)+"点"):"") @@ -2686,7 +2686,7 @@ ui.prototype._drawStatistics_buildObj = function () { }); var obj = { 'monster': { - 'count': 0, 'money': 0, 'experience': 0, 'point': 0, + 'count': 0, 'money': 0, 'exp': 0, 'point': 0, }, 'count': cnt, 'add': { @@ -2723,7 +2723,7 @@ ui.prototype._drawStatistics_floorId = function (floorId, obj) { ui.prototype._drawStatistics_enemy = function (floorId, id, obj) { var enemy = core.material.enemys[id]; this._drawStatistics_add(floorId, obj, 'monster', 'money', enemy.money); - this._drawStatistics_add(floorId, obj, 'monster', 'experience', enemy.experience); + this._drawStatistics_add(floorId, obj, 'monster', 'exp', enemy.exp); this._drawStatistics_add(floorId, obj, 'monster', 'point', enemy.point); this._drawStatistics_add(floorId, obj, 'monster', 'count', 1); } @@ -2752,7 +2752,7 @@ ui.prototype._drawStatistics_items = function (floorId, floor, id, obj) { var t = ""; if (atk > 0) t += atk + "攻"; if (def > 0) t += def + "防"; - if (mdef > 0) t += mdef + "魔防"; + if (mdef > 0) t += mdef + "护盾"; if (t != "") obj.ext[id] = t; } this._drawStatistics_add(floorId, obj, 'count', id, 1); @@ -2766,7 +2766,7 @@ ui.prototype._drawStatistics_generateText = function (obj, type, data) { var text = type+"地图中:\n"; text += "共有怪物"+data.monster.count+"个"; if (core.flags.statusBarItems.indexOf('enableMoney')>=0) text+=",总金币数"+data.monster.money; - if (core.flags.statusBarItems.indexOf('enableExperience')>=0) text+=",总经验数"+data.monster.experience; + if (core.flags.statusBarItems.indexOf('enableExp')>=0) text+=",总经验数"+data.monster.exp; if (core.flags.enableAddPoint) text+=",总加点数"+data.monster.point; text+="。\n"; @@ -2789,7 +2789,7 @@ ui.prototype._drawStatistics_generateText = function (obj, type, data) { text+="\n\n"; text+="共加生命值"+core.formatBigNumber(data.add.hp)+"点,攻击" +core.formatBigNumber(data.add.atk)+"点,防御" - +core.formatBigNumber(data.add.def)+"点,魔防" + +core.formatBigNumber(data.add.def)+"点,护盾" +core.formatBigNumber(data.add.mdef)+"点。"; return text; } diff --git a/main.js b/main.js index a7da4598..74da7a29 100644 --- a/main.js +++ b/main.js @@ -61,7 +61,7 @@ function main() { 'defCol': document.getElementById('defCol'), 'mdefCol': document.getElementById('mdefCol'), 'moneyCol': document.getElementById('moneyCol'), - 'experienceCol': document.getElementById('experienceCol'), + 'expCol': document.getElementById('expCol'), 'upCol': document.getElementById('upCol'), 'keyCol': document.getElementById('keyCol'), 'pzfCol': document.getElementById('pzfCol'), @@ -100,7 +100,7 @@ function main() { 'def': document.getElementById("img-def"), 'mdef': document.getElementById("img-mdef"), 'money': document.getElementById("img-money"), - 'experience': document.getElementById("img-experience"), + 'exp': document.getElementById("img-exp"), 'up': document.getElementById("img-up"), 'skill': document.getElementById('img-skill'), 'book': document.getElementById("img-book"), @@ -130,7 +130,7 @@ function main() { 'def': 5, 'mdef': 6, 'money': 7, - 'experience': 8, + 'exp': 8, 'up': 9, 'book': 10, 'fly': 11, @@ -168,7 +168,7 @@ function main() { 'def': document.getElementById("def"), 'mdef': document.getElementById('mdef'), 'money': document.getElementById("money"), - 'experience': document.getElementById("experience"), + 'exp': document.getElementById("exp"), 'up': document.getElementById('up'), 'skill': document.getElementById('skill'), 'yellowKey': document.getElementById("yellowKey"), diff --git a/project/data.js b/project/data.js index 7d1a669c..d048aad3 100644 --- a/project/data.js +++ b/project/data.js @@ -91,7 +91,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "def": 100, "mdef": 0, "money": 0, - "experience": 0, + "exp": 0, "equipment": [], "items": { "constants": {}, @@ -322,7 +322,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "textInList": "1F经验商店", "commonTimes": false, "mustEnable": false, - "use": "experience", + "use": "exp", "need": "-1", "text": "勇敢的武士啊,给我若干经验就可以:", "choices": [ diff --git a/project/enemys.js b/project/enemys.js index 680dc953..9a203006 100644 --- a/project/enemys.js +++ b/project/enemys.js @@ -1,67 +1,67 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 = { - "greenSlime": {"name":"绿头怪","hp":100,"atk":120,"def":0,"money":1,"experience":1,"point":0,"special":[1,5,7,8]}, - "redSlime": {"name":"红头怪","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":[16,18],"value":10}, - "blackSlime": {"name":"青头怪","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "slimelord": {"name":"怪王","hp":100,"atk":120,"def":0,"money":10,"experience":0,"point":0,"special":[1,9]}, - "bat": {"name":"小蝙蝠","hp":100,"atk":120,"def":0,"money":2,"experience":0,"point":0,"special":1}, - "bigBat": {"name":"大蝙蝠","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "redBat": {"name":"红蝙蝠","hp":100,"atk":120,"def":0,"money":5,"experience":0,"point":0,"special":4}, - "vampire": {"name":"冥灵魔王","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "skeleton": {"name":"骷髅人","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "skeletonSoilder": {"name":"骷髅士兵","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "skeletonCaptain": {"name":"骷髅队长","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "ghostSkeleton": {"name":"冥队长","hp":100,"atk":120,"def":0,"money":8,"experience":0,"point":0,"special":7}, - "zombie": {"name":"兽人","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "zombieKnight": {"name":"兽人武士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "rock": {"name":"石头人","hp":100,"atk":120,"def":0,"money":4,"experience":0,"point":0,"special":3}, - "slimeMan": {"name":"影子战士","hp":100,"atk":0,"def":0,"money":11,"experience":0,"point":0,"special":[10,21],"atkValue":2,"defValue":3}, - "bluePriest": {"name":"初级法师","hp":100,"atk":120,"def":0,"money":3,"experience":0,"point":1,"special":2}, - "redPriest": {"name":"高级法师","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "brownWizard": {"name":"初级巫师","hp":100,"atk":120,"def":0,"money":16,"experience":0,"point":0,"special":15,"value":100,"range":2}, - "redWizard": {"name":"高级巫师","hp":1000,"atk":1200,"def":0,"money":160,"experience":0,"point":0,"special":15,"value":200,"zoneSquare":true}, - "yellowGuard": {"name":"初级卫兵","hp":100,"atk":120,"def":0,"money":10,"experience":0,"point":0,"special":0}, - "blueGuard": {"name":"中级卫兵","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "redGuard": {"name":"高级卫兵","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "swordsman": {"name":"双手剑士","hp":100,"atk":120,"def":0,"money":6,"experience":0,"point":0,"special":[5,23]}, - "soldier": {"name":"冥战士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "yellowKnight": {"name":"金骑士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "redKnight": {"name":"红骑士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "darkKnight": {"name":"黑骑士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "blackKing": {"name":"黑衣魔王","hp":1000,"atk":500,"def":0,"money":1000,"experience":1000,"point":0,"special":0,"notBomb":true}, - "yellowKing": {"name":"黄衣魔王","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "greenKing": {"name":"青衣武士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "blueKnight": {"name":"蓝骑士","hp":100,"atk":120,"def":0,"money":9,"experience":0,"point":0,"special":8}, - "goldSlime": {"name":"黄头怪","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "poisonSkeleton": {"name":"紫骷髅","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "poisonBat": {"name":"紫蝙蝠","hp":100,"atk":120,"def":0,"money":14,"experience":0,"point":0,"special":13}, - "steelRock": {"name":"铁面人","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "skeletonPriest": {"name":"骷髅法师","hp":100,"atk":100,"def":0,"money":0,"experience":0,"point":0,"special":18,"value":20}, - "skeletonKing": {"name":"骷髅王","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "skeletonWizard": {"name":"骷髅巫师","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "redSkeletonCaption": {"name":"骷髅武士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "badHero": {"name":"迷失勇者","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "demon": {"name":"魔神武士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "demonPriest": {"name":"魔神法师","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "goldHornSlime": {"name":"金角怪","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "redKing": {"name":"红衣魔王","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "whiteKing": {"name":"白衣武士","hp":100,"atk":120,"def":0,"money":17,"experience":0,"point":0,"special":16}, - "blackMagician": {"name":"黑暗大法师","hp":100,"atk":120,"def":0,"money":12,"experience":0,"point":0,"special":11,"value":0.3333333333333333,"add":true,"notBomb":true}, - "silverSlime": {"name":"银头怪","hp":100,"atk":120,"def":0,"money":15,"experience":0,"point":0,"special":14}, - "swordEmperor": {"name":"剑圣","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "whiteHornSlime": {"name":"尖角怪","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "badPrincess": {"name":"痛苦魔女","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "badFairy": {"name":"黑暗仙子","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "grayPriest": {"name":"中级法师","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "redSwordsman": {"name":"剑王","hp":100,"atk":120,"def":0,"money":7,"experience":0,"point":0,"special":6,"n":8}, - "whiteGhost": {"name":"水银战士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "poisonZombie": {"name":"绿兽人","hp":100,"atk":120,"def":0,"money":13,"experience":0,"point":0,"special":12}, - "magicDragon": {"name":"魔龙","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "octopus": {"name":"血影","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "darkFairy": {"name":"仙子","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "greenKnight": {"name":"强盾骑士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "angel": {"name":"天使","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "elemental": {"name":"元素生物","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}, - "steelGuard": {"name":"铁守卫","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":18,"value":20}, - "evilBat": {"name":"邪恶蝙蝠","hp":1000,"atk":1,"def":0,"money":0,"experience":0,"point":0,"special":[2,3]} + "greenSlime": {"name":"绿头怪","hp":100,"atk":120,"def":0,"money":1,"exp":1,"point":0,"special":[1,5,7,8]}, + "redSlime": {"name":"红头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[16,18],"value":10}, + "blackSlime": {"name":"青头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "slimelord": {"name":"怪王","hp":100,"atk":120,"def":0,"money":10,"exp":0,"point":0,"special":[1,9]}, + "bat": {"name":"小蝙蝠","hp":100,"atk":120,"def":0,"money":2,"exp":0,"point":0,"special":1}, + "bigBat": {"name":"大蝙蝠","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "redBat": {"name":"红蝙蝠","hp":100,"atk":120,"def":0,"money":5,"exp":0,"point":0,"special":4}, + "vampire": {"name":"冥灵魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "skeleton": {"name":"骷髅人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "skeletonSoilder": {"name":"骷髅士兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "skeletonCaptain": {"name":"骷髅队长","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "ghostSkeleton": {"name":"冥队长","hp":100,"atk":120,"def":0,"money":8,"exp":0,"point":0,"special":7}, + "zombie": {"name":"兽人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "zombieKnight": {"name":"兽人武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "rock": {"name":"石头人","hp":100,"atk":120,"def":0,"money":4,"exp":0,"point":0,"special":3}, + "slimeMan": {"name":"影子战士","hp":100,"atk":0,"def":0,"money":11,"exp":0,"point":0,"special":[10,21],"atkValue":2,"defValue":3}, + "bluePriest": {"name":"初级法师","hp":100,"atk":120,"def":0,"money":3,"exp":0,"point":1,"special":2}, + "redPriest": {"name":"高级法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "brownWizard": {"name":"初级巫师","hp":100,"atk":120,"def":0,"money":16,"exp":0,"point":0,"special":15,"value":100,"range":2}, + "redWizard": {"name":"高级巫师","hp":1000,"atk":1200,"def":0,"money":160,"exp":0,"point":0,"special":15,"value":200,"zoneSquare":true}, + "yellowGuard": {"name":"初级卫兵","hp":100,"atk":120,"def":0,"money":10,"exp":0,"point":0,"special":0}, + "blueGuard": {"name":"中级卫兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "redGuard": {"name":"高级卫兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "swordsman": {"name":"双手剑士","hp":100,"atk":120,"def":0,"money":6,"exp":0,"point":0,"special":[5,23]}, + "soldier": {"name":"冥战士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "yellowKnight": {"name":"金骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "redKnight": {"name":"红骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "darkKnight": {"name":"黑骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "blackKing": {"name":"黑衣魔王","hp":1000,"atk":500,"def":0,"money":1000,"exp":1000,"point":0,"special":0,"notBomb":true}, + "yellowKing": {"name":"黄衣魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "greenKing": {"name":"青衣武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "blueKnight": {"name":"蓝骑士","hp":100,"atk":120,"def":0,"money":9,"exp":0,"point":0,"special":8}, + "goldSlime": {"name":"黄头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "poisonSkeleton": {"name":"紫骷髅","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "poisonBat": {"name":"紫蝙蝠","hp":100,"atk":120,"def":0,"money":14,"exp":0,"point":0,"special":13}, + "steelRock": {"name":"铁面人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "skeletonPriest": {"name":"骷髅法师","hp":100,"atk":100,"def":0,"money":0,"exp":0,"point":0,"special":18,"value":20}, + "skeletonKing": {"name":"骷髅王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "skeletonWizard": {"name":"骷髅巫师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "redSkeletonCaption": {"name":"骷髅武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "badHero": {"name":"迷失勇者","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "demon": {"name":"魔神武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "demonPriest": {"name":"魔神法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "goldHornSlime": {"name":"金角怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "redKing": {"name":"红衣魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "whiteKing": {"name":"白衣武士","hp":100,"atk":120,"def":0,"money":17,"exp":0,"point":0,"special":16}, + "blackMagician": {"name":"黑暗大法师","hp":100,"atk":120,"def":0,"money":12,"exp":0,"point":0,"special":11,"value":0.3333333333333333,"add":true,"notBomb":true}, + "silverSlime": {"name":"银头怪","hp":100,"atk":120,"def":0,"money":15,"exp":0,"point":0,"special":14}, + "swordEmperor": {"name":"剑圣","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "whiteHornSlime": {"name":"尖角怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "badPrincess": {"name":"痛苦魔女","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "badFairy": {"name":"黑暗仙子","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "grayPriest": {"name":"中级法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "redSwordsman": {"name":"剑王","hp":100,"atk":120,"def":0,"money":7,"exp":0,"point":0,"special":6,"n":8}, + "whiteGhost": {"name":"水银战士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "poisonZombie": {"name":"绿兽人","hp":100,"atk":120,"def":0,"money":13,"exp":0,"point":0,"special":12}, + "magicDragon": {"name":"魔龙","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "octopus": {"name":"血影","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "darkFairy": {"name":"仙子","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "greenKnight": {"name":"强盾骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "angel": {"name":"天使","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "elemental": {"name":"元素生物","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, + "steelGuard": {"name":"铁守卫","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":18,"value":20}, + "evilBat": {"name":"邪恶蝙蝠","hp":1000,"atk":1,"def":0,"money":0,"exp":0,"point":0,"special":[2,3]} } \ No newline at end of file diff --git a/project/floors/sample1.js b/project/floors/sample1.js index 69621071..5149304d 100644 --- a/project/floors/sample1.js +++ b/project/floors/sample1.js @@ -380,7 +380,7 @@ main.floors.sample1= }, { "type": "setValue", - "name": "status:experience", + "name": "status:exp", "operator": "+=", "value": "1000" }, @@ -402,7 +402,7 @@ main.floors.sample1= "operator": "+=", "value": "3" }, - "\t[老人,man]status:xxx 代表勇士的某个属性。\n其中xxx可取hp, atk, def, mdef, money,experience这几项。\n\nitem:xxx 代表勇士的某个道具的个数。\nxxx为道具ID,具体可参见items.js中的定义。\n\nflag:xxx 代表某个自定义Flag或变量。\nxxx为Flag/变量名,可以自行定义,由字母、数字和下划线组成。\n未定义过而直接取用的Flag默认值为false。", + "\t[老人,man]status:xxx 代表勇士的某个属性。\n其中xxx可取hp, atk, def, mdef, money,exp这几项。\n\nitem:xxx 代表勇士的某个道具的个数。\nxxx为道具ID,具体可参见items.js中的定义。\n\nflag:xxx 代表某个自定义Flag或变量。\nxxx为Flag/变量名,可以自行定义,由字母、数字和下划线组成。\n未定义过而直接取用的Flag默认值为false。", "\t[老人,man]你现在可以重新和我进行对话,进一步看到属性值的改变。" ], "10,11": [ diff --git a/project/functions.js b/project/functions.js index 8942245f..195e0a0b 100644 --- a/project/functions.js +++ b/project/functions.js @@ -287,16 +287,16 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = core.status.hero.money += money; core.status.hero.statistics.money += money; - var experience = guards.reduce(function (curr, g) { - return curr + core.material.enemys[g[2]].experience; - }, enemy.experience); - if (core.hasFlag('curse')) experience = 0; - core.status.hero.experience += experience; - core.status.hero.statistics.experience += experience; + var exp = guards.reduce(function (curr, g) { + return curr + core.material.enemys[g[2]].exp; + }, enemy.exp); + if (core.hasFlag('curse')) exp = 0; + core.status.hero.exp += exp; + core.status.hero.statistics.exp += exp; var hint = "打败 " + enemy.name; if (core.flags.statusBarItems.indexOf('enableMoney')>=0) hint += ",金币+" + money; - if (core.flags.statusBarItems.indexOf('enableExperience')>=0) hint += ",经验+" + experience; + if (core.flags.statusBarItems.indexOf('enableExp')>=0) hint += ",经验+" + exp; core.drawTip(hint, enemy.id); // 事件的处理 @@ -456,7 +456,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = [6, function (enemy) { return (enemy.n || 4) + "连击"; }, function (enemy) { return "怪物每回合攻击" + (enemy.n || 4) + "次"; }], [7, "破甲", "战斗前,怪物附加角色防御的" + Math.floor(100 * core.values.breakArmor || 0) + "%作为伤害"], [8, "反击", "战斗时,怪物每回合附加角色攻击的" + Math.floor(100 * core.values.counterAttack || 0) + "%作为伤害,无视角色防御"], - [9, "净化", "战斗前,怪物附加勇士魔防的" + core.values.purify + "倍作为伤害"], + [9, "净化", "战斗前,怪物附加勇士护盾的" + core.values.purify + "倍作为伤害"], [10, "模仿", "怪物的攻防和勇士攻防相等"], [11, "吸血", function (enemy) { return "战斗前,怪物首先吸取角色的" + Math.floor(100 * enemy.value || 0) + "%生命(约" + Math.floor((enemy.value || 0) * core.getStatus('hp')) + "点)作为伤害" + (enemy.add ? ",并把伤害数值加到自身生命上" : ""); }], [12, "中毒", "战斗后,勇士陷入中毒状态,每一步损失生命" + core.values.poisonDamage + "点"], @@ -469,7 +469,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = [19, "自爆", "战斗后勇士的生命值变成1"], [20, "无敌", "勇士无法打败怪物,除非拥有十字架"], [21, "退化", function (enemy) { return "战斗后勇士永久下降" + (enemy.atkValue || 0) + "点攻击和" + (enemy.defValue || 0) + "点防御"; }], - [22, "固伤", function (enemy) { return "战斗前,怪物对勇士造成" + (enemy.damage || 0) + "点固定伤害,无视勇士魔防。"; }], + [22, "固伤", function (enemy) { return "战斗前,怪物对勇士造成" + (enemy.damage || 0) + "点固定伤害,无视勇士护盾。"; }], [23, "重生", "怪物被击败后,角色转换楼层则怪物将再次出现"], [24, "激光", function (enemy) { return "经过怪物同行或同列时自动减生命" + (enemy.value || 0) + "点"; }], [25, "光环", function (enemy) { return "同楼层所有怪物生命提升" + (enemy.value || 0) + "%,攻击提升" + (enemy.atkValue || 0) + "%,防御提升" + (enemy.defValue || 0) + "%," + (enemy.add ? "可叠加" : "不可叠加"); }], @@ -483,7 +483,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // // 参数说明: // enemy:该怪物信息 - // hero_hp,hero_atk,hero_def,hero_mdef:勇士的生命攻防魔防数据 + // hero_hp,hero_atk,hero_def,hero_mdef:勇士的生命攻防护盾数据 // x,y:该怪物的坐标(查看手册和强制战斗时为undefined) // floorId:该怪物所在的楼层 // 后面三个参数主要是可以在光环等效果上可以适用(也可以按需制作部分范围光环效果) @@ -498,7 +498,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = mon_def = enemy.def, mon_special = enemy.special; var mon_money = enemy.money, - mon_experience = enemy.experience, + mon_exp = enemy.exp, mon_point = enemy.point; // 模仿 if (core.hasSpecial(mon_special, 10)) { @@ -589,7 +589,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = "atk": Math.floor(mon_atk), "def": Math.floor(mon_def), "money": Math.floor(mon_money), - "experience": Math.floor(mon_experience), + "exp": Math.floor(mon_exp), "point": Math.floor(mon_point), "special": mon_special, "guards": guards, // 返回支援情况 @@ -637,7 +637,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = if (core.hasSpecial(mon_special, 20) && !core.hasItem("cross")) return null; // 不可战斗 - // 战前造成的额外伤害(可被魔防抵消) + // 战前造成的额外伤害(可被护盾抵消) var init_damage = 0; // 吸血 @@ -725,14 +725,14 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 最终伤害:初始伤害 + 怪物对勇士造成的伤害 + 反击伤害 var damage = init_damage + (turn - 1) * per_damage + turn * counterDamage; - // 再扣去魔防 + // 再扣去护盾 damage -= hero_mdef; // 检查是否允许负伤 if (!core.flags.enableNegativeDamage) damage = Math.max(0, damage); - // 最后处理仇恨和固伤(因为这两个不能被魔防减伤) + // 最后处理仇恨和固伤(因为这两个不能被护盾减伤) if (core.hasSpecial(mon_special, 17)) { // 仇恨 damage += core.getFlag('hatred', 0); } @@ -1022,8 +1022,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 设置等级名称 core.setStatusBarInnerHTML('lv', core.getLvName()); - // 设置生命上限、生命值、攻防魔防金币和经验值 - var statusList = ['hpmax', 'hp', 'mana', 'atk', 'def', 'mdef', 'money', 'experience']; + // 设置生命上限、生命值、攻防护盾金币和经验值 + var statusList = ['hpmax', 'hp', 'mana', 'atk', 'def', 'mdef', 'money', 'exp']; statusList.forEach(function (item) { // 向下取整 core.status.hero[item] = Math.floor(core.status.hero[item]); @@ -1052,7 +1052,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = if (core.flags.statusBarItems.indexOf('enableLevelUp')>=0 && core.status.hero.lv < core.firstData.levelUp.length) { var need = core.calValue(core.firstData.levelUp[core.status.hero.lv].need); if (core.flags.statusBarItems.indexOf('levelUpLeftMode')>=0) - core.setStatusBarInnerHTML('up', core.formatBigNumber(need - core.getStatus('experience')) || ""); + core.setStatusBarInnerHTML('up', core.formatBigNumber(need - core.getStatus('exp')) || ""); else core.setStatusBarInnerHTML('up', core.formatBigNumber(need) || ""); } else core.setStatusBarInnerHTML('up', ""); @@ -1331,7 +1331,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = // 如果是隐藏状态栏模式,直接返回 if (!core.domStyle.showStatusBar) return; - // 作为样板,只绘制楼层、生命、攻击、防御、魔防、金币、钥匙这七个内容 + // 作为样板,只绘制楼层、生命、攻击、防御、护盾、金币、钥匙这七个内容 // 需要其他的请自行进行修改;横竖屏都需要进行适配绘制。 // (可以使用Chrome浏览器开控制台来模拟手机上的竖屏模式的显示效果,具体方式自行百度) // 横屏模式下的画布大小是 129*416 diff --git a/project/items.js b/project/items.js index 645815c5..1244844e 100644 --- a/project/items.js +++ b/project/items.js @@ -32,7 +32,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = "greenJewel": { "cls": "items", "name": "绿宝石", - "text": "',魔防+${core.values.greenJewel}'" + "text": "',护盾+${core.values.greenJewel}'" }, "yellowJewel": { "cls": "items", @@ -344,7 +344,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = "itemEffectTip": { "redJewel": "',攻击+'+core.values.redJewel * ratio", "blueJewel": "',防御+'+core.values.blueJewel * ratio", - "greenJewel": "',魔防+'+core.values.greenJewel * ratio", + "greenJewel": "',护盾+'+core.values.greenJewel * ratio", "yellowJewel": "',全属性提升'", "redPotion": "',生命+'+core.values.redPotion * ratio", "bluePotion": "',生命+'+core.values.bluePotion * ratio", @@ -361,7 +361,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = "shield2": "',防御+20'", "shield3": "',防御+40'", "shield4": "',防御+80'", - "shield5": "',防御+100,魔防+100'", + "shield5": "',防御+100,护盾+100'", "bigKey": "',全钥匙+1'", "superPotion": "',生命值翻倍'", "moneyPocket": "',金币+500'" diff --git a/runtime.d.ts b/runtime.d.ts index e633c7f8..d07c908b 100644 --- a/runtime.d.ts +++ b/runtime.d.ts @@ -58,7 +58,7 @@ type Enemy = { atk: number def: number money: number - experience: number + exp: number point: number [key: string]: any } @@ -103,7 +103,7 @@ type HeroStatus = { def: number mdef: number money: number - experience: number + exp: number loc: { direction: direction x: number @@ -121,7 +121,7 @@ type HeroStatus = { battle: number battleDamage: number currTime: number - experience: number + exp: number extraDamage: number hp: number ignoreSteps: number @@ -405,7 +405,7 @@ declare class control { /** * 设置主角的某个属性 * @example core.setStatus('loc', {x : 0, y : 0, direction : 'up'}); // 设置主角位置为地图左上角,脸朝上 - * @param name 属性的英文名,其中'x'、'y'和'direction'会被特殊处理为 core.setHeroLoc(name, value),其他的('exp'被视为'experience')会直接对 core.status.hero[name] 赋值 + * @param name 属性的英文名,其中'x'、'y'和'direction'会被特殊处理为 core.setHeroLoc(name, value),其他的('exp'被视为'exp')会直接对 core.status.hero[name] 赋值 * @param value 属性的新值 */ setStatus(name: K, value: HeroStatus[K]): void @@ -421,7 +421,7 @@ declare class control { /** * 读取主角的某个属性,不包括百分比修正 * @example core.getStatus('loc'); // 读取主角的坐标和朝向 - * @param name 属性的英文名,其中'x'、'y'和'direction'会被特殊处理为 core.getHeroLoc(name),其他的('exp'被视为'experience')会直接读取 core.status.hero[name] + * @param name 属性的英文名,其中'x'、'y'和'direction'会被特殊处理为 core.getHeroLoc(name),其他的('exp'被视为'exp')会直接读取 core.status.hero[name] * @returns 属性值 */ getStatus(name: K): HeroStatus[K] @@ -831,17 +831,6 @@ declare class enemys { */ getDamage(enemy: string | Enemy, x?: number, y?: number, floorId?: string): number - /** - * 获得某只敌人的固伤加仇恨伤害 - * @example core.getExtraDamage('greenSlime',0,0,'MT0') // 绿头怪的固伤加仇恨伤害 - * @param enemy 敌人id或敌人对象 - * @param x 敌人的横坐标,可选 - * @param y 敌人的纵坐标,可选 - * @param floorId 敌人所在的地图,可选 - * @returns 伤害值,【关闭负伤】时不可被魔防抵挡 - */ - getExtraDamage(enemy: string | Enemy, x?: number, y?: number, floorId?: string): number - /** * 获得某只敌人的地图显伤,包括颜色 * @example core.getDamageString('greenSlime', 0, 0, 'MT0') // 绿头怪的地图显伤