Auto-attack: next target, melee/ranged rule after arts; chain range = cast range
- autoattack: when the target dies, the nearest enemy within close range (contact distance + a step) takes over; after an art the hero auto-attacks if the art was melee (walked up / cast close by), or ranged with a ranged weapon, or ranged with an enemy already in melee range; measured action codes and weapon classes in game/engine/orders.h - chainlightning: jumps reach Blitzschlag's cast range (20 ray segments of 30, the art code's hit check) via the shared NearestHostile search - guards: burning bone render hook had the wrong signature (device plus a 4x4 matrix by value, ret 0x44) and corrupted the stack when fire arrows hit - crash reports follow the ebp chain before the raw stack scan Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
5338527b49
commit
16c2844400
8 files changed
+275
-60
No files matched your search
+7
-3
@@ -13,9 +13,13 @@ namespace game {
|
||||
// pressed while walking; Windows reported sacred.exe+0x374e39). Who renders
|
||||
// it without a device is not known yet (sacred_re_crash.txt will tell). With
|
||||
// no device there is nothing to draw.
|
||||
void __fastcall BurningBone_Render(void* self, void* edx, void* device);
|
||||
// (device, a 4x4 matrix by value; ret 0x44).
|
||||
struct Matrix4 {
|
||||
float m[16];
|
||||
};
|
||||
void __fastcall BurningBone_Render(void* self, void* edx, void* device, Matrix4 transform);
|
||||
RE_HOOK(0x00774e10, BurningBone_Render);
|
||||
void __fastcall BurningBone_Render(void* self, void* edx, void* device) {
|
||||
void __fastcall BurningBone_Render(void* self, void* edx, void* device, Matrix4 transform) {
|
||||
if (!device) {
|
||||
static bool logged = false;
|
||||
if (!logged) {
|
||||
@@ -24,7 +28,7 @@ void __fastcall BurningBone_Render(void* self, void* edx, void* device) {
|
||||
}
|
||||
return;
|
||||
}
|
||||
BurningBone_Render_original(self, edx, device);
|
||||
BurningBone_Render_original(self, edx, device, transform);
|
||||
}
|
||||
|
||||
} // namespace game
|
||||
Reference in new issue
Block a user