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

Added Allies-06b to the Red Alert mod #14071

Merged
merged 1 commit into from Dec 31, 2017

Conversation

Projects
None yet
8 participants
@abc013
Contributor

abc013 commented Sep 24, 2017

No description provided.

@pchote

This comment has been minimized.

Show comment
Hide comment
@pchote

pchote Sep 24, 2017

Member

I haven't looked at the script, but I played through this without any serious errors. I noticed the enemy use yaks a couple of times at the start of the mission, but then it completely stopped. Most of the game was spent with an enemy yak visible parked on the airfield.

Also, wow gunboats are extremely crappy against subs...

Member

pchote commented Sep 24, 2017

I haven't looked at the script, but I played through this without any serious errors. I noticed the enemy use yaks a couple of times at the start of the mission, but then it completely stopped. Most of the game was spent with an enemy yak visible parked on the airfield.

Also, wow gunboats are extremely crappy against subs...

@abc013

This comment has been minimized.

Show comment
Hide comment
@abc013

abc013 Sep 26, 2017

Contributor

Hmm, the aircraft code worked well for allies-06a and i copied from it. I'll take a closer look at it later.

Contributor

abc013 commented Sep 26, 2017

Hmm, the aircraft code worked well for allies-06a and i copied from it. I'll take a closer look at it later.

@Mailaender

This comment has been minimized.

Show comment
Hide comment
@Mailaender

Mailaender Oct 3, 2017

Member

Fatal Lua Error: [string "BindingSupport.lua"]:30: Actor 'ftur (dead)' does not define a property 'Location'
at OpenRA.Scripting.ScriptContext.FatalError (System.String message) [0x00001] in <1640b6805cb449e393475bda5c08de4c>:0
at OpenRA.Mods.Common.Scripting.TriggerGlobal+c__AnonStorey8.<>m__0 (OpenRA.Actor a) [0x0008b] in <496e3fe4816940a08e4c9a4ce95d2991>:0
at OpenRA.Mods.Common.Traits.ActorMap+ProximityTrigger.Tick (OpenRA.Mods.Common.Traits.ActorMap am) [0x000ae] in <496e3fe4816940a08e4c9a4ce95d2991>:0
at OpenRA.Mods.Common.Traits.ActorMap.OpenRA.Traits.ITick.Tick (OpenRA.Actor self) [0x001df] in <496e3fe4816940a08e4c9a4ce95d2991>:0
at OpenRA.World.m__3 (OpenRA.TraitPair1[T] x) [0x0000e] in <1640b6805cb449e393475bda5c08de4c>:0 at OpenRA.WorldUtils.DoTimed[T] (System.Collections.Generic.IEnumerable1[T] e, System.Action`1[T] a, System.String text) [0x00022] in <1640b6805cb449e393475bda5c08de4c>:0
at OpenRA.World.Tick () [0x00122] in <1640b6805cb449e393475bda5c08de4c>:0
at OpenRA.Game.InnerLogicTick (OpenRA.Network.OrderManager orderManager) [0x00210] in <1640b6805cb449e393475bda5c08de4c>:0
at OpenRA.Game.LogicTick () [0x00055] in <1640b6805cb449e393475bda5c08de4c>:0
at OpenRA.Game.Loop () [0x000d6] in <1640b6805cb449e393475bda5c08de4c>:0
at OpenRA.Game.Run () [0x00042] in <1640b6805cb449e393475bda5c08de4c>:0
at OpenRA.Program.Run (System.String[] args) [0x00011] in <1640b6805cb449e393475bda5c08de4c>:0
at OpenRA.Program.Main (System.String[] args) [0x00050] in <1640b6805cb449e393475bda5c08de4c>:0

A few seconds after I hit the barrels with the gunboats. I couldn't spot an obvious flaw in the script.

Member

Mailaender commented Oct 3, 2017

Fatal Lua Error: [string "BindingSupport.lua"]:30: Actor 'ftur (dead)' does not define a property 'Location'
at OpenRA.Scripting.ScriptContext.FatalError (System.String message) [0x00001] in <1640b6805cb449e393475bda5c08de4c>:0
at OpenRA.Mods.Common.Scripting.TriggerGlobal+c__AnonStorey8.<>m__0 (OpenRA.Actor a) [0x0008b] in <496e3fe4816940a08e4c9a4ce95d2991>:0
at OpenRA.Mods.Common.Traits.ActorMap+ProximityTrigger.Tick (OpenRA.Mods.Common.Traits.ActorMap am) [0x000ae] in <496e3fe4816940a08e4c9a4ce95d2991>:0
at OpenRA.Mods.Common.Traits.ActorMap.OpenRA.Traits.ITick.Tick (OpenRA.Actor self) [0x001df] in <496e3fe4816940a08e4c9a4ce95d2991>:0
at OpenRA.World.m__3 (OpenRA.TraitPair1[T] x) [0x0000e] in <1640b6805cb449e393475bda5c08de4c>:0 at OpenRA.WorldUtils.DoTimed[T] (System.Collections.Generic.IEnumerable1[T] e, System.Action`1[T] a, System.String text) [0x00022] in <1640b6805cb449e393475bda5c08de4c>:0
at OpenRA.World.Tick () [0x00122] in <1640b6805cb449e393475bda5c08de4c>:0
at OpenRA.Game.InnerLogicTick (OpenRA.Network.OrderManager orderManager) [0x00210] in <1640b6805cb449e393475bda5c08de4c>:0
at OpenRA.Game.LogicTick () [0x00055] in <1640b6805cb449e393475bda5c08de4c>:0
at OpenRA.Game.Loop () [0x000d6] in <1640b6805cb449e393475bda5c08de4c>:0
at OpenRA.Game.Run () [0x00042] in <1640b6805cb449e393475bda5c08de4c>:0
at OpenRA.Program.Run (System.String[] args) [0x00011] in <1640b6805cb449e393475bda5c08de4c>:0
at OpenRA.Program.Main (System.String[] args) [0x00050] in <1640b6805cb449e393475bda5c08de4c>:0

A few seconds after I hit the barrels with the gunboats. I couldn't spot an obvious flaw in the script.

@pchote

This comment has been minimized.

Show comment
Hide comment
@pchote

pchote Oct 3, 2017

Member

The flaws are on lines 229 and 231, where it looks up actor locations without first checking if they are dead.

Member

pchote commented Oct 3, 2017

The flaws are on lines 229 and 231, where it looks up actor locations without first checking if they are dead.

@abc013

This comment has been minimized.

Show comment
Hide comment
@abc013

abc013 Oct 3, 2017

Contributor

Oops, Updated.

Contributor

abc013 commented Oct 3, 2017

Oops, Updated.

@Smittytron

This comment has been minimized.

Show comment
Hide comment
@Smittytron

Smittytron Oct 18, 2017

Contributor

Wow you aren't messing around with hard mode. I'm pretty confident in my game, but dealing with transport after transport of heavy tanks and v2s right off the bat? That's above my level. Couldn't last 5 minutes in Allies-6a either.

Normal mode is difficult as well but I was able to pull it off.

Contributor

Smittytron commented Oct 18, 2017

Wow you aren't messing around with hard mode. I'm pretty confident in my game, but dealing with transport after transport of heavy tanks and v2s right off the bat? That's above my level. Couldn't last 5 minutes in Allies-6a either.

Normal mode is difficult as well but I was able to pull it off.

@abc013

This comment has been minimized.

Show comment
Hide comment
@abc013

abc013 Oct 29, 2017

Contributor

Yeah, it is indeed very difficult to go through hard mode, but it is possible.

Contributor

abc013 commented Oct 29, 2017

Yeah, it is indeed very difficult to go through hard mode, but it is possible.

@Smittytron

This comment has been minimized.

Show comment
Hide comment
@Smittytron

Smittytron Oct 29, 2017

Contributor

Yeah, it is indeed very difficult to go through hard mode, but it is possible.

Ouch, hurting my pride here man. Played another 10 rounds of Allies 06a and the longest one lasted 3:56. Care to give me some pointers?
Keep in mind since 6a was made pillboxes price was increased by 200, barracks were nerfed in both HP and price, medics got a HP nerf, and heavy tanks got a HP buff.

Contributor

Smittytron commented Oct 29, 2017

Yeah, it is indeed very difficult to go through hard mode, but it is possible.

Ouch, hurting my pride here man. Played another 10 rounds of Allies 06a and the longest one lasted 3:56. Care to give me some pointers?
Keep in mind since 6a was made pillboxes price was increased by 200, barracks were nerfed in both HP and price, medics got a HP nerf, and heavy tanks got a HP buff.

@Arular101

This comment has been minimized.

Show comment
Hide comment
@Arular101

Arular101 Nov 13, 2017

Contributor

I’ve played this mission on easy and medium. It is really nice! I’ve only three suggestions:

First one is in rules.yaml. The STEK has the property NoAutoTarget. I think this is not needed anymore since the current release doesn’t automatically target buildings.

Second one is the weapons.yaml. I don’t like that the ranger is stronger in campaign mission than in skirmish/multiplayer. In this PR #14326 I tried to unify the units to have the same stats. In this mission there is no need for strong rangers because the player can build stronger units.

Last but not least is in the allies06a.lua. I think a nice feature is to reveal the enemy base after the radar dome is captured in the Soviet mini base. I changed it in this PR #14328. So, on hard the player receives the coordinates of the Soviet tech centers. Two beacons are places and a message is send. On normal, the Soviet tech centers also gets revealed additionally. On easy, the war factory gets revealed additionally. Like how you made them in the Allies 06a and b. Also related to this PR #14329.

Contributor

Arular101 commented Nov 13, 2017

I’ve played this mission on easy and medium. It is really nice! I’ve only three suggestions:

First one is in rules.yaml. The STEK has the property NoAutoTarget. I think this is not needed anymore since the current release doesn’t automatically target buildings.

Second one is the weapons.yaml. I don’t like that the ranger is stronger in campaign mission than in skirmish/multiplayer. In this PR #14326 I tried to unify the units to have the same stats. In this mission there is no need for strong rangers because the player can build stronger units.

Last but not least is in the allies06a.lua. I think a nice feature is to reveal the enemy base after the radar dome is captured in the Soviet mini base. I changed it in this PR #14328. So, on hard the player receives the coordinates of the Soviet tech centers. Two beacons are places and a message is send. On normal, the Soviet tech centers also gets revealed additionally. On easy, the war factory gets revealed additionally. Like how you made them in the Allies 06a and b. Also related to this PR #14329.

@abc013

This comment has been minimized.

Show comment
Hide comment
@abc013

abc013 Nov 13, 2017

Contributor

Updated and applied the requested changes.
(Also, I wonder why there never was a Campaign-weapons.yaml because of the ranger weapon... anyway, is deleted now. )

Contributor

abc013 commented Nov 13, 2017

Updated and applied the requested changes.
(Also, I wonder why there never was a Campaign-weapons.yaml because of the ranger weapon... anyway, is deleted now. )

@Arular101

Arular101 suggested changes Nov 14, 2017 edited

Alright, it is now almost good! I've played the original game and watched two videos (1 and 2). In these games there are more attacks with a Yak.

However, here the initial Yaks will attack the player. The AI will build a new Yak after the initial Yaks are destroyed. But the new Yak will never attack. I think it will be nice if it did at normal difficulty level and above.

@pchote

This comment has been minimized.

Show comment
Hide comment
@pchote

pchote Nov 15, 2017

Member

But the new Yak will never attack. I think it will be nice if it did at normal difficulty level and above.

Good spotting, this would explain the issue I referred to in my first comment.

Member

pchote commented Nov 15, 2017

But the new Yak will never attack. I think it will be nice if it did at normal difficulty level and above.

Good spotting, this would explain the issue I referred to in my first comment.

@abc013

This comment has been minimized.

Show comment
Hide comment
@abc013

abc013 Nov 15, 2017

Contributor

I debugged it a bit and it turned out that the yak returns to the base without getting to the ReturnToBase code. The CallFunc is also not being called. But if it kills the targeted actor, both ReturnToBase and CallFunc are executed.
I assume after the ammo of the plane is empty, it returns to base automatically and then tries to attack it's target again, but that results in staying on the airfield / circling around.
The Callfunc is never being called because the Attack-order isn't performed completely.

Also, I got some weird lua errors which I never had before:

