diff --git a/API列表.txt b/API列表.txt
index 2f846828..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)
-获得某个怪物的额外伤害值(不可被魔防减伤)。
+获得某个怪物的额外伤害值(不可被护盾减伤)。
目前暂时只包含了仇恨和固伤两者,如有需要可复写该函数。
@@ -815,12 +815,7 @@ core.startGame(hard, seed, route, callback)
开始新游戏。
hard为难度字符串,会被设置为core.status.hard。
seed为开始时要设置的的种子,route为要开始播放的录像,callback为回调函数。
-该函数将重置整个游戏,调用setInitData,执行startText事件,上传游戏人数统计信息等。
-
-
-core.setInitData()
-根据难度分歧来初始化难度,包括设置flag:hard,设置初始属性等。
-该函数实际被转发到了脚本编辑中,执行脚本编辑中的内容。
+该函数将重置整个游戏,执行startText事件,上传游戏人数统计信息等。
core.win(reason, norank)
@@ -1042,7 +1037,7 @@ core.follow(name) / core.unfollow(name)
跟随和取消跟随都会调用core.gatherFollowers()来聚集所有的跟随者。
-core.setValue(name, value, prefix) / core.addValue(name, value, prefix)
+core.setValue(name, operator, value, prefix) / core.addValue(name, value, prefix)
设置/增减某个数值。name可以是status:xxx,item:xxx或flag:xxx。
value可以是一个表达式,将调用core.calValue()计算。prefix为前缀,独立开关使用,脚本中一般忽略。
@@ -1142,10 +1137,6 @@ core.tryUseItem(itemId)
对于怪物手册和楼传器,将分别调用core.openBook()和core.useFly()函数。
对于中心对称飞行器,则会调用core.drawCenterFly()函数。
对于其他的道具,将检查是否拥有,能否使用,并且进行使用。
-
-
-core.afterUseBomb()
-使用炸弹或圣锤后的事件。实际被转发到了脚本编辑中。
```
## icons.js
@@ -1242,7 +1233,7 @@ core.unloadEquip(equipType, callback)
core.compareEquipment(compareEquipId, beComparedEquipId)
比较两个套装的差异。
-此函数将对所有的勇士属性包括生命魔力攻防魔防金币等进行比较。
+此函数将对所有的勇士属性包括生命魔力攻防护盾金币等进行比较。
如果存在差异的,将作为一个对象返回其差异内容。
@@ -1532,13 +1523,13 @@ core.removeBlock(x, y, floorId)
如果存在自定义事件,则简单的禁用它,以供以后可能的启用事件。
-core.removeBlockById(index, floorId)
+core.removeBlockByIndex(index, floorId)
每个楼层的图块存成一个数组,index即为该数组中的索引,每个索引对应该地图中的一个图块
根据索引从地图的block数组中尽可能删除一个图块。floorId可不填或null表示当前楼层。
-core.removeBlockByIds(floorId, ids)
-ids为由索引组成的数组,如[0,1]等
+core.removeBlockByIndexes(indexes, floorId)
+indexes为由索引组成的数组,如[0,1]等
根据索引数组从地图的block数组中尽可能删除一系列图块。floorId可不填或null表示当前楼层。
@@ -1625,7 +1616,7 @@ core.drawBoxAnimate()
绘制UI层的box动画,如怪物手册和对话框中的帧动画等。
-core.drawAnimate(name, x, y, callback)
+core.drawAnimate(name, x, y, alignWindow, callback)
绘制一个动画。name为动画名,x和y为绘制的基准坐标,callback为绘制完毕的回调函数。
此函数将播放动画音效,并异步开始绘制该动画。
此函数会返回一个动画id,可以通过core.stopAnimate()立刻停止该动画的播放。
@@ -1889,8 +1880,8 @@ core.drawStatistics()
绘制数据统计。将从脚本编辑中获得要统计的数据列表,再遍历所有地图进行统计。
-core.drawAbout() / core.drawPaint() / core.drawHelp()
-绘制关于界面,绘图模式,帮助界面。
+core.drawAbout() / core.drawHelp()
+绘制关于界面,帮助界面。
// ------ 动态创建画布相关的API ------ //
@@ -2100,10 +2091,6 @@ core.encodeBase64(str) / core.decodeBase64(str)
可用于解压缩录像数据
-core.convertBase(str, fromBase, toBase)
-任意进制转换。此函数可能执行的非常慢,慎用。
-
-
core.rand(num)
使用伪种子生成伪随机数。该随机函数能被录像支持。
num如果设置大于0,则生成一个[0, num-1]之间的数;否则生成一个0到1之间的浮点数。
@@ -2159,11 +2146,6 @@ core.showWithAnimate(obj, speed, callback) / core.hideWithAnimate(obj, speed, ca
动画淡入或淡出一个对象。
-core.consoleOpened()
-检测当前的控制台是否处于开启状态。仅在全塔属性中的检查控制台开关开启时有效。
-此函数有可能会存在误伤行为,即没开过控制台仍认为开启过。
-
-
core.hashCode(obj)
计算一个对象的哈希值。
diff --git a/_docs/_api.md b/_docs/_api.md
index 64362e3b..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
@@ -287,7 +287,7 @@ core.closePanel()
结束一切事件和绘制,关闭UI窗口,返回游戏进程。
-core.replaceText(text)
+core.replaceText(text, prefix, need, times)
将一段文字中的${}进行计算并替换。
@@ -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。
@@ -481,15 +477,15 @@ core.maps.canMoveDirectly(destX, destY)
该函数如果返回0则不可瞬间移动,大于0则可以瞬间移动,且返回值是跨度(即少走的步数)。
-core.maps.removeBlockById(index, floorId)
+core.maps.removeBlockByIndexes(index, floorId)
根据索引删除或禁用某块。
-core.maps.removeBlockByIds(floorId, ids)
+core.maps.removeBlockByIndexes(indexes, floorId)
根据索引删除或禁用若干块。
-core.maps.drawAnimate(name, x, y, callback)
+core.maps.drawAnimate(name, x, y, alignWindow, callback)
播放一段动画,name为动画名(需在全塔属性注册),x和y为坐标(0-12之间),callback可选,为播放完毕的回调函数。
播放过程是异步的,如需等待播放完毕请使用insertAction插入一条type:waitAsync事件。
此函数将随机返回一个数字id,为此异步动画的唯一标识符。
diff --git a/_docs/api.md b/_docs/api.md
index 4965d648..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)
获得某个怪物伤害字符串和颜色信息,以便于在地图上绘制显伤。
@@ -814,12 +809,7 @@ core.startGame(hard, seed, route, callback)
开始新游戏。
hard为难度字符串,会被设置为core.status.hard。
seed为开始时要设置的的种子,route为要开始播放的录像,callback为回调函数。
-该函数将重置整个游戏,调用setInitData,执行startText事件,上传游戏人数统计信息等。
-
-
-core.setInitData()
-根据难度分歧来初始化难度,包括设置flag:hard,设置初始属性等。
-该函数实际被转发到了脚本编辑中,执行脚本编辑中的内容。
+该函数将重置整个游戏,执行startText事件,上传游戏人数统计信息等。
core.win(reason, norank)
@@ -1041,7 +1031,7 @@ core.follow(name) / core.unfollow(name)
跟随和取消跟随都会调用core.gatherFollowers()来聚集所有的跟随者。
-core.setValue(name, value, prefix) / core.addValue(name, value, prefix)
+core.setValue(name, operator, value, prefix) / core.addValue(name, value, prefix)
设置/增减某个数值。name可以是status:xxx,item:xxx或flag:xxx。
value可以是一个表达式,将调用core.calValue()计算。prefix为前缀,独立开关使用,脚本中一般忽略。
@@ -1141,10 +1131,6 @@ core.tryUseItem(itemId)
对于怪物手册和楼传器,将分别调用core.openBook()和core.useFly()函数。
对于中心对称飞行器,则会调用core.drawCenterFly()函数。
对于其他的道具,将检查是否拥有,能否使用,并且进行使用。
-
-
-core.afterUseBomb()
-使用炸弹或圣锤后的事件。实际被转发到了脚本编辑中。
```
## icons.js
@@ -1241,7 +1227,7 @@ core.unloadEquip(equipType, callback)
core.compareEquipment(compareEquipId, beComparedEquipId)
比较两个套装的差异。
-此函数将对所有的勇士属性包括生命魔力攻防魔防金币等进行比较。
+此函数将对所有的勇士属性包括生命魔力攻防护盾金币等进行比较。
如果存在差异的,将作为一个对象返回其差异内容。
@@ -1531,13 +1517,13 @@ core.removeBlock(x, y, floorId)
如果存在自定义事件,则简单的禁用它,以供以后可能的启用事件。
-core.removeBlockById(index, floorId)
+core.removeBlockByIndex(index, floorId)
每个楼层的图块存成一个数组,index即为该数组中的索引,每个索引对应该地图中的一个图块
根据索引从地图的block数组中尽可能删除一个图块。floorId可不填或null表示当前楼层。
-core.removeBlockByIds(floorId, ids)
-ids为由索引组成的数组,如[0,1]等
+core.removeBlockByIndexes(indexes, floorId)
+indexes为由索引组成的数组,如[0,1]等
根据索引数组从地图的block数组中尽可能删除一系列图块。floorId可不填或null表示当前楼层。
@@ -1624,7 +1610,7 @@ core.drawBoxAnimate()
绘制UI层的box动画,如怪物手册和对话框中的帧动画等。
-core.drawAnimate(name, x, y, callback)
+core.drawAnimate(name, x, y, alignWindow, callback)
绘制一个动画。name为动画名,x和y为绘制的基准坐标,callback为绘制完毕的回调函数。
此函数将播放动画音效,并异步开始绘制该动画。
此函数会返回一个动画id,可以通过core.stopAnimate()立刻停止该动画的播放。
@@ -1894,8 +1880,8 @@ core.drawStatistics()
绘制数据统计。将从脚本编辑中获得要统计的数据列表,再遍历所有地图进行统计。
-core.drawAbout() / core.drawPaint() / core.drawHelp()
-绘制关于界面,绘图模式,帮助界面。
+core.drawAbout() / core.drawHelp()
+绘制关于界面,帮助界面。
// ------ 动态创建画布相关的API ------ //
@@ -2105,10 +2091,6 @@ core.encodeBase64(str) / core.decodeBase64(str)
可用于解压缩录像数据
-core.convertBase(str, fromBase, toBase)
-任意进制转换。此函数可能执行的非常慢,慎用。
-
-
core.rand(num)
使用伪种子生成伪随机数。该随机函数能被录像支持。
num如果设置大于0,则生成一个[0, num-1]之间的数;否则生成一个0到1之间的浮点数。
@@ -2164,11 +2146,6 @@ core.showWithAnimate(obj, speed, callback) / core.hideWithAnimate(obj, speed, ca
动画淡入或淡出一个对象。
-core.consoleOpened()
-检测当前的控制台是否处于开启状态。仅在全塔属性中的检查控制台开关开启时有效。
-此函数有可能会存在误伤行为,即没开过控制台仍认为开启过。
-
-
core.hashCode(obj)
计算一个对象的哈希值。
diff --git a/_docs/element.md b/_docs/element.md
index 2b386a88..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,即不启用经验的话,怪物手册里将不显示怪物的经验值,打败怪物也不获得任何经验。
拿到幸运金币后,打怪获得的金币将翻倍。
@@ -199,8 +199,6 @@ N连击怪物的special是6,且我们可以为它定义n代表实际连击数
退化怪需要设置'atkValue'和'defValue'表示退化的数值;也可以不设置默认为0。
-夹击可以通过全塔属性中的`betweenAttackCeil`设为true可以将伤害向上取整。
-
**将`flag:no_betweenAttack`设置为true可以免疫夹击效果。**
固伤怪则需要设置`damage`选项,代表战前扣血数值。
@@ -282,13 +280,14 @@ floorId指定的是目标楼层的唯一标识符(ID)。
- 使用`${}`来计算一个表达式的值,如`${status:atk+status:def}`。
- 使用`\f[...]`来同时插入一张立绘图,如`\f[1.png,100,200]`。
- 使用`\\i[...]`来在对话框中绘制一个图标,如`\\i[fly]`。
-- 使用`\\c[...]`来修改字体大小,如`\\b[16]`。
+- 使用`\\c[...]`来修改字体大小,如`\\c[16]`。
- 使用`\\d`来加粗或者取消粗体。
- 使用`\\e`来加斜体或取消斜体。
+- 使用`\\z[...]`来添加打字中的暂停效果。
从V2.5.2开始,也允许绘制一张头像图在对话框中,只要通过`\t[1.png]`或`\t[标题,1.png]`的写法。
-**使用`\\i,\\c,\\d,\\e`时请注意:在事件块中,允许只写一个反斜杠`\`,系统会自动转义成`\\`;但是在脚本中必须两个反斜杠都写上!**
+**使用`\\i,\\c,\\d,\\e,\\z`时请注意:在事件块中,允许只写一个反斜杠`\`,系统会自动转义成`\\`;但是在脚本中必须两个反斜杠都写上!**
详细信息请参见[剧情文本控制](event#text:显示一段文字(剧情))中的说明。
@@ -416,20 +415,6 @@ HTML5魔塔一大亮点就是存在录像系统,可以很方便进行录像回
如果录像出现问题,请加群539113091找小艾反馈Bug。
-## 绘图模式
-
-从V2.5开始,样板提供了绘图模式,可以让玩家在画布上任意进行绘制,标记等。
-
-使用M键,或在菜单栏中可以进入绘图模式。
-
-**绘图的内容会自动保存,且以页面为生命周期,和存读档无关,返回标题并重新开始游戏后绘制的内容仍有效,但刷新页面就会消失。**
-
-你可以将绘制内容保存到文件,也可以从文件读取保存的绘制内容。
-
-绘图模式下,状态栏的图标也会相应改变,铅笔为绘制模式,橡皮为擦除模式,存读档为保存和读取绘图文件,退出为返回默认值。
-
-在浏览地图页面中也可以按楼传按钮或M键来开启/关闭该层的绘图显示。
-
## 操作说明

@@ -463,7 +448,6 @@ HTML5魔塔一大亮点就是存在录像系统,可以很方便进行录像回
- **[R]** 回放录像
- **[E]** 显示光标
- **[SPACE]** 轻按(仅在轻按开关打开时有效)
-- **[M]** 绘图模式
- **[PgUp/PgDn]** 浏览地图
- **[1]** 快捷使用破墙镐
- **[2]** 快捷使用炸弹/圣锤
diff --git a/_docs/event.md b/_docs/event.md
index cce0cbe6..4fd92d4e 100644
--- a/_docs/event.md
+++ b/_docs/event.md
@@ -332,7 +332,7 @@

-- `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。
@@ -491,27 +491,6 @@ value是一个表达式,将通过这个表达式计算出的结果赋值给nam
在刷新的情况下,如果hp被设置成了0或以下,将触发lose事件,直接死亡。
-### addValue:增减勇士的某个属性、道具个数,或某个变量/Flag的值
-
-和`{"type": "setValue"}`的写法完全相同,不过此项是可以直接将值加减到原始数值上。
-
-即下面的写法是等价的:
-
-``` js
-[
- {"type": "setValue", "name": "status:atk", "value": "status:atk+10" } // 攻击提高10点
- {"type": "addVakue", "name": "status:atk", "value": "10" } // 和上面写法等价
- {"type": "setValue", "name": "item:yellowKey", "value": "item:yellowKey-3" } // 黄钥匙个数-3
- {"type": "addValue", "name": "item:yellowKey", "value": "-3" } // 和上面写法等价
- {"type": "setValue", "name": "flag:door2", "value": "flag:door2+1" } // 将变量door值+1
- {"type": "addValue", "name": "flag:door2", "value": "01" } // 和上面写法等价
-]
-```
-
-
-
-从V2.6.5开始,当设置了`"norefresh": true`后可以不刷新状态栏、地图显伤和自动事件,从而加速事件执行。
-
### setEnemy:设置怪物属性
使用`{"type":"setEnemy"}`可以设置某个怪物的某个属性
@@ -528,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为必填项,代表要修改到的内容。对于修改名称的,必须加单引号。
@@ -596,7 +575,7 @@ value为必填项,代表要修改到的结果。该项必须是个数值。
``` js
[
- {"type": "setGlobalFlag", "name": "enableMDef", "value": false}, // 不在状态栏显示魔防值
+ {"type": "setGlobalFlag", "name": "enableMDef", "value": false}, // 不在状态栏显示护盾值
]
```
@@ -1672,7 +1651,7 @@ text为提示文字,可以在这里给输入提示文字。这里同样可以
],
"false": [ // 条件不成立则执行false里的事件
"你当前攻击力为${status:atk}, 不足500!\n给你增加100点攻击力!",
- {"type": "addValue", "name": "status:atk", "value": "100"}, // 攻击力加100, 接着会执行revisit事件
+ {"type": "setValue", "name": "status:atk", "operator": "+=", "value": "100"}, // 攻击力加100, 接着会执行revisit事件
]
},
{"type", "revisit"}, // 立刻重启本事件, 直到攻击力大于500后结束
@@ -1874,7 +1853,7 @@ yes和no均为必填项,即用户点击确认或取消后执行的事件。
[
{"type":"while", "condition": "flag:i<=10", // 循环处理;注意flag未设置则默认为0
"data":[
- {"type": "addValue", "name": "flag:i", "value": "1"}, // 递增i
+ {"type": "setValue", "name": "flag:i", "operator": "+=", "value": "1"}, // 递增i
"${flag:i}", // 输出i
{"type": "sleep","time":1000}, // 等待1秒
]
@@ -1908,7 +1887,7 @@ yes和no均为必填项,即用户点击确认或取消后执行的事件。
[
{"type":"while", "condition": "true", // 循环处理;永远为真
"data":[
- {"type": "addValue", "name": "flag:i", "value": "1"}, // 递增i
+ {"type": "setValue", "name": "flag:i", "operator": "+=", "value": "1"}, // 递增i
"${flag:i}", // 输出i
{"type": "sleep","time":1000}, // 等待1秒
{"type": "if", "condition": "flag:i<10", // 测试i是否小于10
@@ -2544,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(访问次数)作为参数计算。
@@ -2553,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"}, // 多个效果用分号分开
]
}
],
@@ -2565,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 是一个表达式,计算商店所需要用到的数值。
@@ -2665,26 +2644,6 @@ if (core.flags.enableAddPoint && point > 0) {
除此以外,每层楼还提供了`firstArrive`和`eachArrive`事件,分别为首次到达该楼层和每次到达该楼层时执行的事件。
-## 使用炸弹后的事件
-
-上面的afterBattle事件只对和怪物进行战斗后才有会被处理。
-
-如果我们想在使用炸弹后也能触发一些事件(如开门),则可以在脚本编辑里面的`afterUseBomb`函数进行处理:
-
-``` js
-////// 使用炸弹/圣锤后的事件 //////
-"afterUseBomb": function () {
- // 这是一个使用炸弹也能开门的例子
- if (core.status.floorId=='xxx' && core.terrainExists(x0,y0,'specialDoor') // 某个楼层,该机关门存在
- && !core.enemyExists(x1,y1) && !core.enemyExists(x2,y2)) // 且守门的怪物都不存在
- {
- core.insertAction([ // 插入事件
- {"type": "openDoor", "loc": [x0,y0]} // 开门
- ])
- }
-}
-```
-
## 滑冰事件
从V2.6开始,滑冰事件被重写。现在的滑冰由公共事件执行。
@@ -2751,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/index.html b/_docs/index.html
index 10679f3f..3e9754eb 100644
--- a/_docs/index.html
+++ b/_docs/index.html
@@ -23,18 +23,16 @@
// basepath: '../docs/',
// Search Support
- // search: {
- // maxAge: 43200000, // 过期时间,单位毫秒,默认一天
- // paths: 'auto',
- // placeholder: {
- // '/en/': 'Search',
- // '/': '搜索',
- // },
- // noData: {
- // '/en/': 'No Results',
- // '/': '找不到结果',
- // },
- // },
+ search: {
+ maxAge: 43200000, // 过期时间,单位毫秒,默认一天
+ paths: 'auto',
+ placeholder: {
+ '/': '搜索文档...',
+ },
+ noData: {
+ '/': '找不到结果',
+ },
+ },
// load sidebar from _sidebar.md
loadSidebar: '_sidebar',
@@ -46,5 +44,6 @@
}
+