replace experience -> exp, 魔防 -> 护盾

This commit is contained in:
ckcz123 2020-05-10 18:34:02 +08:00
parent c1b98caa55
commit 05919c836e
25 changed files with 167 additions and 216 deletions

View File

@ -99,9 +99,9 @@ core.status.hero 勇士信息此项和全塔属性中的hero大体是
core.status.hero.mana 当前魔力值 core.status.hero.mana 当前魔力值
core.status.hero.atk 当前攻击力 core.status.hero.atk 当前攻击力
core.status.hero.def 当前防御力 core.status.hero.def 当前防御力
core.status.hero.mdef 当前魔防 core.status.hero.mdef 当前护盾
core.status.hero.money 当前金币值 core.status.hero.money 当前金币值
core.status.hero.experience 当前经验值 core.status.hero.exp 当前经验值
core.status.hero.loc 当前的位置信息 core.status.hero.loc 当前的位置信息
core.status.hero.equipment 当前装上的装备 core.status.hero.equipment 当前装上的装备
core.status.hero.items 当前拥有的道具信息 core.status.hero.items 当前拥有的道具信息
@ -749,7 +749,7 @@ core.getDamage(enemy, x, y, floorId)
core.getExtraDamage(enemy, x, y, floorId) core.getExtraDamage(enemy, x, y, floorId)
获得某个怪物的额外伤害值(不可被魔防减伤)。 获得某个怪物的额外伤害值(不可被护盾减伤)。
目前暂时只包含了仇恨和固伤两者,如有需要可复写该函数。 目前暂时只包含了仇恨和固伤两者,如有需要可复写该函数。
@ -1233,7 +1233,7 @@ core.unloadEquip(equipType, callback)
core.compareEquipment(compareEquipId, beComparedEquipId) core.compareEquipment(compareEquipId, beComparedEquipId)
比较两个套装的差异。 比较两个套装的差异。
此函数将对所有的勇士属性包括生命魔力攻防魔防金币等进行比较。 此函数将对所有的勇士属性包括生命魔力攻防护盾金币等进行比较。
如果存在差异的,将作为一个对象返回其差异内容。 如果存在差异的,将作为一个对象返回其差异内容。

View File

@ -52,7 +52,7 @@ core.updateStatusBar()
core.setStatus('atk', 1000) core.setStatus('atk', 1000)
将攻击力设置为1000这里把atk可以改成hp, def, mdef, money, experience等等。 将攻击力设置为1000这里把atk可以改成hp, def, mdef, money, exp等等。
本句等价于 core.status.hero.atk = 1000 本句等价于 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) core.enemys.nextCriticals(enemyId, number, x, y, floorId)
返回一个列表为接下来number可忽略默认为1个该怪物的临界值和临界减伤。 返回一个列表为接下来number可忽略默认为1个该怪物的临界值和临界减伤。
列表每一项类似 [x,y] 表示临界值为x且临界减伤为y。 列表每一项类似 [x,y] 表示临界值为x且临界减伤为y。

View File

@ -99,9 +99,9 @@ core.status.hero 勇士信息此项和全塔属性中的hero大体是
core.status.hero.mana 当前魔力值 core.status.hero.mana 当前魔力值
core.status.hero.atk 当前攻击力 core.status.hero.atk 当前攻击力
core.status.hero.def 当前防御力 core.status.hero.def 当前防御力
core.status.hero.mdef 当前魔防 core.status.hero.mdef 当前护盾
core.status.hero.money 当前金币值 core.status.hero.money 当前金币值
core.status.hero.experience 当前经验值 core.status.hero.exp 当前经验值
core.status.hero.loc 当前的位置信息 core.status.hero.loc 当前的位置信息
core.status.hero.equipment 当前装上的装备 core.status.hero.equipment 当前装上的装备
core.status.hero.items 当前拥有的道具信息 core.status.hero.items 当前拥有的道具信息
@ -747,11 +747,6 @@ core.getDamage(enemy, x, y, floorId)
如果没有破防或无法战斗则返回null否则返回具体的伤害值。 如果没有破防或无法战斗则返回null否则返回具体的伤害值。
core.getExtraDamage(enemy, x, y, floorId)
获得某个怪物的额外伤害值(不可被魔防减伤)。
目前暂时只包含了仇恨和固伤两者,如有需要可复写该函数。
core.getDamageString(enemy, x, y, floorId) core.getDamageString(enemy, x, y, floorId)
获得某个怪物伤害字符串和颜色信息,以便于在地图上绘制显伤。 获得某个怪物伤害字符串和颜色信息,以便于在地图上绘制显伤。
@ -1232,7 +1227,7 @@ core.unloadEquip(equipType, callback)
core.compareEquipment(compareEquipId, beComparedEquipId) core.compareEquipment(compareEquipId, beComparedEquipId)
比较两个套装的差异。 比较两个套装的差异。
此函数将对所有的勇士属性包括生命魔力攻防魔防金币等进行比较。 此函数将对所有的勇士属性包括生命魔力攻防护盾金币等进行比较。
如果存在差异的,将作为一个对象返回其差异内容。 如果存在差异的,将作为一个对象返回其差异内容。

View File

