Other Actors (Gate, Spawn Helpers, Damage)¶
Overview¶
AMIPGate is a travel gate (level transition): it extends APlayerStart, implements IInteractInterface and IMIPCursorHittableInterface, has a nameplate, and holds connected map/session data. UMIPGateManager (on PC) handles overlap and confirmation popup; see Gate. Spawn helpers (AMIPSpawnByPlayerControllerActor, AMIPItemEffectActor, AMIPBaseInventoryExpansionActor) and AMIPOwningCharacterRenderTarget are utility actors. Damage applier and projectile actors are used by the ability system for area and projectile damage.
All paths below are relative to Plugins/ModularInventoryPlus/Source/ModularInventoryPlus/.
Key Classes & Files¶
| Class | File |
|---|---|
| AMIPGate | Public/Gate/MIPGate.h |
| AMIPDefaultPlayerStart | Public/Gate/MIPDefaultPlayerStart.h |
| AMIPSpawnByPlayerControllerActor | Public/GameObjects/MIPSpawnByPlayerControllerActor.h |
| AMIPItemEffectActor | Public/GameObjects/MIPItemEffectActor.h |
| AMIPBaseInventoryExpansionActor | Public/Inventory/MIPBaseInventoryExpansionActor.h |
| AMIPOwningCharacterRenderTarget | Public/Character/MIPOwningCharacterRenderTarget.h |
| AMIPBaseDamageApplierActor | Public/AbilitySystem/DamageApplier/MIPBaseDamageApplierActor.h |
| AMIPRadiusDamageApplierActor | Public/AbilitySystem/DamageApplier/MIPRadiusDamageApplierActor.h |
| AMIPDelayedRadiusDamageApplierActor | Public/AbilitySystem/DamageApplier/MIPDelayedRadiusDamageApplierActor.h |
| AMIPBaseProjectile | Public/AbilitySystem/Projectiles/MIPBaseProjectile.h |
AMIPGate¶
- Base: APlayerStart; IInteractInterface, IMIPCursorHittableInterface, IActorWithNameplateInterface.
- Components: SphereComponent (overlap); NameplateWidgetComponent. Holds connected map name, session/map type, and travel config (e.g. bConfirmationRequired).
- Flow: If bConfirmationRequired, client overlap shows confirmation; on accept, server verifies overlap and runs travel. If false, only server handles overlap and travel. UMIPGateManager subscribes to gate overlap and shows confirmation; ServerOnConfirmedTravelGate triggers travel.
- Nameplate: GetNamesForNameplate_Implementation (e.g. destination name). GetNameplateWidgetClass, GetOverrideRelativeLocation, GetOverridePivotLocation.
AMIPDefaultPlayerStart¶
- Base: APlayerStart. Default spawn point for new players; GameMode caches these and uses GetRandomDefaultPlayerStart() when no last-area save.
Spawn helpers¶
- AMIPSpawnByPlayerControllerActor – AActor. Base for actors that are spawned per player (e.g. attached to a PC).
- AMIPItemEffectActor – AMIPSpawnByPlayerControllerActor. Actor that applies item effects (e.g. AOE on use).
- AMIPBaseInventoryExpansionActor – AMIPItemEffectActor. Interactable that expands inventory slots (unlock); friend of UMIPControllerCommonSaveableObjectsComponent for UnlockInventorySlots. See Player, Inventory.
AMIPOwningCharacterRenderTarget¶
- Base: AActor. Holds a render target for the owning character (e.g. character preview in UI). Spawned by AMIPBasePlayerCharacter (TrySpawnOwningCharacterRenderTarget).
Damage applier and projectiles¶
- AMIPBaseDamageApplierActor – AActor. Base for actors that apply damage in the world (e.g. AOE). Used by abilities that spawn a damage volume or projectile.
- AMIPRadiusDamageApplierActor – Immediate radius damage.
- AMIPDelayedRadiusDamageApplierActor – Delayed radius damage (e.g. telegraph then hit).
- AMIPMobDelayedRadiusDamageApplierActor – Mob version of delayed radius.
- AMIPBaseProjectile – AMIPBaseDamageApplierActor. Projectile that moves and applies damage on hit; can use homing or spline. AMIPMobBaseProjectile – mob projectile. AMIPBaseRadiusDamageApplierWithProjectileMovement – projectile that does radius damage on arrival.
These are spawned by gameplay abilities; they apply gameplay effects to targets (player or mob ASC). See AbilitySystemOverview and damage exec calcs.