EvilEngine/NPC: Difference between revisions
Content added Content deleted
(Add new info) |
m (Seil moved page NPC to EvilEngine/NPC) |
||
(One intermediate revision by one other user not shown) | |||
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 |
||
|- |
|- |
||
| |
| 0x50 || float || '''activateRadius''' || |
||
|- |
|- |
||
| |
| 0x54 || float || '''activateFOV''' || |
||
|- |
|- |
||
| |
| 0x58 || float || '''detectHeight''' || |
||
|- |
|- |
||
| |
| 0x5C || float || '''detectHeightOffset''' || |
||
|- |
|- |
||
| |
| 0x60 || float || '''speedMovement''' || |
||
|- |
|- |
||
| |
| 0x64 || float || '''speedPursue''' || |
||
|- |
|- |
||
| |
| 0x68 || float || '''speedTurn''' || |
||
|- |
|- |
||
| |
| 0x6C || float || '''pursuitRange''' || |
||
|- |
|- |
||
| |
| 0x70 || short || '''durDazedState''' || |
||
|- |
|- |
||
| |
| 0x72 || short || '''durGloatState''' || |
||
|- |
|- |
||
| |
| 0x74 || short || '''durGummedState''' || |
||
|- |
|- |
||
| |
| 0x76 || short || '''durBubbleState''' || |
||
|- |
|- |
||
| |
| 0x78 || char || '''hitpoints''' || |
||
|- |
|- |
||
| |
| 0x79 || char || '''behaviorState''' || |
||
|- |
|- |
||
| |
| 0x7A || short || '''pad''' || padding |
||
|- |
|- |
||
| |
| 0x7C || uint || '''villFlags''' || |
||
|- |
|- |
||
| |
| 0x80 || float || '''lobSpeed''' || |
||
|- |
|- |
||
| |
| 0x84 || float || '''lobDurReload''' || |
||
|- |
|- |
||
| |
| 0x88 || float || '''lobRange''' || |
||
|- |
|- |
||
| |
| 0x8C || uint || '''lobSalvo''' || |
||
|- |
|- |
||
| |
| 0x90 || [[AssetID]] || '''projectileTypeID''' || [[PRJT]] |
||
|- |
|- |
||
| |
| 0x94 || [[AssetID]] || '''mvptBullseyeID''' || [[MVPT]] |
||
|- |
|- |
||
| |
| 0x98 || float || '''lobArcness''' || |
||
|- |
|- |
||
| |
| 0x9C || float || '''lobHeavy''' || |
||
|- |
|- |
||
| |
| 0xA0 || float || '''extenderRange''' || |
||
|- |
|- |
||
| |
| 0xA4 || float || '''extenderWidth''' || |
||
|- |
|- |
||
| |
| 0xA8 || float || '''extenderDuration''' || |
||
|- |
|- |
||
| |
| 0xAC || float || '''extenderRate''' || |
||
|- |
|- |
||
| |
| 0xB0 || float || '''extenderReloadTime''' || |
||
|- |
|- |
||
| |
| 0xB4 || [[AssetID]] || '''movePointAssetID''' || [[MVPT]] |
||
|- |
|- |
||
| |
| 0xB8 || [[AssetID]] || '''pathAssetID''' || |
||
|- |
|- |
||
| |
| 0xBC || int || '''minPlayerPowerups''' || |
||
|- |
|- |
||
| |
| 0xC0 || int || '''minGameDifficulty''' || |
||
|- |
|- |
||
! colspan="4" | Events |
! colspan="4" | Events |
||
|- |
|- |
||
| |
| 0xC4 || Event[numberOfEvents] || '''[[Events]]''' || |
||
|} |
|} |
||
Latest revision as of 22:46, 15 September 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:
Offset | Type | Variable | Description |
---|---|---|---|
0x50 | float | activateRadius | |
0x54 | float | activateFOV | |
0x58 | float | detectHeight | |
0x5C | float | detectHeightOffset | |
0x60 | float | speedMovement | |
0x64 | float | speedPursue | |
0x68 | float | speedTurn | |
0x6C | float | pursuitRange | |
0x70 | short | durDazedState | |
0x72 | short | durGloatState | |
0x74 | short | durGummedState | |
0x76 | short | durBubbleState | |
0x78 | char | hitpoints | |
0x79 | char | behaviorState | |
0x7A | short | pad | padding |
0x7C | uint | villFlags | |
0x80 | float | lobSpeed | |
0x84 | float | lobDurReload | |
0x88 | float | lobRange | |
0x8C | uint | lobSalvo | |
0x90 | AssetID | projectileTypeID | PRJT |
0x94 | AssetID | mvptBullseyeID | MVPT |
0x98 | float | lobArcness | |
0x9C | float | lobHeavy | |
0xA0 | float | extenderRange | |
0xA4 | float | extenderWidth | |
0xA8 | float | extenderDuration | |
0xAC | float | extenderRate | |
0xB0 | float | extenderReloadTime | |
0xB4 | AssetID | movePointAssetID | MVPT |
0xB8 | AssetID | pathAssetID | |
0xBC | int | minPlayerPowerups | |
0xC0 | int | minGameDifficulty | |
Events | |||
0xC4 | Event[numberOfEvents] | Events |