Add gdi06

This commit is contained in:
clemty
2015-10-18 21:01:11 +02:00
parent 76ada5176f
commit 2dfa39bdfb
7 changed files with 1405 additions and 0 deletions

View File

@@ -31,6 +31,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tiberian Dawn Lua scripts",
mods\cnc\maps\gdi04c\gdi04c.lua = mods\cnc\maps\gdi04c\gdi04c.lua mods\cnc\maps\gdi04c\gdi04c.lua = mods\cnc\maps\gdi04c\gdi04c.lua
mods\cnc\maps\gdi05a\gdi05a.lua = mods\cnc\maps\gdi05a\gdi05a.lua mods\cnc\maps\gdi05a\gdi05a.lua = mods\cnc\maps\gdi05a\gdi05a.lua
mods\cnc\maps\gdi05b\gdi05b.lua = mods\cnc\maps\gdi05b\gdi05b.lua mods\cnc\maps\gdi05b\gdi05b.lua = mods\cnc\maps\gdi05b\gdi05b.lua
mods\cnc\maps\gdi06\gdi06.lua = mods\cnc\maps\gdi06\gdi06.lua
mods\cnc\maps\nod01\nod01.lua = mods\cnc\maps\nod01\nod01.lua mods\cnc\maps\nod01\nod01.lua = mods\cnc\maps\nod01\nod01.lua
mods\cnc\maps\nod02a\nod02a.lua = mods\cnc\maps\nod02a\nod02a.lua mods\cnc\maps\nod02a\nod02a.lua = mods\cnc\maps\nod02a\nod02a.lua
mods\cnc\maps\nod02b\nod02b.lua = mods\cnc\maps\nod02b\nod02b.lua mods\cnc\maps\nod02b\nod02b.lua = mods\cnc\maps\nod02b\nod02b.lua

View File

