Optimize global flags

This commit is contained in:
ckcz123 2020-05-10 10:19:28 +08:00
parent a0475745f2
commit c71aac1fa9
7 changed files with 10 additions and 39 deletions

View File

@ -199,8 +199,6 @@ N连击怪物的special是6且我们可以为它定义n代表实际连击数
退化怪需要设置'atkValue'和'defValue'表示退化的数值也可以不设置默认为0。
夹击可以通过全塔属性中的`betweenAttackCeil`设为true可以将伤害向上取整。
**将`flag:no_betweenAttack`设置为true可以免疫夹击效果。**
固伤怪则需要设置`damage`选项,代表战前扣血数值。

View File

@ -2745,8 +2745,8 @@ Global_Value_List
Global_Flag_List
: '显示当前楼层'|'显示勇士图标'|'显示当前等级'|'启用生命上限'|'显示魔力值'|'显示魔防值'|'显示金币值'|'显示经验值'|'允许等级提升'|'升级扣除模式'|'显示钥匙数量'|'显示破炸飞'|'显示毒衰咒'|'显示当前技能'|'楼梯边才能楼传'|'楼传平面塔模式'|'破墙镐四方向'|'炸弹四方向'|'冰冻徽章四方向'|'铁门不需要钥匙'|'开启加点'|'开启负伤'|'仇恨怪战后扣减一半'|'夹击是否上整'|'夹击不超伤害值'|'循环计算临界'|'允许轻按'|'寻路算法不绕血瓶'|'允许走到将死领域'|'允许瞬间移动'|'允许查看禁用商店'|'阻激夹域后禁用快捷商店'|'虚化前景层'|'检查控制台'
/*Global_Flag_List ['enableFloor','enableName','enableLv', 'enableHPMax', 'enableMana', 'enableMDef', 'enableMoney', 'enableExperience', 'enableLevelUp', 'levelUpLeftMode', 'enableKeys', 'enablePZF', 'enableDebuff', 'enableSkill', 'flyNearStair', 'flyRecordPosition', 'pickaxeFourDirections', 'bombFourDirections', 'snowFourDirections', 'steelDoorWithoutKey', 'enableAddPoint', 'enableNegativeDamage', 'hatredDecrease', 'betweenAttackCeil', 'betweenAttackMax', 'useLoop', 'enableGentleClick', 'potionWhileRouting', 'canGoDeadZone', 'enableMoveDirectly', 'enableDisabledShop', 'disableShopOnDamage', 'blurFg', 'checkConsole']*/;
: '显示当前楼层'|'显示勇士图标'|'显示当前等级'|'启用生命上限'|'显示魔力值'|'显示魔防值'|'显示金币值'|'显示经验值'|'允许等级提升'|'升级扣除模式'|'显示钥匙数量'|'显示破炸飞'|'显示毒衰咒'|'显示当前技能'|'楼梯边才能楼传'|'楼传平面塔模式'|'破墙镐四方向'|'炸弹四方向'|'冰冻徽章四方向'|'铁门不需要钥匙'|'开启加点'|'开启负伤'|'夹击不超伤害值'|'循环计算临界'|'允许轻按'|'寻路算法不绕血瓶'|'允许走到将死领域'|'允许瞬间移动'|'允许查看禁用商店'|'阻激夹域后禁用快捷商店'|'虚化前景层'|'检查控制台'
/*Global_Flag_List ['enableFloor','enableName','enableLv', 'enableHPMax', 'enableMana', 'enableMDef', 'enableMoney', 'enableExperience', 'enableLevelUp', 'levelUpLeftMode', 'enableKeys', 'enablePZF', 'enableDebuff', 'enableSkill', 'flyNearStair', 'flyRecordPosition', 'pickaxeFourDirections', 'bombFourDirections', 'snowFourDirections', 'steelDoorWithoutKey', 'enableAddPoint', 'enableNegativeDamage', 'betweenAttackMax', 'useLoop', 'enableGentleClick', 'potionWhileRouting', 'canGoDeadZone', 'enableMoveDirectly', 'enableDisabledShop', 'disableShopOnDamage', 'blurFg', 'checkConsole']*/;
Colour
: 'sdeirughvuiyasdeb'+ //为了被识别为复杂词法规则

View File

