public Texture2D GetChallengeTexture(ChallengeDataHolder.ChallangeType enChallenge)
 {
     if (enChallenge == ChallengeDataHolder.ChallangeType.Challenge01_SuperTrials)
     {
         return ChallengeMenu.txIconSlime;
     }
     return RenderMaster.txNullTex;
 }
 public Texture2D GetSmallGradeTexture(ChallengeDataHolder.Grade enGrade)
 {
     if (enGrade == ChallengeDataHolder.Grade.A)
     {
         return ChallengeMenu.txSmallGradeA;
     }
     if (enGrade == ChallengeDataHolder.Grade.B)
     {
         return ChallengeMenu.txSmallGradeB;
     }
     if (enGrade == ChallengeDataHolder.Grade.C)
     {
         return ChallengeMenu.txSmallGradeC;
     }
     return ChallengeMenu.txSmallGradeS;
 }
Beispiel #3
0
 public void StartChallange(ChallengeDataHolder.ChallangeType enType)
 {
     this.master.xSoundSystem.PlayInterfaceCue("Menu_Confirmed");
     if (enType == ChallengeDataHolder.ChallangeType.Challenge01_SuperTrials)
     {
         this.master._Level_PrepareSwitch(LevelBlueprint.GetBlueprint(Level.ZoneEnum.EvergrindArena01), 0, 1, -1, Level.ZoneEnum.None);
         this.master.xGameSessionData.hsActiveStringFlags.Add("EnterArena_Mos");
         this.master.xDialogueSystem.EndDialogueFinal();
         this.OnTrueExit();
         return;
     }
     if (enType == ChallengeDataHolder.ChallangeType.Challenge02_DodgeBall)
     {
         this.master._Level_PrepareSwitch(LevelBlueprint.GetBlueprint(Level.ZoneEnum.EvergrindArena01), 0, 2, -1, Level.ZoneEnum.None);
         this.master.xGameSessionData.hsActiveStringFlags.Add("EnterArena_Mos");
         this.master.xDialogueSystem.EndDialogueFinal();
         this.OnTrueExit();
         return;
     }
     if (enType == ChallengeDataHolder.ChallangeType.Challenge03_KingSlime)
     {
         this.master._Level_PrepareSwitch(LevelBlueprint.GetBlueprint(Level.ZoneEnum.EvergrindArena01), 0, 3, -1, Level.ZoneEnum.None);
         this.master.xGameSessionData.hsActiveStringFlags.Add("EnterArena_Mos");
         this.master.xDialogueSystem.EndDialogueFinal();
         this.OnTrueExit();
     }
 }
Beispiel #4
0
 public ChallengeListEntry(string sDisplayName, ChallengeDataHolder.ChallangeType enType, Texture2D txIcon, params string[] asDescription)
 {
     this.sDisplayName = sDisplayName;
     this.enType = enType;
     this.txIcon = txIcon;
     this.asDescription = asDescription;
 }
 public void Victory(ChallengeDataHolder.Grade enGrade)
 {
     if (this.bOpened)
     {
         return;
     }
     enGrade = ChallengeDataHolder.Grade.S;
     if (CAS.NetworkRole == NetworkHelperInterface.NetworkRole.Server)
     {
         base.SendNetworkInstruction(0, new float[0]);
     }
     RogueLikeMode.Room arg_35_0 = Program.game.xGameSessionData.xRogueLikeSession.xCurrentRoom;
     Program.game.xGlobalData.xLocalRoguelikeData.xStats.iChallengesCleared += 1u;
     ItemCodex.ItemTypes enType;
     if (RogueLikeMode.randNonSynched.Next(10) == 0)
     {
         enType = ItemCodex.ItemTypes._KeyItem_RoguelikeEssence;
     }
     else
     {
         enType = Program.game.xGameSessionData.xRogueLikeSession.GetRandomNiceTreasure();
     }
     Program.game._EntityMaster_AddItem(enType, this.v2SpawnItemAt, 0f, 1, new Vector2(0.2f, 0.8f) * 3f);
     base.OpenBlockades();
     this.iTimeSinceClear = 1;
     Game1 game = Program.game;
     game._RogueLike_OnChallengeClear();
     int iMultiplier = (int)(1 + enGrade);
     game.xLocalPlayer.xGUIStuff.iRoomClearCounter = 1;
     Program.game.xGameSessionData.xRogueLikeSession.xCurrentRoom.iReservedScore = (1 + (game.xGameSessionData.xRogueLikeSession.iCurrentFloor - 1) / 2) * 125 * iMultiplier;
     game.xGameSessionData.xRogueLikeSession.xCurrentRoom.enRoomGrade = enGrade;
     game.xLocalPlayer.xGUIStuff.xRoomCleared = game.xGameSessionData.xRogueLikeSession.xCurrentRoom;
 }
