合并272改 - 装备

This commit is contained in:
ckcz123 2020-10-13 15:08:18 +08:00
parent 9af5a08325
commit c85b9b49e7
7 changed files with 32 additions and 32 deletions

View File

@ -418,7 +418,7 @@ return code;
// equip 事件编辑器入口之一
equip_m
: '装备' '类型' EvalString '装备动画(第一个装备格有效)' IdString? BGNL? '数值提升项' equipList+ '百分比提升项' equipList+ BEND
: '装备' '类型' EvalString '装备动画(第一个装备格有效)' IdString? BGNL? '数值提升项' equipList+ '百分比提升项' equipList+ '此道具cls须为equips并设置canUseItemEffect' BEND
/* equip_m
@ -441,25 +441,27 @@ equipList
equipKnown
: Equip_List ':' Number BEND
: Equip_List ':' EvalString BEND
/* equipKnown
tooltip : 装备项
default : ['atk', 10]
helpUrl : /_docs/#/instruction
return '"'+Equip_List_0+'": '+Number_0+', ';
if (!/^[+-]?\d+(\.\d+)?$/.test(EvalString_0)) EvalString_0 = '"' + EvalString_0 + '"';
return '"'+Equip_List_0+'": '+EvalString_0+', ';
*/;
equipUnknown
: EvalString ':' Number BEND
: EvalString ':' EvalString BEND
/* equipUnknown
tooltip : 装备项
default : ['speed', 10]
helpUrl : /_docs/#/instruction
return '"'+EvalString_0+'": '+Number_0+', ';
if (!/^[+-]?\d+(\.\d+)?$/.test(EvalString_1)) EvalString_1 = '"' + EvalString_1 + '"';
return '"'+EvalString_0+'": '+EvalString_1+', ';
*/;

View File

@ -97,16 +97,8 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"_type": "textarea",
"_string": true,
"_lint": true,
"_docs": "能否使用",
"_data": "当前能否使用该道具仅对cls为tools或constants有效。"
},
"equipCondition": {
"_leaf": true,
"_type": "textarea",
"_string": true,
"_lint": true,
"_docs": "能否装备",
"_data": "能装备某个装备的条件仅对cls为equips有效。\n与canUseItemEffect不同这里null代表可以装备。"
"_docs": "能否使用或装备",
"_data": "当前能否使用或装备该道具仅对cls不为items有效。null表示始终不可使用但可装备"
}
}
},

View File

