예제 #1
0
        public static void interpretMessageToEveryone(int messageCategory, string message, long who)
        {
            switch (messageCategory)
            {
            case 0:
                if (Game1.isFestival())
                {
                    Game1.otherFarmers[who].dancePartner = Game1.currentLocation.currentEvent.getActorByName(message);
                }
                Game1.currentLocation.currentEvent.getActorByName(message).hasPartnerForDance = true;
                break;

            case 1:
                if (Game1.isFestival())
                {
                    Game1.currentLocation.currentEvent.addItemToLuauSoup(new Object(Convert.ToInt32(message.Split(new char[]
                    {
                        ' '
                    })[0]), 1, false, -1, Convert.ToInt32(message.Split(new char[]
                    {
                        ' '
                    })[1])), Game1.otherFarmers[who]);
                }
                break;

            case 2:
                if (Game1.isFestival())
                {
                    Game1.CurrentEvent.setGrangeDisplayUser(message.Equals("null") ? null : Game1.getFarmer(who));
                }
                break;

            case 3:
                if (Game1.isFestival())
                {
                    string[] array = message.Split(new char[]
                    {
                        ' '
                    });
                    int num = Convert.ToInt32(array[0]);
                    if (array[1].Equals("null"))
                    {
                        Game1.CurrentEvent.addItemToGrangeDisplay(null, num, true);
                    }
                    else
                    {
                        Game1.CurrentEvent.addItemToGrangeDisplay(new Object(Convert.ToInt32(array[1]), Convert.ToInt32(array[2]), false, -1, 0), num, true);
                    }
                }
                break;

            case 4:
                Game1.CurrentEvent.grangeScore = Convert.ToInt32(message);
                Game1.ChatBox.receiveChatMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:MultiplayerUtility.cs.12488", new object[0]), -1L);
                Game1.CurrentEvent.interpretGrangeResults();
                break;

            case 5:
                if (!Game1.player.mailReceived.Contains(message))
                {
                    Game1.player.mailReceived.Add(message);
                }
                break;

            case 6:
                (Game1.getLocationFromName("CommunityCenter") as CommunityCenter).completeBundle(Convert.ToInt32(message));
                break;

            case 7:
                Game1.addMailForTomorrow(message, false, false);
                break;
            }
            if (Game1.IsServer)
            {
                MultiplayerUtility.sendMessageToEveryone(messageCategory, message, who);
            }
        }
예제 #2
0
파일: Stats.cs 프로젝트: s-yi/StardewValley
        public void checkForFriendshipAchievements()
        {
            uint numberOf5Level  = 0u;
            uint numberOf8Level  = 0u;
            uint numberOf10Level = 0u;

            foreach (Friendship value in Game1.player.friendshipData.Values)
            {
                if (value.Points >= 2500)
                {
                    numberOf10Level++;
                }
                if (value.Points >= 2000)
                {
                    numberOf8Level++;
                }
                if (value.Points >= 1250)
                {
                    numberOf5Level++;
                }
            }
            GoodFriends = numberOf8Level;
            if (numberOf5Level >= 20)
            {
                Game1.getAchievement(13);
            }
            if (numberOf5Level >= 10)
            {
                Game1.getAchievement(12);
            }
            if (numberOf5Level >= 4)
            {
                Game1.getAchievement(11);
            }
            if (numberOf5Level >= 1)
            {
                Game1.getAchievement(6);
            }
            if (numberOf10Level >= 8)
            {
                Game1.getAchievement(9);
            }
            if (numberOf10Level >= 1)
            {
                Game1.getAchievement(7);
            }
            Dictionary <string, string> cookingRecipes = Game1.content.Load <Dictionary <string, string> >("Data\\CookingRecipes");

            foreach (string s2 in cookingRecipes.Keys)
            {
                string[] getConditions2 = cookingRecipes[s2].Split('/')[3].Split(' ');
                if (getConditions2[0].Equals("f") && Game1.player.friendshipData.ContainsKey(getConditions2[1]) && Game1.player.friendshipData[getConditions2[1]].Points >= Convert.ToInt32(getConditions2[2]) * 250 && !Game1.player.cookingRecipes.ContainsKey(s2) && !Game1.player.hasOrWillReceiveMail(getConditions2[1] + "Cooking"))
                {
                    Game1.addMailForTomorrow(getConditions2[1] + "Cooking");
                }
            }
            Dictionary <string, string> craftingRecipes = Game1.content.Load <Dictionary <string, string> >("Data\\CraftingRecipes");

            foreach (string s in craftingRecipes.Keys)
            {
                string[] getConditions = craftingRecipes[s].Split('/')[4].Split(' ');
                if (getConditions[0].Equals("f") && Game1.player.friendshipData.ContainsKey(getConditions[1]) && Game1.player.friendshipData[getConditions[1]].Points >= Convert.ToInt32(getConditions[2]) * 250 && !Game1.player.craftingRecipes.ContainsKey(s) && !Game1.player.hasOrWillReceiveMail(getConditions[1] + "Crafting"))
                {
                    Game1.addMailForTomorrow(getConditions[1] + "Crafting");
                }
            }
        }
