mirror of
				https://github.com/unanmed/HumanBreak.git
				synced 2025-11-04 07:02:58 +08:00 
			
		
		
		
	冰封与火焰光环
This commit is contained in:
		
							parent
							
								
									7a42a0d9b9
								
							
						
					
					
						commit
						cb0e6cb98e
					
				@ -267,6 +267,18 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
 | 
				
			|||||||
					"_docs": "融化",
 | 
										"_docs": "融化",
 | 
				
			||||||
					"_data": "融化"
 | 
										"_data": "融化"
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
 | 
									"iceCore": {
 | 
				
			||||||
 | 
										"_leaf": true,
 | 
				
			||||||
 | 
										"_type": "textarea",
 | 
				
			||||||
 | 
										"_docs": "冰封之核",
 | 
				
			||||||
 | 
										"_data": "冰封之核"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
 | 
									"fireCore": {
 | 
				
			||||||
 | 
										"_leaf": true,
 | 
				
			||||||
 | 
										"_type": "textarea",
 | 
				
			||||||
 | 
										"_docs": "火焰之核",
 | 
				
			||||||
 | 
										"_data": "火焰之核"
 | 
				
			||||||
 | 
									},
 | 
				
			||||||
				"value": {
 | 
									"value": {
 | 
				
			||||||
					"_leaf": true,
 | 
										"_leaf": true,
 | 
				
			||||||
					"_type": "textarea",
 | 
										"_type": "textarea",
 | 
				
			||||||
 | 
				
			|||||||
@ -161,6 +161,6 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
 | 
				
			|||||||
	"E610": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
 | 
						"E610": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
 | 
				
			||||||
	"E611": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
 | 
						"E611": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
 | 
				
			||||||
	"E612": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
 | 
						"E612": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
 | 
				
			||||||
	"E613": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
 | 
						"E613": {"name":"寒冰核心","hp":20000,"atk":3000,"def":1500,"money":3,"exp":150,"point":0,"special":[26],"iceCore":20},
 | 
				
			||||||
	"E614": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}
 | 
						"E614": {"name":"火焰核心","hp":15000,"atk":2750,"def":1750,"money":3,"exp":140,"point":0,"special":[27],"fireCore":20}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -29,6 +29,9 @@ main.floors.MT36=
 | 
				
			|||||||
        ],
 | 
					        ],
 | 
				
			||||||
        "6,14": [
 | 
					        "6,14": [
 | 
				
			||||||
            "在本地图的右方,会看到一个棕色的线,这是由于抗锯齿出现的像素错误。这里关闭抗锯齿即可解决(默认是关闭的)。"
 | 
					            "在本地图的右方,会看到一个棕色的线,这是由于抗锯齿出现的像素错误。这里关闭抗锯齿即可解决(默认是关闭的)。"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "8,14": [
 | 
				
			||||||
 | 
					            "坚固怪受到光环加成后可能无法被打败,因为会首先计算坚固属性再计算光环"
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "changeFloor": {},
 | 
					    "changeFloor": {},
 | 
				
			||||||
@ -44,17 +47,17 @@ main.floors.MT36=
 | 
				
			|||||||
    [  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,604,  0,  0,  0,  0],
 | 
					    [  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,604,  0,  0,  0,  0],
 | 
				
			||||||
    [  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,70176,70177,70177,70177,70177],
 | 
					    [  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,70176,70177,70177,70177,70177],
 | 
				
			||||||
    [604,  0,  0,  0,  0,  0,  0,  0,  0,  0,70184,70185,70185,70185, 94],
 | 
					    [604,  0,  0,  0,  0,  0,  0,  0,  0,  0,70184,70185,70185,70185, 94],
 | 
				
			||||||
    [  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,70208,70209,70209,70209,70209],
 | 
					    [  0,  0,  0,  0,  0,  0,  0,609,  0,  0,70208,70209,70209,70209,70209],
 | 
				
			||||||
    [604,  0,  0,  0,  0,  0,600,  0,  0,  0,  0,  0,  0,  0,  0],
 | 
					    [604,  0,  0,  0,  0,  0,600,  0,  0,  0,  0,  0,  0,  0,  0],
 | 
				
			||||||
    [587,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0],
 | 
					    [587,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0],
 | 
				
			||||||
    [587,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0],
 | 
					    [587,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0],
 | 
				
			||||||
    [ 92,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0],
 | 
					    [ 92,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0],
 | 
				
			||||||
    [584,584,584,584,584,584,584,584,584,584,584,  0,  0,  0,  0],
 | 
					    [584,584,584,584,584,584,584,584,584,584,584,  0,  0,  0,  0],
 | 
				
			||||||
 | 
					    [  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,614,  0,  0],
 | 
				
			||||||
    [  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0],
 | 
					    [  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0],
 | 
				
			||||||
    [  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0],
 | 
					    [  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0],
 | 
				
			||||||
    [  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0],
 | 
					    [70056,613,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0],
 | 
				
			||||||
    [70056,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0],
 | 
					    [585,585,585,585,585,585,129,  0,129,585,585,585,585,585,585]
 | 
				
			||||||
    [585,585,585,585,585,585,129,  0,585,585,585,585,585,585,585]
 | 
					 | 
				
			||||||
],
 | 
					],
 | 
				
			||||||
    "bgmap": [
 | 
					    "bgmap": [
 | 
				
			||||||
    [70073,70073,70073,70056,  0,  0,  0,  0,  0,  0,70058,70086,70086,70086,70086],
 | 
					    [70073,70073,70073,70056,  0,  0,  0,  0,  0,  0,70058,70086,70086,70086,70086],
 | 
				
			||||||
 | 
				
			|||||||
@ -723,12 +723,20 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
 | 
				
			|||||||
                ],
 | 
					                ],
 | 
				
			||||||
                [
 | 
					                [
 | 
				
			||||||
                    26,
 | 
					                    26,
 | 
				
			||||||
                    '支援',
 | 
					                    '冰封之核',
 | 
				
			||||||
                    '当周围一圈的怪物受到攻击时将上前支援,并组成小队战斗。',
 | 
					                    enemy =>
 | 
				
			||||||
                    '#77c0b6',
 | 
					                        `怪物拥有逼人的寒气,使周围5*5范围内的怪物防御增加${enemy.iceCore}%`,
 | 
				
			||||||
 | 
					                    '#70ffd1',
 | 
				
			||||||
                    1
 | 
					                    1
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
                [27, '捕捉', '当走到怪物周围十字时会强制进行战斗。', '#c0ddbb']
 | 
					                [
 | 
				
			||||||
 | 
					                    27,
 | 
				
			||||||
 | 
					                    '火焰之核',
 | 
				
			||||||
 | 
					                    enemy =>
 | 
				
			||||||
 | 
					                        `怪物拥有灼热的火焰,使周围5*5范围内的怪物攻击增加${enemy.fireCore}%`,
 | 
				
			||||||
 | 
					                    '#ff6f0a',
 | 
				
			||||||
 | 
					                    1
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
            ];
 | 
					            ];
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        getEnemyInfo: function (enemy, hero, x, y, floorId) {
 | 
					        getEnemyInfo: function (enemy, hero, x, y, floorId) {
 | 
				
			||||||
@ -806,7 +814,114 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            var guards = [];
 | 
					            var guards = [];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const info = {
 | 
					            // 光环和支援检查
 | 
				
			||||||
 | 
					            core.status.checkBlock ??= {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (
 | 
				
			||||||
 | 
					                core.status.checkBlock.needCache &&
 | 
				
			||||||
 | 
					                core.has(x) &&
 | 
				
			||||||
 | 
					                core.has(y)
 | 
				
			||||||
 | 
					            ) {
 | 
				
			||||||
 | 
					                // 从V2.5.4开始,对光环效果增加缓存,以解决多次重复计算的问题,从而大幅提升运行效率。
 | 
				
			||||||
 | 
					                var hp_buff = 0,
 | 
				
			||||||
 | 
					                    atk_buff = 0,
 | 
				
			||||||
 | 
					                    def_buff = 0;
 | 
				
			||||||
 | 
					                // 检查光环和支援的缓存
 | 
				
			||||||
 | 
					                var index = `${x},${y}`;
 | 
				
			||||||
 | 
					                core.status.checkBlock.cache ??= {};
 | 
				
			||||||
 | 
					                var cache = core.status.checkBlock.cache[index];
 | 
				
			||||||
 | 
					                if (!cache) {
 | 
				
			||||||
 | 
					                    // 没有该点的缓存,则遍历每个图块
 | 
				
			||||||
 | 
					                    core.extractBlocks(floorId);
 | 
				
			||||||
 | 
					                    core.status.maps[floorId].blocks.forEach(function (block) {
 | 
				
			||||||
 | 
					                        if (block.disable) return;
 | 
				
			||||||
 | 
					                        // 获得该图块的ID
 | 
				
			||||||
 | 
					                        var id = block.event.id,
 | 
				
			||||||
 | 
					                            e = core.material.enemys[id];
 | 
				
			||||||
 | 
					                        if (!e) return;
 | 
				
			||||||
 | 
					                        var dx = Math.abs(block.x - x),
 | 
				
			||||||
 | 
					                            dy = Math.abs(block.y - y);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        // 抱团
 | 
				
			||||||
 | 
					                        if (
 | 
				
			||||||
 | 
					                            core.hasSpecial(mon_special, 8) &&
 | 
				
			||||||
 | 
					                            core.hasSpecial(e.special, 8) &&
 | 
				
			||||||
 | 
					                            !(dx == 0 && dy == 0) &&
 | 
				
			||||||
 | 
					                            dx < 3 &&
 | 
				
			||||||
 | 
					                            dy < 3
 | 
				
			||||||
 | 
					                        ) {
 | 
				
			||||||
 | 
					                            atk_buff += enemy.together || 0;
 | 
				
			||||||
 | 
					                            def_buff += enemy.together || 0;
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        // 冰封光环
 | 
				
			||||||
 | 
					                        if (
 | 
				
			||||||
 | 
					                            core.hasSpecial(e.special, 21) &&
 | 
				
			||||||
 | 
					                            dx < 4 &&
 | 
				
			||||||
 | 
					                            dy < 4
 | 
				
			||||||
 | 
					                        ) {
 | 
				
			||||||
 | 
					                            iceDecline += e.iceHalo;
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        // 5*5光环
 | 
				
			||||||
 | 
					                        if (dx <= 2 && dy <= 2) {
 | 
				
			||||||
 | 
					                            // 冰封之核
 | 
				
			||||||
 | 
					                            if (core.hasSpecial(e.special, 26)) {
 | 
				
			||||||
 | 
					                                def_buff += e.iceCore;
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            // 火焰之核
 | 
				
			||||||
 | 
					                            if (core.hasSpecial(e.special, 27)) {
 | 
				
			||||||
 | 
					                                atk_buff += e.fireCore;
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    // 融化怪要在这里判断
 | 
				
			||||||
 | 
					                    if (
 | 
				
			||||||
 | 
					                        core.has(flags[`melt_${floorId}`]) &&
 | 
				
			||||||
 | 
					                        core.has(x) &&
 | 
				
			||||||
 | 
					                        core.has(y)
 | 
				
			||||||
 | 
					                    ) {
 | 
				
			||||||
 | 
					                        for (const [loc, per] of Object.entries(
 | 
				
			||||||
 | 
					                            flags[`melt_${floorId}`]
 | 
				
			||||||
 | 
					                        )) {
 | 
				
			||||||
 | 
					                            const [mx, my] = loc
 | 
				
			||||||
 | 
					                                .split(',')
 | 
				
			||||||
 | 
					                                .map(v => parseInt(v));
 | 
				
			||||||
 | 
					                            if (
 | 
				
			||||||
 | 
					                                Math.abs(mx - x) <= 1 &&
 | 
				
			||||||
 | 
					                                Math.abs(my - y) <= 1
 | 
				
			||||||
 | 
					                            ) {
 | 
				
			||||||
 | 
					                                atk_buff += per;
 | 
				
			||||||
 | 
					                                def_buff += per;
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    core.status.checkBlock.cache[index] = {
 | 
				
			||||||
 | 
					                        hp_buff: hp_buff,
 | 
				
			||||||
 | 
					                        atk_buff: atk_buff,
 | 
				
			||||||
 | 
					                        def_buff: def_buff,
 | 
				
			||||||
 | 
					                        guards: guards,
 | 
				
			||||||
 | 
					                        iceHalo: iceDecline
 | 
				
			||||||
 | 
					                    };
 | 
				
			||||||
 | 
					                } else {
 | 
				
			||||||
 | 
					                    // 直接使用缓存数据
 | 
				
			||||||
 | 
					                    hp_buff = cache.hp_buff;
 | 
				
			||||||
 | 
					                    atk_buff = cache.atk_buff;
 | 
				
			||||||
 | 
					                    def_buff = cache.def_buff;
 | 
				
			||||||
 | 
					                    guards = cache.guards;
 | 
				
			||||||
 | 
					                    iceDecline = cache.iceHalo;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                // 增加比例;如果要增加数值可以直接在这里修改
 | 
				
			||||||
 | 
					                mon_hp *= 1 + hp_buff / 100;
 | 
				
			||||||
 | 
					                mon_atk *= 1 + atk_buff / 100;
 | 
				
			||||||
 | 
					                mon_def *= 1 + def_buff / 100;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            return {
 | 
				
			||||||
                hp: Math.floor(mon_hp),
 | 
					                hp: Math.floor(mon_hp),
 | 
				
			||||||
                atk: Math.floor(mon_atk),
 | 
					                atk: Math.floor(mon_atk),
 | 
				
			||||||
                def: Math.floor(mon_def),
 | 
					                def: Math.floor(mon_def),
 | 
				
			||||||
@ -817,114 +932,6 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
 | 
				
			|||||||
                guards: guards, // 返回支援情况
 | 
					                guards: guards, // 返回支援情况
 | 
				
			||||||
                iceDecline
 | 
					                iceDecline
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
 | 
					 | 
				
			||||||
            // 光环和支援检查
 | 
					 | 
				
			||||||
            core.status.checkBlock ??= {};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (!core.status.checkBlock.needCache) return info;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            var hp_buff = 0,
 | 
					 | 
				
			||||||
                atk_buff = 0,
 | 
					 | 
				
			||||||
                def_buff = 0;
 | 
					 | 
				
			||||||
            // 检查光环和支援的缓存
 | 
					 | 
				
			||||||
            var index =
 | 
					 | 
				
			||||||
                x != null && y != null ? x + ',' + y : 'floor' + enemy.id;
 | 
					 | 
				
			||||||
            core.status.checkBlock.cache ??= {};
 | 
					 | 
				
			||||||
            var cache = core.status.checkBlock.cache[index];
 | 
					 | 
				
			||||||
            if (!cache) {
 | 
					 | 
				
			||||||
                // 没有该点的缓存,则遍历每个图块
 | 
					 | 
				
			||||||
                core.extractBlocks(floorId);
 | 
					 | 
				
			||||||
                core.status.maps[floorId].blocks.forEach(function (block) {
 | 
					 | 
				
			||||||
                    if (block.disable) return;
 | 
					 | 
				
			||||||
                    // 获得该图块的ID
 | 
					 | 
				
			||||||
                    var id = block.event.id,
 | 
					 | 
				
			||||||
                        e = core.material.enemys[id];
 | 
					 | 
				
			||||||
                    var dx = Math.abs(block.x - x),
 | 
					 | 
				
			||||||
                        dy = Math.abs(block.y - y);
 | 
					 | 
				
			||||||
                    // 检查【支援】技能,数字26
 | 
					 | 
				
			||||||
                    if (
 | 
					 | 
				
			||||||
                        e &&
 | 
					 | 
				
			||||||
                        core.hasSpecial(e.special, 26) &&
 | 
					 | 
				
			||||||
                        // 检查支援条件,坐标存在,距离为1,且不能是自己
 | 
					 | 
				
			||||||
                        // 其他类型的支援怪,比如十字之类的话.... 看着做是一样的
 | 
					 | 
				
			||||||
                        x != null &&
 | 
					 | 
				
			||||||
                        y != null &&
 | 
					 | 
				
			||||||
                        Math.abs(block.x - x) <= 1 &&
 | 
					 | 
				
			||||||
                        Math.abs(block.y - y) <= 1 &&
 | 
					 | 
				
			||||||
                        !(x == block.x && y == block.y)
 | 
					 | 
				
			||||||
                    ) {
 | 
					 | 
				
			||||||
                        // 记录怪物的x,y,ID
 | 
					 | 
				
			||||||
                        guards.push([block.x, block.y, id]);
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    // 抱团
 | 
					 | 
				
			||||||
                    if (
 | 
					 | 
				
			||||||
                        e &&
 | 
					 | 
				
			||||||
                        core.hasSpecial(mon_special, 8) &&
 | 
					 | 
				
			||||||
                        core.hasSpecial(e.special, 8) &&
 | 
					 | 
				
			||||||
                        !(dx == 0 && dy == 0) &&
 | 
					 | 
				
			||||||
                        dx < 3 &&
 | 
					 | 
				
			||||||
                        dy < 3
 | 
					 | 
				
			||||||
                    ) {
 | 
					 | 
				
			||||||
                        atk_buff += enemy.together || 0;
 | 
					 | 
				
			||||||
                        def_buff += enemy.together || 0;
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    // 冰封光环
 | 
					 | 
				
			||||||
                    if (
 | 
					 | 
				
			||||||
                        e &&
 | 
					 | 
				
			||||||
                        core.hasSpecial(e.special, 21) &&
 | 
					 | 
				
			||||||
                        x != null &&
 | 
					 | 
				
			||||||
                        y != null &&
 | 
					 | 
				
			||||||
                        dx < 4 &&
 | 
					 | 
				
			||||||
                        dy < 4
 | 
					 | 
				
			||||||
                    ) {
 | 
					 | 
				
			||||||
                        iceDecline += e.iceHalo;
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    // TODO:如果有其他类型光环怪物在这里仿照添加检查
 | 
					 | 
				
			||||||
                    // 注:新增新的类光环属性(需要遍历全图的)需要在特殊属性定义那里的第五项写1,参见光环和支援的特殊属性定义。
 | 
					 | 
				
			||||||
                });
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                // 融化怪要在这里判断
 | 
					 | 
				
			||||||
                if (
 | 
					 | 
				
			||||||
                    core.has(flags[`melt_${floorId}`]) &&
 | 
					 | 
				
			||||||
                    core.has(x) &&
 | 
					 | 
				
			||||||
                    core.has(y)
 | 
					 | 
				
			||||||
                ) {
 | 
					 | 
				
			||||||
                    for (const [loc, per] of Object.entries(
 | 
					 | 
				
			||||||
                        flags[`melt_${floorId}`]
 | 
					 | 
				
			||||||
                    )) {
 | 
					 | 
				
			||||||
                        const [mx, my] = loc.split(',').map(v => parseInt(v));
 | 
					 | 
				
			||||||
                        if (Math.abs(mx - x) <= 1 && Math.abs(my - y) <= 1) {
 | 
					 | 
				
			||||||
                            atk_buff += per;
 | 
					 | 
				
			||||||
                            def_buff += per;
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                core.status.checkBlock.cache[index] = {
 | 
					 | 
				
			||||||
                    hp_buff: hp_buff,
 | 
					 | 
				
			||||||
                    atk_buff: atk_buff,
 | 
					 | 
				
			||||||
                    def_buff: def_buff,
 | 
					 | 
				
			||||||
                    guards: guards,
 | 
					 | 
				
			||||||
                    iceHalo: iceDecline
 | 
					 | 
				
			||||||
                };
 | 
					 | 
				
			||||||
            } else {
 | 
					 | 
				
			||||||
                // 直接使用缓存数据
 | 
					 | 
				
			||||||
                hp_buff = cache.hp_buff;
 | 
					 | 
				
			||||||
                atk_buff = cache.atk_buff;
 | 
					 | 
				
			||||||
                def_buff = cache.def_buff;
 | 
					 | 
				
			||||||
                guards = cache.guards;
 | 
					 | 
				
			||||||
                iceDecline = cache.iceHalo;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // 增加比例;如果要增加数值可以直接在这里修改
 | 
					 | 
				
			||||||
            mon_hp *= 1 + hp_buff / 100;
 | 
					 | 
				
			||||||
            mon_atk *= 1 + atk_buff / 100;
 | 
					 | 
				
			||||||
            mon_def *= 1 + def_buff / 100;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            return info;
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        getDamageInfo: function (enemy, hero, x, y, floorId) {
 | 
					        getDamageInfo: function (enemy, hero, x, y, floorId) {
 | 
				
			||||||
            // 获得战斗伤害信息(实际伤害计算函数)
 | 
					            // 获得战斗伤害信息(实际伤害计算函数)
 | 
				
			||||||
@ -1516,7 +1523,9 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
 | 
				
			|||||||
            if (!floorId || !core.status.maps) return;
 | 
					            if (!floorId || !core.status.maps) return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const haloMap = {
 | 
					            const haloMap = {
 | 
				
			||||||
                21: ['square:7:cyan']
 | 
					                21: ['square:7:cyan'],
 | 
				
			||||||
 | 
					                26: ['square:5:blue'],
 | 
				
			||||||
 | 
					                27: ['square:5:red']
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var width = core.floors[floorId].width,
 | 
					            var width = core.floors[floorId].width,
 | 
				
			||||||
@ -1757,7 +1766,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = {
 | 
				
			|||||||
                Object.keys(flags[`melt_${floorId}`]).forEach(v => {
 | 
					                Object.keys(flags[`melt_${floorId}`]).forEach(v => {
 | 
				
			||||||
                    needCache = true;
 | 
					                    needCache = true;
 | 
				
			||||||
                    halo[v] ??= [];
 | 
					                    halo[v] ??= [];
 | 
				
			||||||
                    halo[v].push('square:3:#d9a8ff');
 | 
					                    halo[v].push('square:3:purple');
 | 
				
			||||||
                });
 | 
					                });
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1574,7 +1574,6 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            if (flags['jump_' + core.status.floorId] >= 3)
 | 
					            if (flags['jump_' + core.status.floorId] >= 3)
 | 
				
			||||||
                return core.drawTip('当前地图使用次数已用完');
 | 
					                return core.drawTip('当前地图使用次数已用完');
 | 
				
			||||||
            core.autosave();
 | 
					 | 
				
			||||||
            var direction = core.status.hero.loc.direction;
 | 
					            var direction = core.status.hero.loc.direction;
 | 
				
			||||||
            var loc = core.status.hero.loc;
 | 
					            var loc = core.status.hero.loc;
 | 
				
			||||||
            var checkLoc = {};
 | 
					            var checkLoc = {};
 | 
				
			||||||
@ -1620,6 +1619,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
 | 
				
			|||||||
                    true
 | 
					                    true
 | 
				
			||||||
                );
 | 
					                );
 | 
				
			||||||
                if (!toLoc) return;
 | 
					                if (!toLoc) return;
 | 
				
			||||||
 | 
					                core.autosave();
 | 
				
			||||||
                if (flags.chapter <= 1) core.status.hero.hp -= 200 * flags.hard;
 | 
					                if (flags.chapter <= 1) core.status.hero.hp -= 200 * flags.hard;
 | 
				
			||||||
                core.updateStatusBar();
 | 
					                core.updateStatusBar();
 | 
				
			||||||
                flags['jump_' + core.status.floorId]++;
 | 
					                flags['jump_' + core.status.floorId]++;
 | 
				
			||||||
@ -1642,6 +1642,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = {
 | 
				
			|||||||
                    false
 | 
					                    false
 | 
				
			||||||
                );
 | 
					                );
 | 
				
			||||||
                if (!firstNoPass) return;
 | 
					                if (!firstNoPass) return;
 | 
				
			||||||
 | 
					                core.autosave();
 | 
				
			||||||
                if (flags.chapter <= 1) core.status.hero.hp -= 200 * flags.hard;
 | 
					                if (flags.chapter <= 1) core.status.hero.hp -= 200 * flags.hard;
 | 
				
			||||||
                core.updateStatusBar();
 | 
					                core.updateStatusBar();
 | 
				
			||||||
                flags['jump_' + core.status.floorId]++;
 | 
					                flags['jump_' + core.status.floorId]++;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user