1+ #pragma once
2+
3+ #include < Spore\Simulator\cMission.h>
4+ #include < Spore\Simulator\cGameDataUFO.h>
5+
6+ namespace Simulator
7+ {
8+ class cShipBackgroundData
9+ : public ISimulatorSerializable
10+ {
11+ public:
12+ /* 04h */ UfoType mUfoType ;
13+ /* 08h */ Math::Vector3 mPosition ;
14+ /* 14h */ float mHealth ;
15+ /* 18h */ float mMaxHealth ;
16+ /* 1Ch */ int mBomberIndex ;
17+ };
18+ ASSERT_SIZE (cShipBackgroundData, 0x20 );
19+
20+ // / The kind of mission for raid events. Example usage, to raid the current planet:
21+ // / ```cpp
22+ // / using namespace Simulator;
23+ // / auto planet = GetActivePlanetRecord();
24+ // / auto empireID = planet->GetStarRecord()->mEmpireID;
25+ // / auto empire = StarManager.GetEmpire(empireID);
26+ // / auto mission = MissionManager.CreateMission(id("RaidEvent"), planet, empire);
27+ // / auto raidEvent = object_cast<cRaidEvent>(mission);
28+ // / raidEvent->mpTargetPlanet = GetActivePlanet();
29+ // / raidEvent->mNumBombers = 10;
30+ // / raidEvent->AcceptMission();
31+ // / ```
32+ class cRaidEvent
33+ : public cMission
34+ {
35+ public:
36+ static const uint32_t TYPE = 0x3960C0A ;
37+ static const uint32_t NOUN_ID = 0x3960C0E ;
38+
39+ public:
40+ /* 1F0h */ cGameDataUFOPtr mGalaxyBomber ;
41+ /* 1F4h */ int mOriginStarRecordID ;
42+ /* 1F8h */ int mNumBombers ;
43+ /* 1FCh */ int mNumFighters ;
44+ /* 200h */ ResourceKey mPendingUFOKey ;
45+ /* 20Ch */ float mDamageRemainder ;
46+ /* 210h */ float mDamageRemainderUFO ;
47+ /* 214h */ bool mShouldDestroyColonyObject ;
48+ /* 215h */ bool mWaitingForRaid ; // true
49+ /* 218h */ int field_218;
50+ /* 21Ch */ bool mUFOsLeaveOnArrival ;
51+ /* 21Dh */ bool mInitialized ;
52+ /* 21Eh */ bool mShowDefaultEventLog ; // true
53+ /* 220h */ uint32_t mTimeOfArrivalMS ;
54+ /* 224h */ Math::Vector3 mUFOSpawnLocation ;
55+ /* 230h */ uint32_t mAttackerEmpire ; // -1
56+ /* 234h */ bool mIsPlayerSummoned ;
57+ /* 238h */ eastl::vector<int > mBackgroundShipsList ;
58+ };
59+ ASSERT_SIZE (cRaidEvent, 0x250 );
60+ }
0 commit comments