As requested:
struct BuffInstantActionTargetting{enum Enum{
SelfTarget,
SingleTarget,
MultipleTargets,
ArbitraryPosition};};
struct BuffInstantActionType : public StringEnum<BuffInstantActionType>{enum Enum{
Invalid = -1,
ApplyBuffToSelf,
ApplyBuffToSelfWithFilter,
ApplyOrRemoveBuffToSelf,
ApplyTargettedBuffToSelf,
ApplyTargettedBuffToSelfNoRange,
ApplyTargettedBuffToSelfNoFilterNoRange,
ApplyBuffToTarget,
ApplyBuffToTargetWithEntryVehicles,
ApplyBuffToTargetWithTravel,
ApplyBuffToTargetWithTravelNoFilterNoRange,
ApplyBuffToTargetNoRange,
ApplyBuffToTargetNoFilterNoRange,
ApplyBuffToTargetOnWeaponFired,
ApplyBuffToTargetsAtOrbitBody,
ApplyBuffToTargetsInColumn,
ApplyBuffToTargetsInRadius,
ApplyBuffToTargetsInRadiusWithTravel,
ApplyBuffToTargetsInRadiusWithChainTravel,
ApplyBuffToTargetsInRadiusOfTargetWithTravel,
ApplyBuffToTargetsLinked,
ApplyBuffToLastSpawnerNoFilterNoRange,
ApplyBuffToLastSpawnerWithTravelNoFilterNoRange,
ApplyBuffToLocalOrbitBody,
ApplyBuffToLocalOrbitBodyWithTravel,
ApplyBuffToIncomingHyperspacers,
ApplyImpulseFromSpawner,
ApplyForceFromSpawner,
AddPopulationToPlanet,
AttractDebris,
ChangePlayerIndexToFirstSpawner,
ColonizePlanet,
ConvertDamageToAntiMatter,
ConvertNearbyDebrisToHull,
ConvertSquadMembersToMines,
CreateClonedFrigate,
CreateFrigate,
CreateFrigateAtTarget,
CreateSpaceMine,
CreateSquad,
CreateStarBase,
CreateIllusionFighters,
CreateCannonShell,
DoDamage,
DoDamagePercOfCurrentHull,
DoDamageToPlanet,
DoInterrupt,
DoInterruptUltimate,
ForceAttackFirstSpawner,
ForceAttackersToRepickAttackTarget,
InitializeRandomMotion,
InitializeMovementTowardLastSpawner,
MakeDead,
PropagateWeaponDamageReceivedToTargetsInRadius,
RecordDamage,
RemoveBuffOfType,
RemoveAntiMatter,
RemoveAntiMatterPerc,
MatchTargetVelocity,
ResetPhysicsState,
RestoreAntiMatter,
RestoreHullPoints,
RestoreShieldPoints,
RetaliateBounty,
RetaliateDamage,
ResurrectCapitalShip,
SetTauntTargetToLastSpawner,
StealAntiMatterForFirstSpawner,
StealResources,
Explore,
PlayAttachedEffect,
PlayPersistantAttachedEffect,
PlayPersistantBeamEffect,
PlayDetachedEffectsInRadius,
SpawnShipsAtPlanet,
SpawnResourceExtractors,
TeleportTowardsMoveTarget,
TeleportTowardsTarget,
TiltUpVectorInTargetDirection,
EnumSize};
static const TCHAR* GetString(int e);
static BuffInstantActionTargetting::Enum GetTargetting(Enum e);
static bool HasRange(Enum e);
static bool HasRadius(Enum e);
};
struct BuffOverTimeActionType : public StringEnum<BuffOverTimeActionType>{enum Enum{
Invalid = -1,
DoDamage,
DoDamageToPlanet,
DoPercOfMaxDamageToPlanet,
DoDamageToTarget,
DoModuleConstruction,
DrainAntiMatter,
DrainAntiMatterAndDoDamage,
EarnCredits,
EarnResources,
RestoreAntiMatter,
RestoreShields,
RestoreHull,
Magnetize,
StealPlanetProduction,
EnumSize};
static const TCHAR* GetString(int e);
};
struct BuffInstantActionQueryType{enum Enum{
Damage,
DamagePercOfCurrentHull,
DamageRetaliationPerc,
PopulationKilled,
AntiMatterPercRemoved,
AntiMatterRestored,
AntiMatterRemoved,
AntiMatterStolen,
AntiMatterRestoredPercFromDamage,
HullPointsRestored,
ShieldPointsRestored,
BountyApplied,
SpawnResourceExtractors};};
struct BuffOverTimeQueryType{enum Enum{
CreditRate,
DamageRate,
DamageRateToPlanet,
DamageRatePercToPlanet,
PopulationKilledRatePerc,
DamageRateToTarget,
DrainAntiMatterRate,
PropogateDamage,
ResourceRate,
RestoreAntiMatter,
RestoreShields,
RestoreHull};};
struct BuffEntityModifierType : public StringEnum<BuffEntityModifierType>{enum Enum{
Invalid = -1,
AbilityCooldownRate,
AntimatterCostOfNonUltimates,
ArmorAsDamageDealer,
ArmorAsDamageTarget,
BonusMaxSquads,
ChanceToChangeAttackerTargetAsDamageTarget,
ChanceToHitAsDamageDealer,
ChanceToHitAsDamageTarget,
ChanceToIgnoreShieldsAsDamageDealer,
ChanceToIgnoreShieldsAsDamageTarget,
ChanceToBeNotOptimallyTargetted,
CultureSpread,
DamageAsDamageDealer,
DamageAsDamageTarget,
DamageAsDamageTargetFromForward,
DamageSharing,
EnergyDamageAsDamageDealer,
EnergyDamageAsDamageTarget,
EnergyWeaponCooldown,
FightersPerSquadron,
GravityWellRangeForHyperspace,
HullPointRestoreRate,
HyperspaceChargeUpRate,
HyperspaceSpeed,
AngularThrust,
LinearMaxSpeed,
LinearThrust,
MaxHullPoints,
MaxShieldPoints,
PhysicalDamageAsDamageDealer,
PhysicalDamageAsDamageTarget,
PhysicalWeaponCooldown,
PlanetBombingCooldown,
PlanetBombingDamageAbsorption,
PlanetMaxPopulation,
PlanetModuleBuildTime,
PlanetPopulationGrowthRate,
PlanetProductionStolen,
PlanetResourceOutput,
PlanetUpgradeCost,
PropagateWeaponDamagePerc,
ResourceExtractionRate,
ShieldMitigation,
ShieldPointRestoreRate,
ShipBuildTime,
UnderConstructionRate,
WeaponCooldown,
WeaponRange,
EnumSize};
static const TCHAR* GetString(int e);
static Enum GetDamageAsDamageDealerFromDamageType(DamageType::Enum damageType);
static Enum GetDamageAsDamageTargetFromDamageType(DamageType::Enum damageType);
static Enum GetWeaponCooldownFromDamageType(DamageType::Enum damageType);
};
struct BuffEntityBoolModifierType : public StringEnum<BuffEntityBoolModifierType>{enum Enum{
Invalid = -1,
ActivelyBeingConstructed,
CanBeCaptured,
CannotBeColonized,
CannotBeDamaged,
CancelCannotBeDamaged,
CannotBeScuttled,
DetectIncomingHyperspacingEntities,
DisableAbilities,
DisableAbilitiesUltimate,
DisableConstruction,
DisableFighterLaunch,
DisableModuleFunctionality,
DisablePhaseJump,
DisableLinearEngines,
DisableAngularEngines,
DisableRegeneration,
DisableWeapons,
DisableWeaponsUltimate,
ForceIsDamagedOverlayInHyperspace,
HasDestabilizedHyperspaceEffect,
HasShieldMeshEffect,
HasTauntTarget,
ImmuneToNonUltimateDisable,
IsIllusionShip,
IsResourceFocusActive,
InstantBuildFighters,
IsPhaseGateEndPoint,
JumpBlockerImmune,
PhaseDodge,
PhaseOut,
CancelPhaseOut,
ProxySensor,
ApplyProxySensor,
WeaponsDealNoDamage,
EnumSize};
static const TCHAR* GetString(int e);
};
struct BuffFinishConditionType : public StringEnum<BuffFinishConditionType>{enum Enum{
Invalid = -1,
AbilityUsed,
AllOnDelayInstantActionsDone,
AllPeriodicActionsDone,
AntiMatterDepleted,
TimeElapsed,
DamageTaken,
EnterHyperspace,
ExitHyperspace,
OutOfRange,
NoTarget,
FightersKilled,
FirstSpawnerNoLongerHasBuff,
LastSpawnerNoLongerHasBuff,
OwnerChanged,
OwnerIsFriendlyToFirstSpawner,
ResearchNotMet,
ShieldFailure,
TargetIsConstructed,
TargetNoLongerActivelyBeingConstructed,
TargetConstructionCannotBeUpdated,
TargetOwnerIsNeutral,
TargetOwnerIsFriendly,
TargetOwnerIsHostile,
EnumSize};
static const TCHAR* GetString(int e);
};
struct InstantActionTriggerType : public StringEnum<InstantActionTriggerType>{enum Enum{
Invalid = -1,
OnAbilityUsed,
OnChance,
OnDamageTaken,
OnDelay,
OnOwnerDeath,
OnBuffFinish,
OnHyperspaceExit,
OnWeaponFired,
AlwaysPerform,
EnumSize};
static const TCHAR* GetString(int e);
};
struct ImpactOffsetType : public StringEnum<ImpactOffsetType>{enum Enum{
Invalid = -1,
Center,
CenterOffsetBySpatialRadius,
RandomMesh,
RandomSpatialRadius,
EnumSize};
static const TCHAR* GetString(int e);
};
struct TargetCentricEffectPointSpawnInfo : public Archivable
{
struct SpawnType : public StringEnum<SpawnType>{enum Enum{
Invalid = -1,
CompletelyRandom,
RandomFromUp,
EnumSize};
static const TCHAR* GetString(int e);
};
SpawnType::Enum spawnType;
float minRadius;
float maxRadius;
float angleVariance;
virtual void ReadContents(Archive* archive);
virtual void WriteContents(Archive* archive) const;
};
struct OnReapplyDuplicateType : public StringEnum<OnReapplyDuplicateType>{enum Enum{
Invalid = -1,
PrioritizeOldBuffs,
PrioritizeNewBuffs,
EnumSize};
static const TCHAR* GetString(int e);
};
struct BuffStackingLimitType : public StringEnum<BuffStackingLimitType>{enum Enum{
Invalid = -1,
ForAllPlayers,
PerPlayer,
EnumSize};
static const TCHAR* GetString(int e);
};
struct BuffExclusivityForAIType : public StringEnum<BuffExclusivityForAIType>{enum Enum{
Invalid = -1,
ExclusiveForAllPlayers,
ExclusivePerPlayer,
NotExclusive,
EnumSize};
static const TCHAR* GetString(int e);
};