Skip to content

Commit

Permalink
Fix RandomPosition
Browse files Browse the repository at this point in the history
  • Loading branch information
mxyx0412 committed Apr 26, 2024
1 parent d25b95d commit da6e9a4
Show file tree
Hide file tree
Showing 6 changed files with 43 additions and 41 deletions.
4 changes: 2 additions & 2 deletions TheOtherRoles/Buttons.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3133,7 +3133,7 @@ public static void createButtonsPostfix(HudManager __instance)
writer.Write(Jumper.jumpLocation.y);
AmongUsClient.Instance.FinishRpcImmediately(writer);

PlayerControl.LocalPlayer.transform.position = Jumper.jumpLocation;
PlayerControl.LocalPlayer.NetTransform.RpcSnapTo(Jumper.jumpLocation);


Jumper.Charges -= 1f;
Expand Down Expand Up @@ -3193,7 +3193,7 @@ public static void createButtonsPostfix(HudManager __instance)
writer.Write(Escapist.escapeLocation.y);
AmongUsClient.Instance.FinishRpcImmediately(writer);

PlayerControl.LocalPlayer.transform.position = Escapist.escapeLocation;
PlayerControl.LocalPlayer.NetTransform.RpcSnapTo(Escapist.escapeLocation);


Escapist.Charges -= 1f;
Expand Down
21 changes: 12 additions & 9 deletions TheOtherRoles/Patches/ExileControllerPatch.cs
Original file line number Diff line number Diff line change
Expand Up @@ -337,21 +337,24 @@ private static void WrapUpPostfix(GameData.PlayerInfo exiled)

if (CustomOptionHolder.randomGameStartToVents.getBool())
{
CachedPlayer.LocalPlayer.PlayerControl.transform.position = MapData.FindVentSpawnPositions().Random();
CachedPlayer.LocalPlayer.PlayerControl.NetTransform.RpcSnapTo
(MapData.FindVentSpawnPositions()[rnd.Next(MapData.FindVentSpawnPositions().Count)]);
}
else
{
CachedPlayer.LocalPlayer.PlayerControl.transform.position =
var SpawnPositions =
GameOptionsManager.Instance.currentNormalGameOptions.MapId switch
{
0 => MapData.SkeldSpawnPosition.Random(),
1 => MapData.MiraSpawnPosition.Random(),
2 => MapData.PolusSpawnPosition.Random(),
3 => MapData.DleksSpawnPosition.Random(),
4 => MapData.AirshipSpawnPosition.Random(),
5 => MapData.FungleSpawnPosition.Random(),
_ => CachedPlayer.LocalPlayer.PlayerControl.transform.position
0 => MapData.SkeldSpawnPosition,
1 => MapData.MiraSpawnPosition,
2 => MapData.PolusSpawnPosition,
3 => MapData.DleksSpawnPosition,
4 => MapData.AirshipSpawnPosition,
5 => MapData.FungleSpawnPosition,
_ => MapData.FindVentSpawnPositions()
};
CachedPlayer.LocalPlayer.PlayerControl.NetTransform.RpcSnapTo
(SpawnPositions[rnd.Next(SpawnPositions.Count)]);
}
}

Expand Down
25 changes: 13 additions & 12 deletions TheOtherRoles/Patches/IntroPatch.cs
Original file line number Diff line number Diff line change
Expand Up @@ -130,26 +130,27 @@ public static void Prefix(IntroCutscene __instance)

if (CustomOptionHolder.randomGameStartPosition.getBool())
{
//Random spawn on game start

var airshipSpawn = new System.Collections.Generic.List<Vector3>(); //no spawns since it already has random spawns
// Random spawn on game start
if (CustomOptionHolder.randomGameStartToVents.getBool())
{
CachedPlayer.LocalPlayer.PlayerControl.transform.position = MapData.FindVentSpawnPositions().Random();
CachedPlayer.LocalPlayer.PlayerControl.NetTransform.RpcSnapTo
(MapData.FindVentSpawnPositions()[rnd.Next(MapData.FindVentSpawnPositions().Count)]);
}
else
{
CachedPlayer.LocalPlayer.PlayerControl.transform.position =
var SpawnPositions =
GameOptionsManager.Instance.currentNormalGameOptions.MapId switch
{
0 => MapData.SkeldSpawnPosition.Random(),
1 => MapData.MiraSpawnPosition.Random(),
2 => MapData.PolusSpawnPosition.Random(),
3 => MapData.DleksSpawnPosition.Random(),
4 => MapData.AirshipSpawnPosition.Random(),
5 => MapData.FungleSpawnPosition.Random(),
_ => CachedPlayer.LocalPlayer.PlayerControl.transform.position
0 => MapData.SkeldSpawnPosition,
1 => MapData.MiraSpawnPosition,
2 => MapData.PolusSpawnPosition,
3 => MapData.DleksSpawnPosition,
4 => MapData.AirshipSpawnPosition,
5 => MapData.FungleSpawnPosition,
_ => MapData.FindVentSpawnPositions()
};
CachedPlayer.LocalPlayer.PlayerControl.NetTransform.RpcSnapTo
(SpawnPositions[rnd.Next(SpawnPositions.Count)]);
}
}

Expand Down
2 changes: 1 addition & 1 deletion TheOtherRoles/Patches/PlayerControlPatch.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2162,7 +2162,7 @@ public static void Postfix(PlayerControl __instance, [HarmonyArgument(0)] Player
else if (RoleInfo.getRoleInfoForPlayer(target, false).FirstOrDefault().isNeutral) color = Color.blue;
}

Helpers.showFlash(color, 1.5f);
Helpers.showFlash(color, 1.75f);
}

// HideNSeek
Expand Down
25 changes: 15 additions & 10 deletions TheOtherRoles/RPC.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1849,8 +1849,10 @@ public static void setFutureShifted(byte playerId)

public static void disperse()
{
// AntiTeleport set position
AntiTeleport.setPosition();
Helpers.showFlash(Cleaner.color);

Helpers.showFlash(Palette.ImpostorRed);

if (AntiTeleport.antiTeleport.FindAll(x => x.PlayerId == CachedPlayer.LocalPlayer.PlayerControl.PlayerId).Count == 0 && !CachedPlayer.LocalPlayer.Data.IsDead)
{
Expand All @@ -1867,21 +1869,24 @@ public static void disperse()
};
if (Disperser.DispersesToVent)
{
CachedPlayer.LocalPlayer.PlayerControl.transform.position = MapData.FindVentSpawnPositions().Random();
CachedPlayer.LocalPlayer.PlayerControl.NetTransform.RpcSnapTo
(MapData.FindVentSpawnPositions()[rnd.Next(MapData.FindVentSpawnPositions().Count)]);
}
else
{
CachedPlayer.LocalPlayer.PlayerControl.transform.position =
var SpawnPositions =
GameOptionsManager.Instance.currentNormalGameOptions.MapId switch
{
0 => MapData.SkeldSpawnPosition.Random(),
1 => MapData.MiraSpawnPosition.Random(),
2 => MapData.PolusSpawnPosition.Random(),
3 => MapData.DleksSpawnPosition.Random(),
4 => MapData.AirshipSpawnPosition.Random(),
5 => MapData.FungleSpawnPosition.Random(),
_ => CachedPlayer.LocalPlayer.PlayerControl.transform.position
0 => MapData.SkeldSpawnPosition,
1 => MapData.MiraSpawnPosition,
2 => MapData.PolusSpawnPosition,
3 => MapData.DleksSpawnPosition,
4 => MapData.AirshipSpawnPosition,
5 => MapData.FungleSpawnPosition,
_ => MapData.FindVentSpawnPositions()
};
CachedPlayer.LocalPlayer.PlayerControl.NetTransform.RpcSnapTo
(SpawnPositions[rnd.Next(SpawnPositions.Count)]);
}
}
Disperser.remainingDisperses--;
Expand Down
7 changes: 0 additions & 7 deletions TheOtherRoles/TheOtherRoles.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,6 @@
<AmongUsLatest>F:\AmongUs\v2024.3.5</AmongUsLatest>
<AnalysisLevel>6.0</AnalysisLevel>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
</PropertyGroup>

<ItemGroup>
<EmbeddedResource Include="Resources\**" />
Expand Down

0 comments on commit da6e9a4

Please sign in to comment.