mirror of
				https://github.com/unanmed/HumanBreak.git
				synced 2025-10-31 04:02:59 +08:00 
			
		
		
		
	fix: 修复首层无怪卡死的问题
This commit is contained in:
		
							parent
							
								
									7073ac92c6
								
							
						
					
					
						commit
						b7b382611d
					
				| @ -851,7 +851,7 @@ maps.prototype._canMoveHero_checkPoint = function ( | ||||
|         !core.flags.canGoDeadZone && | ||||
|         !core.status.lockControl && | ||||
|         Math.max(core.status.hero.hp, 1) <= | ||||
|             (floor.enemy.mapDamage[`${nx},${ny}`]?.damage ?? 0) && | ||||
|             (floor.enemy?.mapDamage[`${nx},${ny}`]?.damage ?? 0) && | ||||
|         arrays.eventArray[ny][nx] == 0 | ||||
|     ) | ||||
|         return false; | ||||
| @ -939,7 +939,7 @@ maps.prototype._canMoveDirectly_checkGlobal = function () { | ||||
| }; | ||||
| 
 | ||||
| maps.prototype._canMoveDirectly_checkStartPoint = function (sx, sy) { | ||||
|     if (core.status.thisMap.enemy.mapDamage[`${sx},${sy}`]) return false; | ||||
|     if (core.status.thisMap.enemy?.mapDamage[`${sx},${sy}`]) return false; | ||||
|     var block = core.getBlock(sx, sy); | ||||
|     if (block != null) { | ||||
|         // 只有起点是传送点才是能无视
 | ||||
| @ -1023,7 +1023,7 @@ maps.prototype._canMoveDirectly_checkNextPoint = function (blocksObj, x, y) { | ||||
|         if (!ignore) return false; | ||||
|     } | ||||
|     // 是否存在阻激夹域伤害
 | ||||
|     const damage = core.status.thisMap.enemy.mapDamage[index]; | ||||
|     const damage = core.status.thisMap.enemy?.mapDamage[index]; | ||||
|     if (damage) { | ||||
|         if (damage.damage !== 0) return false; | ||||
|         if (damage.mockery) return false; | ||||
| @ -1117,7 +1117,7 @@ maps.prototype._automaticRoute_deepAdd = function (x, y, blocks) { | ||||
|             deepAdd += 100; | ||||
|     } | ||||
|     // 绕过存在伤害的地方
 | ||||
|     const damage = core.status.thisMap.enemy.mapDamage[`${x},${y}`]; | ||||
|     const damage = core.status.thisMap.enemy?.mapDamage[`${x},${y}`]; | ||||
|     if (damage) { | ||||
|         deepAdd += damage.damage * 100; | ||||
|         deepAdd += !!damage.mockery ? 1e5 : 0; | ||||
|  | ||||
| @ -6,7 +6,7 @@ control.prototype.checkBlock = function (forceMockery: boolean = false) { | ||||
|     const x = core.getHeroLoc('x'), | ||||
|         y = core.getHeroLoc('y'), | ||||
|         loc = x + ',' + y; | ||||
|     const info = core.status.thisMap.enemy.mapDamage[loc]; | ||||
|     const info = core.status.thisMap.enemy?.mapDamage[loc]; | ||||
|     const damage = info?.damage; | ||||
|     if (damage) { | ||||
|         if (!main.replayChecking) { | ||||
| @ -145,7 +145,7 @@ control.prototype.moveHero = function (direction: Dir, callback: () => void) { | ||||
| 
 | ||||
|     const nx = core.nextX(); | ||||
|     const ny = core.nextY(); | ||||
|     if (core.status.thisMap.enemy.mapDamage[`${nx},${ny}`]?.mockery) { | ||||
|     if (core.status.thisMap.enemy?.mapDamage[`${nx},${ny}`]?.mockery) { | ||||
|         core.autosave(); | ||||
|     } | ||||
| 
 | ||||
| @ -155,7 +155,7 @@ control.prototype.moveHero = function (direction: Dir, callback: () => void) { | ||||
| 
 | ||||
| function checkMockery(loc: string, force: boolean = false) { | ||||
|     if (core.status.lockControl && !force) return; | ||||
|     const mockery = core.status.thisMap.enemy.mapDamage[loc]?.mockery; | ||||
|     const mockery = core.status.thisMap.enemy?.mapDamage[loc]?.mockery; | ||||
|     if (mockery) { | ||||
|         mockery.sort((a, b) => (a[0] === b[0] ? a[1] - b[1] : a[0] - b[0])); | ||||
|         const action = []; | ||||
|  | ||||
| @ -15,7 +15,7 @@ const show = debounce((ev: MouseEvent) => { | ||||
|     flags.clientLoc = [ev.clientX, ev.clientY]; | ||||
|     const [mx, my] = getLocFromMouseLoc(...flags.mouseLoc); | ||||
| 
 | ||||
|     const e = core.status.thisMap.enemy.list.find(v => { | ||||
|     const e = core.status.thisMap.enemy?.list.find(v => { | ||||
|         return v.x === mx && v.y === my; | ||||
|     }); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 coderzlh
						coderzlh