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.
|
/// The X1/Y1 anchor of the red team's base spawn gate.
|
||||||
/// Must match Gates.cs targetGates 600 (RedBase).
|
/// Must match Gates.cs targetGates 600 (RedBase).
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private const byte RedBaseAnchorX1 = 20;
|
private const byte RedBaseAnchorX1 = 42;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The X1/Y1 anchor of the red team's base spawn gate.
|
/// The X1/Y1 anchor of the red team's base spawn gate.
|
||||||
/// Must match Gates.cs targetGates 600 (RedBase).
|
/// Must match Gates.cs targetGates 600 (RedBase).
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private const byte RedBaseAnchorY1 = 20;
|
private const byte RedBaseAnchorY1 = 10;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The X1/Y1 anchor of the blue team's base spawn gate.
|
/// The X1/Y1 anchor of the blue team's base spawn gate.
|
||||||
/// Must match Gates.cs targetGates 601 (BlueBase).
|
/// Must match Gates.cs targetGates 601 (BlueBase).
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private const byte BlueBaseAnchorX1 = 220;
|
private const byte BlueBaseAnchorX1 = 42;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The X1/Y1 anchor of the blue team's base spawn gate.
|
/// The X1/Y1 anchor of the blue team's base spawn gate.
|
||||||
/// Must match Gates.cs targetGates 601 (BlueBase).
|
/// Must match Gates.cs targetGates 601 (BlueBase).
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private const byte BlueBaseAnchorY1 = 220;
|
private const byte BlueBaseAnchorY1 = 92;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The number of statues (per team) which need to be broken by the opposing team to win the event.
|
/// 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>
|
/// </summary>
|
||||||
private static readonly Point[] RedStatuePositions =
|
private static readonly Point[] RedStatuePositions =
|
||||||
{
|
{
|
||||||
new(100, 100),
|
new(42, 51),
|
||||||
new(88, 88),
|
new(42, 45),
|
||||||
new(77, 77),
|
new(42, 38),
|
||||||
new(65, 65),
|
new(42, 31),
|
||||||
new(53, 53),
|
new(42, 25),
|
||||||
new(42, 42),
|
new(42, 15),
|
||||||
new(30, 30),
|
new(42, 8),
|
||||||
};
|
};
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -129,13 +129,13 @@ public class HeykelSavasiContext : MiniGameContext
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private static readonly Point[] BlueStatuePositions =
|
private static readonly Point[] BlueStatuePositions =
|
||||||
{
|
{
|
||||||
new(140, 140),
|
new(42, 53),
|
||||||
new(152, 152),
|
new(42, 59),
|
||||||
new(163, 163),
|
new(42, 66),
|
||||||
new(175, 175),
|
new(42, 73),
|
||||||
new(187, 187),
|
new(42, 79),
|
||||||
new(198, 198),
|
new(42, 87),
|
||||||
new(210, 210),
|
new(42, 94),
|
||||||
};
|
};
|
||||||
|
|
||||||
private readonly IGameContext _gameContext;
|
private readonly IGameContext _gameContext;
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
<None Remove="Resources\075_Terrain8.att" />
|
<None Remove="Resources\075_Terrain8.att" />
|
||||||
<None Remove="Resources\Terrain1.att" />
|
<None Remove="Resources\Terrain1.att" />
|
||||||
<None Remove="Resources\Terrain83.att" />
|
<None Remove="Resources\Terrain83.att" />
|
||||||
|
<None Remove="Resources\Terrain93.att" />
|
||||||
<None Remove="Resources\Terrain84.att" />
|
<None Remove="Resources\Terrain84.att" />
|
||||||
<None Remove="Resources\Terrain85.att" />
|
<None Remove="Resources\Terrain85.att" />
|
||||||
<None Remove="Resources\Terrain86.att" />
|
<None Remove="Resources\Terrain86.att" />
|
||||||
@@ -109,6 +110,7 @@
|
|||||||
<EmbeddedResource Include="Resources\075_Terrain8.att" />
|
<EmbeddedResource Include="Resources\075_Terrain8.att" />
|
||||||
<EmbeddedResource Include="Resources\Terrain1.att" />
|
<EmbeddedResource Include="Resources\Terrain1.att" />
|
||||||
<EmbeddedResource Include="Resources\Terrain83.att" />
|
<EmbeddedResource Include="Resources\Terrain83.att" />
|
||||||
|
<EmbeddedResource Include="Resources\Terrain93.att" />
|
||||||
<EmbeddedResource Include="Resources\Terrain84.att" />
|
<EmbeddedResource Include="Resources\Terrain84.att" />
|
||||||
<EmbeddedResource Include="Resources\Terrain85.att" />
|
<EmbeddedResource Include="Resources\Terrain85.att" />
|
||||||
<EmbeddedResource Include="Resources\Terrain86.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));
|
targetGates.Add(341, this.CreateExitGate(maps[81], 162, 12, 164, 14, 5));
|
||||||
|
|
||||||
// Heykel Savasi (event map, base spawn gates)
|
// Heykel Savasi (event map, base spawn gates)
|
||||||
targetGates.Add(600, this.CreateExitGate(maps[HeykelSavasiMap.Number], 20, 20, 24, 24, 3, true)); // RedBase
|
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], 220, 220, 224, 224, 7, true)); // BlueBase
|
targetGates.Add(601, this.CreateExitGate(maps[HeykelSavasiMap.Number], 42, 92, 42, 92, 7, true)); // BlueBase (bottom tip of the LoL arena diamond)
|
||||||
|
|
||||||
return targetGates;
|
return targetGates;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ internal class HeykelSavasiMap : BaseMapInitializer
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// The Number of the Map.
|
/// The Number of the Map.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal const byte Number = 90;
|
internal const byte Number = 92;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The Name of the Map.
|
/// The Name of the Map.
|
||||||
|
|||||||
Reference in New Issue
Block a user