Merge pull request #7329 from abcdefg30/improvemtm

Polished monster-tank-madness
This commit is contained in:
Oliver Brakmann
2015-01-18 16:51:50 +01:00
2 changed files with 73 additions and 35 deletions

View File

@@ -48,7 +48,7 @@ Players:
Race: soviet Race: soviet
ColorRamp: 3,255,127 ColorRamp: 3,255,127
Allies: USSR Allies: USSR
Enemies: Greece, Turkey, Ukraine Enemies: Greece, Turkey
PlayerReference@USSR: PlayerReference@USSR:
Name: USSR Name: USSR
Race: soviet Race: soviet
@@ -81,46 +81,46 @@ Players:
Actors: Actors:
Actor0: sbag Actor0: sbag
Location: 21,26 Location: 21,26
Owner: Neutral Owner: Outpost
Actor1: sbag Actor1: sbag
Location: 22,26 Location: 22,26
Owner: Neutral Owner: Outpost
Actor2: sbag Actor2: sbag
Location: 43,26 Location: 43,26
Owner: Neutral Owner: Outpost
Actor3: sbag Actor3: sbag
Location: 44,26 Location: 44,26
Owner: Neutral Owner: Outpost
Actor4: sbag Actor4: sbag
Location: 45,26 Location: 45,26
Owner: Neutral Owner: Outpost
Actor5: sbag Actor5: sbag
Location: 45,27 Location: 45,27
Owner: Neutral Owner: Outpost
Actor6: sbag Actor6: sbag
Location: 39,28 Location: 39,28
Owner: Neutral Owner: Outpost
Actor7: sbag Actor7: sbag
Location: 40,28 Location: 40,28
Owner: Neutral Owner: Outpost
Actor8: sbag Actor8: sbag
Location: 45,28 Location: 45,28
Owner: Neutral Owner: Outpost
Actor9: sbag Actor9: sbag
Location: 39,29 Location: 39,29
Owner: Neutral Owner: Outpost
Actor10: sbag Actor10: sbag
Location: 39,30 Location: 39,30
Owner: Neutral Owner: Outpost
Actor11: sbag Actor11: sbag
Location: 26,31 Location: 26,31
Owner: Neutral Owner: Outpost
Actor12: sbag Actor12: sbag
Location: 27,31 Location: 27,31
Owner: Neutral Owner: Outpost
Actor13: sbag Actor13: sbag
Location: 28,31 Location: 28,31
Owner: Neutral Owner: Outpost
Actor14: brik Actor14: brik
Location: 87,31 Location: 87,31
Owner: Neutral Owner: Neutral
@@ -171,7 +171,7 @@ Actors:
Owner: Neutral Owner: Neutral
Actor30: sbag Actor30: sbag
Location: 28,32 Location: 28,32
Owner: Neutral Owner: Outpost
Actor31: brik Actor31: brik
Location: 87,32 Location: 87,32
Owner: Neutral Owner: Neutral
@@ -1673,9 +1673,6 @@ Actors:
Actor534: v04 Actor534: v04
Location: 91,59 Location: 91,59
Owner: Ukraine Owner: Ukraine
Actor535: v05
Location: 82,51
Owner: Ukraine
Actor536: v06 Actor536: v06
Location: 82,54 Location: 82,54
Owner: Ukraine Owner: Ukraine
@@ -1772,9 +1769,6 @@ Actors:
Actor567: brl3 Actor567: brl3
Location: 80,53 Location: 80,53
Owner: Ukraine Owner: Ukraine
Actor568: brl3
Location: 81,52
Owner: Ukraine
Actor569: brl3 Actor569: brl3
Location: 82,53 Location: 82,53
Owner: Ukraine Owner: Ukraine
@@ -1988,6 +1982,15 @@ Actors:
Actor514: brl3 Actor514: brl3
Location: 97,59 Location: 97,59
Owner: Ukraine Owner: Ukraine
Actor626: camera
Location: 32,56
Owner: USSR
UkraineBarrel: brl3
Location: 81,52
Owner: Ukraine
UkraineBuilding: v05
Location: 82,51
Owner: Ukraine
SuperTankDome: dome.NoInfiltrate SuperTankDome: dome.NoInfiltrate
Location: 90,32 Location: 90,32
Owner: BadGuy Owner: BadGuy
@@ -2106,6 +2109,7 @@ Rules:
Scripts: monster-tank-madness.lua Scripts: monster-tank-madness.lua
ObjectivesPanel: ObjectivesPanel:
PanelName: MISSION_OBJECTIVES PanelName: MISSION_OBJECTIVES
-StartGameNotification:
^Building: ^Building:
Tooltip: Tooltip:
GenericVisibility: Enemy GenericVisibility: Enemy
@@ -2122,6 +2126,17 @@ Rules:
Tooltip: Tooltip:
GenericVisibility: Enemy GenericVisibility: Enemy
ShowOwnerRow: false ShowOwnerRow: false
^Wall:
Tooltip:
ShowOwnerRow: false
^Husk:
Tooltip:
GenericVisibility: Enemy, Ally, Neutral
GenericStancePrefix: false
ShowOwnerRow: false
^Crate:
Tooltip:
ShowOwnerRow: false
^CivBuilding: ^CivBuilding:
Explodes: Explodes:
Weapon: BarrelExplode Weapon: BarrelExplode
@@ -2195,10 +2210,11 @@ Rules:
SelfHealing: SelfHealing:
Step: 1 Step: 1
Ticks: 1 Ticks: 1
HealIfBelow: 50% HealIfBelow: 100%
DamageCooldown: 150 DamageCooldown: 150
Selectable: Selectable:
Bounds: 44,38,0,-4 Bounds: 44,38,0,-4
-EjectOnDeath:
5TNK.Husk: 5TNK.Husk:
Inherits: ^Husk Inherits: ^Husk
Tooltip: Tooltip:
@@ -2325,10 +2341,6 @@ Rules:
QTNK: QTNK:
Buildable: Buildable:
Prerequisites: ~disabled Prerequisites: ~disabled
CAMERA.Large:
Inherits: CAMERA
RevealsShroud:
Range: 1000
Sequences: Sequences:

