Vigilantes > Resolved Bugs

[Resolved] AI hang: Mafia boss battle: Melee issues

(1/3) > >>

ushas:
(v23, linux, HB)

So far experienced this on Mafia boss battle (Lorio Vincenze). As you've fixed the boss not launching after some time as well as have been repairing AI logic issues, it's entirely possible this one is non-issue anymore too. Am, however, unable to assess, not knowing anything about the nature of those problems, so rather decided to report. Haven't played till end, but reiterated several beginnings. Seems to me the same problem, but sometimes shows itself differently. Will make more posts. Feel free to split/close.

Common factors so far: Mafia boss and a black coat specialist, melee weapon.

1) It's fun to start face to face. So upon launching the battle (Aug 01), the team re-positions right next to the boss himself. The first turn is his and the game hangs.

How we surrounded him:


His turn in the log:

--- Code: ---CharacterAIScript.DetermineCharacterActionForTurn. Character Has AP
CharAIScript.GetOrdersBasedOnBehaviourType. Method called
CharAIScript.GetOrdersBasedOnBehaviourType. has healing item: True character health %: 1 min health before heal: 0.6 heals this turn: 0 max heals per turn
CharAIScript.GetOrdersBasedOnBehaviourType. Character has passed heal precheck.
CharAIScript.GetOrdersBasedOnBehaviourType. Checking for orders. Behaviour type is: 1
BattleControlScript.GetMeleeDamage. Method called. Weapon name is: Unarmed damage is: 18.46515
BattleControlScript.GetMeleeChanceToHit. Criminal cth bonus of: 9 applied
BattleControlScript.GetMeleeDamage. Method called. Weapon name is: Baton damage is: 15.97926
BattleControlScript.GetMeleeChanceToHit. Criminal cth bonus of: 9 applied
ArgumentOutOfRangeException: Argument is out of range.
Parameter name: index
  at System.Collections.Generic.List`1[System.Int32].get_Item (Int32 index) [0x00000] in <filename unknown>:0
  at CharacterAIScript.GetMeleeMetaOrder (.CharacterMainScript targetScriptIn, Boolean populateHealthField, Boolean allowPathingThroughFire) [0x00000] in <filename unknown>:0
  at CharacterAIScript+<GetMeleeAttackOrderForMaxDamageOpponent>c__Iterator33.MoveNext () [0x00000] in <filename unknown>:0
UnityEngine.MonoBehaviour:StartCoroutine_Auto(IEnumerator)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
CharacterAIScript:GetOrdersBasedOnBehaviourType()
CharacterAIScript:GetPossibleOrdersForTurn()
--- End code ---







1b) Next attempt, during the battle, only Sam steps on an adjacent tile. Once it reaches the boss' turn, the game hangs again


--- Code: ---BattleControlScript.CheckIfPlayerOrAiTurn. Lorio Vincenze is not delaying turn. Restoring AP
BattleControlScript.DisablePlayerInput. Method called
CharacterAIScript.InvokeGetPossibleOrdersForTurn. Method called. Character is: Lorio Vincenze delay
CombatQueueManager.GenerateCombatantIcons. Method called. PRE GEN. Current list display objects: 6 combatant icon scripts: 6
CombatQueueManager.GenerateCombatantIcons. Method called. POST GEN. Current list display objects: 6 combatant icon scripts: 6
CameraControlScript.FocusCamera. Method complete
CharacterAIScript.DetermineCharacterActionForTurn. Method called
CharacterAIScript.DetermineCharacterActionForTurn. Character Has AP
CharAIScript.GetOrdersBasedOnBehaviourType. Method called
CharAIScript.GetOrdersBasedOnBehaviourType. has healing item: True character health %: 1 min health before heal: 0.6 heals this turn: 0 max heals per turn
CharAIScript.GetOrdersBasedOnBehaviourType. Character has passed heal precheck.
CharAIScript.GetOrdersBasedOnBehaviourType. Checking for orders. Behaviour type is: 1
BattleControlScript.GetMeleeDamage. Method called. Weapon name is: Unarmed damage is: 18.46515
BattleControlScript.GetMeleeChanceToHit. Criminal cth bonus of: 9 applied
BattleControlScript.GetMeleeDamage. Method called. Weapon name is: Machete damage is: 15.97926
BattleControlScript.GetMeleeChanceToHit. Criminal cth bonus of: 9 applied
ArgumentOutOfRangeException: Argument is out of range.
Parameter name: index
  at System.Collections.Generic.List`1[System.Int32].get_Item (Int32 index) [0x00000] in <filename unknown>:0
  at CharacterAIScript.GetMeleeMetaOrder (.CharacterMainScript targetScriptIn, Boolean populateHealthField, Boolean allowPathingThroughFire) [0x00000] in <filename unknown>:0
  at CharacterAIScript+<GetMeleeAttackOrderForMaxDamageOpponent>c__Iterator33.MoveNext () [0x00000] in <filename unknown>:0
