-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy paththrowtracker.h
61 lines (48 loc) · 2.15 KB
/
throwtracker.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#pragma once
#include <skse64/GameForms.h>
#include <skse64/GameReferences.h>
#include <skse64/GameObjects.h>
// WeaponThrowVR support (Thanks to Shizof for original code)
// for tracking weapons thrown (WeaponThrowVR mod compatibility)
class CThrowTracker
{
private:
TESObjectWEAP* mRightFakeBow = nullptr;
TESObjectWEAP* mLeftFakeBow = nullptr;
const UInt32 kRightFakeBowFormId = 0x000DA1;
const UInt32 kLeftFakeBowFormId = 0x000DA2;
const UInt32 kRightBoundProjectileFormId = 0x00C00D;
UInt32 mRightBoundProjectileFullFormId = 0x000000;
const UInt32 kLeftBoundProjectileFormId = 0x00C00E;
UInt32 mLeftBoundProjectileFullFormId = 0x000000;
const UInt32 kRightProjectileDaggerFormId = 0x800;
UInt32 mRightProjectileDaggerFullFormId = 0x000000;
const UInt32 kLeftProjectileDaggerFormId = 0xDA4;
UInt32 mLeftProjectileDaggerFullFormId = 0x000000;
const UInt32 kRightProjectileSwordFormId = 0x3EB3B;
UInt32 mRightProjectileSwordFullFormId = 0x000000;
const UInt32 kLeftProjectileSwordFormId = 0x3EB3C;
UInt32 mLeftProjectileSwordFullFormId = 0x000000;
const UInt32 kRightProjectileAxeFormId = 0x3EB3D;
UInt32 mRightProjectileAxeFullFormId = 0x000000;
const UInt32 kLeftProjectileAxeFormId = 0x3EB3E;
UInt32 mLeftProjectileAxeFullFormId = 0x000000;
const UInt32 kRightProjectile2HAxeFormId = 0x3EB3F;
UInt32 mRightProjectile2HAxeFullFormId = 0x000000;
const UInt32 kLeftProjectile2HAxeFormId = 0x3EB40;
UInt32 mLeftProjectile2HAxeFullFormId = 0x000000;
const UInt32 kRightProjectile2HSwordFormId = 0x3EB41;
UInt32 mRightProjectile2HSwordFullFormId = 0x000000;
const UInt32 kLeftProjectile2HSwordFormId = 0x3EB42;
UInt32 mLeftProjectile2HSwordFullFormId = 0x000000;
const UInt32 kRightProjectileShieldFormId = 0x3EB43;
UInt32 mRightProjectileShieldFullFormId = 0x000000;
const UInt32 kLeftProjectileShieldFormId = 0x3EB44;
UInt32 mLeftProjectileShieldFullFormId = 0x000000;
public:
void Initialize();
bool IsThrownLeftHandProjectile(Projectile* proj) const;
bool IsThrownRightHandProjectile(Projectile* proj) const;
TESObjectWEAP* GetLeftThrowWeapon() const { return mLeftFakeBow; }
TESObjectWEAP* GetRightThrowWeapon() const { return mRightFakeBow; }
};