New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

D2K - Add Harkonnen 8 #14427

Merged
merged 1 commit into from Dec 30, 2017

Conversation

Projects
None yet
7 participants
@MustaphaTR
Member

MustaphaTR commented Nov 26, 2017

No description provided.

@reaperrr reaperrr referenced this pull request Nov 26, 2017

Closed

Get the remaining Harkonnen missions into the playtest #14392

5 of 5 tasks complete

@penev92 penev92 referenced this pull request Nov 27, 2017

Open

Add Dune 2000 campaign #9287

@reaperrr

This comment has been minimized.

Show comment
Hide comment
@reaperrr

reaperrr Dec 2, 2017

Contributor

I got a crash when capturing the Merc factory after the Merc starport got (accidentally) destroyed just before.

Edit: If the starport is still alive, the exception triggers on the gun turret instead:
System.InvalidOperationException: Attempted to get trait from destroyed object (medium_gun_turret 168 (not in world))

Contributor

reaperrr commented Dec 2, 2017

I got a crash when capturing the Merc factory after the Merc starport got (accidentally) destroyed just before.

Edit: If the starport is still alive, the exception triggers on the gun turret instead:
System.InvalidOperationException: Attempted to get trait from destroyed object (medium_gun_turret 168 (not in world))

@MustaphaTR

This comment has been minimized.

Show comment
Hide comment
@MustaphaTR

MustaphaTR Dec 2, 2017

Member

Updated.

Member

MustaphaTR commented Dec 2, 2017

Updated.

@abc013

Got through on easy, again good work!
Unfortunately, the waves got stuck in the Ordos base, so after a few minutes there were no enemies anymore :/.
image
Do you think you are able to fix that?

EDIT: you could set the rally points to another position.

@MustaphaTR

This comment has been minimized.

Show comment
Hide comment
@MustaphaTR

MustaphaTR Dec 3, 2017

Member

Updated the \ i'll investigate why Unfortunately, the waves got stuck in the Ordos base, so after a few minutes there were no enemies anymore :/. happens

Member

MustaphaTR commented Dec 3, 2017

Updated the \ i'll investigate why Unfortunately, the waves got stuck in the Ordos base, so after a few minutes there were no enemies anymore :/. happens

@abc013

abc013 approved these changes Dec 6, 2017

👍

@penev92

This comment has been minimized.

Show comment
Hide comment
@penev92

penev92 Dec 7, 2017

Member

I think we should wait and see if the unclogging of the Ordos base is possible.

Member

penev92 commented Dec 7, 2017

I think we should wait and see if the unclogging of the Ordos base is possible.

@MustaphaTR

This comment has been minimized.

Show comment
Hide comment
@MustaphaTR

MustaphaTR Dec 8, 2017

Member

Added Airstrike for Atreides here too.

Member

MustaphaTR commented Dec 8, 2017

Added Airstrike for Atreides here too.

@pchote pchote added this to the Next release milestone Dec 9, 2017

@ltem

This comment has been minimized.

Show comment
Hide comment
@ltem

ltem Dec 10, 2017

Contributor

Sorry for the delay, it took me two long evenings to successfully fight off these permanent enemy waves of the gruntmods version.

Good job but two things seem to be off:

  • Deviators and Ordos Combat Tanks shouldn't be buildable by the Harkonnen Player, but due to capturing the Mercenaries Heavy Factory it is possible.
  • Atreides should become hostile again, after the Ordos Palace is conquered and the player attacks an Atreides unit (in the original direct and splash damage counted as an attack).
image

Also about the clogging issue: I can kind of confirm it. While playing the mission the first time Ordos stopped attacking after some time. Afterwards I watched the mission while only defending and it seems that certain units won't be used. For example the Mercenaries Heavy Factory will only produce units, which won't get attack. However, during that game Ordos was regularly attacking.


Out of scope for this PR, still want to note it. The Ordos Saboteur had a nifty logic in the original game, maybe even only in this mission. The AI cloaks the saboteur if one of your units come into a certain range, this allows it to pass your defense line and it is surprisingly successful at blowing up your conyard (it seems to be its high priority target).

