object / teleportation trap

Issue #249 resolved
Yoti created an issue

pushing a table on a teleportation trap resulted in the following error:

Ultimate ADOM - Caverns of Chaos
Version 0.2.1 - 15/06/2020 15:37:14

Passing an actor turn crashed.

Object reference not set to an instance of an object

System.NullReferenceException: Object reference not set to an instance of an object
at UA.GameEngine.ECS.Systems.Teleportation.TeleportSystem.TeleportTo (UA.GameEngine.ECS.Entities.IEntity entity, UA.GameEngine.ECS.Systems.PathFinding.Position position) [0x00061] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0
at UA.GameEngine.ECS.Systems.Teleportation.TeleportSystem.Teleport (UA.GameEngine.ECS.Entities.IEntity entity, System.Boolean chooseTargetPositionFreely) [0x0004f] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0
at UA.GameEngine.ECS.Systems.Effects.Lib.TeleportEffect.TriggerEffectImplementation (UA.GameEngine.ECS.Systems.Data.DataContext dataContext, UA.GameEngine.ECS.Entities.IEntity actor, UA.GameEngine.ECS.Entities.IEntity method, UA.GameEngine.ECS.Systems.PathFinding.Position targetPosition, UA.GameEngine.ECS.Entities.IEntity target) [0x00021] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0
at UA.GameEngine.ECS.Systems.Effects.Lib.Base.EffectBase.TriggerEffect (UA.GameEngine.ECS.Systems.Data.DataContext dataContext, UA.GameEngine.ECS.Entities.IEntity actor, UA.GameEngine.ECS.Entities.IEntity method, UA.GameEngine.ECS.Systems.PathFinding.Position targetPosition, UA.GameEngine.ECS.Entities.IEntity target) [0x00028] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0
at UA.GameEngine.ECS.Systems.Effects.EffectSystem.TriggerEffects (UA.GameEngine.ECS.Systems.Data.DataContext dataContext, UA.GameEngine.ECS.Entities.IEntity actor, UA.GameEngine.ECS.Entities.IEntity method, UA.GameEngine.ECS.Systems.PathFinding.Position targetPosition, UA.GameEngine.ECS.Entities.IEntity target, System.Collections.Generic.List1[T] effects) [0x0004b] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0 at UA.GameEngine.ECS.Systems.Effects.EffectSystem.TriggerEffects (UA.GameEngine.ECS.Systems.Data.DataContext dataContext, UA.GameEngine.ECS.Entities.IEntity actor, UA.GameEngine.ECS.Entities.IEntity method, UA.GameEngine.ECS.Entities.IEntity target, System.Collections.Generic.List1[T] effects) [0x0001b] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0
at UA.GameEngine.ECS.Components.Lib.LocalEffectsModuleComponent.PropagateEvent (UA.GameEngine.Events.GameEvent gameEvent) [0x00053] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0
at UA.Events.EventDispatcher2[TT,TE].PropagateEvent (TE ev) [0x0007a] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0 at UA.GameEngine.ECS.Entities.Entity.PropagateEvent (UA.GameEngine.Events.GameEvent gameEvent) [0x00231] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0 at UA.GameEngine.ECS.Systems.Effects.EffectSystem.DelegateTo (System.String effects, UA.GameEngine.ECS.Systems.Data.DataContext dataContext, UA.GameEngine.ECS.Entities.IEntity eventTarget, UA.GameEngine.ECS.Entities.IEntity actor, UA.GameEngine.ECS.Entities.IEntity method, UA.GameEngine.ECS.Entities.IEntity target) [0x0001c] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0 at UA.GameEngine.ECS.Systems.Effects.EffectSystem.DelegateTo (System.String effects, UA.GameEngine.ECS.Systems.Data.DataContext dataContext, UA.GameEngine.ECS.Entities.IEntity actor, UA.GameEngine.ECS.Entities.IEntity method, UA.GameEngine.ECS.Entities.IEntity target) [0x00000] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0 at UA.GameEngine.ECS.Systems.Effects.Lib.ActivateEffect.TriggerEffectImplementation (UA.GameEngine.ECS.Systems.Data.DataContext dataContext, UA.GameEngine.ECS.Entities.IEntity actor, UA.GameEngine.ECS.Entities.IEntity method, UA.GameEngine.ECS.Systems.PathFinding.Position targetPosition, UA.GameEngine.ECS.Entities.IEntity target) [0x0004e] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0 at UA.GameEngine.ECS.Systems.Effects.Lib.Base.EffectBase.TriggerEffect (UA.GameEngine.ECS.Systems.Data.DataContext dataContext, UA.GameEngine.ECS.Entities.IEntity actor, UA.GameEngine.ECS.Entities.IEntity method, UA.GameEngine.ECS.Systems.PathFinding.Position targetPosition, UA.GameEngine.ECS.Entities.IEntity target) [0x00028] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0 at UA.GameEngine.ECS.Systems.Effects.EffectSystem.TriggerEffects (UA.GameEngine.ECS.Systems.Data.DataContext dataContext, UA.GameEngine.ECS.Entities.IEntity actor, UA.GameEngine.ECS.Entities.IEntity method, UA.GameEngine.ECS.Systems.PathFinding.Position targetPosition, UA.GameEngine.ECS.Entities.IEntity target, System.Collections.Generic.List1[T] effects) [0x0004b] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0
at UA.GameEngine.ECS.Systems.Effects.EffectSystem.TriggerEffects (UA.GameEngine.ECS.Entities.IEntity actor, UA.GameEngine.ECS.Entities.IEntity method, UA.GameEngine.ECS.Systems.PathFinding.Position targetPosition, UA.GameEngine.ECS.Entities.IEntity target, System.Collections.Generic.List1[T] effects) [0x00016] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0 at UA.GameEngine.ECS.Systems.Effects.Lib.IfEffect.TriggerEffectImplementation (UA.GameEngine.ECS.Systems.Data.DataContext dataContext, UA.GameEngine.ECS.Entities.IEntity actor, UA.GameEngine.ECS.Entities.IEntity method, UA.GameEngine.ECS.Systems.PathFinding.Position targetPosition, UA.GameEngine.ECS.Entities.IEntity target) [0x0000a] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0 at UA.GameEngine.ECS.Systems.Effects.Lib.Base.EffectBase.TriggerEffect (UA.GameEngine.ECS.Systems.Data.DataContext dataContext, UA.GameEngine.ECS.Entities.IEntity actor, UA.GameEngine.ECS.Entities.IEntity method, UA.GameEngine.ECS.Systems.PathFinding.Position targetPosition, UA.GameEngine.ECS.Entities.IEntity target) [0x00028] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0 at UA.GameEngine.ECS.Systems.Effects.EffectSystem.TriggerEffects (UA.GameEngine.ECS.Systems.Data.DataContext dataContext, UA.GameEngine.ECS.Entities.IEntity actor, UA.GameEngine.ECS.Entities.IEntity method, UA.GameEngine.ECS.Systems.PathFinding.Position targetPosition, UA.GameEngine.ECS.Entities.IEntity target, System.Collections.Generic.List1[T] effects) [0x0004b] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0
at UA.GameEngine.ECS.Systems.Effects.EffectSystem.TriggerEffects (UA.GameEngine.ECS.Entities.IEntity actor, UA.GameEngine.ECS.Entities.IEntity method, UA.GameEngine.ECS.Systems.PathFinding.Position targetPosition, UA.GameEngine.ECS.Entities.IEntity target, System.Collections.Generic.List1[T] effects) [0x00016] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0 at UA.GameEngine.ECS.Components.Lib.WhenEnteredComponent.PropagateEvent (UA.GameEngine.Events.GameEvent gameEvent) [0x00030] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0 at UA.Events.EventDispatcher2[TT,TE].PropagateEvent (TE ev) [0x0007a] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0
at UA.GameEngine.ECS.Entities.Entity.PropagateEvent (UA.GameEngine.Events.GameEvent gameEvent) [0x00231] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0
at UA.GameEngine.ECS.Entities.EntityReference.PropagateEvent (UA.GameEngine.Events.GameEvent gameEvent) [0x00006] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0
at UA.Events.EventDispatcher2[TT,TE].PropagateEvent (TE ev) [0x0007a] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0 at UA.GameEngine.ECS.Systems.ZoneMaps.MapCell.PropagateEvent (UA.GameEngine.Events.GameEvent ev) [0x0008d] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0 at UA.GameEngine.ECS.Entities.Entity.PropagateEvent (UA.GameEngine.Events.GameEvent gameEvent) [0x001a7] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0 at UA.GameEngine.ECS.Systems.Movement.MovementSystem.ExecuteMovement (UA.GameEngine.ECS.Entities.IEntity entity, UA.GameEngine.ECS.Systems.Movement.Direction movementDirection, System.Boolean isForcedMovement, System.String movementMode) [0x002fd] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0 at UA.GameEngine.ECS.Systems.Pushing.PushSystem.Push (UA.GameEngine.ECS.Entities.IEntity actor, UA.GameEngine.ECS.Entities.IEntity target, UA.GameEngine.ECS.Systems.Movement.Direction pushDirection) [0x00016] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0 at UA.GameEngine.ECS.Components.Lib.PushableComponent.Push (UA.GameEngine.ECS.Entities.IEntity actor, UA.GameEngine.ECS.Entities.IEntity target) [0x00079] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0 at UA.GameEngine.ECS.Components.Lib.PushableComponent+<>c__DisplayClass9_0.<PropagateEvent>b__0 () [0x00000] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0 at UA.GameEngine.ECS.Systems.GameCommands.GameCommandOption.ExecuteOption () [0x00000] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0 at UA.GameEngine.ECS.Systems.GameCommands.GameCommandSystem.ExecuteGameCommand (UA.GameEngine.ECS.Entities.IEntity entity, System.Collections.Generic.List1[T] gameCommandOptions) [0x0001a] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0
at UA.GameEngine.ECS.Systems.Movement.MovementSystem.ExecuteMovement (UA.GameEngine.ECS.Entities.IEntity entity, UA.GameEngine.ECS.Systems.Movement.Direction movementDirection, System.Boolean isForcedMovement, System.String movementMode) [0x0012f] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0
at UA.GameEngine.ECS.Systems.GameCommands.Lib.Base.MoveEntityBase.Execute (UA.GameEngine.ECS.Entities.IEntity entity) [0x00014] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0
at UA.GameEngine.ECS.Systems.GameCommands.GameCommandSystem.<MoveWest>b__32_0 (UA.GameEngine.ECS.Entities.IEntity target) [0x00000] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0
at UA.GameEngine.ECS.Systems.GameCommands.GameCommandSystem+<>c__DisplayClass44_1.<ExecutePlayerAction>b__0 (UA.GameEngine.ECS.Entities.IEntity actor) [0x00099] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0
at UA.GameEngine.ECS.Systems.Actors.ActorSystem.PassTurnForActor (UA.GameEngine.ECS.Entities.IEntity actor, System.Action1[T] act) [0x001b3] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0 at UA.GameEngine.ECS.Systems.GameCommands.GameCommandSystem.ExecutePlayerAction (UA.GameEngine.ECS.Entities.IEntity target, System.Action1[T] act) [0x001e8] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0
at UA.GameEngine.ECS.Systems.GameCommands.GameCommandSystem.MoveWest () [0x00010] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0
at UA.Bus.UltimateUserInterfaceGameEngineServiceBus.ProcessTasks () [0x00081] in <26437f0e2eea466a9c4a5c18e4cbb4eb>:0

Comments (3)

  1. Jochen Terstiege

    Added check if the teleported entity has a "brain". Now teleportation of room decorations and other brainless entities should work.

  2. Log in to comment