@ -553,11 +553,6 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"_type": "checkbox",
"_data": "状态栏的装备按钮。若此项为true则将状态栏中的楼层转换器按钮换为装备栏按钮"
},
"iconInEquipbox": {
"_leaf": true,
"_type": "checkbox",
"_data": "在装备栏中的属性变化,是否绘制图标;如果此项开启,则会绘制图标而不是文字"
},
"enableAddPoint": {
"_leaf": true,
"_type": "checkbox",
@ -568,16 +563,6 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"_type": "checkbox",
"_data": "是否支持负伤害(回血)"
},
"hatredDecrease": {
"_leaf": true,
"_type": "checkbox",
"_data": "是否在和仇恨怪战斗后减一半的仇恨值此项为false则和仇恨怪不会扣减仇恨值。"
},
"betweenAttackCeil": {
"_leaf": true,
"_type": "checkbox",
"_data": "夹击上整还是下整。如果此项为true则夹击伤害值向上取整为false则为向下取整"
},
"betweenAttackMax": {
"_leaf": true,
"_type": "checkbox",
@ -632,7 +617,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"potionWhileRouting": {
"_leaf": true,
"_type": "checkbox",
"_data": "寻路算法是否经过血瓶如果该项为false则寻路算法会自动尽量绕过血瓶"
"_data": "寻路算法是否经过血瓶和绿钥匙如果该项为false则寻路算法会自动尽量绕过血瓶和绿钥匙"
},
"ignoreChangeFloor": {
"_leaf": true,

View File

@ -2388,15 +2388,8 @@ ui.prototype._drawEquipbox_drawStatusChanged = function (info, y, equip, equipTy
// --- 变化值...
core.setFont('ui', this._buildFont(14, true));
for (var name in compare) {
var img = core.statusBar.icons[name];
var text = this._drawEquipbox_getStatusName(name);
if (img && core.flags.iconInEquipbox) { // 绘制图标
core.drawImage('ui', img, 0, 0, 32, 32, obj.drawOffset, obj.y - 13, 16, 16);
obj.drawOffset += 20;
}
else { // 绘制文字
this._drawEquipbox_drawStatusChanged_draw(text + " ", '#CCCCCC', obj);
}
this._drawEquipbox_drawStatusChanged_draw(text + " ", '#CCCCCC', obj);
var nowValue = core.getStatus(name) * core.getBuff(name), newValue = (core.getStatus(name) + compare[name]) * core.getBuff(name);
if (equip.equip.percentage) {
var nowBuff = core.getBuff(name), newBuff = nowBuff + compare[name] / 100;

View File

@ -442,11 +442,8 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"itemFirstText": false,
"equipment": false,
"equipboxButton": false,
"iconInEquipbox": false,
"enableAddPoint": false,
"enableNegativeDamage": false,
"hatredDecrease": true,
"betweenAttackCeil": false,
"betweenAttackMax": false,
"useLoop": false,
"startUsingCanvas": false,

View File

@ -315,8 +315,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
if (core.enemys.hasSpecial(special, 14)) {
core.push(todo, [{ "type": "insert", "name": "毒衰咒处理", "args": [2] }]);
}
// 仇恨属性:减半
if (core.flags.hatredDecrease && core.enemys.hasSpecial(special, 17)) {
// 仇恨属性
if (core.enemys.hasSpecial(special, 17)) {
core.setFlag('hatred', Math.floor(core.getFlag('hatred', 0) / 2));
}
// 自爆
@ -464,7 +464,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
[14, "诅咒", "战斗后,勇士陷入诅咒状态,战斗无法获得金币和经验"],
[15, "领域", function (enemy) { return "经过怪物周围" + (enemy.zoneSquare ? "九宫格" : "十字") + "范围内" + (enemy.range || 1) + "格时自动减生命" + (enemy.value || 0) + "点"; }],
[16, "夹击", "经过两只相同的怪物中间,勇士生命值变成一半"],
[17, "仇恨", "战斗前,怪物附加之前积累的仇恨值作为伤害" + (core.flags.hatredDecrease ? ";战斗后,释放一半的仇恨值" : "") + "。(每杀死一个怪物获得" + (core.values.hatred || 0) + "点仇恨值)"],
[17, "仇恨", "战斗前,怪物附加之前积累的仇恨值作为伤害;战斗后,释放一半的仇恨值。(每杀死一个怪物获得" + (core.values.hatred || 0) + "点仇恨值)"],
[18, "阻击", function (enemy) { return "经过怪物的十字领域时自动减生命" + (enemy.value || 0) + "点,同时怪物后退一格"; }],
[19, "自爆", "战斗后勇士的生命值变成1"],
[20, "无敌", "勇士无法打败怪物,除非拥有十字架"],
@ -1189,7 +1189,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
// 捕捉
// 如果要防止捕捉效果,可以直接简单的将 flag:no_ambush 设为true
if (enemy && core.enemys.hasSpecial(enemy.special, 27)) {
if (enemy && core.enemys.hasSpecial(enemy.special, 27) && !core.hasFlag("no_ambush")) {
// 给周围格子加上【捕捉】记号
for (var dir in core.utils.scan) {
var nx = x + core.utils.scan[dir].x,
@ -1229,8 +1229,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
if (enemyId1 != null || enemyId2 != null) {
var leftHp = core.status.hero.hp - (damage[loc] || 0);
if (leftHp > 1) {
// 上整/下整
var value = Math.floor((leftHp + (core.flags.betweenAttackCeil ? 1 : 0)) / 2);
// 夹击伤害值
var value = Math.floor(leftHp / 2);
// 是否不超过怪物伤害值
if (core.flags.betweenAttackMax) {
var enemyDamage1 = core.getDamage(enemyId1, x, y, floorId);

2
runtime.d.ts vendored
View File

@ -81,8 +81,6 @@ type SystemFlags = {
enableXxx: boolean
flyNearStair: boolean
steelDoorWithoutKey: boolean
hatredDecrease: boolean
betweenAttackCeil: boolean
betweenAttackMax: boolean
ignoreChangeFloor: boolean
disableShopOnDamage: boolean