Contributor

ltem commented Dec 10, 2017

Sorry for the delay, it took me two long evenings to successfully fight off these permanent enemy waves of the gruntmods version.

Good job but two things seem to be off:

  • Deviators and Ordos Combat Tanks shouldn't be buildable by the Harkonnen Player, but due to capturing the Mercenaries Heavy Factory it is possible.
  • Atreides should become hostile again, after the Ordos Palace is conquered and the player attacks an Atreides unit (in the original direct and splash damage counted as an attack).
image

Also about the clogging issue: I can kind of confirm it. While playing the mission the first time Ordos stopped attacking after some time. Afterwards I watched the mission while only defending and it seems that certain units won't be used. For example the Mercenaries Heavy Factory will only produce units, which won't get attack. However, during that game Ordos was regularly attacking.


Out of scope for this PR, still want to note it. The Ordos Saboteur had a nifty logic in the original game, maybe even only in this mission. The AI cloaks the saboteur if one of your units come into a certain range, this allows it to pass your defense line and it is surprisingly successful at blowing up your conyard (it seems to be its high priority target).

@MustaphaTR

This comment has been minimized.

Show comment
Hide comment
@MustaphaTR

MustaphaTR Dec 10, 2017

Member

Deviators and Ordos Combat Tanks shouldn't be buildable by the Harkonnen Player, but due to capturing the Mercenaries Heavy Factory it is possible.

Doesn't match orginal, but i think Ordos Combat Tank should be buildable. Deviator of course not, but i'm not sure how exactly to fix, #14459 makes it so subfactions get some side specific stuff normally and map specific code won't be required. I think we can merge with PR with deviator from Mercs and update that PR to remove the map specific code form this map too, so everthing will be as it should when #14459 gets merged.

Out of scope for this PR, still want to note it. The Ordos Saboteur had a nifty logic in the original game, maybe even only in this mission. The AI cloaks the saboteur if one of your units come into a certain range, this allows it to pass your defense line and it is surprisingly successful at blowing up your conyard (it seems to be its high priority target).

We don't even have saboteur logic in skirmish yet. And AI doesn't even build them either.

I didn't write the attack code, so i'm not sure what is really wrong with it. Would be cool if @abcdefg30 take a look if he has time.

Member

MustaphaTR commented Dec 10, 2017

Deviators and Ordos Combat Tanks shouldn't be buildable by the Harkonnen Player, but due to capturing the Mercenaries Heavy Factory it is possible.

Doesn't match orginal, but i think Ordos Combat Tank should be buildable. Deviator of course not, but i'm not sure how exactly to fix, #14459 makes it so subfactions get some side specific stuff normally and map specific code won't be required. I think we can merge with PR with deviator from Mercs and update that PR to remove the map specific code form this map too, so everthing will be as it should when #14459 gets merged.

Out of scope for this PR, still want to note it. The Ordos Saboteur had a nifty logic in the original game, maybe even only in this mission. The AI cloaks the saboteur if one of your units come into a certain range, this allows it to pass your defense line and it is surprisingly successful at blowing up your conyard (it seems to be its high priority target).

We don't even have saboteur logic in skirmish yet. And AI doesn't even build them either.

I didn't write the attack code, so i'm not sure what is really wrong with it. Would be cool if @abcdefg30 take a look if he has time.

@penev92

This comment has been minimized.

Show comment
Hide comment
@penev92

penev92 Dec 17, 2017

Member

Pinging @abcdefg30 .
Also @abc013 for good measure.

Member

penev92 commented Dec 17, 2017

Pinging @abcdefg30 .
Also @abc013 for good measure.

@MustaphaTR

This comment has been minimized.

Show comment
Hide comment
@MustaphaTR

MustaphaTR Dec 20, 2017

Member

I'm trying to get AI use saboteur. Looks possible with lua, i'm having some problems tho, will update the PR when i get it work.

Member

MustaphaTR commented Dec 20, 2017

I'm trying to get AI use saboteur. Looks possible with lua, i'm having some problems tho, will update the PR when i get it work.