@ -54,9 +54,9 @@
type为该装备的类型必填和上面装备栏一一对应。例如0就是武器2就是首饰等等。 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时有效。具体可参见[动画和天气系统](#动画和天气系统)。 animate为该装备的攻击动画仅对type为0时有效。具体可参见[动画和天气系统](#动画和天气系统)。
@ -68,9 +68,9 @@ percentage为该装备是否按比例增加属性。
{"type": 0, "atk": 10} // 装备类型是武器,效果是攻击+10使用默认的攻击动画 {"type": 0, "atk": 10} // 装备类型是武器,效果是攻击+10使用默认的攻击动画
{"type": 0, "atk": 40, "animate": "sword"} // 装备类型为武器,效果是攻击+10攻击动画是sword {"type": 0, "atk": 40, "animate": "sword"} // 装备类型为武器,效果是攻击+10攻击动画是sword
{"type": 1, "def": 40, "percentage": true} // 装备类型是防具效果是防御提升40% {"type": 1, "def": 40, "percentage": true} // 装备类型是防具效果是防御提升40%
{"type": 1, "def": 100, "mdef": 100} // 装备类型是防具,效果是防御和魔防各+100 {"type": 1, "def": 100, "mdef": 100} // 装备类型是防具,效果是防御和护盾各+100
{"type": 3, "atk": -20, "def": 50, "mdef": 50} // 装备类型是魔杖,效果是攻击-20防御和魔防各+50 {"type": 3, "atk": -20, "def": 50, "mdef": 50} // 装备类型是魔杖,效果是攻击-20防御和护盾各+50
{"type": 2, "atk": -20, "def": 50, "mdef": 50, "percentage": true} // 装备类型是魔杖效果是攻击下降20%,防御和魔防各提升50% {"type": 2, "atk": -20, "def": 50, "mdef": 50, "percentage": true} // 装备类型是魔杖效果是攻击下降20%,防御和护盾各提升50%
``` ```
所有取值全部向下取整。 所有取值全部向下取整。
@ -153,13 +153,13 @@ yellowWall, blueWall, whiteWall
怪物的特殊属性所对应的数字special在脚本编辑中的`getSpecials`中定义,请勿对已有的属性进行修改。 怪物的特殊属性所对应的数字special在脚本编辑中的`getSpecials`中定义,请勿对已有的属性进行修改。
多属性可采用数组的写法,比如`'special': [1,3]`视为同时拥有先攻和坚固属性;`'special': [5,10,14,18]`视为拥有3连击、魔防、诅咒、阻击四个属性。 多属性可采用数组的写法,比如`'special': [1,3]`视为同时拥有先攻和坚固属性;`'special': [5,10,14,18]`视为拥有3连击、模仿、诅咒、阻击四个属性。
怪物可以负伤,在全塔属性的全局变量`enableNegativeDamage`中指定。 怪物可以负伤,在全塔属性的全局变量`enableNegativeDamage`中指定。
打败怪物后可以进行加点操作。有关加点塔的制作可参见[加点事件](event#加点事件)。 打败怪物后可以进行加点操作。有关加点塔的制作可参见[加点事件](event#加点事件)。
如果全塔属性中的enableExperience为false即不启用经验的话怪物手册里将不显示怪物的经验值打败怪物也不获得任何经验。 如果全塔属性中的enableexp为false即不启用经验的话怪物手册里将不显示怪物的经验值打败怪物也不获得任何经验。
拿到幸运金币后,打怪获得的金币将翻倍。 拿到幸运金币后,打怪获得的金币将翻倍。

View File

@ -332,7 +332,7 @@
![](img/events/7.png) ![](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` 代表中心对称飞行器的个数。 - `item:xxx` 中的xxx为道具ID。所有道具的ID定义在items.js中请自行查看。例如`item:centerFly` 代表中心对称飞行器的个数。
- `flag:xxx` 中的xxx为一个自定义的变量/Flag支持中文如果没有对其进行赋值则默认值为0。 - `flag:xxx` 中的xxx为一个自定义的变量/Flag支持中文如果没有对其进行赋值则默认值为0。
- `global:xxx` 中的xxx为一个全局存储的名称支持中文如果没有对其进行赋值则默认值为0。 - `global:xxx` 中的xxx为一个全局存储的名称支持中文如果没有对其进行赋值则默认值为0。
@ -507,7 +507,7 @@ value是一个表达式将通过这个表达式计算出的结果赋值给nam
id为必填项代表要修改的怪物ID。 id为必填项代表要修改的怪物ID。
name为必填项代表要修改的项例如`hp`, `atk`, `def`, `money`, `experience`, `point`, `special`, `name` name为必填项代表要修改的项例如`hp`, `atk`, `def`, `money`, `exp`, `point`, `special`, `name`
value为必填项代表要修改到的内容。对于修改名称的必须加单引号。 value为必填项代表要修改到的内容。对于修改名称的必须加单引号。
@ -575,7 +575,7 @@ value为必填项代表要修改到的结果。该项必须是个数值。
``` js ``` js
[ [
{"type": "setGlobalFlag", "name": "enableMDef", "value": false}, // 不在状态栏显示魔防 {"type": "setGlobalFlag", "name": "enableMDef", "value": false}, // 不在状态栏显示护盾
] ]
``` ```
@ -2523,7 +2523,7 @@ if (core.flags.enableAddPoint && point > 0) {
"name": "贪婪之神", // 商店名称(标题) "name": "贪婪之神", // 商店名称(标题)
"icon": "blueShop", // 商店图标blueShop为蓝色商店pinkShop为粉色商店 "icon": "blueShop", // 商店图标blueShop为蓝色商店pinkShop为粉色商店
"textInList": "1F金币商店", // 在快捷商店栏中显示的名称 "textInList": "1F金币商店", // 在快捷商店栏中显示的名称
"use": "money", // 商店所要使用的。只能是"money"或"experience"。 "use": "money", // 商店所要使用的。只能是"money"或"exp"。
"commonTimes": true, // 是否使用全局次数 "commonTimes": true, // 是否使用全局次数
"mustEnable": false, // 如果未开启则不显示在状态栏中 "mustEnable": false, // 如果未开启则不显示在状态栏中
"need": "20+10*times*(times+1)", // 商店需要的金币/经验数值可以是一个表达式以times访问次数作为参数计算。 "need": "20+10*times*(times+1)", // 商店需要的金币/经验数值可以是一个表达式以times访问次数作为参数计算。
@ -2532,7 +2532,7 @@ if (core.flags.enableAddPoint && point > 0) {
// effect可以对statusitem和flag进行操作必须是X+=Y的形式其中Y可以是一个表达式 // effect可以对statusitem和flag进行操作必须是X+=Y的形式其中Y可以是一个表达式
{"text": "生命+800", "effect": "status:hp+=800"}, // 生命+800 {"text": "生命+800", "effect": "status:hp+=800"}, // 生命+800
{"text": "攻击+4", "need": 30, "effect": "status:atk+=4"}, // 规定具体的数值 {"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 为商店的名称(打开商店后的标题) - name 为商店的名称(打开商店后的标题)
- icon 为商店的图标在icons.js的npcs中定义。如woman可代表一个商人。 - icon 为商店的图标在icons.js的npcs中定义。如woman可代表一个商人。
- textInList 为其在快捷商店栏中显示的名称,如"3楼金币商店"等 - textInList 为其在快捷商店栏中显示的名称,如"3楼金币商店"等
- use 为消耗的类型是金币money还是经验experience)。 - use 为消耗的类型是金币money还是经验exp
- commonTimes 是否使用全局次数如果为true则可以多个快捷商店共享相同的次数 - commonTimes 是否使用全局次数如果为true则可以多个快捷商店共享相同的次数
- mustEnable 是否必须是只在开启状态才在列表显示如果此项为true则未开启的快捷商店不予显示 - mustEnable 是否必须是只在开启状态才在列表显示如果此项为true则未开启的快捷商店不予显示
- need 是一个表达式,计算商店所需要用到的数值。 - 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`来定义每一个进阶所需要的经验值,以及进阶时的效果。 同时,你还需要在`data.js`中的`levelUp`来定义每一个进阶所需要的经验值,以及进阶时的效果。

View File

@ -695,7 +695,7 @@ if (core.flags.statusBarItems.indexOf('enableSkill')>=0) {
- **`flag:heroIcon`**: 当前的勇士行走图名称。 - **`flag:heroIcon`**: 当前的勇士行走图名称。
- **`flag:saveEquips`**: 快速换装时保存的套装。 - **`flag:saveEquips`**: 快速换装时保存的套装。
- **`flag:__visited__`**: 当前访问过的楼层。 - **`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:__color__`**, **`flag:__weather__`**, **`flag:__volume__`**: 当前的画面色调、天气和音量。
- **`flag:__events__`**: 当前保存的事件列表,读档时会恢复(适用于在事件中存档) - **`flag:__events__`**: 当前保存的事件列表,读档时会恢复(适用于在事件中存档)
- **`flag:textAttribute`**, **`flag:globalAttribute`**, **`flag:globalFlags`**: 当前的剧情文本属性,当前的全局属性,当前的全局开关。 - **`flag:textAttribute`**, **`flag:globalAttribute`**, **`flag:globalFlags`**: 当前的剧情文本属性,当前的全局属性,当前的全局开关。

View File

@ -2697,7 +2697,7 @@ TextBaseline_List
ShopUse_List ShopUse_List
: '金币' | '经验' : '金币' | '经验'
/*ShopUse_List ['money','experience']*/; /*ShopUse_List ['money','exp']*/;
Arithmetic_List Arithmetic_List
: '+'|'-'|'*'|'/'|'^'|'=='|'!='|'>'|'<'|'>='|'<='|'和'|'或' : '+'|'-'|'*'|'/'|'^'|'=='|'!='|'>'|'<'|'>='|'<='|'和'|'或'
@ -2745,8 +2745,8 @@ Global_Value_List
Global_Flag_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 Colour
: 'sdeirughvuiyasdeb'+ //为了被识别为复杂词法规则 : 'sdeirughvuiyasdeb'+ //为了被识别为复杂词法规则
@ -2791,8 +2791,8 @@ IdString
; ;
FixedId_List 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 Id_List
: '变量' | '状态' | '物品' | '独立开关' | '全局存储' : '变量' | '状态' | '物品' | '独立开关' | '全局存储'
@ -2800,7 +2800,7 @@ Id_List
EnemyId_List EnemyId_List
: '生命'|'攻击'|'防御'|'金币'|'经验'|'加点'|'属性'|'名称'|'映射名'|'value'|'atkValue'|'defValue'|'notBomb'|'zoneSquare'|'range'|'n'|'add'|'damage' : '生命'|'攻击'|'防御'|'金币'|'经验'|'加点'|'属性'|'名称'|'映射名'|'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后不保留需要加" //转blockly后不保留需要加"
EvalString EvalString
@ -3900,11 +3900,11 @@ MotaActionFunctions.pattern.replaceStatusList = [
["lv", "等级"], ["lv", "等级"],
["atk", "攻击"], ["atk", "攻击"],
["def", "防御"], ["def", "防御"],
["mdef", "魔防"], ["mdef", "护盾"],
["manamax", "魔力上限"], ["manamax", "魔力上限"],
["mana", "魔力"], ["mana", "魔力"],
["money", "金币"], ["money", "金币"],
["experience", "经验"], ["exp", "经验"],
["steps", "步数"], ["steps", "步数"],
]; ];
@ -3965,7 +3965,7 @@ MotaActionFunctions.pattern.replaceEnemyList = [
["atk", "攻击"], ["atk", "攻击"],
["def", "防御"], ["def", "防御"],
["money", "金币"], ["money", "金币"],
["experience", "经验"], ["exp", "经验"],
["point", "加点"], ["point", "加点"],
["special", "属性"], ["special", "属性"],
]; ];

View File

@ -150,11 +150,11 @@
} }
.etable tr > :nth-child(1) { .etable tr > :nth-child(1) {
width: 17% width: 20%
} }
.etable tr > :nth-child(2) { .etable tr > :nth-child(2) {
width: 23% width: 20%
} }
.etable tr > :nth-child(3) { .etable tr > :nth-child(3) {

View File

@ -928,7 +928,7 @@ function omitedcheckUpdateFunction(event) {
if (index2 >= 0) { if (index2 >= 0) {
before = content.substring(0, index2); before = content.substring(0, index2);
if (before.endsWith("怪物") || (ch == ':' && ch2 == ':' && before.endsWith("enemy"))) { 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) { if (before.endsWith("怪物") && MotaActionFunctions) {
list = MotaActionFunctions.pattern.replaceEnemyList.map(function (v) { list = MotaActionFunctions.pattern.replaceEnemyList.map(function (v) {
return v[1]; return v[1];

View File

@ -51,7 +51,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"_leaf": true, "_leaf": true,
"_type": "textarea", "_type": "textarea",
"_docs": "道具的装备属性", "_docs": "道具的装备属性",
"_data": "装备属性设置仅对cls为equips有效。\n如果此项不为null需要是一个对象里面可含\"type\"\"atk\"\"def\"\"mdef\"\"animate\"五项,分别对应装备部位、攻防魔防和动画。\n具体详见文档元件说明-装备)和已有的几个装备的写法。" "_data": "装备属性设置仅对cls为equips有效。\n如果此项不为null需要是一个对象里面可含\"type\"\"atk\"\"def\"\"mdef\"\"animate\"五项,分别对应装备部位、攻防护盾和动画。\n具体详见文档元件说明-装备)和已有的几个装备的写法。"
}, },
"hideInReplay": { "hideInReplay": {
"_leaf": true, "_leaf": true,
@ -150,7 +150,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"_type": "textarea", "_type": "textarea",
"_data": "金币" "_data": "金币"
}, },
"experience": { "exp": {
"_leaf": true, "_leaf": true,
"_type": "textarea", "_type": "textarea",
"_data": "经验" "_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 },
// --------------------------- 【图块属性】相关的表格配置 --------------------------- // // --------------------------- 【图块属性】相关的表格配置 --------------------------- //

View File

@ -249,14 +249,14 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"mdef": { "mdef": {
"_leaf": true, "_leaf": true,
"_type": "textarea", "_type": "textarea",
"_data": "初始魔防" "_data": "初始护盾"
}, },
"money": { "money": {
"_leaf": true, "_leaf": true,
"_type": "textarea", "_type": "textarea",
"_data": "初始金币" "_data": "初始金币"
}, },
"experience": { "exp": {
"_leaf": true, "_leaf": true,
"_type": "textarea", "_type": "textarea",
"_data": "初始经验" "_data": "初始经验"
@ -409,7 +409,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"_leaf": true, "_leaf": true,
"_type": "textarea", "_type": "textarea",
"_docs": "绿宝石效果", "_docs": "绿宝石效果",
"_data": "绿宝石加魔防的数值" "_data": "绿宝石加护盾的数值"
}, },
"redPotion": { "redPotion": {
"_leaf": true, "_leaf": true,
@ -451,7 +451,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"_leaf": true, "_leaf": true,
"_type": "textarea", "_type": "textarea",
"_docs": "净化比例", "_docs": "净化比例",
"_data": "净化的比例(战斗前,怪物附加勇士魔防的x倍作为伤害" "_data": "净化的比例(战斗前,怪物附加勇士护盾的x倍作为伤害"
}, },
"hatred": { "hatred": {
"_leaf": true, "_leaf": true,
@ -505,7 +505,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"enableDef", "enableDef",
"enableMDef", "enableMDef",
"enableMoney", "enableMoney",
"enableExperience", "enableExp",
"enableLevelUp", "enableLevelUp",
"levelUpLeftMode", "levelUpLeftMode",
"enableKeys", "enableKeys",

View File

@ -471,9 +471,9 @@
<img id="img-money"> <img id="img-money">
<p class='statusLabel statusText' id='money'></p> <p class='statusLabel statusText' id='money'></p>
</div> </div>
<div class="status" id="experienceCol"> <div class="status" id="expCol">
<img id="img-experience"> <img id="img-exp">
<p class='statusLabel statusText' id='experience'></p> <p class='statusLabel statusText' id='exp'></p>
</div> </div>
<div class="status" id="upCol"> <div class="status" id="upCol">
<img id="img-up"> <img id="img-up">

View File

@ -453,9 +453,9 @@
<img id="img-money"> <img id="img-money">
<p class='statusLabel statusText' id='money'></p> <p class='statusLabel statusText' id='money'></p>
</div> </div>
<div class="status" id="experienceCol"> <div class="status" id="expCol">
<img id="img-experience"> <img id="img-exp">
<p class='statusLabel statusText' id='experience'></p> <p class='statusLabel statusText' id='exp'></p>
</div> </div>
<div class="status" id="upCol"> <div class="status" id="upCol">
<img id="img-up"> <img id="img-up">

View File

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

View File

@ -111,9 +111,9 @@
<img id="img-money"> <img id="img-money">
<p class='statusLabel statusText' id='money'></p> <p class='statusLabel statusText' id='money'></p>
</div> </div>
<div class="status" id="experienceCol"> <div class="status" id="expCol">
<img id="img-experience"> <img id="img-exp">
<p class='statusLabel statusText' id='experience'></p> <p class='statusLabel statusText' id='exp'></p>
</div> </div>
<div class="status" id="upCol"> <div class="status" id="upCol">
<img id="img-up"> <img id="img-up">

View File

@ -389,7 +389,7 @@ control.prototype._initStatistics = function (totalTime) {
'hp': 0, 'hp': 0,
"battle": 0, "battle": 0,
'money': 0, 'money': 0,
'experience': 0, 'exp': 0,
'battleDamage': 0, 'battleDamage': 0,
'poisonDamage': 0, 'poisonDamage': 0,
'extraDamage': 0, 'extraDamage': 0,
@ -1995,7 +1995,6 @@ control.prototype._updateFavoriteSaves = function () {
////// 设置勇士属性 ////// ////// 设置勇士属性 //////
control.prototype.setStatus = function (name, value) { control.prototype.setStatus = function (name, value) {
if (!core.status.hero) return; if (!core.status.hero) return;
if (name == 'exp') name = 'experience';
if (name == 'x' || name == 'y' || name == 'direction') if (name == 'x' || name == 'y' || name == 'direction')
this.setHeroLoc(name, value); this.setHeroLoc(name, value);
else else
@ -2012,7 +2011,6 @@ control.prototype.getStatus = function (name) {
if (!core.status.hero) return null; if (!core.status.hero) return null;
if (name == 'x' || name == 'y' || name == 'direction') if (name == 'x' || name == 'y' || name == 'direction')
return this.getHeroLoc(name); return this.getHeroLoc(name);
if (name == 'exp') name = 'experience';
return core.status.hero[name]; return core.status.hero[name];
} }
@ -2625,7 +2623,7 @@ control.prototype._shouldDisplayStatus = function(id) {
case 'def': return obj.enableDef; case 'def': return obj.enableDef;
case 'mdef': return obj.enableMDef; case 'mdef': return obj.enableMDef;
case 'money': return obj.enableMoney; 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 'up': return obj.enableLevelUp;
case 'skill': return obj.enableSkill; case 'skill': return obj.enableSkill;
case 'key': return obj.enableKeys; case 'key': return obj.enableKeys;

View File

@ -183,7 +183,7 @@ events.prototype._gameOver_doUpload = function (username, ending, norank) {
formData.append('def', core.status.hero.def); formData.append('def', core.status.hero.def);
formData.append('mdef', core.status.hero.mdef); formData.append('mdef', core.status.hero.mdef);
formData.append('money', core.status.hero.money); 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('steps', core.status.hero.steps);
formData.append('norank', norank ? 1 : 0); formData.append('norank', norank ? 1 : 0);
formData.append('seed', core.getFlag('__seed__')); 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 next = (core.firstData.levelUp[core.status.hero.lv] || {});
var need = core.calValue(next.need); var need = core.calValue(next.need);
if (need == null) return null; if (need == null) return null;
if (core.status.hero.experience >= need) { if (core.status.hero.exp >= need) {
// 升级 // 升级
core.status.hero.lv++; core.status.hero.lv++;
if (next.clear) core.status.hero.experience -= need; if (next.clear) core.status.hero.exp -= need;
return next.action || []; return next.action || [];
} }
return null; return null;
@ -2996,30 +2996,3 @@ events.prototype.tryUseItem = function (itemId) {
if (core.canUseItem(itemId)) core.useItem(itemId); if (core.canUseItem(itemId)) core.useItem(itemId);
else core.drawTip("当前无法使用" + core.material.items[itemId].name); 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);
}

View File

@ -1764,7 +1764,7 @@ ui.prototype._drawBook_drawRow2 = function (index, enemy, top, left, width, posi
var second_line = []; var second_line = [];
if (core.flags.statusBarItems.indexOf('enableMoney')>=0) second_line.push(["金币", core.formatBigNumber(enemy.money || 0)]); 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.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; 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 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 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 = []; var choices = [];
for (var i=0;i<shop.choices.length;i++) { for (var i=0;i<shop.choices.length;i++) {
var choice = shop.choices[i]; var choice = shop.choices[i];
@ -2410,7 +2410,7 @@ ui.prototype._drawEquipbox_drawStatusChanged = function (info, y, equip, equipTy
ui.prototype._drawEquipbox_getStatusName = function (name) { ui.prototype._drawEquipbox_getStatusName = function (name) {
var map = { var map = {
name: "名称", lv: "等级", hpmax: "生命上限", hp: "生命", manamax: "魔力上限", mana: "魔力", name: "名称", lv: "等级", hpmax: "生命上限", hp: "生命", manamax: "魔力上限", mana: "魔力",
atk: "攻击", def: "防御", mdef: "魔防", money: "金币", exp: "经验", experience: "经验", steps: "步数" atk: "攻击", def: "防御", mdef: "护盾", money: "金币", exp: "经验", exp: "经验", steps: "步数"
}; };
return map[name] || name; return map[name] || name;
} }
@ -2647,7 +2647,7 @@ ui.prototype.drawStatistics = function (floorIds) {
+",总游戏时长"+core.formatTime(statistics.totalTime) +",总游戏时长"+core.formatTime(statistics.totalTime)
+"。\n瞬间移动次数"+statistics.moveDirectly+",共计少走"+statistics.ignoreSteps+"步。" +"。\n瞬间移动次数"+statistics.moveDirectly+",共计少走"+statistics.ignoreSteps+"步。"
+"\n\n总计通过血瓶恢复生命值为"+core.formatBigNumber(statistics.hp)+"点。\n\n" +"\n\n总计通过血瓶恢复生命值为"+core.formatBigNumber(statistics.hp)+"点。\n\n"
+"总计打死了"+statistics.battle+"个怪物,得到了"+core.formatBigNumber(statistics.money)+"金币,"+core.formatBigNumber(statistics.experience)+"点经验。\n\n" +"总计打死了"+statistics.battle+"个怪物,得到了"+core.formatBigNumber(statistics.money)+"金币,"+core.formatBigNumber(statistics.exp)+"点经验。\n\n"
+"受到的总伤害为"+core.formatBigNumber(statistics.battleDamage+statistics.poisonDamage+statistics.extraDamage) +"受到的总伤害为"+core.formatBigNumber(statistics.battleDamage+statistics.poisonDamage+statistics.extraDamage)
+",其中战斗伤害"+core.formatBigNumber(statistics.battleDamage)+"点" +",其中战斗伤害"+core.formatBigNumber(statistics.battleDamage)+"点"
+(core.flags.statusBarItems.indexOf('enableDebuff')>=0?(",中毒伤害"+core.formatBigNumber(statistics.poisonDamage)+"点"):"") +(core.flags.statusBarItems.indexOf('enableDebuff')>=0?(",中毒伤害"+core.formatBigNumber(statistics.poisonDamage)+"点"):"")
@ -2686,7 +2686,7 @@ ui.prototype._drawStatistics_buildObj = function () {
}); });
var obj = { var obj = {
'monster': { 'monster': {
'count': 0, 'money': 0, 'experience': 0, 'point': 0, 'count': 0, 'money': 0, 'exp': 0, 'point': 0,
}, },
'count': cnt, 'count': cnt,
'add': { 'add': {
@ -2723,7 +2723,7 @@ ui.prototype._drawStatistics_floorId = function (floorId, obj) {
ui.prototype._drawStatistics_enemy = function (floorId, id, obj) { ui.prototype._drawStatistics_enemy = function (floorId, id, obj) {
var enemy = core.material.enemys[id]; var enemy = core.material.enemys[id];
this._drawStatistics_add(floorId, obj, 'monster', 'money', enemy.money); 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', 'point', enemy.point);
this._drawStatistics_add(floorId, obj, 'monster', 'count', 1); this._drawStatistics_add(floorId, obj, 'monster', 'count', 1);
} }
@ -2752,7 +2752,7 @@ ui.prototype._drawStatistics_items = function (floorId, floor, id, obj) {
var t = ""; var t = "";
if (atk > 0) t += atk + "攻"; if (atk > 0) t += atk + "攻";
if (def > 0) t += def + "防"; if (def > 0) t += def + "防";
if (mdef > 0) t += mdef + "魔防"; if (mdef > 0) t += mdef + "护盾";
if (t != "") obj.ext[id] = t; if (t != "") obj.ext[id] = t;
} }
this._drawStatistics_add(floorId, obj, 'count', id, 1); this._drawStatistics_add(floorId, obj, 'count', id, 1);
@ -2766,7 +2766,7 @@ ui.prototype._drawStatistics_generateText = function (obj, type, data) {
var text = type+"地图中:\n"; var text = type+"地图中:\n";
text += "共有怪物"+data.monster.count+"个"; text += "共有怪物"+data.monster.count+"个";
if (core.flags.statusBarItems.indexOf('enableMoney')>=0) text+=",总金币数"+data.monster.money; 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; if (core.flags.enableAddPoint) text+=",总加点数"+data.monster.point;
text+="。\n"; text+="。\n";
@ -2789,7 +2789,7 @@ ui.prototype._drawStatistics_generateText = function (obj, type, data) {
text+="\n\n"; text+="\n\n";
text+="共加生命值"+core.formatBigNumber(data.add.hp)+"点,攻击" text+="共加生命值"+core.formatBigNumber(data.add.hp)+"点,攻击"
+core.formatBigNumber(data.add.atk)+"点,防御" +core.formatBigNumber(data.add.atk)+"点,防御"
+core.formatBigNumber(data.add.def)+"点,魔防" +core.formatBigNumber(data.add.def)+"点,护盾"
+core.formatBigNumber(data.add.mdef)+"点。"; +core.formatBigNumber(data.add.mdef)+"点。";
return text; return text;
} }

View File

@ -61,7 +61,7 @@ function main() {
'defCol': document.getElementById('defCol'), 'defCol': document.getElementById('defCol'),
'mdefCol': document.getElementById('mdefCol'), 'mdefCol': document.getElementById('mdefCol'),
'moneyCol': document.getElementById('moneyCol'), 'moneyCol': document.getElementById('moneyCol'),
'experienceCol': document.getElementById('experienceCol'), 'expCol': document.getElementById('expCol'),
'upCol': document.getElementById('upCol'), 'upCol': document.getElementById('upCol'),
'keyCol': document.getElementById('keyCol'), 'keyCol': document.getElementById('keyCol'),
'pzfCol': document.getElementById('pzfCol'), 'pzfCol': document.getElementById('pzfCol'),
@ -100,7 +100,7 @@ function main() {
'def': document.getElementById("img-def"), 'def': document.getElementById("img-def"),
'mdef': document.getElementById("img-mdef"), 'mdef': document.getElementById("img-mdef"),
'money': document.getElementById("img-money"), 'money': document.getElementById("img-money"),
'experience': document.getElementById("img-experience"), 'exp': document.getElementById("img-exp"),
'up': document.getElementById("img-up"), 'up': document.getElementById("img-up"),
'skill': document.getElementById('img-skill'), 'skill': document.getElementById('img-skill'),
'book': document.getElementById("img-book"), 'book': document.getElementById("img-book"),
@ -130,7 +130,7 @@ function main() {
'def': 5, 'def': 5,
'mdef': 6, 'mdef': 6,
'money': 7, 'money': 7,
'experience': 8, 'exp': 8,
'up': 9, 'up': 9,
'book': 10, 'book': 10,
'fly': 11, 'fly': 11,
@ -168,7 +168,7 @@ function main() {
'def': document.getElementById("def"), 'def': document.getElementById("def"),
'mdef': document.getElementById('mdef'), 'mdef': document.getElementById('mdef'),
'money': document.getElementById("money"), 'money': document.getElementById("money"),
'experience': document.getElementById("experience"), 'exp': document.getElementById("exp"),
'up': document.getElementById('up'), 'up': document.getElementById('up'),
'skill': document.getElementById('skill'), 'skill': document.getElementById('skill'),
'yellowKey': document.getElementById("yellowKey"), 'yellowKey': document.getElementById("yellowKey"),

View File

@ -91,7 +91,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"def": 100, "def": 100,
"mdef": 0, "mdef": 0,
"money": 0, "money": 0,
"experience": 0, "exp": 0,
"equipment": [], "equipment": [],
"items": { "items": {
"constants": {}, "constants": {},
@ -322,7 +322,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"textInList": "1F经验商店", "textInList": "1F经验商店",
"commonTimes": false, "commonTimes": false,
"mustEnable": false, "mustEnable": false,
"use": "experience", "use": "exp",
"need": "-1", "need": "-1",
"text": "勇敢的武士啊,给我若干经验就可以:", "text": "勇敢的武士啊,给我若干经验就可以:",
"choices": [ "choices": [

View File

@ -1,67 +1,67 @@
var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 = 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]}, "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,"experience":0,"point":0,"special":[16,18],"value":10}, "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,"experience":0,"point":0,"special":0}, "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,"experience":0,"point":0,"special":[1,9]}, "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,"experience":0,"point":0,"special":1}, "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,"experience":0,"point":0,"special":0}, "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,"experience":0,"point":0,"special":4}, "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,"experience":0,"point":0,"special":0}, "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,"experience":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,"experience":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,"experience":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,"experience":0,"point":0,"special":7}, "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,"experience":0,"point":0,"special":0}, "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,"experience":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,"experience":0,"point":0,"special":3}, "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,"experience":0,"point":0,"special":[10,21],"atkValue":2,"defValue":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,"experience":0,"point":1,"special":2}, "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,"experience":0,"point":0,"special":0}, "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,"experience":0,"point":0,"special":15,"value":100,"range":2}, "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,"experience":0,"point":0,"special":15,"value":200,"zoneSquare":true}, "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,"experience":0,"point":0,"special":0}, "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,"experience":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,"experience":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,"experience":0,"point":0,"special":[5,23]}, "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,"experience":0,"point":0,"special":0}, "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,"experience":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,"experience":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,"experience":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,"experience":1000,"point":0,"special":0,"notBomb":true}, "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,"experience":0,"point":0,"special":0}, "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,"experience":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,"experience":0,"point":0,"special":8}, "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,"experience":0,"point":0,"special":0}, "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,"experience":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,"experience":0,"point":0,"special":13}, "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,"experience":0,"point":0,"special":0}, "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,"experience":0,"point":0,"special":18,"value":20}, "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,"experience":0,"point":0,"special":0}, "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,"experience":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,"experience":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,"experience":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,"experience":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,"experience":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,"experience":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,"experience":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,"experience":0,"point":0,"special":16}, "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,"experience":0,"point":0,"special":11,"value":0.3333333333333333,"add":true,"notBomb":true}, "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,"experience":0,"point":0,"special":14}, "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,"experience":0,"point":0,"special":0}, "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,"experience":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,"experience":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,"experience":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,"experience":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,"experience":0,"point":0,"special":6,"n":8}, "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,"experience":0,"point":0,"special":0}, "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,"experience":0,"point":0,"special":12}, "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,"experience":0,"point":0,"special":0}, "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,"experience":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,"experience":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,"experience":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,"experience":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,"experience":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,"experience":0,"point":0,"special":18,"value":20}, "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,"experience":0,"point":0,"special":[2,3]} "evilBat": {"name":"邪恶蝙蝠","hp":1000,"atk":1,"def":0,"money":0,"exp":0,"point":0,"special":[2,3]}
} }

View File

@ -380,7 +380,7 @@ main.floors.sample1=
}, },
{ {
"type": "setValue", "type": "setValue",
"name": "status:experience", "name": "status:exp",
"operator": "+=", "operator": "+=",
"value": "1000" "value": "1000"
}, },
@ -402,7 +402,7 @@ main.floors.sample1=
"operator": "+=", "operator": "+=",
"value": "3" "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]你现在可以重新和我进行对话,进一步看到属性值的改变。" "\t[老人,man]你现在可以重新和我进行对话,进一步看到属性值的改变。"
], ],
"10,11": [ "10,11": [

View File

@ -287,16 +287,16 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
core.status.hero.money += money; core.status.hero.money += money;
core.status.hero.statistics.money += money; core.status.hero.statistics.money += money;
var experience = guards.reduce(function (curr, g) { var exp = guards.reduce(function (curr, g) {
return curr + core.material.enemys[g[2]].experience; return curr + core.material.enemys[g[2]].exp;
}, enemy.experience); }, enemy.exp);
if (core.hasFlag('curse')) experience = 0; if (core.hasFlag('curse')) exp = 0;
core.status.hero.experience += experience; core.status.hero.exp += exp;
core.status.hero.statistics.experience += experience; core.status.hero.statistics.exp += exp;
var hint = "打败 " + enemy.name; var hint = "打败 " + enemy.name;
if (core.flags.statusBarItems.indexOf('enableMoney')>=0) hint += ",金币+" + money; 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); 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) + "次"; }], [6, function (enemy) { return (enemy.n || 4) + "连击"; }, function (enemy) { return "怪物每回合攻击" + (enemy.n || 4) + "次"; }],
[7, "破甲", "战斗前,怪物附加角色防御的" + Math.floor(100 * core.values.breakArmor || 0) + "%作为伤害"], [7, "破甲", "战斗前,怪物附加角色防御的" + Math.floor(100 * core.values.breakArmor || 0) + "%作为伤害"],
[8, "反击", "战斗时,怪物每回合附加角色攻击的" + Math.floor(100 * core.values.counterAttack || 0) + "%作为伤害,无视角色防御"], [8, "反击", "战斗时,怪物每回合附加角色攻击的" + Math.floor(100 * core.values.counterAttack || 0) + "%作为伤害,无视角色防御"],
[9, "净化", "战斗前,怪物附加勇士魔防的" + core.values.purify + "倍作为伤害"], [9, "净化", "战斗前,怪物附加勇士护盾的" + core.values.purify + "倍作为伤害"],
[10, "模仿", "怪物的攻防和勇士攻防相等"], [10, "模仿", "怪物的攻防和勇士攻防相等"],
[11, "吸血", function (enemy) { return "战斗前,怪物首先吸取角色的" + Math.floor(100 * enemy.value || 0) + "%生命(约" + Math.floor((enemy.value || 0) * core.getStatus('hp')) + "点)作为伤害" + (enemy.add ? ",并把伤害数值加到自身生命上" : ""); }], [11, "吸血", function (enemy) { return "战斗前,怪物首先吸取角色的" + Math.floor(100 * enemy.value || 0) + "%生命(约" + Math.floor((enemy.value || 0) * core.getStatus('hp')) + "点)作为伤害" + (enemy.add ? ",并把伤害数值加到自身生命上" : ""); }],
[12, "中毒", "战斗后,勇士陷入中毒状态,每一步损失生命" + core.values.poisonDamage + "点"], [12, "中毒", "战斗后,勇士陷入中毒状态,每一步损失生命" + core.values.poisonDamage + "点"],
@ -469,7 +469,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
[19, "自爆", "战斗后勇士的生命值变成1"], [19, "自爆", "战斗后勇士的生命值变成1"],
[20, "无敌", "勇士无法打败怪物,除非拥有十字架"], [20, "无敌", "勇士无法打败怪物,除非拥有十字架"],
[21, "退化", function (enemy) { return "战斗后勇士永久下降" + (enemy.atkValue || 0) + "点攻击和" + (enemy.defValue || 0) + "点防御"; }], [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, "重生", "怪物被击败后,角色转换楼层则怪物将再次出现"], [23, "重生", "怪物被击败后,角色转换楼层则怪物将再次出现"],
[24, "激光", function (enemy) { return "经过怪物同行或同列时自动减生命" + (enemy.value || 0) + "点"; }], [24, "激光", function (enemy) { return "经过怪物同行或同列时自动减生命" + (enemy.value || 0) + "点"; }],
[25, "光环", function (enemy) { return "同楼层所有怪物生命提升" + (enemy.value || 0) + "%,攻击提升" + (enemy.atkValue || 0) + "%,防御提升" + (enemy.defValue || 0) + "%" + (enemy.add ? "可叠加" : "不可叠加"); }], [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该怪物信息 // enemy该怪物信息
// hero_hp,hero_atk,hero_def,hero_mdef勇士的生命攻防魔防数据 // hero_hp,hero_atk,hero_def,hero_mdef勇士的生命攻防护盾数据
// x,y该怪物的坐标查看手册和强制战斗时为undefined // x,y该怪物的坐标查看手册和强制战斗时为undefined
// floorId该怪物所在的楼层 // floorId该怪物所在的楼层
// 后面三个参数主要是可以在光环等效果上可以适用(也可以按需制作部分范围光环效果) // 后面三个参数主要是可以在光环等效果上可以适用(也可以按需制作部分范围光环效果)
@ -498,7 +498,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
mon_def = enemy.def, mon_def = enemy.def,
mon_special = enemy.special; mon_special = enemy.special;
var mon_money = enemy.money, var mon_money = enemy.money,
mon_experience = enemy.experience, mon_exp = enemy.exp,
mon_point = enemy.point; mon_point = enemy.point;
// 模仿 // 模仿
if (core.hasSpecial(mon_special, 10)) { if (core.hasSpecial(mon_special, 10)) {
@ -589,7 +589,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
"atk": Math.floor(mon_atk), "atk": Math.floor(mon_atk),
"def": Math.floor(mon_def), "def": Math.floor(mon_def),
"money": Math.floor(mon_money), "money": Math.floor(mon_money),
"experience": Math.floor(mon_experience), "exp": Math.floor(mon_exp),
"point": Math.floor(mon_point), "point": Math.floor(mon_point),
"special": mon_special, "special": mon_special,
"guards": guards, // 返回支援情况 "guards": guards, // 返回支援情况
@ -637,7 +637,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
if (core.hasSpecial(mon_special, 20) && !core.hasItem("cross")) if (core.hasSpecial(mon_special, 20) && !core.hasItem("cross"))
return null; // 不可战斗 return null; // 不可战斗
// 战前造成的额外伤害(可被魔防抵消) // 战前造成的额外伤害(可被护盾抵消)
var init_damage = 0; 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; var damage = init_damage + (turn - 1) * per_damage + turn * counterDamage;
// 再扣去魔防 // 再扣去护盾
damage -= hero_mdef; damage -= hero_mdef;
// 检查是否允许负伤 // 检查是否允许负伤
if (!core.flags.enableNegativeDamage) if (!core.flags.enableNegativeDamage)
damage = Math.max(0, damage); damage = Math.max(0, damage);
// 最后处理仇恨和固伤(因为这两个不能被魔防减伤) // 最后处理仇恨和固伤(因为这两个不能被护盾减伤)
if (core.hasSpecial(mon_special, 17)) { // 仇恨 if (core.hasSpecial(mon_special, 17)) { // 仇恨
damage += core.getFlag('hatred', 0); damage += core.getFlag('hatred', 0);
} }
@ -1022,8 +1022,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
// 设置等级名称 // 设置等级名称
core.setStatusBarInnerHTML('lv', core.getLvName()); 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) { statusList.forEach(function (item) {
// 向下取整 // 向下取整
core.status.hero[item] = Math.floor(core.status.hero[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) { 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); var need = core.calValue(core.firstData.levelUp[core.status.hero.lv].need);
if (core.flags.statusBarItems.indexOf('levelUpLeftMode')>=0) 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 else
core.setStatusBarInnerHTML('up', core.formatBigNumber(need) || ""); core.setStatusBarInnerHTML('up', core.formatBigNumber(need) || "");
} else core.setStatusBarInnerHTML('up', ""); } else core.setStatusBarInnerHTML('up', "");
@ -1331,7 +1331,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
// 如果是隐藏状态栏模式,直接返回 // 如果是隐藏状态栏模式,直接返回
if (!core.domStyle.showStatusBar) return; if (!core.domStyle.showStatusBar) return;
// 作为样板,只绘制楼层、生命、攻击、防御、魔防、金币、钥匙这七个内容 // 作为样板,只绘制楼层、生命、攻击、防御、护盾、金币、钥匙这七个内容
// 需要其他的请自行进行修改;横竖屏都需要进行适配绘制。 // 需要其他的请自行进行修改;横竖屏都需要进行适配绘制。
// 可以使用Chrome浏览器开控制台来模拟手机上的竖屏模式的显示效果具体方式自行百度 // 可以使用Chrome浏览器开控制台来模拟手机上的竖屏模式的显示效果具体方式自行百度
// 横屏模式下的画布大小是 129*416 // 横屏模式下的画布大小是 129*416

View File

@ -32,7 +32,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"greenJewel": { "greenJewel": {
"cls": "items", "cls": "items",
"name": "绿宝石", "name": "绿宝石",
"text": "'魔防+${core.values.greenJewel}'" "text": "'护盾+${core.values.greenJewel}'"
}, },
"yellowJewel": { "yellowJewel": {
"cls": "items", "cls": "items",
@ -344,7 +344,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"itemEffectTip": { "itemEffectTip": {
"redJewel": "',攻击+'+core.values.redJewel * ratio", "redJewel": "',攻击+'+core.values.redJewel * ratio",
"blueJewel": "',防御+'+core.values.blueJewel * ratio", "blueJewel": "',防御+'+core.values.blueJewel * ratio",
"greenJewel": "'魔防+'+core.values.greenJewel * ratio", "greenJewel": "'护盾+'+core.values.greenJewel * ratio",
"yellowJewel": "',全属性提升'", "yellowJewel": "',全属性提升'",
"redPotion": "',生命+'+core.values.redPotion * ratio", "redPotion": "',生命+'+core.values.redPotion * ratio",
"bluePotion": "',生命+'+core.values.bluePotion * ratio", "bluePotion": "',生命+'+core.values.bluePotion * ratio",
@ -361,7 +361,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"shield2": "',防御+20'", "shield2": "',防御+20'",
"shield3": "',防御+40'", "shield3": "',防御+40'",
"shield4": "',防御+80'", "shield4": "',防御+80'",
"shield5": "',防御+100魔防+100'", "shield5": "',防御+100护盾+100'",
"bigKey": "',全钥匙+1'", "bigKey": "',全钥匙+1'",
"superPotion": "',生命值翻倍'", "superPotion": "',生命值翻倍'",
"moneyPocket": "',金币+500'" "moneyPocket": "',金币+500'"

21
runtime.d.ts vendored
View File

@ -58,7 +58,7 @@ type Enemy = {
atk: number atk: number
def: number def: number
money: number money: number
experience: number exp: number
point: number point: number
[key: string]: any [key: string]: any
} }
@ -103,7 +103,7 @@ type HeroStatus = {
def: number def: number
mdef: number mdef: number
money: number money: number
experience: number exp: number
loc: { loc: {
direction: direction direction: direction
x: number x: number
@ -121,7 +121,7 @@ type HeroStatus = {
battle: number battle: number
battleDamage: number battleDamage: number
currTime: number currTime: number
experience: number exp: number
extraDamage: number extraDamage: number
hp: number hp: number
ignoreSteps: number ignoreSteps: number
@ -405,7 +405,7 @@ declare class control {
/** /**
* *
* @example core.setStatus('loc', {x : 0, y : 0, direction : 'up'}); // 设置主角位置为地图左上角,脸朝上 * @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 * @param value
*/ */
setStatus<K extends keyof HeroStatus>(name: K, value: HeroStatus[K]): void setStatus<K extends keyof HeroStatus>(name: K, value: HeroStatus[K]): void
@ -421,7 +421,7 @@ declare class control {
/** /**
* *
* @example core.getStatus('loc'); // 读取主角的坐标和朝向 * @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 * @returns
*/ */
getStatus<K extends keyof HeroStatus>(name: K): HeroStatus[K] getStatus<K extends keyof HeroStatus>(name: K): HeroStatus[K]
@ -831,17 +831,6 @@ declare class enemys {
*/ */
getDamage(enemy: string | Enemy, x?: number, y?: number, floorId?: string): number 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') // 绿头怪的地图显伤 * @example core.getDamageString('greenSlime', 0, 0, 'MT0') // 绿头怪的地图显伤