EvilEngine/NPC: Difference between revisions

Content added Content deleted
No edit summary
(Add new info)
Line 14: Line 14:
==Format==
==Format==
NPC are [[Entity|entity assets]], so they start with their 0x54 byte header (0x50 in Scooby), then are followed by:
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"
{| class="wikitable"
! Offset !! Type !! Variable !! Description
! Offset !! Type !! Variable !! Description
|-
|-
| 0x54 || float || unknown ||
| 0x54 || float || '''activateRadius''' ||
|-
|-
| 0x58 || float || unknown ||
| 0x58 || float || '''activateFOV''' ||
|-
|-
| 0x5C || float || unknown ||
| 0x5C || float || '''detectHeight''' ||
|-
|-
| 0x60 || float || unknown ||
| 0x60 || float || '''detectHeightOffset''' ||
|-
|-
| 0x64 || float || unknown ||
| 0x64 || float || '''speedMovement''' ||
|-
|-
| 0x68 || float || unknown ||
| 0x68 || float || '''speedPursue''' ||
|-
|-
| 0x6C || float || unknown ||
| 0x6C || float || '''speedTurn''' ||
|-
|-
| 0x70 || float || unknown ||
| 0x70 || float || '''pursuitRange''' ||
|-
|-
| 0x74 || short || unknown ||
| 0x74 || short || '''durDazedState''' ||
|-
|-
| 0x76 || short || unknown ||
| 0x76 || short || '''durGloatState''' ||
|-
|-
| 0x78 || short || unknown ||
| 0x78 || short || '''durGummedState''' ||
|-
|-
| 0x7A || short || unknown ||
| 0x7A || short || '''durBubbleState''' ||
|-
|-
| 0x7C || byte || unknown ||
| 0x7C || byte || '''hitpoints''' ||
|-
|-
| 0x7D || byte || unknown ||
| 0x7D || byte || '''behaviorState''' ||
|-
|-
| 0x7E || byte || unknown ||
| 0x7E || short || '''pad''' || padding
|-
|-
| 0x7F || byte || unknown ||
| 0x80 || int || '''villflags''' ||
|-
|-
| 0x80 || byte || unknown ||
| 0x84 || int || '''lobSpeed''' ||
|-
|-
| 0x81 || byte || unknown ||
| 0x88 || int || '''lobDurReload''' ||
|-
|-
| 0x82 || byte || unknown ||
| 0x8C || float || '''lobRange''' ||
|-
|-
| 0x83 || byte || unknown ||
| 0x90 || int || '''lobSalvo''' ||
|-
|-
| 0x84 || float || unknown ||
| 0x94 || [[Asset ID]] || '''projectileTypeID''' || PRJT_AssetID
|-
|-
| 0x98 || [[Asset ID]] || '''mvptBullseyeID''' || MovePoint_AssetID
| 0x88 || float || unknown ||
|-
|-
| 0x8C || float || unknown ||
| 0x9C || float || '''lobArcness''' ||
|-
|-
| 0x90 || int || unknown ||
| 0xA0 || float || '''lobHeavy''' ||
|-
|-
| 0x94 || int || unknown ||
| 0xA4 || float || '''extenderRange''' ||
|-
|-
| 0x98 || int || unknown ||
| 0xA8 || float || '''extenderWidth''' ||
|-
|-
| 0x9C || float || unknown ||
| 0xAC || float || '''extenderDuration''' ||
|-
|-
| 0xA0 || float || unknown ||
| 0xB0 || float || '''extenderRate''' ||
|-
|-
| 0xA4 || float || unknown ||
| 0xB4 || float || '''extenderReloadTime''' ||
|-
|-
| 0xA8 || float || unknown ||
| 0xB8 || [[Asset ID]] || [[MVPT]] || MovePoint_AssetID
|-
|-
| 0xAC || float || unknown ||
| 0xBC || [[Asset ID]] || '''pathAssetID''' ||
|-
|-
| 0xB0 || float || unknown ||
| 0xC0 || int || '''minPlayerPowerups''' ||
|-
|-
| 0xB4 || float || unknown ||
| 0xC4 || int || '''minGameDifficulty''' ||
|-
| 0xB8 || [[Asset ID]] || [[MVPT]] ||
|-
| 0xBC || byte[4] || unknown || null
|-
| 0xC0 || int || unknown || null
|-
| 0xC4 || int || unknown || null
|-
|-
! colspan="4" | Events
! colspan="4" | Events