@reaperrr

This comment has been minimized.

Show comment
Hide comment
@reaperrr

reaperrr Dec 21, 2017

Contributor

Needs rebase.

Contributor

reaperrr commented Dec 21, 2017

Needs rebase.

@MustaphaTR

This comment has been minimized.

Show comment
Hide comment
@MustaphaTR

MustaphaTR Dec 22, 2017

Member

Rebased.

Member

MustaphaTR commented Dec 22, 2017

Rebased.

@ltem ltem removed the PR: Rebase me! label Dec 22, 2017

@ltem

This comment has been minimized.

Show comment
Hide comment
@ltem

ltem Dec 22, 2017

Contributor

Well, now it needs another rebase.

Contributor

ltem commented Dec 22, 2017

Well, now it needs another rebase.

@ltem ltem added the PR: Rebase me! label Dec 22, 2017

@MustaphaTR

This comment has been minimized.

Show comment
Hide comment
@MustaphaTR

MustaphaTR Dec 25, 2017

Member

Updated, looks like crash were happening with both Palace and HFac, adding Trigger.AfterDelay(0, function() fixed it for HFac, but not Palace. I'm not sure what exactly is going on here.

Member

MustaphaTR commented Dec 25, 2017

Updated, looks like crash were happening with both Palace and HFac, adding Trigger.AfterDelay(0, function() fixed it for HFac, but not Palace. I'm not sure what exactly is going on here.

@pchote

This comment has been minimized.

Show comment
Hide comment
@pchote

pchote Dec 25, 2017

Member

I killed off all of the Atreides forces except their carryalls, but the secondary objective wasn't completed.

Member

pchote commented Dec 25, 2017

I killed off all of the Atreides forces except their carryalls, but the secondary objective wasn't completed.

@pchote

This comment has been minimized.

Show comment
Hide comment
@pchote

pchote Dec 25, 2017

Member

#14574 fixes the crash, so can you please remove the Trigger.AfterDelay(0?

Member

pchote commented Dec 25, 2017

#14574 fixes the crash, so can you please remove the Trigger.AfterDelay(0?

@MustaphaTR

This comment has been minimized.

Show comment
Hide comment
@MustaphaTR

MustaphaTR Dec 25, 2017

Member

I killed off all of the Atreides forces except their carryalls, but the secondary objective wasn't completed.

Can not confirm. Works fine for me.

Member

MustaphaTR commented Dec 25, 2017

I killed off all of the Atreides forces except their carryalls, but the secondary objective wasn't completed.

Can not confirm. Works fine for me.

@reaperrr

This comment has been minimized.

Show comment
Hide comment
@reaperrr

reaperrr Dec 26, 2017

Contributor

@MustaphaTR I can confirm @pchote 's findings. If I kill the Ordos palace first and Atreides become 'neutral', force-firing on their forces doesn't make them hostile again, and the secondary objective won't complete once they're dead probably because their forces don't belong to the hostile atreides faction.

Apart from that my only complaint is the difficulty again, but let's ignore that for now and just get this merged once those last issues with Atreides are fixed.

Contributor

reaperrr commented Dec 26, 2017

@MustaphaTR I can confirm @pchote 's findings. If I kill the Ordos palace first and Atreides become 'neutral', force-firing on their forces doesn't make them hostile again, and the secondary objective won't complete once they're dead probably because their forces don't belong to the hostile atreides faction.

Apart from that my only complaint is the difficulty again, but let's ignore that for now and just get this merged once those last issues with Atreides are fixed.

@MustaphaTR

This comment has been minimized.

Show comment
Hide comment
@MustaphaTR

MustaphaTR Dec 26, 2017

Member

Updated, i still can't confirm secondary objective not completing even when Ordos Palace is killed first. But now Atreides turns back to enemy when attacked.

Member

MustaphaTR commented Dec 26, 2017

Updated, i still can't confirm secondary objective not completing even when Ordos Palace is killed first. But now Atreides turns back to enemy when attacked.

@ltem

This comment has been minimized.

Show comment
Hide comment
@ltem

ltem Dec 26, 2017

Contributor

I somehow triggered an other exception, stating "Actor 'saboteur' does not define a property 'Hunt'".

Exception log:

OpenRA engine version {DEV_VERSION}
Dune 2000 mod version {DEV_VERSION}
on map 5da05600ced021c7cd9d77d616a933694e58918d (Harkonnen 08 by Westwood Studios).
Date: 2017-12-26 17:24:07Z
Operating System: Linux (Unix 4.9.0.3)
Runtime Version: Mono 4.6.2 (Debian 4.6.2.7+dfsg-1) CLR 4.0.30319.42000
Exception of type `Eluant.LuaException`: [string "BindingSupport.lua"]:30: Uncaught CLR exception at Lua->CLR boundary: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Eluant.LuaException: [string "BindingSupport.lua"]:30: Actor 'saboteur' does not define a property 'Hunt'
  at Eluant.LuaRuntime.Call (System.Collections.Generic.IList`1[T] args) [0x000c9] in <c8bc0b4612b543268b8307855c69585a>:0 
  at Eluant.LuaRuntime.Call (Eluant.LuaFunction fn, System.Collections.Generic.IList`1[T] args) [0x00032] in <c8bc0b4612b543268b8307855c69585a>:0 
  at Eluant.LuaFunction.Call (System.Collections.Generic.IList`1[T] args) [0x00007] in <c8bc0b4612b543268b8307855c69585a>:0 
  at Eluant.LuaFunction.Call (Eluant.LuaValue[] args) [0x00001] in <c8bc0b4612b543268b8307855c69585a>:0 
  at OpenRA.Mods.Common.Scripting.UtilsGlobal.Do (Eluant.LuaValue[] collection, Eluant.LuaFunction func) [0x0000f] in <beb98946baf34675b78b7dd6a91b4819>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in <8f2c484307284b51944a1a13a14c0266>:0 
   --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00053] in <8f2c484307284b51944a1a13a14c0266>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0 
  at OpenRA.Scripting.ScriptMemberWrapper.Invoke (Eluant.LuaVararg args) [0x00104] in <7674126de3c34106adb52b64521010a8>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in <8f2c484307284b51944a1a13a14c0266>:0 
   --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00053] in <8f2c484307284b51944a1a13a14c0266>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0 
  at Eluant.LuaRuntime+MethodWrapper.Invoke (System.Object[] parms) [0x0000d] in <c8bc0b4612b543268b8307855c69585a>:0 
  at Eluant.LuaRuntime.MakeManagedCall (System.IntPtr state, Eluant.LuaRuntime+MethodWrapper wrapper) [0x00444] in <c8bc0b4612b543268b8307855c69585a>:0 
  at Eluant.LuaRuntime.Call (System.Collections.Generic.IList`1[T] args) [0x000c9] in <c8bc0b4612b543268b8307855c69585a>:0 
  at Eluant.LuaRuntime.Call (Eluant.LuaFunction fn, System.Collections.Generic.IList`1[T] args) [0x00032] in <c8bc0b4612b543268b8307855c69585a>:0 
  at Eluant.LuaFunction.Call (System.Collections.Generic.IList`1[T] args) [0x00007] in <c8bc0b4612b543268b8307855c69585a>:0 
  at Eluant.LuaFunction.Call (Eluant.LuaValue[] args) [0x00001] in <c8bc0b4612b543268b8307855c69585a>:0 
  at OpenRA.Mods.Common.Scripting.ClassicProductionQueueProperties+<Build>c__AnonStorey1.<>m__0 (OpenRA.Actor factory, OpenRA.Actor unit) [0x0006e] in <beb98946baf34675b78b7dd6a91b4819>:0 
  at OpenRA.Mods.Common.Scripting.ClassicProductionQueueProperties+<ClassicProductionQueueProperties>c__AnonStorey0.<>m__0 (OpenRA.Actor factory, OpenRA.Actor unit) [0x0005f] in <beb98946baf34675b78b7dd6a91b4819>:0 
  at (wrapper delegate-invoke) System.Action`2[OpenRA.Actor,OpenRA.Actor]:invoke_void_T1_T2 (OpenRA.Actor,OpenRA.Actor)
  at OpenRA.Mods.Common.Scripting.ScriptTriggers.UnitProducedByOther (OpenRA.Actor self, OpenRA.Actor producee, OpenRA.Actor produced, System.String productionType) [0x000d3] in <beb98946baf34675b78b7dd6a91b4819>:0 
  at OpenRA.Mods.Common.Traits.Production+<DoProduction>c__AnonStorey1.<>m__0 (OpenRA.World w) [0x00156] in <beb98946baf34675b78b7dd6a91b4819>:0 
  at OpenRA.World.Tick () [0x0015f] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Game.InnerLogicTick (OpenRA.Network.OrderManager orderManager) [0x0020a] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Game.LogicTick () [0x00050] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Game.Loop () [0x000d6] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Game.Run () [0x00042] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Game.InitializeAndRun (System.String[] args) [0x00011] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Program.Main (System.String[] args) [0x0004f] in <7674126de3c34106adb52b64521010a8>:0 
Contributor

ltem commented Dec 26, 2017

I somehow triggered an other exception, stating "Actor 'saboteur' does not define a property 'Hunt'".

Exception log:

OpenRA engine version {DEV_VERSION}
Dune 2000 mod version {DEV_VERSION}
on map 5da05600ced021c7cd9d77d616a933694e58918d (Harkonnen 08 by Westwood Studios).
Date: 2017-12-26 17:24:07Z
Operating System: Linux (Unix 4.9.0.3)
Runtime Version: Mono 4.6.2 (Debian 4.6.2.7+dfsg-1) CLR 4.0.30319.42000
Exception of type `Eluant.LuaException`: [string "BindingSupport.lua"]:30: Uncaught CLR exception at Lua->CLR boundary: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Eluant.LuaException: [string "BindingSupport.lua"]:30: Actor 'saboteur' does not define a property 'Hunt'
  at Eluant.LuaRuntime.Call (System.Collections.Generic.IList`1[T] args) [0x000c9] in <c8bc0b4612b543268b8307855c69585a>:0 
  at Eluant.LuaRuntime.Call (Eluant.LuaFunction fn, System.Collections.Generic.IList`1[T] args) [0x00032] in <c8bc0b4612b543268b8307855c69585a>:0 
  at Eluant.LuaFunction.Call (System.Collections.Generic.IList`1[T] args) [0x00007] in <c8bc0b4612b543268b8307855c69585a>:0 
  at Eluant.LuaFunction.Call (Eluant.LuaValue[] args) [0x00001] in <c8bc0b4612b543268b8307855c69585a>:0 
  at OpenRA.Mods.Common.Scripting.UtilsGlobal.Do (Eluant.LuaValue[] collection, Eluant.LuaFunction func) [0x0000f] in <beb98946baf34675b78b7dd6a91b4819>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in <8f2c484307284b51944a1a13a14c0266>:0 
   --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00053] in <8f2c484307284b51944a1a13a14c0266>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0 
  at OpenRA.Scripting.ScriptMemberWrapper.Invoke (Eluant.LuaVararg args) [0x00104] in <7674126de3c34106adb52b64521010a8>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in <8f2c484307284b51944a1a13a14c0266>:0 
   --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00053] in <8f2c484307284b51944a1a13a14c0266>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0 
  at Eluant.LuaRuntime+MethodWrapper.Invoke (System.Object[] parms) [0x0000d] in <c8bc0b4612b543268b8307855c69585a>:0 
  at Eluant.LuaRuntime.MakeManagedCall (System.IntPtr state, Eluant.LuaRuntime+MethodWrapper wrapper) [0x00444] in <c8bc0b4612b543268b8307855c69585a>:0 
  at Eluant.LuaRuntime.Call (System.Collections.Generic.IList`1[T] args) [0x000c9] in <c8bc0b4612b543268b8307855c69585a>:0 
  at Eluant.LuaRuntime.Call (Eluant.LuaFunction fn, System.Collections.Generic.IList`1[T] args) [0x00032] in <c8bc0b4612b543268b8307855c69585a>:0 
  at Eluant.LuaFunction.Call (System.Collections.Generic.IList`1[T] args) [0x00007] in <c8bc0b4612b543268b8307855c69585a>:0 
  at Eluant.LuaFunction.Call (Eluant.LuaValue[] args) [0x00001] in <c8bc0b4612b543268b8307855c69585a>:0 
  at OpenRA.Mods.Common.Scripting.ClassicProductionQueueProperties+<Build>c__AnonStorey1.<>m__0 (OpenRA.Actor factory, OpenRA.Actor unit) [0x0006e] in <beb98946baf34675b78b7dd6a91b4819>:0 
  at OpenRA.Mods.Common.Scripting.ClassicProductionQueueProperties+<ClassicProductionQueueProperties>c__AnonStorey0.<>m__0 (OpenRA.Actor factory, OpenRA.Actor unit) [0x0005f] in <beb98946baf34675b78b7dd6a91b4819>:0 
  at (wrapper delegate-invoke) System.Action`2[OpenRA.Actor,OpenRA.Actor]:invoke_void_T1_T2 (OpenRA.Actor,OpenRA.Actor)
  at OpenRA.Mods.Common.Scripting.ScriptTriggers.UnitProducedByOther (OpenRA.Actor self, OpenRA.Actor producee, OpenRA.Actor produced, System.String productionType) [0x000d3] in <beb98946baf34675b78b7dd6a91b4819>:0 
  at OpenRA.Mods.Common.Traits.Production+<DoProduction>c__AnonStorey1.<>m__0 (OpenRA.World w) [0x00156] in <beb98946baf34675b78b7dd6a91b4819>:0 
  at OpenRA.World.Tick () [0x0015f] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Game.InnerLogicTick (OpenRA.Network.OrderManager orderManager) [0x0020a] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Game.LogicTick () [0x00050] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Game.Loop () [0x000d6] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Game.Run () [0x00042] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Game.InitializeAndRun (System.String[] args) [0x00011] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Program.Main (System.String[] args) [0x0004f] in <7674126de3c34106adb52b64521010a8>:0 
@reaperrr

This comment has been minimized.

Show comment
Hide comment
@reaperrr

reaperrr Dec 26, 2017

Contributor

I ran into another error with the saboteur:

Fatal Lua Error: [string "BindingSupport.lua"]:30: Actor 'saboteur (dead)' does not define a property 'Move'
   bei OpenRA.Scripting.ScriptContext.FatalError(String message)
   bei OpenRA.Mods.Common.Scripting.TriggerGlobal.<>c__DisplayClass2.<AfterDelay>b__0()
   bei OpenRA.Effects.DelayedAction.<Tick>b__0(World w)
   bei OpenRA.World.Tick()
   bei OpenRA.Game.InnerLogicTick(OrderManager orderManager)
   bei OpenRA.Game.LogicTick()
   bei OpenRA.Game.Loop()
   bei OpenRA.Game.Run()
   bei OpenRA.Game.InitializeAndRun(String[] args)
   bei OpenRA.Program.Main(String[] args)

I suspect that since it's triggered with a delay, SendSaboteur needs some check whether the saboteur got killed or its production aborted, because that crash happened when I killed the ordos palace.

Contributor

reaperrr commented Dec 26, 2017

I ran into another error with the saboteur:

Fatal Lua Error: [string "BindingSupport.lua"]:30: Actor 'saboteur (dead)' does not define a property 'Move'
   bei OpenRA.Scripting.ScriptContext.FatalError(String message)
   bei OpenRA.Mods.Common.Scripting.TriggerGlobal.<>c__DisplayClass2.<AfterDelay>b__0()
   bei OpenRA.Effects.DelayedAction.<Tick>b__0(World w)
   bei OpenRA.World.Tick()
   bei OpenRA.Game.InnerLogicTick(OrderManager orderManager)
   bei OpenRA.Game.LogicTick()
   bei OpenRA.Game.Loop()
   bei OpenRA.Game.Run()
   bei OpenRA.Game.InitializeAndRun(String[] args)
   bei OpenRA.Program.Main(String[] args)

I suspect that since it's triggered with a delay, SendSaboteur needs some check whether the saboteur got killed or its production aborted, because that crash happened when I killed the ordos palace.

@reaperrr

This comment has been minimized.

Show comment
Hide comment
@reaperrr

reaperrr Dec 26, 2017

Contributor

The Atreides turning hostile again and secondary objective seem to work fine now, so 👍 after the Saboteur issues are fixed.

Contributor

reaperrr commented Dec 26, 2017

The Atreides turning hostile again and secondary objective seem to work fine now, so 👍 after the Saboteur issues are fixed.

@MustaphaTR

This comment has been minimized.

Show comment
Hide comment
@MustaphaTR

MustaphaTR Dec 27, 2017

Member

Updated.

Member

MustaphaTR commented Dec 27, 2017

Updated.

@ltem

This comment has been minimized.

Show comment
Hide comment
@ltem

ltem Dec 27, 2017

Contributor

Stumbled over an other exception :S

Fatal Lua Error: [string "BindingSupport.lua"]:30: Uncaught CLR exception at Lua->CLR boundary: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentException: Collection must not be empty.
Parameter name: ts
  at OpenRA.Exts.Random[T] (System.Collections.Generic.IEnumerable`1[T] ts, OpenRA.Support.MersenneTwister r, System.Boolean throws) [0x00029] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Exts.Random[T] (System.Collections.Generic.IEnumerable`1[T] ts, OpenRA.Support.MersenneTwister r) [0x00001] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Mods.Common.Scripting.UtilsGlobal.Random (Eluant.LuaValue[] collection) [0x0000d] in <beb98946baf34675b78b7dd6a91b4819>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in <8f2c484307284b51944a1a13a14c0266>:0 
   --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00053] in <8f2c484307284b51944a1a13a14c0266>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0 
  at OpenRA.Scripting.ScriptMemberWrapper.Invoke (Eluant.LuaVararg args) [0x00104] in <7674126de3c34106adb52b64521010a8>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in <8f2c484307284b51944a1a13a14c0266>:0 
   --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00053] in <8f2c484307284b51944a1a13a14c0266>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0 
  at Eluant.LuaRuntime+MethodWrapper.Invoke (System.Object[] parms) [0x0000d] in <c8bc0b4612b543268b8307855c69585a>:0 
  at Eluant.LuaRuntime.MakeManagedCall (System.IntPtr state, Eluant.LuaRuntime+MethodWrapper wrapper) [0x00444] in <c8bc0b4612b543268b8307855c69585a>:0 
  at OpenRA.Scripting.ScriptContext.FatalError (System.String message) [0x00000] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Mods.Common.Scripting.TriggerGlobal+<AfterDelay>c__AnonStorey0.<>m__0 () [0x00000] in <beb98946baf34675b78b7dd6a91b4819>:0 
  at OpenRA.Effects.DelayedAction.<Tick>m__0 (OpenRA.World w) [0x00000] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.World.Tick () [0x00000] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Game.InnerLogicTick (OpenRA.Network.OrderManager orderManager) [0x00000] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Game.LogicTick () [0x00000] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Game.Loop () [0x00000] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Game.Run () [0x00000] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Game.InitializeAndRun (System.String[] args) [0x00000] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Program.Main (System.String[] args) [0x00000] in <7674126de3c34106adb52b64521010a8>:0 
