Add Nod 10a mission

This commit is contained in:
dtluna
2018-11-24 01:51:59 +03:00
committed by reaperrr
parent 809f57e48d
commit 7608922ff0
7 changed files with 1509 additions and 0 deletions

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,101 @@
--[[
Copyright 2007-2018 The OpenRA Developers (see AUTHORS)
This file is part of OpenRA, which is free software. It is made
available to you under the terms of the GNU General Public License
as published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version. For more
information, see COPYING.
]]
if Map.LobbyOption("difficulty") == "easy" then
Rambo = "rmbo.easy"
elseif Map.LobbyOption("difficulty") == "hard" then
Rambo = "rmbo.hard"
else
Rambo = "rmbo"
end
GDIBuildings = { ConYard, PowerPlant1, PowerPlant2, PowerPlant3, PowerPlant4,
Barracks, CommCenter, WeaponsFactory, GuardTower1, GuardTower2, GuardTower3 }
function RepairBuilding(building, attacker)
if not building.IsDead and building.Owner == enemy then
building.StartBuildingRepairs(enemy)
end
end
ChinookTrigger = false
function ReinforceWithChinook(_, discoverer)
if not ChinookTrigger and discoverer == player then
ChinookTrigger = true
Trigger.AfterDelay(DateTime.Seconds(1), function()
TransportFlare = Actor.Create('flare', true, { Owner = player, Location = DefaultFlareLocation.Location })
Media.PlaySpeechNotification(player, "Reinforce")
Reinforcements.ReinforceWithTransport(player, 'tran', nil, { ChinookEntry.Location, ChinookTarget.Location })
end)
end
end
function CreateScientist()
scientist = Actor.Create('CHAN', true, { Owner = enemy, Location = ScientistLocation.Location })
killScientistObjective = player.AddPrimaryObjective("Kill the GDI scientist.")
Trigger.OnKilled(scientist, function()
player.MarkCompletedObjective(killScientistObjective)
end)
player.MarkCompletedObjective(destroyTechCenterObjective)
end
function WorldLoaded()
player = Player.GetPlayer("Nod")
enemy = Player.GetPlayer("GDI")
enemy.Cash = 10000
Camera.Position = DefaultCameraPosition.CenterPosition
Trigger.OnObjectiveAdded(player, function(p, id)
Media.DisplayMessage(p.GetObjectiveDescription(id), "New " .. string.lower(p.GetObjectiveType(id)) .. " objective")
end)
Trigger.OnObjectiveCompleted(player, function(p, id)
Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective completed")
end)
Trigger.OnObjectiveFailed(player, function(p, id)
Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective failed")
end)
Trigger.OnPlayerWon(player, function()
Media.PlaySpeechNotification(player, "Win")
end)
Trigger.OnPlayerLost(player, function()
Media.PlaySpeechNotification(player, "Lose")
end)
Utils.Do(GDIBuildings, function(building)
Trigger.OnDamaged(building, RepairBuilding)
end)
gdiObjective = enemy.AddPrimaryObjective("Eliminate all Nod forces in the area.")
destroyTechCenterObjective = player.AddPrimaryObjective("Destroy the GDI R&D center.")
Actor.Create(Rambo, true, { Owner = player, Location = RamboLocation.Location })
Trigger.OnDiscovered(TechCenter, ReinforceWithChinook)
Trigger.OnKilled(TechCenter, CreateScientist)
end
function Tick()
if DateTime.GameTime > 2 then
if player.HasNoRequiredUnits() then
enemy.MarkCompletedObjective(gdiObjective)
end
end
end

View File

@@ -0,0 +1,62 @@
World:
LuaScript:
Scripts: nod10a.lua
MissionData:
Briefing: GDI is developing an orbital weapon. Our spies have told us of a large lake near the location of the R&D center.\n\nFind the base, and use the sniper to eliminate their scientist.
BackgroundVideo: kanepre.vqa
LossVideo: nodlose.vqa
BriefingVideo: nod10a.vqa
SmudgeLayer@SCORCH:
InitialSmudges:
59,55: sc4,0
43,53: sc3,0
8,22: sc1,0
8,19: sc1,0
8,16: sc1,0
7,16: sc1,0
3,14: sc5,0
30,5: sc1,0
SmudgeLayer@CRATER:
InitialSmudges:
7,15: cr1,0
35,5: cr1,0
51,4: cr1,0
41,3: cr1,0
ScriptLobbyDropdown@difficulty:
ID: difficulty
Label: Difficulty
Values:
easy: Easy
normal: Normal
hard: Hard
Default: easy
-LegacyBridgeLayer:
^CivBuilding:
AnnounceOnSeen:
Player:
EnemyWatcher:
PlayerResources:
DefaultCash: 0
RMBO.easy:
Inherits: RMBO
Health:
HP: 30000
SelfHealing:
Step: 500
Delay: 10
HealIfBelow: 50
DamageCooldown: 200
RenderSprites:
Image: RMBO
RMBO.hard:
Inherits: RMBO
-AutoTarget:
-AutoTargetPriority@DEFAULT:
-AutoTargetPriority@ATTACKANYTHING:
-AttackMove:
RenderSprites:
Image: RMBO

View File

@@ -28,6 +28,7 @@ Nod Campaign:
./mods/cnc/maps/nod08a
./mods/cnc/maps/nod08b
./mods/cnc/maps/nod09
./mods/cnc/maps/nod10a
./mods/cnc/maps/nod10b
Funpark Campaign: