feat(hs): import LoL map (server 92 / World93) + real base & statue coords
- Embed Terrain93.att (server map No 92 -> loads Terrain93); map Number 90->92. - Real walkable coords from the LoL arena diamond (center lane x=42): Red base (42,10) top tip, Blue base (42,92) bottom tip; 7 statues per team along x=42. - Client World93 + Object93 deployed to PC client separately. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -33,25 +33,25 @@ public class HeykelSavasiContext : MiniGameContext
|
||||
/// The X1/Y1 anchor of the red team's base spawn gate.
|
||||
/// Must match Gates.cs targetGates 600 (RedBase).
|
||||
/// </summary>
|
||||
private const byte RedBaseAnchorX1 = 20;
|
||||
private const byte RedBaseAnchorX1 = 42;
|
||||
|
||||
/// <summary>
|
||||
/// The X1/Y1 anchor of the red team's base spawn gate.
|
||||
/// Must match Gates.cs targetGates 600 (RedBase).
|
||||
/// </summary>
|
||||
private const byte RedBaseAnchorY1 = 20;
|
||||
private const byte RedBaseAnchorY1 = 10;
|
||||
|
||||
/// <summary>
|
||||
/// The X1/Y1 anchor of the blue team's base spawn gate.
|
||||
/// Must match Gates.cs targetGates 601 (BlueBase).
|
||||
/// </summary>
|
||||
private const byte BlueBaseAnchorX1 = 220;
|
||||
private const byte BlueBaseAnchorX1 = 42;
|
||||
|
||||
/// <summary>
|
||||
/// The X1/Y1 anchor of the blue team's base spawn gate.
|
||||
/// Must match Gates.cs targetGates 601 (BlueBase).
|
||||
/// </summary>
|
||||
private const byte BlueBaseAnchorY1 = 220;
|
||||
private const byte BlueBaseAnchorY1 = 92;
|
||||
|
||||
/// <summary>
|
||||
/// The number of statues (per team) which need to be broken by the opposing team to win the event.
|
||||
@@ -112,13 +112,13 @@ public class HeykelSavasiContext : MiniGameContext
|
||||
/// </summary>
|
||||
private static readonly Point[] RedStatuePositions =
|
||||
{
|
||||
new(100, 100),
|
||||
new(88, 88),
|
||||
new(77, 77),
|
||||
new(65, 65),
|
||||
new(53, 53),
|
||||
new(42, 42),
|
||||
new(30, 30),
|
||||
new(42, 51),
|
||||
new(42, 45),
|
||||
new(42, 38),
|
||||
new(42, 31),
|
||||
new(42, 25),
|
||||
new(42, 15),
|
||||
new(42, 8),
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@@ -129,13 +129,13 @@ public class HeykelSavasiContext : MiniGameContext
|
||||
/// </summary>
|
||||
private static readonly Point[] BlueStatuePositions =
|
||||
{
|
||||
new(140, 140),
|
||||
new(152, 152),
|
||||
new(163, 163),
|
||||
new(175, 175),
|
||||
new(187, 187),
|
||||
new(198, 198),
|
||||
new(210, 210),
|
||||
new(42, 53),
|
||||
new(42, 59),
|
||||
new(42, 66),
|
||||
new(42, 73),
|
||||
new(42, 79),
|
||||
new(42, 87),
|
||||
new(42, 94),
|
||||
};
|
||||
|
||||
private readonly IGameContext _gameContext;
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
<None Remove="Resources\075_Terrain8.att" />
|
||||
<None Remove="Resources\Terrain1.att" />
|
||||
<None Remove="Resources\Terrain83.att" />
|
||||
<None Remove="Resources\Terrain93.att" />
|
||||
<None Remove="Resources\Terrain84.att" />
|
||||
<None Remove="Resources\Terrain85.att" />
|
||||
<None Remove="Resources\Terrain86.att" />
|
||||
@@ -109,6 +110,7 @@
|
||||
<EmbeddedResource Include="Resources\075_Terrain8.att" />
|
||||
<EmbeddedResource Include="Resources\Terrain1.att" />
|
||||
<EmbeddedResource Include="Resources\Terrain83.att" />
|
||||
<EmbeddedResource Include="Resources\Terrain93.att" />
|
||||
<EmbeddedResource Include="Resources\Terrain84.att" />
|
||||
<EmbeddedResource Include="Resources\Terrain85.att" />
|
||||
<EmbeddedResource Include="Resources\Terrain86.att" />
|
||||
|
||||
BIN
src/Persistence/Initialization/Resources/Terrain93.att
Normal file
BIN
src/Persistence/Initialization/Resources/Terrain93.att
Normal file
Binary file not shown.
@@ -442,8 +442,8 @@ public class Gates : InitializerBase
|
||||
targetGates.Add(341, this.CreateExitGate(maps[81], 162, 12, 164, 14, 5));
|
||||
|
||||
// Heykel Savasi (event map, base spawn gates)
|
||||
targetGates.Add(600, this.CreateExitGate(maps[HeykelSavasiMap.Number], 20, 20, 24, 24, 3, true)); // RedBase
|
||||
targetGates.Add(601, this.CreateExitGate(maps[HeykelSavasiMap.Number], 220, 220, 224, 224, 7, true)); // BlueBase
|
||||
targetGates.Add(600, this.CreateExitGate(maps[HeykelSavasiMap.Number], 42, 10, 42, 10, 3, true)); // RedBase (top tip of the LoL arena diamond)
|
||||
targetGates.Add(601, this.CreateExitGate(maps[HeykelSavasiMap.Number], 42, 92, 42, 92, 7, true)); // BlueBase (bottom tip of the LoL arena diamond)
|
||||
|
||||
return targetGates;
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ internal class HeykelSavasiMap : BaseMapInitializer
|
||||
/// <summary>
|
||||
/// The Number of the Map.
|
||||
/// </summary>
|
||||
internal const byte Number = 90;
|
||||
internal const byte Number = 92;
|
||||
|
||||
/// <summary>
|
||||
/// The Name of the Map.
|
||||
|
||||
Reference in New Issue
Block a user