Contributor

ltem commented Dec 27, 2017

Stumbled over an other exception :S

Fatal Lua Error: [string "BindingSupport.lua"]:30: Uncaught CLR exception at Lua->CLR boundary: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentException: Collection must not be empty.
Parameter name: ts
  at OpenRA.Exts.Random[T] (System.Collections.Generic.IEnumerable`1[T] ts, OpenRA.Support.MersenneTwister r, System.Boolean throws) [0x00029] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Exts.Random[T] (System.Collections.Generic.IEnumerable`1[T] ts, OpenRA.Support.MersenneTwister r) [0x00001] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Mods.Common.Scripting.UtilsGlobal.Random (Eluant.LuaValue[] collection) [0x0000d] in <beb98946baf34675b78b7dd6a91b4819>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in <8f2c484307284b51944a1a13a14c0266>:0 
   --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00053] in <8f2c484307284b51944a1a13a14c0266>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0 
  at OpenRA.Scripting.ScriptMemberWrapper.Invoke (Eluant.LuaVararg args) [0x00104] in <7674126de3c34106adb52b64521010a8>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in <8f2c484307284b51944a1a13a14c0266>:0 
   --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00053] in <8f2c484307284b51944a1a13a14c0266>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0 
  at Eluant.LuaRuntime+MethodWrapper.Invoke (System.Object[] parms) [0x0000d] in <c8bc0b4612b543268b8307855c69585a>:0 
  at Eluant.LuaRuntime.MakeManagedCall (System.IntPtr state, Eluant.LuaRuntime+MethodWrapper wrapper) [0x00444] in <c8bc0b4612b543268b8307855c69585a>:0 
  at OpenRA.Scripting.ScriptContext.FatalError (System.String message) [0x00000] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Mods.Common.Scripting.TriggerGlobal+<AfterDelay>c__AnonStorey0.<>m__0 () [0x00000] in <beb98946baf34675b78b7dd6a91b4819>:0 
  at OpenRA.Effects.DelayedAction.<Tick>m__0 (OpenRA.World w) [0x00000] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.World.Tick () [0x00000] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Game.InnerLogicTick (OpenRA.Network.OrderManager orderManager) [0x00000] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Game.LogicTick () [0x00000] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Game.Loop () [0x00000] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Game.Run () [0x00000] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Game.InitializeAndRun (System.String[] args) [0x00000] in <7674126de3c34106adb52b64521010a8>:0 
  at OpenRA.Program.Main (System.String[] args) [0x00000] in <7674126de3c34106adb52b64521010a8>:0 
