Add some combat to the shellmap; unfail init slightly
This commit is contained in:
@@ -385,10 +385,6 @@ namespace OpenRA
|
|||||||
LoadMap(map);
|
LoadMap(map);
|
||||||
world.Queries = new World.AllQueries(world);
|
world.Queries = new World.AllQueries(world);
|
||||||
|
|
||||||
foreach (var p in world.players.Values)
|
|
||||||
foreach (var q in world.players.Values)
|
|
||||||
p.Stances[q] = ChooseInitialStance(p, q);
|
|
||||||
|
|
||||||
foreach (var gs in world.WorldActor.traits.WithInterface<IGameStarted>())
|
foreach (var gs in world.WorldActor.traits.WithInterface<IGameStarted>())
|
||||||
gs.GameStarted(world);
|
gs.GameStarted(world);
|
||||||
orderManager.StartGame();
|
orderManager.StartGame();
|
||||||
@@ -400,15 +396,6 @@ namespace OpenRA
|
|||||||
if (orderManager.GameStarted) return;
|
if (orderManager.GameStarted) return;
|
||||||
chat.Reset();
|
chat.Reset();
|
||||||
|
|
||||||
world.SetLocalPlayer(orderManager.Connection.LocalClientId);
|
|
||||||
|
|
||||||
foreach (var c in LobbyInfo.Clients)
|
|
||||||
world.AddPlayer(new Player(world, c));
|
|
||||||
|
|
||||||
foreach (var p in world.players.Values)
|
|
||||||
foreach (var q in world.players.Values)
|
|
||||||
p.Stances[q] = ChooseInitialStance(p, q);
|
|
||||||
|
|
||||||
world.Queries = new World.AllQueries(world);
|
world.Queries = new World.AllQueries(world);
|
||||||
|
|
||||||
foreach (var gs in world.WorldActor.traits.WithInterface<IGameStarted>())
|
foreach (var gs in world.WorldActor.traits.WithInterface<IGameStarted>())
|
||||||
@@ -418,7 +405,7 @@ namespace OpenRA
|
|||||||
orderManager.StartGame();
|
orderManager.StartGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
static Stance ChooseInitialStance(Player p, Player q)
|
public static Stance ChooseInitialStance(Player p, Player q)
|
||||||
{
|
{
|
||||||
if (p == q) return Stance.Ally;
|
if (p == q) return Stance.Ally;
|
||||||
|
|
||||||
|
|||||||
@@ -101,6 +101,16 @@ namespace OpenRA
|
|||||||
WorldActor.Owner = player;
|
WorldActor.Owner = player;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add real players
|
||||||
|
SetLocalPlayer(Game.orderManager.Connection.LocalClientId);
|
||||||
|
|
||||||
|
foreach (var c in Game.LobbyInfo.Clients)
|
||||||
|
AddPlayer(new Player(this, c));
|
||||||
|
|
||||||
|
foreach (var p in players.Values)
|
||||||
|
foreach (var q in players.Values)
|
||||||
|
p.Stances[q] = Game.ChooseInitialStance(p, q);
|
||||||
|
|
||||||
Timer.Time( "worldActor: {0}" );
|
Timer.Time( "worldActor: {0}" );
|
||||||
|
|
||||||
foreach (var wlh in WorldActor.traits.WithInterface<ILoadWorldHook>())
|
foreach (var wlh in WorldActor.traits.WithInterface<ILoadWorldHook>())
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
using OpenRA.Mods.RA.Effects;
|
using OpenRA.Mods.RA.Effects;
|
||||||
using OpenRA.Traits;
|
using OpenRA.Traits;
|
||||||
using OpenRA;
|
using OpenRA;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace OpenRA.Mods.RA
|
namespace OpenRA.Mods.RA
|
||||||
{
|
{
|
||||||
@@ -34,7 +35,12 @@ namespace OpenRA.Mods.RA
|
|||||||
public void WorldLoaded(World w)
|
public void WorldLoaded(World w)
|
||||||
{
|
{
|
||||||
Game.MoveViewport((.5f * (w.Map.TopLeft + w.Map.BottomRight).ToFloat2()).ToInt2());
|
Game.MoveViewport((.5f * (w.Map.TopLeft + w.Map.BottomRight).ToFloat2()).ToInt2());
|
||||||
Sound.PlayMusic("hell226m.aud");
|
// Sound.PlayMusic("hell226m.aud");
|
||||||
|
var goodguy = w.players.Values.Where(x => x.InternalName == "GoodGuy").FirstOrDefault();
|
||||||
|
var greece = w.players.Values.Where(x => x.InternalName == "Greece").FirstOrDefault();
|
||||||
|
goodguy.Stances[greece] = Stance.Enemy;
|
||||||
|
greece.Stances[goodguy] = Stance.Enemy;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user