@ -244,10 +244,10 @@ items.prototype.canEquip = function (equipId, hint) {
}
// 可装备条件
var equipCondition = core.material.items[equipId].equipCondition;
if (equipCondition) {
var canUseItemEffect = core.material.items[equipId].canUseItemEffect;
if (canUseItemEffect) {
try {
if (!eval(equipCondition)) {
if (!eval(canUseItemEffect)) {
if (hint) core.drawTip("当前不可换上" + equip.name);
return false;
}

View File

@ -421,7 +421,7 @@ utils.prototype.formatSize = function (size) {
utils.prototype.formatBigNumber = function (x, onMap) {
x = Math.floor(parseFloat(x));
if (!core.isset(x)) return '???';
if (!core.isset(x) || !Number.isFinite(x)) return '???';
if (x > 1e24 || x < -1e24) return x.toExponential(2);
var c = x < 0 ? "-" : "";

View File

@ -323,7 +323,7 @@ function action_items(callback) {
}
// Step 1: 合并内容
var items = items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a.items;
["itemEffect", "itemEffectTip", "useItemEvent", "useItemEffect", "canUseItemEffect", "equipCondition"].forEach(function(one) {
["itemEffect", "itemEffectTip", "useItemEvent", "useItemEffect", "canUseItemEffect"].forEach(function(one) {
var data = items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a[one];
if (!data) return;
for (var id in data) {

View File

@ -1,11 +1,15 @@
2.7.2改版和多语言版中做出的功能性改进:
1. terrains.png中追加了14种薄墙图块不可出入方向一致画在非事件层可使勇士和阻击怪无法穿过和仿rm柜台但没有向下延伸绘制的效果。
2. 怪物追加了批量战后事件比照了道具的useItemEvent和其他图块的script此事件对同种任何怪物生效移动/跳跃后依然生效。炸弹只炸面前的情况增加了触发两种战后事件,以方便作者。
3. 怪物追加了攻击勇士的动画,该动画存在时会作为勇士攻击怪物动画的回调,天降强制战斗时则覆盖勇士攻击怪物的动画。
4. 插件编写init中追加了两个API用来将project\enemys.js转换成csv格式或转换回来以方便作者读写希望此思路也用于其他文件如project\maps.js来方便通行性等属性的读写。其中批量战后事件的存储方式参考了自定义录像项的要求即JSON.stringify再core.encodeBase64
1. terrains.png中追加了14种薄墙图块不可出入方向一致画在非事件层可使勇士和阻击怪无法穿过和仿rm柜台但没有向下延伸绘制的效果。
2. 怪物追加了批量战后事件比照了道具的useItemEvent和其他图块的script此事件对同种任何怪物生效移动/跳跃后依然生效。
?2.1 炸弹只炸面前的情况增加了触发两种战后事件,以方便作者。
x3. 怪物追加了攻击勇士的动画,该动画存在时会作为勇士攻击怪物动画的回调,天降强制战斗时则覆盖勇士攻击怪物的动画。
x4. 插件编写init中追加了两个API用来将project\enemys.js转换成csv格式或转换回来以方便作者读写希望此思路也用于其他文件如project\maps.js来方便通行性等属性的读写。其中批量战后事件的存储方式参考了自定义录像项的要求即JSON.stringify再core.encodeBase64
5. core.stairExists()改为了始终允许87到94号图块毕竟“不想允许这些图块的作者只需要换别的素材”而“想允许这些图块的作者则不得不魔改/复写函数或者开启平面模式,但该作者未必需求玩家飞回上次离开的位置”。
6. 道具属性移除了equipCondition与canUseItemEffect合并null依然表示不可使用但可装备。装备属性的事件编辑器中提示作者修改cls和设置穿戴条件。
7. 无参的入口方块全部统一比如战后、开门后、两个arrive和公共事件以方便复制粘贴不然老提示入口方块类型不符。doorInfo的开关门时间分成了两个数有些门开关速度作者可能需要不一致。无视地形移动/跳跃勇士挪到了地图处理类因为经常和图块的移动跳跃一起用于演出且都没有碰撞效果。UI绘制的颜色改成了注释的浅紫色各种子场合块的颜色改成了入口方块的深紫色以和地图处理类的浅蓝色相区分。
6. 道具属性移除了equipCondition与canUseItemEffect合并null依然表示不可使用但可装备。装备属性的事件编辑器中提示作者修改cls和设置穿戴条件。
7. 无参的入口方块全部统一比如战后、开门后、两个arrive和公共事件以方便复制粘贴不然老提示入口方块类型不符。
7.1 doorInfo的开关门时间分成了两个数有些门开关速度作者可能需要不一致。
7.2 无视地形移动/跳跃勇士挪到了地图处理类,因为经常和图块的移动跳跃一起用于演出且都没有碰撞效果。
7.3 UI绘制的颜色改成了注释的浅紫色各种子场合块的颜色改成了入口方块的深紫色以和地图处理类的浅蓝色相区分。
8. 修复了Math一元运算值块转换为json时的语法错误追加了部分函数。drawTip事件追加了第几帧的参数。
9. 玩家设置中追加了左撇子模式开启后wsad起方向键的作用ijkl起原wsad的SL作用以方便键鼠并用。
10. 移除了部分引用极少的函数如仇恨怪详情、claerTip和tryUseItem改成了直接inline从道具栏使用道具失败时不再closePanel以方便玩家继续选择其他道具破炸冰这三个先斩后奏的就没办法了
@ -19,12 +23,13 @@
18. 楼层属性canFlyTo拆成了两项即canFlyTo和canFlyFrom以方便作者个性化。
19. getSpecials由yzm优化了配色优化了固伤属性的描述可被负伤抵消
20. 难度单词为空字符串时显示“竖屏数字键”以提示竖屏玩家。另外希望修复读档等场合红一下的bug
21. getToolboxItems提供了一个修改排序方式的例子作为注释并说明了用法。
22. project\icons.js中给勇士追加了midFoot表示第三帧并用于两种行走动画暂不包括F7的绘制此功能建议要么merge要么作为系统开关让作者取舍毕竟复写起来要改的函数还挺多而且需要厘清一些逻辑关系其他图块移动时的帧切换频率改为了全局帧动画的三倍以优化观感。
(√)21. getToolboxItems提供了一个修改排序方式的例子作为注释并说明了用法。
x22. project\icons.js中给勇士追加了midFoot表示第三帧并用于两种行走动画暂不包括F7的绘制此功能建议要么merge要么作为系统开关让作者取舍毕竟复写起来要改的函数还挺多而且需要厘清一些逻辑关系其他图块移动时的帧切换频率改为了全局帧动画的三倍以优化观感。
23. 事件编辑器中图块id自动补全追加了图标感谢ad更新了atkValue、defValue、range和n等的表格注释。
24. 修改了formatBigNumber对±∞的处理方式现在它们也会变成???了。另外建议把onMap参数细化为有效数字的位数以供作者更灵活地使用。
25. P键和通关url的&num=10改成了&num=1以方便玩家翻阅到评论区。移除了equip.mp3穿脱装备改为播放centerFly.mp3
26. 追加了公共事件版全局商店“快捷换装”以方便手机端,该事件的对话框可以再更透明一点来方便玩家边换装边观察地图显伤。
24. 修改了formatBigNumber对±∞的处理方式现在它们也会变成???了。
x24.1 另外建议把onMap参数细化为有效数字的位数以供作者更灵活地使用。
x25. P键和通关url的&num=10改成了&num=1以方便玩家翻阅到评论区。移除了equip.mp3穿脱装备改为播放centerFly.mp3
x26. 追加了公共事件版全局商店“快捷换装”以方便手机端,该事件的对话框可以再更透明一点来方便玩家边换装边观察地图显伤。
其他issues
0.1008加入一个flag来控制当前是否允许存档因为天气色调bgm进存档的情况下会屏蔽楼层切换不进存档的话玩家原地SL又不保留。录像播放中加一个百分比二次录制长度/原录像长度)显示,并且允许在已播放的任意节点之间快退快进。

View File

@ -1496,10 +1496,11 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
// 获得道具栏中当前某类型道具的显示项和显示顺序
// cls为道具类型只可能是 tools, constants 和 equips
// 返回一个数组,代表当前某类型道具的显示内容和顺序
// 默认按id升序排列您可以取消下面的注释改为按名称排列
return Object.keys(core.status.hero.items[cls] || {})
.filter(function (id) { return !core.material.items[id].hideInToolbox; })
.sort();
.sort( /*function (id1, id2) { return core.material.items[id1].name <= core.material.items[id2].name ? -1 : 1 }*/ );
},
"drawStatusBar": function () {
// 自定义绘制状态栏需要开启状态栏canvas化