private void CharacterBody_HandleConstructTurret(On.RoR2.CharacterBody.orig_HandleConstructTurret orig, NetworkMessage netMsg) { switch (currentRule) { case 1: { SetToDefault(); break; } case 2: { SetToRail(); break; } case 3: { SetToMinigun(); break; } default: { if (lastWasRebar == false) { SetToRail(); lastWasRebar = true; Chat.SendBroadcastChat(new Chat.SimpleChatMessage { baseToken = "Next Turret will be: [Machine Gun]" }); } else { SetToMinigun(); lastWasRebar = false; Chat.SendBroadcastChat(new Chat.SimpleChatMessage { baseToken = "Next Turret will be: [Railgun]" }); } break; } } orig(netMsg); }
private void CharacterBody_HandleConstructTurret(On.RoR2.CharacterBody.orig_HandleConstructTurret orig, NetworkMessage netMsg) { var message = netMsg.ReadMessage<ConstructTurretMessage>(); netMsg.reader.SeekZero(); string turretType = "0"; CSteamID steamID = new CSteamID(); foreach (var item in PlayerCharacterMasterController.instances) { if (item.GetFieldValue<CharacterBody>("body") == message.builder.GetComponent<CharacterBody>()) { steamID = item.GetFieldValue<NetworkUser>("resolvedNetworkUserInstance").id.steamId; Debug.Log(steamID.value.ToString()); break; //NetworkUser.readOnlyInstancesList.First(p => p.); } } if (RoR2Application.isInSinglePlayer) { turretType = currentRule.ToString(); } else { if(steamID != null) { turretType = Facepunch.Steamworks.Client.Instance.Lobby.GetMemberData(steamID.value, "Turret"); } } if (turretType == "RailGun" || turretType == "2") { SetToRail(); } else if (turretType == "MiniGun" || turretType == "3") { SetToMinigun(); } else { SetToDefault(); } orig(netMsg); }