예제 #3
0
        public void checkForFriendshipAchievements()
        {
            uint num  = 0u;
            uint num2 = 0u;
            uint num3 = 0u;

            foreach (int[] expr_25 in Game1.player.friendships.Values)
            {
                if (expr_25[0] >= 2500)
                {
                    num3 += 1u;
                }
                if (expr_25[0] >= 2000)
                {
                    num2 += 1u;
                }
                if (expr_25[0] >= 1250)
                {
                    num += 1u;
                }
            }
            this.GoodFriends = num2;
            if (num >= 20u)
            {
                Game1.getAchievement(13);
            }
            if (num >= 10u)
            {
                Game1.getAchievement(12);
            }
            if (num >= 4u)
            {
                Game1.getAchievement(11);
            }
            if (num >= 1u)
            {
                Game1.getAchievement(6);
            }
            if (num3 >= 8u)
            {
                Game1.getAchievement(9);
            }
            if (num3 >= 1u)
            {
                Game1.getAchievement(7);
            }
            Dictionary <string, string> dictionary = Game1.content.Load <Dictionary <string, string> >("Data\\CookingRecipes");

            foreach (string current in dictionary.Keys)
            {
                string[] array = dictionary[current].Split(new char[]
                {
                    '/'
                })[3].Split(new char[]
                {
                    ' '
                });
                if (array[0].Equals("f") && Game1.player.friendships.ContainsKey(array[1]) && Game1.player.friendships[array[1]][0] >= Convert.ToInt32(array[2]) * 250 && !Game1.player.cookingRecipes.ContainsKey(current))
                {
                    Game1.addMailForTomorrow(array[1] + "Cooking", false, false);
                }
            }
        }
예제 #4
0
        // Token: 0x06000160 RID: 352 RVA: 0x0000F198 File Offset: 0x0000D398
        public static void interpretMessageToEveryone(int messageCategory, string message, long who)
        {
            switch (messageCategory)
            {
            case 0:
                if (Game1.isFestival())
                {
                    Game1.otherFarmers[who].dancePartner = Game1.currentLocation.currentEvent.getActorByName(message);
                }
                Game1.currentLocation.currentEvent.getActorByName(message).hasPartnerForDance = true;
                break;

            case 1:
                if (Game1.isFestival())
                {
                    Game1.currentLocation.currentEvent.addItemToLuauSoup(new Object(Convert.ToInt32(message.Split(new char[]
                    {
                        ' '
                    })[0]), 1, false, -1, Convert.ToInt32(message.Split(new char[]
                    {
                        ' '
                    })[1])), Game1.otherFarmers[who]);
                }
                break;

            case 2:
                if (Game1.isFestival())
                {
                    Game1.CurrentEvent.setGrangeDisplayUser(message.Equals("null") ? null : Game1.getFarmer(who));
                }
                break;

            case 3:
                if (Game1.isFestival())
                {
                    string[] parse = message.Split(new char[]
                    {
                        ' '
                    });
                    int position = Convert.ToInt32(parse[0]);
                    if (parse[1].Equals("null"))
                    {
                        Game1.CurrentEvent.addItemToGrangeDisplay(null, position, true);
                    }
                    else
                    {
                        Game1.CurrentEvent.addItemToGrangeDisplay(new Object(Convert.ToInt32(parse[1]), Convert.ToInt32(parse[2]), false, -1, 0), position, true);
                    }
                }
                break;

            case 4:
                Game1.CurrentEvent.grangeScore = Convert.ToInt32(message);
                Game1.ChatBox.receiveChatMessage("Your grange display has been judged. Return to Mayor Lewis for the result!", -1L);
                Game1.CurrentEvent.interpretGrangeResults();
                break;

            case 5:
                if (!Game1.player.mailReceived.Contains(message))
                {
                    Game1.player.mailReceived.Add(message);
                }
                break;

            case 6:
                (Game1.getLocationFromName("CommunityCenter") as CommunityCenter).completeBundle(Convert.ToInt32(message));
                break;

            case 7:
                Game1.addMailForTomorrow(message, false, false);
                break;
            }
            if (Game1.IsServer)
            {
                MultiplayerUtility.sendMessageToEveryone(messageCategory, message, who);
            }
        }