-
Notifications
You must be signed in to change notification settings - Fork 44
/
EBolt.h
59 lines (43 loc) · 1.36 KB
/
EBolt.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
/*
Electric Bolts
*/
#pragma once
#include <GeneralDefinitions.h>
class UnitClass;
class EBolt
{
public:
static constexpr constant_ptr<DynamicVectorClass<EBolt*>, 0x8A0E88u> const Array{};
//Constructor, Destructor
EBolt()
{ JMP_THIS(0x4C1E10); }
~EBolt()
{ JMP_THIS(0x4C2C10); }
void SetOwner(UnitClass* pOwner, int idxWeapon)
{ JMP_THIS(0x4C2BD0); }
void ClearOwner()
{ JMP_THIS(0x4C1E50); }
CoordStruct* GetSourceCoords(CoordStruct* outBuffer) const
{ JMP_THIS(0x4C2B40); }
CoordStruct GetSourceCoords() const {
CoordStruct buffer;
GetSourceCoords(&buffer);
return buffer;
}
void Fire(CoordStruct P1, CoordStruct P2, DWORD arg18)
{ JMP_THIS(0x4C2A60); }
// static void DeleteAll()
// JUMP_STD(0x4C2930);
//===========================================================================
//===== Properties ==========================================================
//===========================================================================
public:
CoordStruct Point1;
CoordStruct Point2;
DWORD unknown_18; //Duration?
int Random; //Random number between 0 and 256
TechnoClass* Owner; //ingame this is a UnitClass but needed to circumvent some issues
int WeaponSlot; // which weapon # to use from owner
int Lifetime; // this is >>= 1 each time DrawAll() is called, 0 => dtor (inline). Hi, welcome to dumb ideas.
bool AlternateColor;
};