EvilEngine/NPC

Revision as of 22:38, 22 May 2022 by MinecraftFreak73 (talk | contribs) (Add new info)

This asset defines an entry for an NPC.

NPC
NPC
TypeEntity
Base Type0x02
Games usedNight of 100 Frights

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