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 || |
| 0x54 || float || '''activateRadius''' || |
||
|- |
|- |
||
| 0x58 || float || |
| 0x58 || float || '''activateFOV''' || |
||
|- |
|- |
||
| 0x5C || float || |
| 0x5C || float || '''detectHeight''' || |
||
|- |
|- |
||
| 0x60 || float || |
| 0x60 || float || '''detectHeightOffset''' || |
||
|- |
|- |
||
| 0x64 || float || |
| 0x64 || float || '''speedMovement''' || |
||
|- |
|- |
||
| 0x68 || float || |
| 0x68 || float || '''speedPursue''' || |
||
|- |
|- |
||
| 0x6C || float || |
| 0x6C || float || '''speedTurn''' || |
||
|- |
|- |
||
| 0x70 || float || |
| 0x70 || float || '''pursuitRange''' || |
||
|- |
|- |
||
| 0x74 || short || |
| 0x74 || short || '''durDazedState''' || |
||
|- |
|- |
||
| 0x76 || short || |
| 0x76 || short || '''durGloatState''' || |
||
|- |
|- |
||
| 0x78 || short || |
| 0x78 || short || '''durGummedState''' || |
||
|- |
|- |
||
| 0x7A || short || |
| 0x7A || short || '''durBubbleState''' || |
||
|- |
|- |
||
| 0x7C || byte || |
| 0x7C || byte || '''hitpoints''' || |
||
|- |
|- |
||
| 0x7D || byte || |
| 0x7D || byte || '''behaviorState''' || |
||
|- |
|- |
||
| 0x7E || |
| 0x7E || short || '''pad''' || padding |
||
|- |
|- |
||
| |
| 0x80 || int || '''villflags''' || |
||
|- |
|- |
||
| |
| 0x84 || int || '''lobSpeed''' || |
||
|- |
|- |
||
| |
| 0x88 || int || '''lobDurReload''' || |
||
|- |
|- |
||
| |
| 0x8C || float || '''lobRange''' || |
||
|- |
|- |
||
| |
| 0x90 || int || '''lobSalvo''' || |
||
|- |
|- |
||
| |
| 0x94 || [[Asset ID]] || '''projectileTypeID''' || PRJT_AssetID |
||
|- |
|- |
||
| 0x98 || [[Asset ID]] || '''mvptBullseyeID''' || MovePoint_AssetID |
|||
| 0x88 || float || unknown || |
|||
|- |
|- |
||
| |
| 0x9C || float || '''lobArcness''' || |
||
|- |
|- |
||
| |
| 0xA0 || float || '''lobHeavy''' || |
||
|- |
|- |
||
| |
| 0xA4 || float || '''extenderRange''' || |
||
|- |
|- |
||
| |
| 0xA8 || float || '''extenderWidth''' || |
||
|- |
|- |
||
| |
| 0xAC || float || '''extenderDuration''' || |
||
|- |
|- |
||
| |
| 0xB0 || float || '''extenderRate''' || |
||
|- |
|- |
||
| |
| 0xB4 || float || '''extenderReloadTime''' || |
||
|- |
|- |
||
| |
| 0xB8 || [[Asset ID]] || [[MVPT]] || MovePoint_AssetID |
||
|- |
|- |
||
| |
| 0xBC || [[Asset ID]] || '''pathAssetID''' || |
||
|- |
|- |
||
| |
| 0xC0 || int || '''minPlayerPowerups''' || |
||
|- |
|- |
||
| |
| 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 |
Revision as of 22:38, 22 May 2022
NPC | |
---|---|
NPC | |
Type | Entity |
Base Type | 0x02 |
Games used | Night of 100 Frights |
This asset defines an entry for an NPC.
Format
NPC are entity assets, so they start with their 0x54 byte header (0x50 in Scooby), then are followed by:
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;
};
Offset | Type | Variable | Description |
---|---|---|---|
0x54 | float | activateRadius | |
0x58 | float | activateFOV | |
0x5C | float | detectHeight | |
0x60 | float | detectHeightOffset | |
0x64 | float | speedMovement | |
0x68 | float | speedPursue | |
0x6C | float | speedTurn | |
0x70 | float | pursuitRange | |
0x74 | short | durDazedState | |
0x76 | short | durGloatState | |
0x78 | short | durGummedState | |
0x7A | short | durBubbleState | |
0x7C | byte | hitpoints | |
0x7D | byte | behaviorState | |
0x7E | short | pad | padding |
0x80 | int | villflags | |
0x84 | int | lobSpeed | |
0x88 | int | lobDurReload | |
0x8C | float | lobRange | |
0x90 | int | lobSalvo | |
0x94 | Asset ID | projectileTypeID | PRJT_AssetID |
0x98 | Asset ID | mvptBullseyeID | MovePoint_AssetID |
0x9C | float | lobArcness | |
0xA0 | float | lobHeavy | |
0xA4 | float | extenderRange | |
0xA8 | float | extenderWidth | |
0xAC | float | extenderDuration | |
0xB0 | float | extenderRate | |
0xB4 | float | extenderReloadTime | |
0xB8 | Asset ID | MVPT | MovePoint_AssetID |
0xBC | Asset ID | pathAssetID | |
0xC0 | int | minPlayerPowerups | |
0xC4 | int | minGameDifficulty | |
Events | |||
0xC8 | Event[numberOfEvents] | Events |