예제 #1
0
 public override void OnTitanDown(string name, bool isLeaving)
 {
     if (!Round.IsWinning && !Round.IsLosing)
     {
         GameModes.CheckGameEnd();
     }
     if (this.CheckIsTitanAllDie())
     {
         GameModes.AntiReviveClear();
         Round.Wave++;
         if (FengGameManagerMKII.Level.RespawnMode == RespawnMode.NEWROUND && IN_GAME_MAIN_CAMERA.GameType == GameType.MultiPlayer)
         {
             FengGameManagerMKII.FGM.BasePV.RPC("respawnHeroInNewRound", PhotonTargets.All, new object[0]);
         }
         if (IN_GAME_MAIN_CAMERA.GameType == GameType.MultiPlayer)
         {
             FengGameManagerMKII.FGM.SendChatContentInfo(User.Wave(Round.Wave));
         }
         if (Round.Wave > MaxWave)
         {
             MaxWave = Round.Wave;
         }
         if (PhotonNetwork.IsMasterClient)
         {
             OnRequireStatus();
         }
         if (GameModes.MaxWave.Enabled ? Round.Wave > GameModes.MaxWave.GetInt(0) : Round.Wave > 20)
         {
             GameWin();
         }
         else
         {
             int rate = 90;
             if (FengGameManagerMKII.FGM.difficulty == 1)
             {
                 rate = 70;
             }
             if (!FengGameManagerMKII.Level.PunksEnabled)
             {
                 FengGameManagerMKII.FGM.SpawnTitansCustom(rate, Round.Wave + 2, false);
             }
             else
             {
                 if (Round.Wave % 5 == 0)
                 {
                     FengGameManagerMKII.FGM.SpawnTitansCustom(rate, Round.Wave / 5, true);
                 }
                 else
                 {
                     FengGameManagerMKII.FGM.SpawnTitansCustom(rate, Round.Wave + 2, false);
                 }
             }
         }
     }
 }