UnityEngine.MonoBehaviour:StartCoroutine_Auto(IEnumerator)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
CharacterAIScript:GetOrdersBasedOnBehaviourType()
CharacterAIScript:GetPossibleOrdersForTurn()
--- End code ---

ushas:
2) Next time we re-positioned next to a black coat specialist (aug 01) and it hangs again:



--- Code: ---CharacterAIScript.DetermineCharacterActionForTurn. Character Has AP
CharAIScript.GetOrdersBasedOnBehaviourType. Method called
CharAIScript.GetOrdersBasedOnBehaviourType. has healing item: True character health %: 1 min health before heal: 0.5 heals this turn: 0 max heals per turn
CharAIScript.GetOrdersBasedOnBehaviourType. Checking for orders. Behaviour type is: 0
CharAIScript.GetOrdersBasedOnBehaviourType. Aggressive Character has melee weapon
CharacterAIScript.GetMeleeMetaOrder. Found path, adjacent exit allowed, no pathing through fire
CharacterAIScript.GetMeleeMetaOrder. Method called. Is move required: True / avg distance to enemies: 6.25
CharAIScript.GetMeleeMetaOrder. Path found, route through fire
CharacterAIScript.GetMeleeMetaOrder. Method called. Is move required: True / avg distance to enemies: 6.25
BattleControlScript.GetMeleeDamage. Method called. Weapon name is: Unarmed damage is: 12.0045
BattleControlScript.GetMeleeDamage. Method called. Weapon name is: Baton damage is: 12.9558
ArgumentOutOfRangeException: Argument is out of range.
Parameter name: index
  at System.Collections.Generic.List`1[System.Int32].get_Item (Int32 index) [0x00000] in <filename unknown>:0
  at CharacterAIScript.GetMeleeMetaOrder (.CharacterMainScript targetScriptIn, Boolean populateHealthField, Boolean allowPathingThroughFire) [0x00000] in <filename unknown>:0
  at CharacterAIScript+<GetMeleeAttackOrderForMaxDamageOpponent>c__Iterator33.MoveNext () [0x00000] in <filename unknown>:0
--- End code ---

Similar error, including "GetMeleeAttackOrderForMaxDamageOpponent". Is he contemplating an attack with a baton too?


2b) The next try was to surround a common mafia troop (aug 01). No hanging. She attacked one of us in HtH when it came to her turn. That either means that the type of unit plays a role or type of weapon, or none of those. For the record, on this same battle, the black coat specialist comes close himself, pulls out a baton and attacks all right.

ushas:
3) The boss again (aug 01), on his second turn he pulls out a grenade to punish our clustering but the game hangs: 



--- Code: ---CharacterAIScript.DetermineCharacterActionForTurn. Character Has AP
CharAIScript.GetOrdersBasedOnBehaviourType. Method called
CharAIScript.GetOrdersBasedOnBehaviourType. has healing item: True character health %: 1 min health before heal: 0.6 heals this turn: 0 max heals per turn
CharAIScript.GetOrdersBasedOnBehaviourType. Character has passed heal precheck.
CharAIScript.GetOrdersBasedOnBehaviourType. Checking for orders. Behaviour type is: 1
CharacterAIScript.GetMeleeMetaOrder. Found path, adjacent exit allowed, no pathing through fire
BattleControlScript.GetMeleeDamage. Method called. Weapon name is: Unarmed damage is: 18.46515
BattleControlScript.GetMeleeChanceToHit. Criminal cth bonus of: 9 applied
BattleControlScript.GetMeleeDamage. Method called. Weapon name is: Baton damage is: 15.97926
BattleControlScript.GetMeleeChanceToHit. Criminal cth bonus of: 9 applied
CharacterAIScript.GetMeleeMetaOrder. Method called. Is move required: True / avg distance to enemies: 1.5
CharAIScript.GetMeleeMetaOrder. Path found, route through fire
BattleControlScript.GetMeleeDamage. Method called. Weapon name is: Unarmed damage is: 18.46515
BattleControlScript.GetMeleeChanceToHit. Criminal cth bonus of: 9 applied
BattleControlScript.GetMeleeDamage. Method called. Weapon name is: Baton damage is: 15.97926
BattleControlScript.GetMeleeChanceToHit. Criminal cth bonus of: 9 applied
CharacterAIScript.GetMeleeMetaOrder. Method called. Is move required: True / avg distance to enemies: 1.5
CharacterAIScript.GetMeleeMetaOrder. Found path, adjacent exit allowed, no pathing through fire
BattleControlScript.GetMeleeDamage. Method called. Weapon name is: Unarmed damage is: 18.46515
BattleControlScript.GetMeleeChanceToHit. Criminal cth bonus of: 9 applied
BattleControlScript.GetMeleeDamage. Method called. Weapon name is: Baton damage is: 15.97926
BattleControlScript.GetMeleeChanceToHit. Criminal cth bonus of: 9 applied
CharacterAIScript.GetMeleeMetaOrder. Method called. Is move required: True / avg distance to enemies: 1.5
CharAIScript.GetMeleeMetaOrder. Path found, route through fire
BattleControlScript.GetMeleeDamage. Method called. Weapon name is: Unarmed damage is: 18.46515
BattleControlScript.GetMeleeChanceToHit. Criminal cth bonus of: 9 applied
BattleControlScript.GetMeleeDamage. Method called. Weapon name is: Baton damage is: 15.97926
BattleControlScript.GetMeleeChanceToHit. Criminal cth bonus of: 9 applied
CharacterAIScript.GetMeleeMetaOrder. Method called. Is move required: True / avg distance to enemies: 1.5
CharacterAIScript.GetMeleeMetaOrder. Found path, adjacent exit allowed, no pathing through fire
BattleControlScript.GetMeleeDamage. Method called. Weapon name is: Unarmed damage is: 18.46515
BattleControlScript.GetMeleeChanceToHit. Criminal cth bonus of: 9 applied
BattleControlScript.GetMeleeDamage. Method called. Weapon name is: Baton damage is: 15.97926
BattleControlScript.GetMeleeChanceToHit. Criminal cth bonus of: 9 applied
ArgumentOutOfRangeException: Argument is out of range.
Parameter name: index
  at System.Collections.Generic.List`1[System.Int32].get_Item (Int32 index) [0x00000] in <filename unknown>:0
  at CharacterAIScript.GetMeleeMetaOrder (.CharacterMainScript targetScriptIn, Boolean populateHealthField, Boolean allowPathingThroughFire) [0x00000] in <filename unknown>:0
  at CharacterAIScript+<GetMeleeAttackOrderForMaxDamageOpponent>c__Iterator33.MoveNext () [0x00000] in <filename unknown>:0
