fix:修改敌人属性"固伤"名称,适配怪物手册绘制
This commit is contained in:
parent
eb7fe9a698
commit
01cfe6cff6
@ -1604,7 +1604,7 @@ var terndefs_f6783a0a_522d_417e_8407_94c67b692e50 = [
|
||||
"!type": "number",
|
||||
"!doc": "破甲比例;退化扣除防御;光环增加防御"
|
||||
},
|
||||
"damage": {
|
||||
"fixedDamage": {
|
||||
"!type": "number",
|
||||
"!doc": "固伤值"
|
||||
},
|
||||
|
||||
@ -3,6 +3,10 @@
|
||||
* 在这里可以对表格中的各项显示进行配置,包括表格项、提示内容等内容。具体写法照葫芦画瓢即可。
|
||||
* 本配置项包括:道具、怪物、图块属性、楼层属性等内容。
|
||||
* 相关文档 _docs/editor.md ~ http://127.0.0.1:1055/_docs/#/editor?id=修改表格
|
||||
*
|
||||
* 注意:本样板禁止添加以下名字的怪物属性,否则将影响手册绘制的准确性:
|
||||
* specialText, specialColor, damage, critical, criticalDamage, defDamage
|
||||
* 原固伤damage已改名为fixedDamage
|
||||
*/
|
||||
|
||||
var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
|
||||
@ -354,7 +358,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
|
||||
"_docs": "退化扣防",
|
||||
"_data": "退化时勇士下降的防御力点数"
|
||||
},
|
||||
"damage": {
|
||||
"fixedDamage": {
|
||||
"_leaf": true,
|
||||
"_type": "textarea",
|
||||
"_range": "thiseval==~~thiseval||thiseval==null",
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
/// <reference path="../runtime.d.ts" />
|
||||
var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
{
|
||||
"events": {
|
||||
"resetGame": function (hero, hard, floorId, maps, values) {
|
||||
"events": {
|
||||
"resetGame": function (hero, hard, floorId, maps, values) {
|
||||
// 重置整个游戏;此函数将在游戏开始时,或者每次读档时最先被调用
|
||||
// hero:勇士信息;hard:难度;floorId:当前楼层ID;maps:地图信息;values:全局数值信息
|
||||
|
||||
@ -53,7 +53,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
// 隐藏右下角的音乐按钮
|
||||
core.dom.musicBtn.style.display = 'none';
|
||||
},
|
||||
"win": function (reason, norank, noexit) {
|
||||
"win": function (reason, norank, noexit) {
|
||||
// 游戏获胜事件
|
||||
// 请注意,成绩统计时是按照hp进行上传并排名
|
||||
// 可以先在这里对最终分数进行计算,比如将2倍攻击和5倍黄钥匙数量加到分数上
|
||||
@ -82,7 +82,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
})
|
||||
});
|
||||
},
|
||||
"lose": function (reason) {
|
||||
"lose": function (reason) {
|
||||
// 游戏失败事件
|
||||
core.ui.closePanel();
|
||||
var replaying = core.isReplaying();
|
||||
@ -95,7 +95,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
});
|
||||
})
|
||||
},
|
||||
"changingFloor": function (floorId, heroLoc) {
|
||||
"changingFloor": function (floorId, heroLoc) {
|
||||
// 正在切换楼层过程中执行的操作;此函数的执行时间是“屏幕完全变黑“的那一刻
|
||||
// floorId为要切换到的楼层ID;heroLoc表示勇士切换到的位置
|
||||
|
||||
@ -185,7 +185,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
}
|
||||
if (!core.isReplaying()) core.plugin.drawCommentSign();
|
||||
},
|
||||
"flyTo": function (toId, callback) {
|
||||
"flyTo": function (toId, callback) {
|
||||
// 楼层传送器的使用,从当前楼层飞往toId
|
||||
// 如果不能飞行请返回false
|
||||
|
||||
@ -228,7 +228,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
|
||||
return true;
|
||||
},
|
||||
"beforeBattle": function (enemyId, x, y) {
|
||||
"beforeBattle": function (enemyId, x, y) {
|
||||
// 战斗前触发的事件,可以加上一些战前特效(详见下面支援的例子)
|
||||
// 此函数在“检测能否战斗和自动存档”【之后】执行。如果需要更早的战前事件,请在插件中覆重写 core.events.doSystemEvent 函数。
|
||||
// 返回true则将继续战斗,返回false将不再战斗。
|
||||
@ -259,7 +259,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
|
||||
return true;
|
||||
},
|
||||
"afterBattle": function (enemyId, x, y) {
|
||||
"afterBattle": function (enemyId, x, y) {
|
||||
// 战斗结束后触发的事件
|
||||
|
||||
var enemy = core.getEnemyValue(enemyId, null, x, y);
|
||||
@ -457,7 +457,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
core.clearContinueAutomaticRoute();
|
||||
|
||||
},
|
||||
"afterOpenDoor": function (doorId, x, y) {
|
||||
"afterOpenDoor": function (doorId, x, y) {
|
||||
// 开一个门后触发的事件
|
||||
|
||||
var todo = [];
|
||||
@ -478,7 +478,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
else
|
||||
core.clearContinueAutomaticRoute();
|
||||
},
|
||||
"afterGetItem": function (itemId, x, y, isGentleClick) {
|
||||
"afterGetItem": function (itemId, x, y, isGentleClick) {
|
||||
// 获得一个道具后触发的事件
|
||||
// itemId:获得的道具ID;x和y是该道具所在的坐标
|
||||
// isGentleClick:是否是轻按触发的
|
||||
@ -500,7 +500,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
|
||||
if (todo.length > 0) core.insertAction(todo, x, y);
|
||||
},
|
||||
"afterPushBox": function () {
|
||||
"afterPushBox": function () {
|
||||
// 推箱子后的事件
|
||||
if (core.searchBlock('box').length == 0) {
|
||||
// 可以通过if语句来进行开门操作
|
||||
@ -513,9 +513,9 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
*/
|
||||
}
|
||||
}
|
||||
},
|
||||
"enemys": {
|
||||
"getSpecials": function () {
|
||||
},
|
||||
"enemys": {
|
||||
"getSpecials": function () {
|
||||
// 获得怪物的特殊属性,每一行定义一个特殊属性。
|
||||
// 分为五项,第一项为该特殊属性的数字,第二项为特殊属性的名字,第三项为特殊属性的描述
|
||||
// 第四项为该特殊属性的颜色,可以写十六进制 #RRGGBB 或者 [r,g,b,a] 四元数组
|
||||
@ -543,7 +543,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
[19, "自爆", "战斗后角色的生命值变成1", "#ff6666"],
|
||||
[20, "无敌", "角色无法打败怪物,除非拥有十字架", "#aaaaaa"],
|
||||
[21, "退化", function (enemy) { return "战斗后角色永久下降" + (enemy.atkValue || 0) + "点攻击和" + (enemy.defValue || 0) + "点防御"; }],
|
||||
[22, "固伤", function (enemy) { return "战斗前,怪物对角色造成" + (enemy.damage || 0) + "点固定伤害,未开启负伤时无视角色护盾。"; }, "#ff9977"],
|
||||
[22, "固伤", function (enemy) { return "战斗前,怪物对角色造成" + (enemy.fixedDamage || 0) + "点固定伤害,未开启负伤时无视角色护盾。"; }, "#ff9977"],
|
||||
[23, "重生", "怪物被击败后,角色转换楼层则怪物将再次出现", "#a0e0ff"],
|
||||
[24, "激光", function (enemy) { return "经过怪物同行或同列时自动减生命" + (enemy.laser || 0) + "点"; }, "#dda0dd"],
|
||||
[25, "光环", function (enemy) { return (enemy.range != null ? ((enemy.haloSquare ? "该怪物九宫格" : "该怪物十字") + enemy.haloRange + "格范围内") : "同楼层所有") + "怪物生命提升" + (enemy.hpBuff || 0) + "%,攻击提升" + (enemy.atkBuff || 0) + "%,防御提升" + (enemy.defBuff || 0) + "%," + (enemy.haloAdd ? "可叠加" : "不可叠加"); }, "#e6e099", 1],
|
||||
@ -553,7 +553,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
[29, "败移", "战后若角色面对的行/列有其它怪物,该怪物不会被击败,而是与其中最近的怪物交换位置。", "#c0ddbb"],
|
||||
];
|
||||
},
|
||||
"getEnemyInfo": function (enemy, hero, x, y, floorId) {
|
||||
"getEnemyInfo": function (enemy, hero, x, y, floorId) {
|
||||
// 获得某个怪物变化后的数据;该函数将被伤害计算和怪物手册使用
|
||||
// 例如:坚固、模仿、仿攻等等
|
||||
//
|
||||
@ -677,7 +677,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
"guards": guards, // 返回支援情况
|
||||
};
|
||||
},
|
||||
"getDamageInfo": function (enemy, hero, x, y, floorId) {
|
||||
"getDamageInfo": function (enemy, hero, x, y, floorId) {
|
||||
// 获得战斗伤害信息(实际伤害计算函数)
|
||||
//
|
||||
// 参数说明:
|
||||
@ -792,8 +792,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
// 递归计算支援怪伤害信息,这里不传x,y保证不会重复调用
|
||||
// 这里的mdef传0,因为逻辑上护盾只会在与第一个敌人战斗时被计算一次
|
||||
// 也就是说打支援敌人时护盾视为0。
|
||||
var info = core.enemys.getDamageInfo(core.getEnemyValue(gid, null, gx, gy, floorId),
|
||||
{ hp: origin_hero_hp, atk: origin_hero_atk, def: origin_hero_def, mdef: 0 });
|
||||
var info = core.enemys.getDamageInfo(core.getEnemyValue(gid, null, gx, gy, floorId), { hp: origin_hero_hp, atk: origin_hero_atk, def: origin_hero_def, mdef: 0 });
|
||||
if (info == null) { // 小队中任何一个怪物不可战斗,直接返回null
|
||||
core.removeFlag("__extraTurn__");
|
||||
return null;
|
||||
@ -823,7 +822,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
damage += core.getFlag('hatred', 0);
|
||||
}
|
||||
if (core.hasSpecial(mon_special, 22)) { // 固伤
|
||||
damage += enemy.damage || 0;
|
||||
damage += enemy.fixedDamage || 0;
|
||||
}
|
||||
|
||||
return {
|
||||
@ -837,9 +836,9 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
"damage": Math.floor(damage)
|
||||
};
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"onKeyUp": function (keyCode, altKey) {
|
||||
},
|
||||
"actions": {
|
||||
"onKeyUp": function (keyCode, altKey) {
|
||||
// 键盘按键处理,可以在这里自定义快捷键列表
|
||||
// keyCode:当前按键的keyCode(每个键的keyCode自行百度)
|
||||
// altKey:Alt键是否被按下,为true代表同时按下了Alt键
|
||||
@ -1016,7 +1015,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
}
|
||||
|
||||
},
|
||||
"onStatusBarClick": function (px, py, vertical) {
|
||||
"onStatusBarClick": function (px, py, vertical) {
|
||||
// 点击状态栏时触发的事件,仅在自绘状态栏开启时生效
|
||||
// px和py为点击的像素坐标
|
||||
// vertical为录像播放过程中的横竖屏信息
|
||||
@ -1084,9 +1083,9 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
*/
|
||||
|
||||
}
|
||||
},
|
||||
"control": {
|
||||
"saveData": function () {
|
||||
},
|
||||
"control": {
|
||||
"saveData": function () {
|
||||
// 存档操作,此函数应该返回“具体要存档的内容”
|
||||
|
||||
// 差异化存储values
|
||||
@ -1111,7 +1110,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
|
||||
return data;
|
||||
},
|
||||
"loadData": function (data, callback) {
|
||||
"loadData": function (data, callback) {
|
||||
// 读档操作;从存储中读取了内容后的行为
|
||||
|
||||
// 重置游戏和路线
|
||||
@ -1150,7 +1149,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
if (callback) callback();
|
||||
});
|
||||
},
|
||||
"getStatusLabel": function (name) {
|
||||
"getStatusLabel": function (name) {
|
||||
// 返回某个状态英文名的对应中文标签,如atk -> 攻击,def -> 防御等。
|
||||
// 请注意此项仅影响 libs/ 下的内容(如绘制怪物手册、数据统计等)
|
||||
// 自行定义的(比如获得道具效果)中用到的“攻击+3”等需要自己去对应地方修改
|
||||
@ -1171,7 +1170,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
steps: "步数",
|
||||
}[name] || name;
|
||||
},
|
||||
"triggerDebuff": function (action, type) {
|
||||
"triggerDebuff": function (action, type) {
|
||||
// 毒衰咒效果的获得与解除
|
||||
// action:获得还是解除;'get'表示获得,'remove'表示解除
|
||||
// type:一个数组表示获得了哪些毒衰咒效果;poison, weak,curse
|
||||
@ -1228,7 +1227,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
if (success) core.playSound('回血');
|
||||
}
|
||||
},
|
||||
"updateStatusBar": function () {
|
||||
"updateStatusBar": function () {
|
||||
// 更新状态栏
|
||||
|
||||
// 检查等级
|
||||
@ -1310,7 +1309,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
// updateDamage只能在此处执行!!更新全地图显伤
|
||||
core.updateDamage();
|
||||
},
|
||||
"getCheckBlock": function (floorId) {
|
||||
"getCheckBlock": function (floorId) {
|
||||
// 领域、夹击、阻击等的伤害值计算
|
||||
floorId = floorId || core.status.floorId;
|
||||
if (!floorId || !core.status.maps) return;
|
||||
@ -1549,7 +1548,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
cache: {} // clear cache
|
||||
};
|
||||
},
|
||||
"moveOneStep": function (callback) {
|
||||
"moveOneStep": function (callback) {
|
||||
// 勇士每走一步后执行的操作。callback为行走完毕后的回调
|
||||
// 这个函数执行在“刚走完”的时候,即还没有检查该点的事件和领域伤害等。
|
||||
// 请注意:瞬间移动不会执行该函数。如果要控制能否瞬间移动有三种方法:
|
||||
@ -1615,7 +1614,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
// 如需强行终止行走可以在这里条件判定:
|
||||
// core.stopAutomaticRoute();
|
||||
},
|
||||
"moveDirectly": function (x, y, ignoreSteps) {
|
||||
"moveDirectly": function (x, y, ignoreSteps) {
|
||||
// 瞬间移动;x,y为要瞬间移动的点;ignoreSteps为减少的步数,可能之前已经被计算过
|
||||
// 返回true代表成功瞬移,false代表没有成功瞬移
|
||||
|
||||
@ -1656,7 +1655,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
}
|
||||
return false;
|
||||
},
|
||||
"parallelDo": function (timestamp) {
|
||||
"parallelDo": function (timestamp) {
|
||||
// 并行事件处理,可以在这里写任何需要并行处理的脚本或事件
|
||||
// 该函数将被系统反复执行,每次执行间隔视浏览器或设备性能而定,一般约为16.6ms一次
|
||||
// 参数timestamp为“从游戏资源加载完毕到当前函数执行时”的时间差,以毫秒为单位
|
||||
@ -1673,23 +1672,23 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ui": {
|
||||
"getToolboxItems": function (cls, showHide) {
|
||||
// 获得道具栏中当前某类型道具的显示项和显示顺序
|
||||
// cls为道具类型,只可能是 tools, constants 和 equips
|
||||
// 返回一个数组,代表当前某类型道具的显示内容和顺序
|
||||
// 默认按id升序排列,您可以取消下面的注释改为按名称排列
|
||||
// showHide 是否显示隐藏的道具
|
||||
},
|
||||
"ui": {
|
||||
"getToolboxItems": function (cls, showHide) {
|
||||
// 获得道具栏中当前某类型道具的显示项和显示顺序
|
||||
// cls为道具类型,只可能是 tools, constants 和 equips
|
||||
// 返回一个数组,代表当前某类型道具的显示内容和顺序
|
||||
// 默认按id升序排列,您可以取消下面的注释改为按名称排列
|
||||
// showHide 是否显示隐藏的道具
|
||||
|
||||
let list = Object.keys(core.status.hero.items[cls] || {});
|
||||
if (!showHide) list = list.filter(function (id) {
|
||||
return !core.material.items[id].hideInToolbox;
|
||||
})
|
||||
list = list.sort( /*function (id1, id2) { return core.material.items[id1].name <= core.material.items[id2].name ? -1 : 1 }*/ );
|
||||
return list;
|
||||
},
|
||||
"drawStatusBar": function () {
|
||||
let list = Object.keys(core.status.hero.items[cls] || {});
|
||||
if (!showHide) list = list.filter(function (id) {
|
||||
return !core.material.items[id].hideInToolbox;
|
||||
})
|
||||
list = list.sort( /*function (id1, id2) { return core.material.items[id1].name <= core.material.items[id2].name ? -1 : 1 }*/);
|
||||
return list;
|
||||
},
|
||||
"drawStatusBar": function () {
|
||||
// 自定义绘制状态栏,需要开启状态栏canvas化
|
||||
|
||||
// 如果是非状态栏canvas化,直接返回
|
||||
@ -1792,7 +1791,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
_fillBoldTextWithFontCheck(core.setTwoDigits(core.itemCount('redKey')), 212, 90, '#FF8888');
|
||||
}
|
||||
},
|
||||
"drawStatistics": function () {
|
||||
"drawStatistics": function () {
|
||||
// 浏览地图时参与的统计项目
|
||||
|
||||
return [
|
||||
@ -1808,7 +1807,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
// 在这里可以增加新的ID来进行统计个数,只能增加道具ID
|
||||
];
|
||||
},
|
||||
"drawAbout": function () {
|
||||
"drawAbout": function () {
|
||||
// 绘制“关于”界面
|
||||
core.ui.closePanel();
|
||||
core.lockControl();
|
||||
@ -1836,5 +1835,5 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
// TODO: 写自己的“关于”页面,每次增加32像素即可
|
||||
core.playSound('打开界面');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user