Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
I've no idea why though, perhaps it thought it had got into an infinite loop when it hits the end battle sequence for the second time? I see that Unity has a "pause on error" option but it was unchecked.
Presumably that won't affect the mod in play though and I can just leave it as is.
[ASSERT] on '<NULL>'
UnityEngine.Debug:LogError(Object, Object)
Defiant.Modding.DebugUtils:Assert(Boolean, GameObject, Object)
Defiant.Modding.DebugUtils:Assert(Boolean)
Defiant.Modding.CombatEncounter:ApplyCompleteContext(CompleteContext)
Defiant.Modding.CombatEncounter:Complete(CompleteContext)
Defiant.Modding.CombatEncounter:OnObjectiveComplete(CombatObjective, CompleteContext)
Defiant.Modding.CombatObjective:Complete(CompleteContext)
Defiant.Modding.CombatObjectiveKillAll:OnSpawnerComplete(AISpawner, GameObject, ICombatEffectContainer)
Defiant.Modding.AISpawner:Complete(GameObject, ICombatEffectContainer)
Defiant.Modding.AISpawnerSimple:OnAIDestroyed(Destroyable, ICombatEffectContainer)
Defiant.Modding.Destroyable:Die(ICombatEffectContainer)
Defiant.Modding.Destroyable:ApplyDamage(Damage, Boolean)
Defiant.Modding.CombatEffectDamage:Apply(ApplyContext)
Defiant.Modding.CombatEffect:Apply(ICombatEffectContainer, CombatTarget, Transform, Int32&, Int32&)
Defiant.Modding.CombatEffect:Apply(ICombatEffectContainer, CombatTarget, Transform)
Defiant.Modding.CombatProxy:ApplyEffects(CombatTarget, Transform)
Defiant.Modding.CombatProxyArea:UpdateAreaTarget(Targetable)
Defiant.Modding.CombatProxyArea:OnEnter(Targetable)
Defiant.Modding.CombatProxyArea:OnTriggerEnter(Collider)
Shadow map cache entry with NULL shadowmap?
UnityEditor.EditorGUIUtility:INTERNAL_CALL_RenderGameViewCamerasInternal(RenderTexture, Int32, Rect&, Vector2&, Boolean)
UnityEditor.EditorGUIUtility:RenderGameViewCamerasInternal(RenderTexture, Int32, Rect, Vector2, Boolean) (at C:\buildslave\unity\build\artifacts\generated\common\editor\EditorGUIUtilityBindings.gen.cs:642)
UnityEditor.GameView:OnGUI() (at C:\buildslave\unity\build\Editor\Mono\GameView\GameView.cs:747)
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
System.Reflection.MethodBase:Invoke(Object, Object[]) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
UnityEditor.HostView:Invoke(String, Object) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:285)
UnityEditor.HostView:Invoke(String) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:278)
UnityEditor.HostView:InvokeOnGUI(Rect) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:245)
UnityEditor.DockArea:OldOnGUI() (at C:\buildslave\unity\build\Editor\Mono\GUI\DockArea.cs:383)
UnityEngine.Experimental.UIElements.IMGUIContainer:DoOnGUI(Event) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\IMGUIContainer.cs:127)
UnityEngine.Experimental.UIElements.IMGUIContainer:HandleEvent(EventBase) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\IMGUIContainer.cs:213)
UnityEngine.Experimental.UIElements.IMGUIContainer:DoRepaint(IStylePainter) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\IMGUIContainer.cs:50)
UnityEngine.Experimental.UIElements.Panel:PaintSubTree(Event, VisualElement, Matrix4x4, Rect) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\Panel.cs:447)
UnityEngine.Experimental.UIElements.Panel:PaintSubTree(Event, VisualElement, Matrix4x4, Rect) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\Panel.cs:457)
UnityEngine.Experimental.UIElements.Panel:Repaint(Event) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\Panel.cs:475)
UnityEngine.Experimental.UIElements.UIElementsUtility:DoDispatch(BaseVisualElementPanel) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\UIElementsUtility.cs:192)
UnityEngine.Experimental.UIElements.UIElementsUtility:ProcessEvent(Int32, IntPtr) (at C:\buildslave\unity\build\Runtime\UIElements\Managed\UIElementsUtility.cs:72)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at C:\buildslave\unity\build\Runtime\IMGUI\Managed\GUIUtility.cs:175)
Something is wrong with a shadow map? But it's the same combat in the same environment at the same time of day that I just did - it only throws an error on the second (and consecutive) instances.
The assert you're triggering is there to indicate that the combat encounter has already been marked complete by something else. Your scenario sounds similar to RaiderPrevention. You might try having a look at how it is setup versus yours. If you still can't figure it out, publish to the workshop privately and post your mod's steam id here and someone can take a look.
I don't understand all of it, it's got this feature I see quite a lot in the default encounters where the blackboard has actions which aren't start actions with no lines feeding in to them. How are those actions ever processed?
Where my encounter is different is that it's supposed to run several times. There's literally a loop that feeds back into the same combat node. So what's marking the combat encounter as complete is literally it being completed - that'd be why the error only occurs on the second and consecutive battles.
What variable does it set to mark the combat as complete? Presumably I could use a "set variable" action to undo it?
It's not practical to split the combat node into several combat nodes (one for each fight) because there can be arbitrarily many of them. After each fight the time limit increases and the number of enemies becomes double whatever survived the fight before. The fight repeats over and over until either the player manages to kill anything (scenario success) or doubling the survivors would result in too many enemies to put on the battlefield (scenario failure). In theory if a player killed exactly half of the enemies each time they could have infinity fights (In practice because the player gets more time each time you wouldn't expect that to happen - but if someone wants to use it as a means to get a lot of battles to farm good with the gladiators helm or some similar shenanigan then more power to them for exploiting the sceanrio)