[Arknights]Ver 0.6.66

发布于 2019-03-31  3.04k 次阅读


19/04/01. 明日方舟删档测试中的一些尝试。

Battle.BattleController.OnEnemyReachedExit

在游戏中,只要敌人到达蓝色目标点,我方的耐久(LifePoint)就会有所减少。定位到上述方法,查看到关键代码如下:

可以看出,首先获取当前我方的lifepoint,如果敌方到达目标点,则获取对应敌人扣除的lifepoint,与我方当前值相减,得到扣除后的lifepoint。关键代码已标红。

修改的方法很简单,将上述关键代码改为:

SUB R1, R6, #0
unsigned long asm_code = 0xE2461000; 
long addr = libil2cpp + 0x16E9EF8; 
ZzRuntimeCodePatch((void *)(addr + 0x70),  (void *)&asm_code, 4);

修改后,可实现敌人到达目标点后Lifepoint不变的效果(也许可以用来挂机?