Mob and Spawner Actors¶
Overview¶
AMIPBaseMob is the base mob character: it has an ASC, MIPBaseMobAttributeSet, UMIPMobHealthComponent, floating damage widget, aggro sphere, motion warping, and optional loot. Health component handles death (EXP, loot, destroy); mob can be activated/deactivated (e.g. return to spot, immune). Spawners (AMIPBaseMobSpawner, area/wave/trigger/respawn/kill-triggered/endless variants) and triggers (AMIPBaseMobSpawnerTrigger) use IMIPMobSpawnerTriggerInterface. AMIPBaseAIController / AMIPSimpleAIController drive mob AI.
All paths below are relative to Plugins/ModularInventoryPlus/Source/ModularInventoryPlus/.
Key Classes & Files¶
| Class | File |
|---|---|
| AMIPBaseMob | Public/Mob/MIPBaseMob.h |
| AMIPSimpleMob | Public/Mob/MIPSimpleMob.h |
| AMIPBaseMobSpawner | Public/Mob/Spawners/MIPBaseMobSpawner.h |
| AMIPBaseAreaMobSpawner | Public/Mob/Spawners/MIPBaseAreaMobSpawner.h |
| AMIPBaseWaveMobSpawner | Public/Mob/Spawners/MIPBaseWaveMobSpawner.h |
| AMIPBaseTriggerableMobSpawner | Public/Mob/Spawners/MIPBaseTriggerableMobSpawner.h |
| AMIPRespawnableAreaMobSpawner | Public/Mob/Spawners/MIPRespawnableAreaMobSpawner.h |
| AMIPKillTriggeredWaveMobSpawner | Public/Mob/Spawners/MIPKillTriggeredWaveMobSpawner.h |
| AMIPEndlessWaveMobSpawner | Public/Mob/Spawners/MIPEndlessWaveMobSpawner.h |
| AMIPBaseMobSpawnerTrigger | Public/Mob/Triggers/MIPBaseMobSpawnerTrigger.h |
| AMIPBaseAIController | Public/AI/MIPBaseAIController.h |
| AMIPSimpleAIController | Public/AI/MIPSimpleAIController.h |
AMIPBaseMob¶
- Base: ACharacter; IAbilitySystemInterface, IMIPPlayerDamageReceivableActorInterface, IMIPIsMobInterface, IMIPCursorHittableInterface (Enemy), IMIPMobSpawnerTriggerInterface, IOutliningInterface.
- Components: UMIPMobHealthComponent (death, EXP, loot), UMIPMobAggroNearbyPlayerSphere, UMIPFloatingDamageTextWidgetComponent, UMIPMobNameplateWidgetComponent; MotionWarpingComponent (IMIPIsMobInterface); ASC with MIPBaseMobAttributeSet.
- Data: MIPMobInfoDataAsset, MIPCombatMobInfoDataAsset, MIPMobCombatDataAsset; combat info can be overridden by UMIPWorldLevelScaledMobInfoComponent (world level scaling). Loot from UMIPLootDefinitionAsset; FOnGetOverrideLootDef, FOnGetOverrideCombatInfoDef for overrides.
- Lifecycle: ActivateMob() / DeactivateMob() – grant/remove abilities, bind/unbind health OnGotHitDelegate; immune and max HP when StartReturningToSpot(). HandleOutOfHealth in UMIPMobHealthComponent gives rewards and destroys mob.
- IMIPIsMobInterface: GetMotionWarpingComponent(), SetLastHitDirection/GetLastHitDirection (LastHitDirection).
- Cursor: GetCursorHittableType() → Enemy (targeting/outline).
AMIPSimpleMob¶
- Base: AMIPBaseMob. Concrete simple mob (no extra behavior in header).
Spawners¶
- AMIPBaseMobSpawner – AActor, IMIPMobSpawnerTriggerInterface. Base for all mob spawners; spawns mobs, can be triggered.
- AMIPBaseAreaMobSpawner – Spawns mobs in an area.
- AMIPBaseWaveMobSpawner – Wave-based spawning.
- AMIPBaseTriggerableMobSpawner – Triggered by overlap or external trigger.
- AMIPRespawnableAreaMobSpawner – Area spawner with respawn.
- AMIPKillTriggeredWaveMobSpawner – Next wave when a mob is killed.
- AMIPEndlessWaveMobSpawner – Endless waves.
- AMIPBaseMobSpawnerTrigger – AActor, IMIPMobSpawnerTriggerInterface; triggers a linked spawner (e.g. volume overlap).
Spawners use MIPMobSpawnerCombatInfoDataAsset, MIPWaveMobSpawnerInfoDataAsset (etc.) for spawn config and combat info.
AI¶
- AMIPBaseAIController – AAIController. Base for mob AI.
- AMIPSimpleAIController – Simple AI behavior for mobs.
Mob’s AIControllerClass set in C++ or Blueprint; AI drives movement and ability usage.
Integration¶
- UMIPMobHealthComponent – Health; HandleOutOfHealth → GiveMobEXPRewardsAndKill, loot, destroy.
- UMIPWorldLevelScaledMobInfoComponent – ServerComponents; scaled combat info by world level.
- UMIPBaseModeComponent – OnMobSpawned, OnMobDestroyed; CurrentSpawnedMobNum for game modes.
- Quest – UMIPEliminateMobQuestTask for kill objectives.