type:trigger system event
This commit is contained in:
parent
c5fb825b87
commit
7e8db1edad
@ -573,6 +573,8 @@ NPC对话事件结束后如果需要NPC消失也需要调用 `{"type": "hide"}`
|
||||
|
||||
例如上面这个例子,下面的文字将不会再被显示,而是直接跳转到`"3,6"`对应的事件列表从头执行。
|
||||
|
||||
!> 从V2.5.4开始,允许执行另一个点的“系统事件”,如打怪、开门、拾取道具等等。对应点的战后事件等也会被执行。
|
||||
|
||||
### insert:插入公共事件或另一个地点的事件并执行
|
||||
|
||||
`{"type":"insert"}` 会插入公共事件或另一个地点的事件并执行。
|
||||
|
||||
@ -899,13 +899,53 @@ events.prototype.doAction = function() {
|
||||
var block=core.getBlock(toX, toY);
|
||||
if (block!=null) {
|
||||
block = block.block;
|
||||
if (core.isset(block.event) && block.event.trigger=='action') {
|
||||
// 触发
|
||||
core.status.event.data.list = [
|
||||
{"todo": core.clone(block.event.data), "total": core.clone(block.event.data), "condition": "false"}
|
||||
];
|
||||
if (core.isset(block.event)) {
|
||||
core.status.event.data.x=block.x;
|
||||
core.status.event.data.y=block.y;
|
||||
core.status.event.data.list = [
|
||||
{"todo": [], "total": [], "condition": "false"}
|
||||
];
|
||||
switch (block.event.trigger) {
|
||||
case "action":
|
||||
core.status.event.data.list = [
|
||||
{"todo": core.clone(block.event.data), "total": core.clone(block.event.data), "condition": "false"}
|
||||
];
|
||||
break;
|
||||
case "battle":
|
||||
core.events.battle(block.event.id, block.x, block.y, true, function () {
|
||||
core.doAction();
|
||||
});
|
||||
return;
|
||||
case "openDoor":
|
||||
core.openDoor(block.event.id, block.x, block.y, true, function () {
|
||||
core.lockControl();
|
||||
core.doAction();
|
||||
});
|
||||
return;
|
||||
case "changeFloor":
|
||||
{
|
||||
var heroLoc = {};
|
||||
if (core.isset(block.event.data.loc))
|
||||
heroLoc = {'x': block.event.data.loc[0], 'y': block.event.data.loc[1]};
|
||||
if (core.isset(block.event.data.direction))
|
||||
heroLoc.direction = block.event.data.direction;
|
||||
core.changeFloor(block.event.data.floorId, block.event.data.stair,
|
||||
heroLoc, block.event.data.time, function () {
|
||||
core.lockControl();
|
||||
core.doAction();
|
||||
});
|
||||
}
|
||||
return;
|
||||
case "getItem":
|
||||
core.getItem(block.event.id, 1, block.x, block.y);
|
||||
break;
|
||||
case "passNet":
|
||||
this.passNet(block);
|
||||
break;
|
||||
case "changeLight":
|
||||
this.changeLight(block.x, block.y);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.doAction();
|
||||
@ -1469,6 +1509,7 @@ events.prototype.battle = function (id, x, y, force, callback) {
|
||||
if (!core.enemys.canBattle(id, x, y) && !force && !core.isset(core.status.event.id)) {
|
||||
core.drawTip("你打不过此怪物!");
|
||||
core.clearContinueAutomaticRoute();
|
||||
if (core.isset(callback)) callback();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
13
更新说明.txt
13
更新说明.txt
@ -4,13 +4,16 @@
|
||||
支持多重装备(一个装备可以装到多个孔上)
|
||||
工具栏按钮增添至8个,快捷商店和虚拟键盘同时显示
|
||||
点击状态栏的金币图标也可以打开快捷商店
|
||||
事件:使用道具,暂停背景音乐
|
||||
等待事件提供flag:px和flag:py在0~415之间
|
||||
事件:呼出存读档界面;呼出怪物手册
|
||||
事件:使用道具,暂停背景音乐,暂停所有音效
|
||||
type:trigger可以触发系统事件
|
||||
独立开关
|
||||
贴图也可以支持帧动画了
|
||||
图块内置颜色选择器
|
||||
标题界面增加音乐按钮
|
||||
拓展键盘默认隐藏,菜单栏中开启
|
||||
自动存档优化,大幅提升打怪开门等操作的性能
|
||||
使用新版drawLight插件,效率大幅提升
|
||||
部分Bug修复,大量细节优化
|
||||
等待事件可被Ctrl(长按)跳过
|
||||
部分Bug修复,大量细节优化,性能进一步得到提升
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user