EvilEngine/NPC: Difference between revisions

no edit summary
(Add new info)
No edit summary
Line 14:
==Format==
NPC are [[Entity|entity assets]], so they start with their 0x54 byte header (0x50 in Scooby), then are followed by:
 
<source lang=cpp>
struct p2EntVillainAsset
{
float32 activateRadius;
float32 activateFOV;
float32 detectHeight;
float32 detectHeightOffset;
float32 speedMovement;
float32 speedPursue;
float32 speedTurn;
float32 pursuitRange;
uint16 durDazedState;
uint16 durGloatState;
uint16 durGummedState;
uint16 durBubbleState;
uint8 hitpoints;
uint8 behaviorState;
uint16 pad;
uint32 villFlags;
float32 lobSpeed;
float32 lobDurReload;
float32 lobRange;
uint32 lobSalvo;
uint32 projectileTypeID;
uint32 mvptBullseyeID;
float32 lobArcness;
float32 lobHeavy;
float32 extenderRange;
float32 extenderWidth;
float32 extenderDuration;
float32 extenderRate;
float32 extenderReloadTime;
uint32 movePointAssetID;
uint32 pathAssetID;
int32 minPlayerPowerups;
int32 minGameDifficulty;
};
</source>
 
{| class="wikitable"
! Offset !! Type !! Variable !! Description
|-
| 0x540x50 || float || '''activateRadius''' ||
|-
| 0x580x54 || float || '''activateFOV''' ||
|-
| 0x5C0x58 || float || '''detectHeight''' ||
|-
| 0x600x5C || float || '''detectHeightOffset''' ||
|-
| 0x640x60 || float || '''speedMovement''' ||
|-
| 0x680x64 || float || '''speedPursue''' ||
|-
| 0x6C0x68 || float || '''speedTurn''' ||
|-
| 0x700x6C || float || '''pursuitRange''' ||
|-
| 0x740x70 || short || '''durDazedState''' ||
|-
| 0x760x72 || short || '''durGloatState''' ||
|-
| 0x780x74 || short || '''durGummedState''' ||
|-
| 0x7A0x76 || short || '''durBubbleState''' ||
|-
| 0x7C0x78 || bytechar || '''hitpoints''' ||
|-
| 0x7D0x79 || bytechar || '''behaviorState''' ||
|-
| 0x7E0x7A || short || '''pad''' || padding
|-
| 0x800x7C || intuint || '''villflagsvillFlags''' ||
|-
| 0x840x80 || intfloat || '''lobSpeed''' ||
|-
| 0x880x84 || intfloat || '''lobDurReload''' ||
|-
| 0x8C0x88 || float || '''lobRange''' ||
|-
| 0x900x8C || intuint || '''lobSalvo''' ||
|-
| 0x940x90 || [[Asset IDAssetID]] || '''projectileTypeID''' || PRJT_AssetID[[PRJT]]
|-
| 0x980x94 || [[Asset IDAssetID]] || '''mvptBullseyeID''' || MovePoint_AssetID[[MVPT]]
|-
| 0x9C0x98 || float || '''lobArcness''' ||
|-
| 0xA00x9C || float || '''lobHeavy''' ||
|-
| 0xA40xA0 || float || '''extenderRange''' ||
|-
| 0xA80xA4 || float || '''extenderWidth''' ||
|-
| 0xAC0xA8 || float || '''extenderDuration''' ||
|-
| 0xB00xAC || float || '''extenderRate''' ||
|-
| 0xB40xB0 || float || '''extenderReloadTime''' ||
|-
| 0xB80xB4 || [[Asset IDAssetID]] || '''movePointAssetID''' || [[MVPT]] || MovePoint_AssetID
|-
| 0xBC0xB8 || [[Asset IDAssetID]] || '''pathAssetID''' ||
|-
| 0xC00xBC || int || '''minPlayerPowerups''' ||
|-
| 0xC40xC0 || int || '''minGameDifficulty''' ||
|-
! colspan="4" | Events
|-
| 0xC80xC4 || Event[numberOfEvents] || '''[[Events]]''' ||
|}
 
2,079

edits