@MustaphaTR

This comment has been minimized.

Show comment
Hide comment
@MustaphaTR

MustaphaTR Dec 27, 2017

Member

Updated again. Let's hope it is fixed this time.

Member

MustaphaTR commented Dec 27, 2017

Updated again. Let's hope it is fixed this time.

Code updated

@abcdefg30

Imho it is still a bit confusing which condition haves a faction change sides here... Will think about it and comment again tomorrow.

Show outdated Hide outdated mods/d2k/maps/harkonnen-08/harkonnen08.lua Outdated
Show outdated Hide outdated mods/d2k/maps/harkonnen-08/harkonnen08.lua Outdated
Show outdated Hide outdated mods/d2k/maps/harkonnen-08/harkonnen08.lua Outdated
Show outdated Hide outdated mods/d2k/maps/harkonnen-08/harkonnen08.lua Outdated
Show outdated Hide outdated mods/d2k/maps/harkonnen-08/harkonnen08.lua Outdated
@MustaphaTR

This comment has been minimized.

Show comment
Hide comment
@MustaphaTR

MustaphaTR Dec 28, 2017

Member

Updated.

Member

MustaphaTR commented Dec 28, 2017

Updated.

@ltem

This comment has been minimized.

Show comment
Hide comment
@ltem

ltem Dec 28, 2017

Contributor

The update fixed the crash and I couldn't spot any issues in the code. So 👍 from me.

Contributor

ltem commented Dec 28, 2017

The update fixed the crash and I couldn't spot any issues in the code. So 👍 from me.

@reaperrr

Everything seems to work now

@reaperrr reaperrr merged commit a80924e into OpenRA:bleed Dec 30, 2017

2 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@reaperrr

This comment has been minimized.

Show comment
Hide comment
@reaperrr
Contributor

reaperrr commented Dec 30, 2017

@MustaphaTR MustaphaTR deleted the MustaphaTR:d2k-harkonnen-8 branch Dec 31, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment