From c1d9665b3d8915825ec79b3be7f9d162af5a8e61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Sat, 1 Nov 2014 20:00:18 +0100 Subject: [PATCH] drop in Atreides harvester replacements with carryalls replace Harkonnen base with Emperors outpost --- OpenRA.Mods.Cnc/Traits/Render/WithCargo.cs | 2 +- mods/d2k/maps/shellmap/map.yaml | 61 +++++++++++++++------- mods/d2k/maps/shellmap/shellmap.lua | 19 +++++++ 3 files changed, 61 insertions(+), 21 deletions(-) create mode 100644 mods/d2k/maps/shellmap/shellmap.lua diff --git a/OpenRA.Mods.Cnc/Traits/Render/WithCargo.cs b/OpenRA.Mods.Cnc/Traits/Render/WithCargo.cs index 548b01b750..81139ff05f 100644 --- a/OpenRA.Mods.Cnc/Traits/Render/WithCargo.cs +++ b/OpenRA.Mods.Cnc/Traits/Render/WithCargo.cs @@ -64,7 +64,7 @@ namespace OpenRA.Mods.Cnc.Traits var cargoPassenger = c.Trait(); if (cargoInfo.DisplayTypes.Contains(cargoPassenger.Info.CargoType)) { - var localOffset = cargo.PassengerCount > 1 ? cargoInfo.LocalOffset[i++ % cargoInfo.LocalOffset.Length] : WVec.Zero; + var localOffset = cargo.PassengerCount >= 1 ? cargoInfo.LocalOffset[i++ % cargoInfo.LocalOffset.Length] : WVec.Zero; var offset = pos - c.CenterPosition + body.LocalToWorld(localOffset.Rotate(bodyOrientation)); foreach (var cr in c.Render(wr)) yield return cr.OffsetBy(offset).WithZOffset(1); diff --git a/mods/d2k/maps/shellmap/map.yaml b/mods/d2k/maps/shellmap/map.yaml index 43e9393714..a5d7c55b1d 100644 --- a/mods/d2k/maps/shellmap/map.yaml +++ b/mods/d2k/maps/shellmap/map.yaml @@ -33,17 +33,12 @@ Players: Name: Atreides Race: atreides ColorRamp: 161,134,200 - Enemies: Harkonnen - PlayerReference@Harkonnen: - Name: Harkonnen - Race: harkonnen - ColorRamp: 3,255,127 - Enemies: Atreides PlayerReference@Creeps: Name: Creeps NonCombatant: True Race: atreides - Enemies: Atreides, Harkonnen + Enemies: Atreides + ColorRamp: 210,255,127 Actors: Actor4: spicebloom @@ -61,9 +56,6 @@ Actors: Actor26: concreteb Location: 57,58 Owner: Neutral - Actor27: refa - Location: 57,58 - Owner: Atreides Actor28: concretea Location: 54,58 Owner: Neutral @@ -85,6 +77,7 @@ Actors: Actor34: siegetank Location: 54,56 Owner: Atreides + Facing: 24 Actor35: concretea Location: 46,39 Owner: Neutral @@ -94,21 +87,30 @@ Actors: Actor37: concreteb Location: 50,37 Owner: Neutral - Actor38: refh + Actor38: palacec Location: 50,37 - Owner: Harkonnen - Actor39: pwrh + Owner: Creeps + Actor39: barrh Location: 48,37 - Owner: Harkonnen - Actor40: siloh - Location: 47,39 - Owner: Harkonnen - Actor41: guntowera + Owner: Creeps + Actor40: rockettowerh Location: 46,39 - Owner: Harkonnen - Actor42: wormspawner + Owner: Creeps + Actor41: sardaukar + Location: 50,40 + Owner: Creeps + Actor42: sardaukar + Location: 52,40 + Owner: Creeps + WormSpawner: wormspawner Location: 46,64 Owner: Creeps + Entry: waypoint + Location: 80, 8 + Owner: Neutral + AtreidesSpiceRefinery: refa + Location: 57,58 + Owner: Atreides Smudges: @@ -123,6 +125,25 @@ Rules: ValuePerUnit: 0 WormManager: Minimum: 1 + Maximum: 1 + LuaScript: + Scripts: shellmap.lua + REFA: + -FreeActor: + CARRYALLA: + -AutoCarryall: + Helicopter: + CruiseAltitude: 2048 + LandAltitude: 512 + LandWhenIdle: True + Cargo: + Types: Vehicle + WithCargo: + DisplayTypes: Vehicle + LocalOffset: 0,0,-512 + ROCKETTOWERH: + Power: + Amount: 100 Sequences: diff --git a/mods/d2k/maps/shellmap/shellmap.lua b/mods/d2k/maps/shellmap/shellmap.lua new file mode 100644 index 0000000000..cea3cfcace --- /dev/null +++ b/mods/d2k/maps/shellmap/shellmap.lua @@ -0,0 +1,19 @@ +InitializeHarvester = function(harvester) + harvester.FindResources() + Trigger.OnRemovedFromWorld(harvester, InsertHarvester) +end + +InsertHarvester = function() + local harvesters = Reinforcements.ReinforceWithTransport(atreides, "carryalla", { "harvester" }, + { Entry.Location, AtreidesSpiceRefinery.Location + CVec.New(2, 3) }, { Entry.Location })[2] + + Utils.Do(harvesters, function(harvester) + Trigger.OnAddedToWorld(harvester, function() InitializeHarvester(harvester) end) + end) +end + +WorldLoaded = function() + atreides = Player.GetPlayer("Atreides") + + InsertHarvester() +end