display damage

This commit is contained in:
ckcz123 2018-11-22 16:53:33 +08:00
parent 6913a2eaeb
commit 14e79668d1
3 changed files with 11 additions and 25 deletions

View File

@ -1234,7 +1234,7 @@ text为提示文字可以在这里给输入提示文字。这里同样可以
``` js ``` js
"x,y": [ // 实际执行的事件列表 "x,y": [ // 实际执行的事件列表
{"type": "swtich", "condition": "...", // 计算某个表达式 {"type": "switch", "condition": "...", // 计算某个表达式
"caseList": [ "caseList": [
{"case": "a", "action": [// 若表达式的值等于a则执行该处事件 {"case": "a", "action": [// 若表达式的值等于a则执行该处事件
@ -1282,7 +1282,7 @@ text为提示文字可以在这里给输入提示文字。这里同样可以
需要额外注意的几点: 需要额外注意的几点:
- 各个条件分支的判断是顺序执行的,因此若多个分支的条件都满足,将只执行最靠前的分支,同理,请不要在`"default"`分支后添加分支,这些分支将不可能被执行。 - 各个条件分支的判断是顺序执行的,因此若多个分支的条件都满足,将只执行最靠前的分支,同理,请不要在`default`分支后添加分支,这些分支将不可能被执行。
- `default`分支并不是必要的,如果删除,则在没有满足条件的分支时将不执行任何事件。 - `default`分支并不是必要的,如果删除,则在没有满足条件的分支时将不执行任何事件。
- 即使某个场合不执行事件对应的action数组也需要存在不过简单的留空就好。 - 即使某个场合不执行事件对应的action数组也需要存在不过简单的留空就好。
- switch可以不断进行嵌套一层套一层如某条件成立的场合再进行另一个switch判断等。 - switch可以不断进行嵌套一层套一层如某条件成立的场合再进行另一个switch判断等。

View File

@ -1536,15 +1536,9 @@ control.prototype.updateDamage = function (floorId, canvas) {
if (core.isset(mapBlocks[b].event) && mapBlocks[b].event.cls.indexOf('enemy')==0 if (core.isset(mapBlocks[b].event) && mapBlocks[b].event.cls.indexOf('enemy')==0
&& !mapBlocks[b].disable) { && !mapBlocks[b].disable) {
// 非系统默认的战斗事件(被覆盖) // 判定是否显伤
if (mapBlocks[b].event.trigger != 'battle') { if (mapBlocks[b].event.displayDamage === false)
// 判断显伤 continue;
var event = core.floors[floorId].events[x+","+y];
if (core.isset(event) && !(event instanceof Array)) {
if (event.displayDamage === false)
continue;
}
}
var id = mapBlocks[b].event.id; var id = mapBlocks[b].event.id;

View File

@ -123,28 +123,20 @@ maps.prototype.addEvent = function (block, x, y, event) {
if (!core.isset(event.data)) if (!core.isset(event.data))
event.data = []; event.data = [];
// 覆盖noPass
if (core.isset(event.noPass))
block.event.noPass = event.noPass;
// 覆盖enable // 覆盖enable
if (!core.isset(block.disable) && core.isset(event.enable)) { if (!core.isset(block.disable) && core.isset(event.enable)) {
block.disable=!event.enable; block.disable=!event.enable;
} }
// 覆盖trigger // 覆盖所有属性
if (!core.isset(block.event.trigger)) {
if (core.isset(event.trigger)) block.event.trigger=event.trigger;
else block.event.trigger='action';
}
else if (core.isset(event.trigger) && event.trigger!='checkBlock') {
block.event.trigger=event.trigger;
}
// 覆盖其他属性
for (var key in event) { for (var key in event) {
if (key!="disable" && key!="trigger" && key!="noPass" && core.isset(event[key])) { if (key!="enable" && core.isset(event[key])) {
block.event[key]=core.clone(event[key]); block.event[key]=core.clone(event[key]);
} }
} }
// 给无trigger的增加trigger:action
if (!core.isset(block.event.trigger)) {
block.event.trigger = 'action';
}
} }
////// 向该楼层添加剧本的楼层转换事件 ////// ////// 向该楼层添加剧本的楼层转换事件 //////