View File

@@ -97,12 +97,11 @@ SetupAlliedBase = function()
end end
SendAlliedUnits = function() SendAlliedUnits = function()
Camera.Position = StartEntryPoint.CenterPosition InitObjectives()
Actor.Create("camera" ,true , { Owner = player, Location = ProvingGroundsCameraPoint.Location })
Actor.Create("camera" ,true , { Owner = ussr, Location = USSRSpen.Location })
Trigger.AfterDelay(DateTime.Seconds(1), function() Media.PlaySpeechNotification(player, "ReinforcementsArrived") end) Camera.Position = StartEntryPoint.CenterPosition
--To avoid overlapping "battlecontrol initialized" and "reinforcements have arrived"
Media.PlaySpeechNotification(player, "ReinforcementsArrived")
Utils.Do(AlliedUnits, function(table) Utils.Do(AlliedUnits, function(table)
Trigger.AfterDelay(table[1], function() Trigger.AfterDelay(table[1], function()
Reinforcements.Reinforce(player, table[2], { StartEntryPoint.Location, StartMovePoint.Location }, 18) Reinforcements.Reinforce(player, table[2], { StartEntryPoint.Location, StartMovePoint.Location }, 18)
@@ -150,7 +149,7 @@ SuperTankDomeInfiltrated = function()
Trigger.AfterDelay(DateTime.Seconds(2), function() Trigger.AfterDelay(DateTime.Seconds(2), function()
Media.PlaySpeechNotification(player, "ControlCenterDeactivated") Media.PlaySpeechNotification(player, "ControlCenterDeactivated")
Trigger.AfterDelay(DateTime.Seconds(3), function() Trigger.AfterDelay(DateTime.Seconds(4), function()
Media.DisplayMessage("In 3 minutes the super tanks will self destruct.") Media.DisplayMessage("In 3 minutes the super tanks will self destruct.")
Media.PlaySpeechNotification(player, "WarningThreeMinutesRemaining") Media.PlaySpeechNotification(player, "WarningThreeMinutesRemaining")
end) end)
@@ -167,6 +166,9 @@ SuperTanksDestruction = function()
Utils.Do(SuperTanks, function(tnk) Utils.Do(SuperTanks, function(tnk)
if not tnk.IsDead then if not tnk.IsDead then
local camera = Actor.Create("camera", true, { Owner = player, Location = tnk.Location })
Trigger.AfterDelay(DateTime.Seconds(3), camera.Destroy)
Trigger.ClearAll(tnk) Trigger.ClearAll(tnk)
tnk.Kill() tnk.Kill()
end end
@@ -221,6 +223,16 @@ Tick = function()
end end
end end
SetupMission = function()
TestCamera = Actor.Create("camera" ,true , { Owner = player, Location = ProvingGroundsCameraPoint.Location })
Camera.Position = ProvingGroundsCameraPoint.CenterPosition
Trigger.AfterDelay(DateTime.Seconds(12), function()
Media.PlaySpeechNotification(player, "StartGame")
Trigger.AfterDelay(DateTime.Seconds(2), SendAlliedUnits)
end)
end
InitPlayers = function() InitPlayers = function()
player = Player.GetPlayer("Greece") player = Player.GetPlayer("Greece")
neutral = Player.GetPlayer("Neutral") neutral = Player.GetPlayer("Neutral")
@@ -301,6 +313,10 @@ InitTriggers = function()
end end
end) end)
Trigger.OnKilled(UkraineBarrel, function()
if not UkraineBuilding.IsDead then UkraineBuilding.Kill() end
end)
Trigger.OnAnyKilled(USSROutpostFlameTurrets, function() Trigger.OnAnyKilled(USSROutpostFlameTurrets, function()
Utils.Do(ExplosiveBarrels, function(barrel) Utils.Do(ExplosiveBarrels, function(barrel)
if not barrel.IsDead then barrel.Kill() end if not barrel.IsDead then barrel.Kill() end
@@ -352,14 +368,24 @@ InitTriggers = function()
EvacuateCivilians() EvacuateCivilians()
end end
end) end)
local tanksLeft = 0
Trigger.OnExitedProximityTrigger(ProvingGroundsCameraPoint.CenterPosition, WRange.New(10 * 1024), function(a, id)
if a.Type == "5tnk" then
tanksLeft = tanksLeft + 1
if tanksLeft == 3 then
if TestCamera.IsInWorld then TestCamera.Destroy() end
Trigger.RemoveProximityTrigger(id)
end
end
end)
end end
WorldLoaded = function() WorldLoaded = function()
InitPlayers() InitPlayers()
InitObjectives()
InitTriggers() InitTriggers()
SendAlliedUnits() SetupMission()
end end