--- End code ---

Why think it's the same issue: the error in the log, there is no fire on the floor, he is near enough for melee. So a bit guessing he's contemplating that melee attack again...

On one of the next tries he normally changes to a grenade and throws it. Then we went close and personal and the game hangs again once it comes to his turn.



3b) Had the boss uncovered earlier so wanted to check if time plays any role (July 26 this time). Wasn't much lucky with the specialist. He attacked us with a machete all right. But was able to recreate the above issue with the boss. 

The congifuration at the time of freeze:





--- Code: ---CharacterAIScript.DetermineCharacterActionForTurn. Character Has AP
CharAIScript.GetOrdersBasedOnBehaviourType. Method called
CharAIScript.GetOrdersBasedOnBehaviourType. has healing item: True character health %: 1 min health before heal: 0.6 heals this turn: 0 max heals per turn
CharAIScript.GetOrdersBasedOnBehaviourType. Checking for orders. Behaviour type is: 1
CharacterAIScript.GetMeleeMetaOrder. Found path, adjacent exit allowed, no pathing through fire
BattleControlScript.GetMeleeDamage. Method called. Weapon name is: Unarmed damage is: 16.13745
BattleControlScript.GetMeleeChanceToHit. Criminal cth bonus of: 8 applied
BattleControlScript.GetMeleeDamage. Method called. Weapon name is: Baton damage is: 14.98266
BattleControlScript.GetMeleeChanceToHit. Criminal cth bonus of: 8 applied
ArgumentOutOfRangeException: Argument is out of range.
Parameter name: index
  at System.Collections.Generic.List`1[System.Int32].get_Item (Int32 index) [0x00000] in <filename unknown>:0
  at CharacterAIScript.GetMeleeMetaOrder (.CharacterMainScript targetScriptIn, Boolean populateHealthField, Boolean allowPathingThroughFire) [0x00000] in <filename unknown>:0
  at CharacterAIScript+<GetMeleeAttackOrderForMaxDamageOpponent>c__Iterator33.MoveNext () [0x00000] in <filename unknown>:0
UnityEngine.MonoBehaviour:StartCoroutine_Auto(IEnumerator)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
CharacterAIScript:GetOrdersBasedOnBehaviourType()
CharacterAIScript:GetPossibleOrdersForTurn()
--- End code ---

Daithi:
This one hasn't been fixed, have been able to recreate based on those other saves you sent. Looking into it now. Edit: Have you seen this outside the mafia boss fight?

PS: Altered Carbon is out tomorrow on Netflix. Seems to be getting good, but not great reviews.

ushas:
No. A good question. Once happened, when had time, first was trying to do recreation on the same map. Last night played the mission in full finally. Seems the boss bugs once starts a turn adjacent to n>0 allies, while for the specialist it's not so easy. So far he bugged only when we surrounded him near the beginning. However, if it's not the boss battle related, then perhaps possible on other maps too... The thing is, I'm playing with ranged party, not letting anyone near, so would miss all cc issues so far.

For v24 planning soft boiled group of hooligans 8)

rePS: Ooh. Thanks for notice. Have sub. Wondering how close they base the series on the book. Have you read the second one?

Navigation

[0] Message Index

[#] Next page

Go to full version