From 84287a4e3a0540dce834ef4c9976711b69503fb4 Mon Sep 17 00:00:00 2001 From: Qiuzhizhe <42761326+quizhizhe@users.noreply.github.com> Date: Sat, 18 Mar 2023 06:40:07 -0700 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D`MobHurt`=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LiteLoader/src/llapi/EventAPI.cpp | 36 +++++++++++++++---------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/LiteLoader/src/llapi/EventAPI.cpp b/LiteLoader/src/llapi/EventAPI.cpp index 0564689..047479f 100644 --- a/LiteLoader/src/llapi/EventAPI.cpp +++ b/LiteLoader/src/llapi/EventAPI.cpp @@ -1383,24 +1383,24 @@ TInstanceHook(bool, "?useItemOn@GameMode@@UEAA_NAEAVItemStack@@AEBVBlockPos@@EAE IF_LISTENED_END(MobHurtEvent) return original(this, src, damage, knock, ignite); } -// 没有这个符号 -// TInstanceHook(float, "?getDamageAfterResistanceEffect@Mob@@UEBAMAEBVActorDamageSource@@M@Z", Mob, ActorDamageSource* src, float damage) { -// if (src->getCause() == ActorDamageCause::ActorDamageCause_Magic) { -// IF_LISTENED(MobHurtEvent) { -// if (this) { -// MobHurtEvent ev{}; -// ev.mMob = this; -// ev.mDamageSource = src; -// ev.mDamage = damage; -// if (!ev.call()) -// return 0; -// damage = ev.mDamage; -// } -// } -// IF_LISTENED_END(MobHurtEvent) -// } -// return original(this, src, damage); -// } +// 函数名变更 + TInstanceHook(unsigned int, "?getDamageAfterMagicAbsorb@Mob@@UEAAHAEBVActorDamageSource@@H@Z", Mob, ActorDamageSource* src, unsigned int damage) { + if (src->getCause() == ActorDamageCause::ActorDamageCause_Magic) { + IF_LISTENED(MobHurtEvent) { + if (this) { + MobHurtEvent ev{}; + ev.mMob = this; + ev.mDamageSource = src; + ev.mDamage = damage; + if (!ev.call()) + return 0; + damage = ev.mDamage; + } + } + IF_LISTENED_END(MobHurtEvent) + } + return original(this, src, damage); + } //////////////// PlayerUseItem & PlayerEat //////////////// // #include