Beispiel #6
0
 public ChallengeResults(ChallengeDataHolder xDataHolder)
 {
     this.xDataHolder = xDataHolder;
     this.xRenderComponent = new ChallengeResultsRenderComponent(this);
 }
Beispiel #7
0
		public ChallengeRecordEntry(ChallengeDataHolder.GradeType enGradeType, ChallengeDataHolder.Grade enGradeValue, string sValue)
		{
			this.enGradeType = enGradeType;
			this.enGradeValue = enGradeValue;
			this.sValue = sValue;
		}
Beispiel #8
0
		public ChallengeRecordEntry(ChallengeDataHolder.GradeType enGradeType, ChallengeDataHolder.Grade enGradeValue, float fValue)
		{
			this.enGradeType = enGradeType;
			this.enGradeValue = enGradeValue;
			this.fValue = fValue;
		}
Beispiel #9
0
		public ChallengeRecordEntry(ChallengeDataHolder.GradeType enGradeType, ChallengeDataHolder.Grade enGradeValue, int iValue)
		{
			this.enGradeType = enGradeType;
			this.enGradeValue = enGradeValue;
			this.iValue = iValue;
		}
 public void RoomClear(ChallengeDataHolder.Grade enGrade)
 {
     Game1 game = Program.game;
     if (enGrade == ChallengeDataHolder.Grade.S)
     {
         Program.game.xGlobalData.xLocalRoguelikeData.xStats.iSRoomClears += 1u;
     }
     else if (enGrade == ChallengeDataHolder.Grade.A)
     {
         Program.game.xGlobalData.xLocalRoguelikeData.xStats.iARoomClears += 1u;
     }
     else if (enGrade == ChallengeDataHolder.Grade.B)
     {
         Program.game.xGlobalData.xLocalRoguelikeData.xStats.iBRoomClears += 1u;
     }
     else
     {
         Program.game.xGlobalData.xLocalRoguelikeData.xStats.iCRoomClears += 1u;
     }
     Program.game.xGameSessionData.xRogueLikeSession.xCurrentRoom.bCompleted = true;
     base.OpenBlockades();
     this.iTimeSinceClear = 1;
     float fTotalHealthPcnt = 0f;
     foreach (PlayerView x in Program.game.dixPlayers.Values)
     {
         fTotalHealthPcnt += (float)x.xEntity.xBaseStats.iHP / (float)x.xEntity.xBaseStats.iMaxHP;
     }
     fTotalHealthPcnt /= (float)Program.game.dixPlayers.Count;
     if (game.xGameSessionData.xRogueLikeSession.xCurrentFloor.enProposedBet != RogueLikeMode.RoomBaseBets.None)
     {
         Vector2 v2Pos = new Vector2(640f, 360f) / 2f;
         if (game.xGameSessionData.xRogueLikeSession.enCurrentRegion == Level.WorldRegion.FlyingFortress && game.xGameSessionData.xRogueLikeSession.xCurrentRoom.iRandSeed % 8 == 0 && !game.xGameSessionData.xRogueLikeSession.xCurrentRoom.enPropertyFlags.HasFlag(RogueLikeMode.Room.RoomProperties.RoomVarianceA))
         {
             v2Pos = new Vector2(451f, 138f);
         }
         game._EntityMaster_AddNPC(NPCCodex.NPCTypes.Halloween_HoodedMan, v2Pos);
         game.xSoundSystem.PlayCue("betman_appears", v2Pos);
         game._EffectMaster_AddEffect(new SortedAnimated(v2Pos, SortedAnimated.SortedAnimatedEffects.PoofEffectC));
     }
     else if (game.xGlobalData.WorldRelevantData.enActiveQuest != QuestCodex.QuestID._RogueLikeQuest_GrindeaChallenge02 && game.xGameSessionData.xRogueLikeSession.xCurrentRoom.enRoomType != RogueLikeMode.Room.RoomTypes.Boss && game.xGameSessionData.xRogueLikeSession.iLastFloorWithNurse < game.xGameSessionData.xRogueLikeSession.iCurrentFloor - 1 && game.xGameSessionData.xRogueLikeSession.iRoomsWithoutNurse > 5 && fTotalHealthPcnt < 0.9f && RogueLikeMode.randLevelLoadStuff.Next(game.xGameSessionData.xRogueLikeSession.iRoomsWithoutNurse) >= 3 + game.xGameSessionData.xRogueLikeSession.iCurrentFloor)
     {
         Vector2 v2Pos2 = new Vector2(640f, 360f) / 2f;
         if (game.xGameSessionData.xRogueLikeSession.enCurrentRegion == Level.WorldRegion.FlyingFortress && game.xGameSessionData.xRogueLikeSession.xCurrentRoom.iRandSeed % 8 == 0 && !game.xGameSessionData.xRogueLikeSession.xCurrentRoom.enPropertyFlags.HasFlag(RogueLikeMode.Room.RoomProperties.RoomVarianceA))
         {
             v2Pos2 = new Vector2(451f, 138f);
         }
         game.xGameSessionData.xRogueLikeSession.xCurrentRoom.enRoomType = RogueLikeMode.Room.RoomTypes.Nurse;
         game._EntityMaster_AddNPC(NPCCodex.NPCTypes.RogueLike_Nurse, v2Pos2);
         game._EffectMaster_AddEffect(new SortedAnimated(v2Pos2, SortedAnimated.SortedAnimatedEffects.PoofEffectC));
         game.xSoundSystem.PlayCue("nurse_appears", v2Pos2);
         game.xGameSessionData.xRogueLikeSession.iRoomsWithoutNurse = 0;
         game.xGameSessionData.xRogueLikeSession.iLastFloorWithNurse = game.xGameSessionData.xRogueLikeSession.iCurrentFloor;
     }
     else
     {
         game.xGameSessionData.xRogueLikeSession.iRoomsWithoutNurse++;
     }
     if (game.xGameSessionData.xRogueLikeSession.xCurrentFloor.enActiveBet != RogueLikeMode.RoomBaseBets.None && CAS.NetworkRole != NetworkHelperInterface.NetworkRole.Client)
     {
         Program.game._Trigger_HandleTriggerEvent(FlagCodex.FlagID._Roguelike_BetmanReward);
     }
     if (game.xGameSessionData.xRogueLikeSession.xCurrentRoom.enRoomType == RogueLikeMode.Room.RoomTypes.Boss)
     {
         if (game.xGameSessionData.xRogueLikeSession.enCurrentRegion == Level.WorldRegion.PillarMountains)
         {
             game.xSoundSystem.QueueSong("PillarMountains_Arcade");
         }
         else if (game.xGameSessionData.xRogueLikeSession.enCurrentRegion == Level.WorldRegion.EvergrindEast)
         {
             game.xSoundSystem.QueueSong("EvergrindFields_Arcade");
         }
         else if (game.xGameSessionData.xRogueLikeSession.enCurrentRegion == Level.WorldRegion.HalloweenForest)
         {
             game.xSoundSystem.QueueSong("HalloweenForest_Arcade");
         }
         else if (game.xGameSessionData.xRogueLikeSession.enCurrentRegion == Level.WorldRegion.HalloweenForest)
         {
             game.xSoundSystem.QueueSong("FlyingFortress");
         }
     }
     int iMultiplier = (int)(1 + enGrade);
     game.xLocalPlayer.xGUIStuff.iRoomClearCounter = 1;
     Program.game.xGameSessionData.xRogueLikeSession.xCurrentRoom.iReservedScore = (1 + (game.xGameSessionData.xRogueLikeSession.iCurrentFloor - 1) / 2) * 125 * iMultiplier;
     game.xGameSessionData.xRogueLikeSession.xCurrentRoom.enRoomGrade = enGrade;
     game.xLocalPlayer.xGUIStuff.xRoomCleared = game.xGameSessionData.xRogueLikeSession.xCurrentRoom;
     if (game.xGameSessionData.xRogueLikeSession.xCurrentRoom.enRoomType == RogueLikeMode.Room.RoomTypes.Boss)
     {
         Program.game._RogueLike_AddScore(game.xGameSessionData.xRogueLikeSession.iCurrentFloor * 2000, "Boss Defeated");
         if (enGrade == ChallengeDataHolder.Grade.S && game.xGameSessionData.xRogueLikeSession.xCurrentRoom.enBossEncounter == RogueLikeMode.Room.BossEncounters.Halloweed && game.xGlobalData.WorldRelevantData.enActiveQuest == QuestCodex.QuestID._RogueLikeQuest_HalloweedPollenForGardener)
         {
             Vector2 v2PosLol = new Vector2(640f, 360f) / 2f;
             if (this.lxEnemies.Count > 0)
             {
                 v2PosLol = this.lxEnemies[0].xTransform.v2Pos;
             }
             Program.game._EntityMaster_AddItem(ItemCodex.ItemTypes._Special_BloomoSeed, v2PosLol, 0f, 1, Utility.RandomizeVector2Direction(CAS.RandomInLogic));
             return;
         }
         if (game.xGameSessionData.xRogueLikeSession.xCurrentRoom.enBossEncounter == RogueLikeMode.Room.BossEncounters.RegularGigaSlime && game.xGlobalData.WorldRelevantData.enActiveQuest == QuestCodex.QuestID._RogueLikeQuest_OldmanRedGigaSlime)
         {
             CAS.LocalPlayer.xJournalInfo.xQuestLog.UpdateCheck_SpecialCondition(Objective_SpecialObjective.UniqueID._Arcade_RedGigaSlimeDefeated, true);
         }
     }
 }
Beispiel #11
0
 public ChallengeDataHolder(ChallengeDataHolder.ChallangeType enType)
 {
     this.enChallengeType = enType;
 }