pt 269 is not revealed for player USSR (0)!
pt 270 is not revealed for player USSR (0)!
pt 270 is not revealed for player USSR (0)!
Fatal Lua Error: [string "BindingSupport.lua"]:30: Uncaught CLR exception at Lua->CLR boundary: System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> Eluant.LuaException: [string "BindingSupport.lua"]:30: Table 'Trigger' does not define a property 'Trigger'
   at Eluant.LuaRuntime.Call(IList`1 args)
   at Eluant.LuaRuntime.Call(LuaFunction fn, IList`1 args)
   at Eluant.LuaFunction.Call(IList`1 args)
   at Eluant.LuaFunction.Call(LuaValue[] args)
   at OpenRA.Mods.Common.Scripting.UtilsGlobal.Do(LuaValue[] collection, LuaFunction func) in c:\Users\User\Documents\OpenRA\OpenRA\OpenRA.Mods.Common\Scripting\Global\UtilsGlobal.cs:Line 31.

Exactly the same code is also used in Allies06a, Allies05, Allies04 etc. ...

Contributor

abc013 commented Nov 15, 2017

I debugged it a bit and it turned out that the yak returns to the base without getting to the ReturnToBase code. The CallFunc is also not being called. But if it kills the targeted actor, both ReturnToBase and CallFunc are executed.
I assume after the ammo of the plane is empty, it returns to base automatically and then tries to attack it's target again, but that results in staying on the airfield / circling around.
The Callfunc is never being called because the Attack-order isn't performed completely.

Also, I got some weird lua errors which I never had before:

pt 269 is not revealed for player USSR (0)!
pt 270 is not revealed for player USSR (0)!
pt 270 is not revealed for player USSR (0)!
Fatal Lua Error: [string "BindingSupport.lua"]:30: Uncaught CLR exception at Lua->CLR boundary: System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> Eluant.LuaException: [string "BindingSupport.lua"]:30: Table 'Trigger' does not define a property 'Trigger'
   at Eluant.LuaRuntime.Call(IList`1 args)
   at Eluant.LuaRuntime.Call(LuaFunction fn, IList`1 args)
   at Eluant.LuaFunction.Call(IList`1 args)
   at Eluant.LuaFunction.Call(LuaValue[] args)
   at OpenRA.Mods.Common.Scripting.UtilsGlobal.Do(LuaValue[] collection, LuaFunction func) in c:\Users\User\Documents\OpenRA\OpenRA\OpenRA.Mods.Common\Scripting\Global\UtilsGlobal.cs:Line 31.

Exactly the same code is also used in Allies06a, Allies05, Allies04 etc. ...

@Arular101

This comment has been minimized.

Show comment
Hide comment
@Arular101

Arular101 Nov 19, 2017

Contributor

I changed the message after capturing the radar dome to "Coordinates of the Soviet tech centers discovered." as requested in #14328.

Contributor

Arular101 commented Nov 19, 2017

I changed the message after capturing the radar dome to "Coordinates of the Soviet tech centers discovered." as requested in #14328.

@abc013

This comment has been minimized.

Show comment
Hide comment
@abc013

abc013 Nov 22, 2017

Contributor

Updated.

Contributor

abc013 commented Nov 22, 2017

Updated.

@Smittytron

Yaks keep coming now. I'll probably revisit the difficulty of 06a and 06b later.

@abcdefg30

Looks good to me aside from those nits.