@@ -0,0 +1,233 @@
IslandSamSites = { SAM01, SAM02 }
NodBase = { PowerPlant1, PowerPlant2, PowerPlant3, PowerPlant4, PowerPlant5, Refinery, HandOfNod, Silo1, Silo2, Silo3, Silo4, ConYard, CommCenter }
FlameSquad = { FlameGuy1, FlameGuy2, FlameGuy3 }
FlameSquadRoute = { waypoint4.Location, waypoint12.Location, waypoint4.Location, waypoint6.Location }
FootPatrol1Squad = { MiniGunner1, MiniGunner2, RocketSoldier1 }
FootPatrol1Route = {
waypoint4.Location,
waypoint12.Location,
waypoint13.Location,
waypoint3.Location,
waypoint2.Location,
waypoint7.Location,
waypoint6.Location
}
FootPatrol2Squad = { MiniGunner3, MiniGunner4 }
FootPatrol2Route = {
waypoint14.Location,
waypoint16.Location
}
FootPatrol3Squad = { MiniGunner5, MiniGunner6 }
FootPatrol3Route = {
waypoint15.Location,
waypoint17.Location
}
FootPatrol4Route = {
waypoint4.Location,
waypoint5.Location
}
FootPatrol5Squad = { RocketSoldier2, RocketSoldier3, RocketSoldier4 }
FootPatrol5Route = {
waypoint4.Location,
waypoint12.Location,
waypoint13.Location,
waypoint8.Location,
waypoint9.Location,
}
Buggy1Route = {
waypoint6.Location,
waypoint7.Location,
waypoint2.Location,
waypoint8.Location,
waypoint9.Location,
waypoint8.Location,
waypoint2.Location,
waypoint7.Location
}
Buggy2Route = {
waypoint6.Location,
waypoint10.Location,
waypoint11.Location,
waypoint10.Location
}
HuntTriggerActivator = { SAM03, SAM04, SAM05, SAM06, LightTank1, LightTank2, LightTank3, Buggy1, Buggy2, Turret1, Turret2 }
AttackCellTriggerActivator = { CPos.New(57,26), CPos.New(56,26), CPos.New(57,25), CPos.New(56,25), CPos.New(57,24), CPos.New(56,24), CPos.New(57,23), CPos.New(56,23), CPos.New(57,22), CPos.New(56,22), CPos.New(57,21), CPos.New(56,21) }
AttackUnits = { LightTank2, LightTank3 }
KillCounter = 0
WorldLoaded = function()
player = Player.GetPlayer("GDI")
enemy = Player.GetPlayer("Nod")
civilian = Player.GetPlayer("Neutral")
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)
if Map.Difficulty == "Easy" then
CommandoType = "rmbo.easy"
KillCounterHuntThreshold = 30
elseif Map.Difficulty == "Hard" then
CommandoType = "rmbo.hard"
KillCounterHuntThreshold = 15
else
CommandoType = "rmbo"
KillCounterHuntThreshold = 20
end
destroyObjective = player.AddPrimaryObjective("Destroy the Nod ********.")
Trigger.OnKilled(Airfield, function()
player.MarkCompletedObjective(destroyObjective)
end)
Utils.Do(NodBase, function(structure)
Trigger.OnKilled(structure, function()
player.MarkCompletedObjective(destroyObjective)
end)
end)
Trigger.OnAllKilled(IslandSamSites, function()
TransportFlare = Actor.Create('flare', true, { Owner = player, Location = Flare.Location })
Reinforcements.ReinforceWithTransport(player, 'tran', nil, { lstStart.Location, TransportRally.Location })
end)
Trigger.OnKilled(CivFleeTrigger, function()
if not Civilian.IsDead then
Civilian.Move(CivHideOut.Location)
end
end)
Trigger.OnKilled(AttackTrigger2, function()
Utils.Do(FlameSquad, function(unit)
unit.Patrol(FlameSquadRoute, false)
end)
end)
Trigger.OnEnteredFootprint(AttackCellTriggerActivator, function(a, id)
if a.Owner == player then
Utils.Do(AttackUnits, function(unit)
unit.AttackMove(waypoint10.Location)
end)
Trigger.RemoveFootprintTrigger(id)
end
end)
Utils.Do(HuntTriggerActivator, function(unit)
Trigger.OnDamaged(unit, HuntTriggerFunction)
end)
Trigger.AfterDelay(5, NodKillCounter)
Utils.Do(FootPatrol1Squad, function(unit)
unit.Patrol(FootPatrol1Route, true)
end)
Utils.Do(FootPatrol2Squad, function(unit)
unit.Patrol(FootPatrol2Route, true, 50)
end)
Utils.Do(FootPatrol3Squad, function(unit)
unit.Patrol(FootPatrol3Route, true, 50)
end)
Utils.Do(FootPatrol5Squad, function(unit)
unit.Patrol(FootPatrol5Route, true, 50)
end)
AttackTrigger2.Patrol(FootPatrol4Route, true, 25)
LightTank1.Move(waypoint6.Location)
Buggy1.Patrol(Buggy1Route, true, 25)
Buggy2.Patrol(Buggy2Route, true, 25)
Camera.Position = UnitsRally.CenterPosition
Reinforce({ CommandoType })
end
Tick = function()
if DateTime.GameTime > DateTime.Seconds(5) and player.HasNoRequiredUnits() then
player.MarkFailedObjective(destroyObjective)
end
end
Reinforce = function(units)
Media.PlaySpeechNotification(player, "Reinforce")
ReinforceWithLandingCraft(units, lstStart.Location, lstEnd.Location, UnitsRally.Location)
end
ReinforceWithLandingCraft = function(units, transportStart, transportUnload, rallypoint)
local transport = Actor.Create("oldlst", true, { Owner = player, Facing = 0, Location = transportStart })
local subcell = 0
Utils.Do(units, function(a)
transport.LoadPassenger(Actor.Create(a, false, { Owner = transport.Owner, Facing = transport.Facing, Location = transportUnload, SubCell = subcell }))
subcell = subcell + 1
end)
transport.ScriptedMove(transportUnload)
transport.CallFunc(function()
Utils.Do(units, function()
local a = transport.UnloadPassenger()
a.IsInWorld = true
a.MoveIntoWorld(transport.Location - CVec.New(0, 1))
if rallypoint ~= nil then
a.Move(rallypoint)
end
end)
end)
transport.Wait(5)
transport.ScriptedMove(transportStart)
transport.Destroy()
end
NodKillCounter = function()
local enemyUnits = enemy.GetGroundAttackers()
Utils.Do(enemyUnits, function(unit)
Trigger.OnKilled(unit, function()
KillCounter = KillCounter + 1
if KillCounter >= KillCounterHuntThreshold then
HuntTriggerFunction()
end
end)
end)
end
HuntTriggerFunction = function()
local list = enemy.GetGroundAttackers()
Utils.Do(list, function(unit)
IdleHunt(unit)
end)
end
IdleHunt = function(unit)
if not unit.IsDead then
Trigger.OnIdle(unit, unit.Hunt)
end
end

BIN
mods/cnc/maps/gdi06/map.bin Normal file

Binary file not shown.

BIN
mods/cnc/maps/gdi06/map.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

1170
mods/cnc/maps/gdi06/map.yaml Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -7,6 +7,7 @@ GDI Campaign:
./mods/cnc/maps/gdi04c ./mods/cnc/maps/gdi04c
./mods/cnc/maps/gdi05a ./mods/cnc/maps/gdi05a
./mods/cnc/maps/gdi05b ./mods/cnc/maps/gdi05b
./mods/cnc/maps/gdi06
Nod Campaign: Nod Campaign:
./mods/cnc/maps/nod01 ./mods/cnc/maps/nod01