protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef) { CheatCmdRef.stAddFightHistory = new CSDT_CHEAT_ADD_FIGHTHISTORY(); CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo(); CheatCmdRef.stAddFightHistory.stFightRecord.bGameType = 6; CheatCmdRef.stAddFightHistory.stFightRecord.bPlayerCnt = 4; CheatCmdRef.stAddFightHistory.stFightRecord.bWinCamp = 1; CheatCmdRef.stAddFightHistory.stFightRecord.dwGameStartTime = (uint)CRoleInfo.GetCurrentUTCTime(); CheatCmdRef.stAddFightHistory.stFightRecord.dwGameTime = 0x3e8; for (int i = 0; i < 4; i++) { CheatCmdRef.stAddFightHistory.stFightRecord.astPlayerFightData[i].bHeroLv = 1; CheatCmdRef.stAddFightHistory.stFightRecord.astPlayerFightData[i].bPlayerLv = 1; CheatCmdRef.stAddFightHistory.stFightRecord.astPlayerFightData[i].bPlayerCamp = (i >= 2) ? ((byte)2) : ((byte)1); int id = UnityEngine.Random.Range(0, GameDataMgr.robotRookieHeroSkinDatabin.Count()); ResFakeAcntHero dataByIndex = GameDataMgr.robotRookieHeroSkinDatabin.GetDataByIndex(id); CheatCmdRef.stAddFightHistory.stFightRecord.astPlayerFightData[i].dwHeroID = dataByIndex.dwHeroID; StringHelper.StringToUTF8Bytes(i.ToString(), ref CheatCmdRef.stAddFightHistory.stFightRecord.astPlayerFightData[i].szPlayerName); if (i == 0) { CheatCmdRef.stAddFightHistory.stFightRecord.astPlayerFightData[i].ullPlayerUid = masterRoleInfo.playerUllUID; CheatCmdRef.stAddFightHistory.stFightRecord.astPlayerFightData[i].iPlayerLogicWorldID = MonoSingleton <TdirMgr> .GetInstance().SelectedTdir.logicWorldID; } else { CheatCmdRef.stAddFightHistory.stFightRecord.astPlayerFightData[i].ullPlayerUid = (ulong)i; CheatCmdRef.stAddFightHistory.stFightRecord.astPlayerFightData[i].iPlayerLogicWorldID = i; } } Singleton <CPlayerPvpHistoryController> .GetInstance().AddSelfRecordData(CheatCmdRef.stAddFightHistory.stFightRecord); return(CheatCommandBase.Done); }
private static void DoSelectAction(ref CFakePvPHelper.FakeHeroSelect fakeSelect) { if (!CFakePvPHelper.IsInSelectHero()) { return; } if (fakeSelect.changeHeroCount < fakeSelect.maxChangeHeroCount) { uint num2; if (fakeSelect.FakePlayer.dwAcntPvpLevel <= 6u) { int num = Random.Range(0, GameDataMgr.robotRookieHeroSkinDatabin.Count()); ResFakeAcntHero dataByIndex = GameDataMgr.robotRookieHeroSkinDatabin.GetDataByIndex(num); if (dataByIndex == null) { return; } num2 = dataByIndex.dwHeroID; while (CFakePvPHelper.ChosenHeroes.ContainsValue(dataByIndex.dwHeroID)) { num = Random.Range(0, GameDataMgr.robotRookieHeroSkinDatabin.Count()); dataByIndex = GameDataMgr.robotRookieHeroSkinDatabin.GetDataByIndex(num); if (dataByIndex == null) { return; } num2 = dataByIndex.dwHeroID; } } else { CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo(); int num3 = GameDataMgr.robotVeteranHeroSkinDatabin.Count(); int max = num3 + ((masterRoleInfo == null) ? 0 : masterRoleInfo.freeHeroList.get_Count()); int num = Random.Range(0, max); if (num < num3) { ResFakeAcntHero dataByIndex = GameDataMgr.robotVeteranHeroSkinDatabin.GetDataByIndex(num); if (dataByIndex == null) { return; } num2 = dataByIndex.dwHeroID; } else { num2 = masterRoleInfo.freeHeroList.get_Item(num - num3).dwFreeHeroID; } while (CFakePvPHelper.ChosenHeroes.ContainsValue(num2)) { num = Random.Range(0, max); if (num < num3) { ResFakeAcntHero dataByIndex = GameDataMgr.robotVeteranHeroSkinDatabin.GetDataByIndex(num); if (dataByIndex == null) { return; } num2 = dataByIndex.dwHeroID; } else { num2 = masterRoleInfo.freeHeroList.get_Item(num - num3).dwFreeHeroID; } } } CFakePvPHelper.ChosenHeroes.set_Item(fakeSelect.FakePlayer.ullUid, num2); fakeSelect.selectedHero = num2; fakeSelect.changeHeroCount++; RoomInfo roomInfo = Singleton <CHeroSelectBaseSystem> .get_instance().roomInfo; if (roomInfo == null) { return; } MemberInfo memberInfo = roomInfo.GetMemberInfo(fakeSelect.FakePlayer.ullUid); if (memberInfo != null && memberInfo.ChoiceHero[0] != null) { memberInfo.ChoiceHero[0].stBaseInfo.stCommonInfo.dwHeroID = num2; Singleton <CHeroSelectNormalSystem> .GetInstance().RefreshHeroPanel(false, true); } } else { if (fakeSelect.FakePlayer.dwAcntPvpLevel <= 6u) { ResFakeAcntHero dataByKey = GameDataMgr.robotRookieHeroSkinDatabin.GetDataByKey(fakeSelect.selectedHero); if (dataByKey != null && dataByKey.dwSkinID != 0u) { int num4 = Random.Range(0, 10000); if ((long)num4 < (long)((ulong)dataByKey.dwSkinRate)) { fakeSelect.selectedSkin = (int)dataByKey.dwSkinID; } } } else { ResFakeAcntHero dataByKey2 = GameDataMgr.robotVeteranHeroSkinDatabin.GetDataByKey(fakeSelect.selectedHero); if (dataByKey2 != null && dataByKey2.dwSkinID != 0u) { int num5 = Random.Range(0, 10000); if ((long)num5 < (long)((ulong)dataByKey2.dwSkinRate)) { fakeSelect.selectedSkin = (int)dataByKey2.dwSkinID; } } } ResFakeAcntSkill dataByKey3 = GameDataMgr.robotPlayerSkillDatabin.GetDataByKey(fakeSelect.FakePlayer.dwAcntPvpLevel); if (dataByKey3 != null) { int num6 = Random.Range(0, dataByKey3.SkillId.Length); while (dataByKey3.SkillId[num6] == 0u) { num6 = Random.Range(0, dataByKey3.SkillId.Length); } uint selectedPlayerSkill = dataByKey3.SkillId[num6]; fakeSelect.selectedPlayerSkill = selectedPlayerSkill; } fakeSelect.bConfirmed = true; CFakePvPHelper.HeroConfirmedPlayerNum++; RoomInfo roomInfo2 = Singleton <CRoomSystem> .GetInstance().roomInfo; MemberInfo memberInfo2 = roomInfo2.GetMemberInfo(fakeSelect.FakePlayer.ullUid); if (memberInfo2 != null && memberInfo2.ChoiceHero[0] != null) { memberInfo2.ChoiceHero[0].stBaseInfo.stCommonInfo.stSkill.dwSelSkillID = fakeSelect.selectedPlayerSkill; memberInfo2.isPrepare = true; Singleton <CHeroSelectNormalSystem> .GetInstance().RefreshHeroPanel(false, true); } if (CFakePvPHelper.HeroConfirmedPlayerNum == CFakePvPHelper.FakeHeroSelectList.get_Count() + 1) { CFakePvPHelper.ReqStartSingleWarmBattle(); } } }
private static void SelectHeroForEnemyPlayer(ref COMDT_HEROINFO heroInfo, uint playerLevel) { uint heroID = 0u; ushort wSkinID = 0; uint dwSelSkillID = 0u; if (playerLevel <= 6u) { int num = Random.Range(0, GameDataMgr.robotRookieHeroSkinDatabin.Count()); ResFakeAcntHero dataByIndex = GameDataMgr.robotRookieHeroSkinDatabin.GetDataByIndex(num); if (dataByIndex == null) { return; } heroID = dataByIndex.dwHeroID; while (CFakePvPHelper.EnemyChosenHeroes.FindIndex((uint x) => x == heroID) != -1) { num = Random.Range(0, GameDataMgr.robotRookieHeroSkinDatabin.Count()); dataByIndex = GameDataMgr.robotRookieHeroSkinDatabin.GetDataByIndex(num); if (dataByIndex == null) { return; } heroID = dataByIndex.dwHeroID; } if (dataByIndex != null && dataByIndex.dwSkinID != 0u) { int num2 = Random.Range(0, 10000); if ((long)num2 < (long)((ulong)dataByIndex.dwSkinRate)) { wSkinID = (ushort)dataByIndex.dwSkinID; } } } else { CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo(); if (masterRoleInfo == null) { return; } int num3 = GameDataMgr.robotVeteranHeroSkinDatabin.Count(); int max = num3 + ((masterRoleInfo == null) ? 0 : masterRoleInfo.freeHeroList.get_Count()); int num = Random.Range(0, max); if (num < num3) { ResFakeAcntHero dataByIndex = GameDataMgr.robotVeteranHeroSkinDatabin.GetDataByIndex(num); if (dataByIndex == null) { return; } heroID = dataByIndex.dwHeroID; } else { heroID = masterRoleInfo.freeHeroList.get_Item(num - num3).dwFreeHeroID; } while (CFakePvPHelper.EnemyChosenHeroes.FindIndex((uint x) => x == heroID) != -1) { num = Random.Range(0, max); if (num < num3) { ResFakeAcntHero dataByIndex = GameDataMgr.robotVeteranHeroSkinDatabin.GetDataByIndex(num); if (dataByIndex == null) { return; } heroID = dataByIndex.dwHeroID; } else { heroID = masterRoleInfo.freeHeroList.get_Item(num - num3).dwFreeHeroID; } } } ResFakeAcntSkill dataByKey = GameDataMgr.robotPlayerSkillDatabin.GetDataByKey(playerLevel); if (dataByKey != null) { int num4 = Random.Range(0, dataByKey.SkillId.Length); while (dataByKey.SkillId[num4] == 0u) { num4 = Random.Range(0, dataByKey.SkillId.Length); } dwSelSkillID = dataByKey.SkillId[num4]; } CFakePvPHelper.EnemyChosenHeroes.Add(heroID); heroInfo.stCommonInfo.dwHeroID = heroID; heroInfo.stCommonInfo.stSkill.dwSelSkillID = dwSelSkillID; heroInfo.stCommonInfo.wSkinID = wSkinID; }
private static void DoSelectAction(ref FakeHeroSelect fakeSelect) { if (IsInSelectHero()) { if (fakeSelect.changeHeroCount < fakeSelect.maxChangeHeroCount) { int id = 0; uint dwHeroID = 0; ResFakeAcntHero dataByIndex = null; if (fakeSelect.FakePlayer.dwAcntPvpLevel <= 6) { id = UnityEngine.Random.Range(0, GameDataMgr.robotRookieHeroSkinDatabin.Count()); dataByIndex = GameDataMgr.robotRookieHeroSkinDatabin.GetDataByIndex(id); if (dataByIndex == null) { return; } for (dwHeroID = dataByIndex.dwHeroID; ChosenHeroes.ContainsValue(dataByIndex.dwHeroID); dwHeroID = dataByIndex.dwHeroID) { id = UnityEngine.Random.Range(0, GameDataMgr.robotRookieHeroSkinDatabin.Count()); dataByIndex = GameDataMgr.robotRookieHeroSkinDatabin.GetDataByIndex(id); if (dataByIndex == null) { return; } } } else { CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo(); int num3 = GameDataMgr.robotVeteranHeroSkinDatabin.Count(); int max = num3 + ((masterRoleInfo == null) ? 0 : masterRoleInfo.freeHeroList.Count); id = UnityEngine.Random.Range(0, max); if (id < num3) { dataByIndex = GameDataMgr.robotVeteranHeroSkinDatabin.GetDataByIndex(id); if (dataByIndex == null) { return; } dwHeroID = dataByIndex.dwHeroID; } else { dwHeroID = masterRoleInfo.freeHeroList[id - num3].dwFreeHeroID; } while (ChosenHeroes.ContainsValue(dwHeroID)) { id = UnityEngine.Random.Range(0, max); if (id < num3) { dataByIndex = GameDataMgr.robotVeteranHeroSkinDatabin.GetDataByIndex(id); if (dataByIndex == null) { return; } dwHeroID = dataByIndex.dwHeroID; } else { dwHeroID = masterRoleInfo.freeHeroList[id - num3].dwFreeHeroID; } } } ChosenHeroes[fakeSelect.FakePlayer.ullUid] = dwHeroID; fakeSelect.selectedHero = dwHeroID; fakeSelect.changeHeroCount++; RoomInfo roomInfo = Singleton <CHeroSelectBaseSystem> .instance.roomInfo; if (roomInfo != null) { MemberInfo memberInfo = roomInfo.GetMemberInfo(fakeSelect.FakePlayer.ullUid); if ((memberInfo != null) && (memberInfo.ChoiceHero[0] != null)) { memberInfo.ChoiceHero[0].stBaseInfo.stCommonInfo.dwHeroID = dwHeroID; Singleton <CHeroSelectNormalSystem> .GetInstance().RefreshHeroPanel(false, true); } } } else { if (fakeSelect.FakePlayer.dwAcntPvpLevel <= 6) { ResFakeAcntHero hero2 = GameDataMgr.robotRookieHeroSkinDatabin.GetDataByKey(fakeSelect.selectedHero); if (((hero2 != null) && (hero2.dwSkinID != 0)) && (UnityEngine.Random.Range(0, 0x2710) < hero2.dwSkinRate)) { fakeSelect.selectedSkin = (int)hero2.dwSkinID; } } else { ResFakeAcntHero hero3 = GameDataMgr.robotVeteranHeroSkinDatabin.GetDataByKey(fakeSelect.selectedHero); if (((hero3 != null) && (hero3.dwSkinID != 0)) && (UnityEngine.Random.Range(0, 0x2710) < hero3.dwSkinRate)) { fakeSelect.selectedSkin = (int)hero3.dwSkinID; } } ResFakeAcntSkill dataByKey = GameDataMgr.robotPlayerSkillDatabin.GetDataByKey(fakeSelect.FakePlayer.dwAcntPvpLevel); if (dataByKey != null) { int index = UnityEngine.Random.Range(0, dataByKey.SkillId.Length); while (dataByKey.SkillId[index] == 0) { index = UnityEngine.Random.Range(0, dataByKey.SkillId.Length); } uint num8 = dataByKey.SkillId[index]; fakeSelect.selectedPlayerSkill = num8; } fakeSelect.bConfirmed = true; HeroConfirmedPlayerNum++; MemberInfo info5 = Singleton <CRoomSystem> .GetInstance().roomInfo.GetMemberInfo(fakeSelect.FakePlayer.ullUid); if ((info5 != null) && (info5.ChoiceHero[0] != null)) { info5.ChoiceHero[0].stBaseInfo.stCommonInfo.stSkill.dwSelSkillID = fakeSelect.selectedPlayerSkill; info5.isPrepare = true; Singleton <CHeroSelectNormalSystem> .GetInstance().RefreshHeroPanel(false, true); } if (HeroConfirmedPlayerNum == (FakeHeroSelectList.Count + 1)) { ReqStartSingleWarmBattle(); } } } }