InitialiseAttack = function()
Utils.Do(ImportantBuildings, function(a)
Trigger.OnDamaged(a, function()
Utils.Do(IdlingTanks, function(unit)

This comment has been minimized.

@abcdefg30

abcdefg30 Nov 24, 2017

Member

It probably won't do much in practice, but a owner check (for a) here would be good.

@abcdefg30

abcdefg30 Nov 24, 2017

Member

It probably won't do much in practice, but a owner check (for a) here would be good.

This comment has been minimized.

@abc013

abc013 Nov 24, 2017

Contributor

Updated.

@abc013

abc013 Nov 24, 2017

Contributor

Updated.

This comment has been minimized.

@abcdefg30

abcdefg30 Nov 28, 2017

Member

Updated but not "fixed"? :P

@abcdefg30

abcdefg30 Nov 28, 2017

Member

Updated but not "fixed"? :P

This comment has been minimized.

@abc013

abc013 Dec 3, 2017

Contributor

Oh, okay, i thought you wanted an OnCapture trigger. But I don't understand why we need an owner check here?! InitialiseAttack is only called once and that's at WorldLoaded.

@abc013

abc013 Dec 3, 2017

Contributor

Oh, okay, i thought you wanted an OnCapture trigger. But I don't understand why we need an owner check here?! InitialiseAttack is only called once and that's at WorldLoaded.

This comment has been minimized.

@abc013

abc013 Dec 6, 2017

Contributor

@abcdefg30 please reply :).

@abc013

abc013 Dec 6, 2017

Contributor

@abcdefg30 please reply :).

Show outdated Hide outdated mods/ra/maps/allies-06b/allies06b-AI.lua Outdated
Show outdated Hide outdated mods/ra/maps/allies-06b/allies06b-AI.lua Outdated
Show outdated Hide outdated mods/ra/maps/allies-06b/allies06b-AI.lua Outdated
Show outdated Hide outdated mods/ra/maps/allies-06b/rules.yaml Outdated
@abc013

This comment has been minimized.

Show comment
Hide comment
@abc013

abc013 Nov 24, 2017

Contributor

Updated.

Contributor

abc013 commented Nov 24, 2017

Updated.

@abcdefg30

Can you please remove the multiple new lines between functions/table definitions? One new line should be enough.

After that this should be good to go.

Show outdated Hide outdated mods/ra/maps/allies-06b/allies06b.lua Outdated
Show outdated Hide outdated mods/ra/maps/allies-06b/allies06b-AI.lua Outdated
@abc013

This comment has been minimized.

Show comment
Hide comment
@abc013

abc013 Nov 28, 2017

Contributor

Updated. Nice catchs!

Contributor

abc013 commented Nov 28, 2017

Updated. Nice catchs!

Show outdated Hide outdated mods/ra/maps/allies-06b/allies06b-AI.lua Outdated
InitialiseAttack = function()
Utils.Do(ImportantBuildings, function(a)
Trigger.OnDamaged(a, function()
Utils.Do(IdlingTanks, function(unit)

This comment has been minimized.

@abcdefg30

abcdefg30 Nov 28, 2017

Member

Updated but not "fixed"? :P

@abcdefg30

abcdefg30 Nov 28, 2017

Member

Updated but not "fixed"? :P

@Arular101

There is now more action with the Yaks. The enemy builds more Yaks to attack, but strangely it stops with attacking after a while. I don't know why that is. Maybe it can't find a target to attack. Tested on easy and normal difficulty.

Show outdated Hide outdated mods/ra/maps/allies-06b/allies06b.lua Outdated
Show outdated Hide outdated mods/ra/maps/allies-06b/allies06b.lua Outdated
@abc013

This comment has been minimized.

Show comment
Hide comment
@abc013

abc013 Dec 3, 2017

Contributor

Updated.

Contributor

abc013 commented Dec 3, 2017

Updated.

@reaperrr

This comment has been minimized.

Show comment
Hide comment
@reaperrr

reaperrr Dec 28, 2017

Contributor

Would be nice to get this into the release.

Contributor

reaperrr commented Dec 28, 2017

Would be nice to get this into the release.

Show outdated Hide outdated mods/ra/maps/allies-06b/map.yaml Outdated
@Arular101

This comment has been minimized.

Show comment
Hide comment
@Arular101

Arular101 Dec 28, 2017

Contributor

There is now more action with the Yaks. The enemy builds more Yaks to attack, but strangely it stops with attacking after a while. I don't know why that is. Maybe it can't find a target to attack. Tested on easy and normal difficulty.

Maybe this could be fixed in an other PR, because it's the same with Allies 06a. The rest of the mission is good.

Contributor

Arular101 commented Dec 28, 2017

There is now more action with the Yaks. The enemy builds more Yaks to attack, but strangely it stops with attacking after a while. I don't know why that is. Maybe it can't find a target to attack. Tested on easy and normal difficulty.

Maybe this could be fixed in an other PR, because it's the same with Allies 06a. The rest of the mission is good.

@abc013

This comment has been minimized.

Show comment
Hide comment
@abc013

abc013 Dec 29, 2017

Contributor

Updated. I think I'll update the difficulties for allies06b and allies06a (f.e. I heard hard is actually really, really though guy in both) in another PR.

Contributor

abc013 commented Dec 29, 2017

Updated. I think I'll update the difficulties for allies06b and allies06a (f.e. I heard hard is actually really, really though guy in both) in another PR.

@pchote

This comment has been minimized.

Show comment
Hide comment
@pchote

pchote Dec 29, 2017

Member

It would be good to get this into the playtest if it is ready in time, but I don't think we should delay that for this.

Member

pchote commented Dec 29, 2017

It would be good to get this into the playtest if it is ready in time, but I don't think we should delay that for this.

@reaperrr reaperrr merged commit 38c4c10 into OpenRA:bleed Dec 31, 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 31, 2017

@abc013 abc013 deleted the abc013:Allies06b branch Dec 31, 2017

@obrakmann obrakmann referenced this pull request Jan 2, 2018

Open

Add Red Alert campaign #4989

6 of 8 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment