public override Action ImportantDialogueMessage(QuestData rawdata, TerraGuardian tg, int GuardianID, string GuardianModID)
        {
            PigQuestData data = (PigQuestData)rawdata;

            if (GuardianModID == MainMod.mod.Name)
            {
                if (NpcMod.HasGuardianNPC(GuardianBase.Leopold))
                {
                    switch (GuardianID)
                    {
                    case GuardianBase.Wrath:
                        data.MetPigs[WrathID] = true;
                        if (tg.FriendshipLevel >= 5 && !data.SolidificationRequestGiven[WrathID])
                        {
                            QuestStartedNotification(rawdata);
                            data.SolidificationRequestGiven[WrathID] = true;
                            //Wrath speaks about trying to find a way of solidifying his body.
                            return(new Action(WrathTellingYouAboutFormChanging));
                        }
                        break;

                    case GuardianBase.Joy:
                        data.MetPigs[HappinessID] = true;

                        /*if (tg.FriendshipLevel >= 5 && !data.SolidificationRequestGiven[HappinessID])
                         * {
                         *  QuestStartedNotification(rawdata);
                         *  data.SolidificationRequestGiven[HappinessID] = true;
                         *  //Solidifying quest
                         *  return new Action(WrathTellingYouAboutFormChanging);
                         * }*/
                        break;

                    case GuardianBase.Sadness:
                        data.MetPigs[SadnessID] = true;

                        /*if (tg.FriendshipLevel >= 5 && !data.SolidificationRequestGiven[SadnessID])
                         * {
                         *  QuestStartedNotification(rawdata);
                         *  data.SolidificationRequestGiven[SadnessID] = true;
                         *  //Solidifying quest
                         *  return new Action(WrathTellingYouAboutFormChanging);
                         * }*/
                        break;

                    case GuardianBase.Fear:
                        data.MetPigs[FearID] = true;
                        if (tg.FriendshipLevel >= 5 && !data.SolidificationRequestGiven[FearID])
                        {
                            QuestStartedNotification(rawdata);
                            data.SolidificationRequestGiven[FearID] = true;
                            //Solidifying quest
                            return(new Action(FearTellingYouAboutFormChanging));
                        }
                        break;
                    }
                }
            }
            return(base.ImportantDialogueMessage(data, tg, GuardianID, GuardianModID));
        }
Beispiel #2
0
 public override float SpawnChance(NPCSpawnInfo spawnInfo)
 {
     if (!NpcMod.HasMetGuardian(GuardianID, GuardianModID) && !NpcMod.HasGuardianNPC(GuardianID, GuardianModID) && !NPC.AnyNPCs(npc.type) && (Main.dayTime && !Main.eclipse && Main.time < 9 * 3600 && CanSpawnGreen()))
     {
         bool HasTree = false;
         for (int y = 0; y >= -4; y--)
         {
             for (int x = -2; x < 3; x++)
             {
                 int TileX = spawnInfo.spawnTileX + x, TileY = spawnInfo.spawnTileY + y;
                 int TreeSize = 0;
                 while (Main.tile[TileX, TileY].active() && Main.tile[TileX, TileY].type == Terraria.ID.TileID.Trees)
                 {
                     TreeSize++;
                     TileY--;
                 }
                 if (TreeSize >= 9)
                 {
                     HasTree = true;
                 }
             }
         }
         if (HasTree)
         {
             return(1f / 35);
         }
     }
     return(0);
 }
Beispiel #3
0
        public override string TalkMessage(Player player, TerraGuardian guardian)
        {
            List <string> Mes = new List <string>();

            if (!Main.dayTime)
            {
                Mes.Add("You know, i am afraid of being alone in a dark night, thats why i try to collect as many glowsticks when i see a jellyfish or buy some to that merchant old man.");
            }
            if (player.statManaMax > 20)
            {
                Mes.Add("I can sense your magic power is growing stronger, at least share some of those crystals the next time you have some to spare, after all i need to grow stronger too to achieve my objectives.");
            }
            Mes.Add("I hate the beach, the sand gets everywhere and my books end up ruined with the mix of sand and water.");
            Mes.Add("Once i tried to fish but i caught a tuna so big that when i tried to get him out of the water it almost swallowed me in one bite.");
            Mes.Add("when I grow up I will open a magic store or a bookstore or better yet, a magic bookstore");
            Mes.Add("I only take baths in the lakes and rivers, the sea water makes my body completely bristle, also in the sea are sharks.");
            Mes.Add("I heard that there are caves in this world where everything glows a deep blue color and giant mushrooms grow, you must take me to see that.");
            if (NpcMod.HasGuardianNPC(Miguel))
            {
                Mes.Add("That horse keep saying that i am weakling, when he is gonna get that i am not a fighter,i am a wizard, i train my mind, not my body.");
            }
            if (NpcMod.HasGuardianNPC(Minerva))
            {
                Mes.Add("I love that minerva joined us, she cooks really well and make some really tasty cookies for the tea time.");
            }
            if (NpcMod.HasGuardianNPC(Cinnamon))
            {
                Mes.Add("How i can I explain to cinnamon that I don't hate her but the spice of the same name?");
            }
            return(Mes[Main.rand.Next(Mes.Count)]);
        }
Beispiel #4
0
        public override string HomelessMessage(Player player, TerraGuardian guardian)
        {
            List <string> Mes = new List <string>();

            Mes.Add("*I think It is safe for me to build a shop here, but there is nowhere I can build it...*");
            Mes.Add("*It's no good to do business in the open, with slimes trying to eat my feet, and zombies trying to eat my brain.*");
            Mes.Add("*There is no kind of laws here, right? Then It's the best place for me to open a shop. If I had somewhere to open it.*");
            if (Main.raining)
            {
                Mes.Add("*A-a-a-aCHOOOOOO~!! This is horrible, have some dry place I can stay?*");
                Mes.Add("*My goods will all be ruined by the rain, and I think I blew a vein in my nose because of all the sneezing. Do you have some place I can stay?*");
            }
            if (!Main.dayTime)
            {
                Mes.Add("*I swear I saw something sneaking around me. Do you have a way safer place for me to stay?*");
                if (Main.bloodMoon)
                {
                    Mes.Add("*Look, I'm used to have a life of adrenaline, but this is way too much! *");
                }
            }
            if (NpcMod.HasGuardianNPC(Brutus))
            {
                Mes.Add("*Did [gn:" + Brutus + "] told you not to give me a house? Just don't listen to him. I can't open a shop without a shop.*");
            }
            return(Mes[Main.rand.Next(Mes.Count)]);
        }
Beispiel #5
0
        public override string TalkMessage(Player player, TerraGuardian guardian)
        {
            List <string> Mes = new List <string>();

            Mes.Add("*It fills me with joy, when I see people happy when eating my food.*");
            Mes.Add("*Have you been eating sufficiently latelly? I'm glad to hear that you are.*");
            Mes.Add("*I don't mind cooking for anyone, It actually fills me with joy.*");
            Mes.Add("*I would like to apologize to you for any noxious gas I release, but I really needed to check if the food was good for the people to eat.*");
            if (NpcMod.HasGuardianNPC(Zacks))
            {
                Mes.Add("*I don't know why you let [gn:3] live here. Whenever he shows up on my kitchen, he's salivating while looking at me. Is he planning to eat me?*");
            }
            if (NpcMod.HasGuardianNPC(Brutus))
            {
                Mes.Add("*Beside [gn:6] eats a lot, I don't mind cooking for him, because the stories he tells when I'm eating are interesting. I still want to know the rest of the story he told me last night.*");
            }
            if (NpcMod.HasGuardianNPC(Leopold))
            {
                Mes.Add("*I tried several times to offer food to [gn:10], but he always says that he conjures his own food and water.*");
            }
            if (NpcMod.HasGuardianNPC(Vladimir))
            {
                Mes.Add("*I think... I'm starting to like [gn:11]. He's very different from many guys I've met.*");
            }
            if (NpcMod.HasGuardianNPC(Malisha))
            {
                Mes.Add("*I refuse to cook for [gn:12]. Everytime I try making food for her, I end up tied to a chair, and spending the entire night being forced to drink awfully tasting potions.*");
            }
            return(Mes[Main.rand.Next(Mes.Count)]);
        }
Beispiel #6
0
        public override float SpawnChance(NPCSpawnInfo spawnInfo)
        {
            bool MaySpawn = !spawnInfo.water && !NpcMod.HasMetGuardian(1) && !NpcMod.HasGuardianNPC(1) && !NPC.AnyNPCs(npc.type);

            //return 0;
            return(MaySpawn ? 1 : 0f);
        }
Beispiel #7
0
 public override float SpawnChance(NPCSpawnInfo spawnInfo)
 {
     if (!spawnInfo.water && !NpcMod.HasGuardianNPC(GuardianID) && !NpcMod.HasMetGuardian(GuardianID) && spawnInfo.player.ZoneMeteor && NpcMod.RecruitNpcSpawnConditionCheck(spawnInfo) && !NPC.AnyNPCs(ModContent.NPCType <SmellyNPC>()))
     {
         return(1f / 6);
     }
     return(0);
 }
Beispiel #8
0
 public override float SpawnChance(NPCSpawnInfo spawnInfo)
 {
     if (!spawnInfo.water && Main.dayTime && !NpcMod.HasGuardianNPC(0) && !PlayerMod.PlayerHasGuardian(Main.player[Main.myPlayer], 0) && Main.time > 27000 && Main.time < 48600 && NpcMod.RecruitNpcSpawnConditionCheck(spawnInfo) && !NPC.AnyNPCs(ModContent.NPCType <RococoNPC>()))
     {
         return((float)(Main.time - 27000) * (1f / 432000 * 0.5f));
     }
     return(0);
 }
Beispiel #9
0
 public override float SpawnChance(NPCSpawnInfo spawnInfo)
 {
     if (spawnInfo.player.ZoneDungeon && !spawnInfo.water && !NpcMod.HasGuardianNPC(GuardianID, GuardianModID) && !NpcMod.HasMetGuardian(GuardianID, GuardianModID))
     {
         return(1f / 200);
     }
     return(0);
 }
Beispiel #10
0
 public override float SpawnChance(NPCSpawnInfo spawnInfo)
 {
     if (!spawnInfo.water && !NpcMod.HasGuardianNPC(GuardianBase.Alexander) && !NpcMod.HasMetGuardian(GuardianBase.Alexander) && AlexanderConditionMet &&
         spawnInfo.player.ZoneDungeon && !NPC.AnyNPCs(ModContent.NPCType <AlexanderNPC>()))
     {
         return(1f / 500);
     }
     return(0);
 }
Beispiel #11
0
 public override float SpawnChance(NPCSpawnInfo spawnInfo)
 {
     if (!spawnInfo.playerInTown && NpcMod.RecruitNpcSpawnConditionCheck(spawnInfo) && Main.dayTime && !Main.eclipse && !NpcMod.HasMetGuardian(GuardianID, GuardianModID) &&
         !NpcMod.HasGuardianNPC(GuardianID, GuardianModID) && !NPC.AnyNPCs(ModContent.NPCType <CilleNPC>()) && CanSpawn() &&
         Main.moonPhase != 0 && Main.moonPhase != 4)
     {
         return(1f / 200);
     }
     return(0);
 }
 public override Action ImportantDialogueMessage(QuestData data, TerraGuardian tg, int GuardianID, string GuardianModID)
 {
     if (GuardianModID == MainMod.mod.Name && GuardianID == GuardianBase.Blue)
     {
         if (NpcMod.HasGuardianNPC(GuardianBase.Zacks) && ((ZacksOutfitQuestData)data).QuestStep == 0)
         {
             return(new Action(BlueTellsYouAboutHerRequest));
         }
     }
     return(base.ImportantDialogueMessage(data, tg, GuardianID, GuardianModID));
 }
Beispiel #13
0
        public override string TalkMessage(Player player, TerraGuardian guardian)
        {
            List <string> Mes = new List <string>();

            Mes.Add("*I was a little kid when I got passion for tasty food.*");
            Mes.Add("*My name is the same of a seasoning, since I know. It's funny that my mom picked specifically that name to me.*");
            Mes.Add("*Once we had food shortage at home, because I cooked many different food with what we had at home... We had to eat apples for week.*");
            Mes.Add("*I wonder if my mom is worried about me...*");
            Mes.Add("*I heard from the Travelling Merchant that he travels through worlds, so I'm following him to meet new places, and find new kinds of foods.*");
            Mes.Add("*Every food tastes better with the right seasoning, but sometimes placing them is not necessary.*");
            bool HasSomeoneToTutorInCooking = false;

            if (NpcMod.HasGuardianNPC(Minerva))
            {
                Mes.Add("*I have been learning how to cook food at the right point from [gn:" + Minerva + "]. Even my food tastes better now.*");
                HasSomeoneToTutorInCooking = true;
            }
            if (NpcMod.HasGuardianNPC(Bree))
            {
                Mes.Add("*[gn:" + Bree + "] have been teaching me how to not exagerate when placing seasoning, so my food no longer feels over or under seasoned.*");
                HasSomeoneToTutorInCooking = true;
            }
            if (!HasSomeoneToTutorInCooking)
            {
                Mes.Add("*I'm looking for someone to more about cooking from. I wonder if this world has someone like that.*");
            }
            bool HasSomeoneToTasteFood = false;

            if (NpcMod.HasGuardianNPC(Brutus))
            {
                Mes.Add("*[gn:" + Brutus + "] sometimes eat of the food I made. He always compliments It.*");
                HasSomeoneToTasteFood = true;
            }
            if (NpcMod.HasGuardianNPC(Rococo))
            {
                Mes.Add("*[gn:" + Rococo + "] is always happy when he tastes my food, but I always have to reject his seasoning suggestions.*");
                HasSomeoneToTasteFood = true;
            }
            if (NpcMod.HasGuardianNPC(Vladimir))
            {
                Mes.Add("*I really like testing food with [gn:" + Vladimir + "], we chat about so many things when we do so.*");
                HasSomeoneToTasteFood = true;
            }
            if (!HasSomeoneToTasteFood)
            {
                Mes.Add("*I really don't have a second opinion about the food I cook... I can't know if what I cook is good if only I test It.*");
            }
            return(Mes[Main.rand.Next(Mes.Count)]);
        }
Beispiel #14
0
        public override string HasRequestMessage(Player player, TerraGuardian guardian)
        {
            List <string> Mes = new List <string>();

            Mes.Add("*Not everything I can get done by myself, so I need your help with this. Can you [objective]?*");
            if (!(guardian.request.Base is TravelRequestBase))
            {
                Mes.Add("*I have to go get some goods soon from one of my sources, so I can't do this meanwhile: [objective]. Would you be able to do this for me?*");
                if (NpcMod.HasGuardianNPC(Brutus))
                {
                    Mes.Add("*I need to stay here, in case \"someone\" tries to confiscate my goods. So please can you [objective] for me?*");
                }
            }
            return(Mes[Main.rand.Next(Mes.Count)]);
        }
Beispiel #15
0
        public override void UpdatePlayer(Player player, QuestData rawdata)
        {
            BreeStayQuestData data = (BreeStayQuestData)rawdata;

            if (data.QuestStep == 2)
            {
                if (!Main.dayTime && Main.time >= 1800 && NpcMod.HasGuardianNPC(GuardianBase.Bree) && !PlayerMod.HasGuardianSummoned(player, GuardianBase.Bree))
                {
                    TerraGuardian tg = NpcMod.GetGuardianNPCCharacter(GuardianBase.Bree);
                    if (tg.IsCompanionAtHome)
                    {
                        data.QuestStep = 3;
                        QuestCompletedNotification(data);
                    }
                }
            }
        }
Beispiel #16
0
 public override float SpawnChance(NPCSpawnInfo spawnInfo)
 {
     if (!spawnInfo.water && !NpcMod.HasBossSpawned && ((spawnInfo.player.position.Y < Main.worldSurface * 16 && !Main.dayTime && !Main.bloodMoon && !Main.pumpkinMoon && !Main.snowMoon && Main.invasionSize == 0) ||
                                                        (spawnInfo.player.position.Y >= Main.worldSurface * 16)) && !spawnInfo.playerSafe && !spawnInfo.playerInTown && CanGhostFoxSpawn(spawnInfo.player) &&
         !NpcMod.HasMetGuardian(16) && !NpcMod.HasGuardianNPC(16) && !NPC.AnyNPCs(npc.type))
     {
         for (int n = 0; n < 200; n++)
         {
             if (Main.npc[n].active && Terraria.ID.NPCID.Sets.TechnicallyABoss[n])
             {
                 return(0);
             }
         }
         return(GetSpawnRate);
     }
     return(0f);
 }
Beispiel #17
0
        public override string TalkMessage(Player player, TerraGuardian guardian)
        {
            List <string> Mes = new List <string>();

            Mes.Add("*My mom and I had to move out of a town once. I think It was because the citizens were way too good to me.*");
            Mes.Add("*Sometimes one of my feet starts to hurt, because I place most of my weight on it.*");
            Mes.Add("*I have to admit, I fell sometimes when trying to mantain this pose. That also explains why I'm missing a teeth.*");
            Mes.Add("*I'm pursuing my life time goal, I'm going to be a Miss North Pole. But I wonder, what should I pursue next when I achieve that?*");
            if (guardian.FriendshipLevel >= guardian.Base.CallUnlockLevel)
            {
                Mes.Add("*Don't blush, but I accompany you on your adventures because I like your company.*");
            }
            Mes.Add("*Do you think I'm naive? Too many people says that that's my problem. But I don't see myself as being naive.*");
            if (NPC.AnyNPCs(Terraria.ID.NPCID.Angler))
            {
                Mes.Add("*I worry about [nn:" + Terraria.ID.NPCID.Angler + "], what should I do If he feels sick? I don't have any idea of what being a Mom is.*");
                Mes.Add("*Do you think that I'm being a good mother to [nn:" + Terraria.ID.NPCID.Angler + "]? Sometimes I think I'm not...*");
                Mes.Add("*How you takes care of your children? Oh, you're single. Sorry that I asked...*");
                Mes.Add("*Being a mother is scary, most of the time I keep asking myself If what I'm doing is enough, or if is right.*");
            }
            if (NpcMod.HasGuardianNPC(1))
            {
                Mes.Add("*Don't you dare tell [gn:1], but I like what she has done to her hair.*");
            }
            if (NpcMod.HasGuardianNPC(2))
            {
                Mes.Add("*Sometimes when I'm alone talking with [gn:2], he looks to the side, and then says that has something else to do, and leaves.*");
                Mes.Add("*There were a few times where I tried to speak with [gn:2], but he seemed to be having difficulties to talk.*");
            }
            if (NpcMod.HasGuardianNPC(3))
            {
                Mes.Add("*I saw [gn:3] drolling earlier this day. I wonder why is that.*");
                Mes.Add("*I could swear that I heard a faint howling earlier. Are there wolves around?*");
            }
            if (NpcMod.HasGuardianNPC(5))
            {
                Mes.Add("*Oh great one! [gn:5] is so cute! Even more when we pet him and he turns upside down, so we can pet his belly.*");
            }
            if (NpcMod.HasGuardianNPC(6))
            {
                Mes.Add("*Everytime I ask [gn:6] to be my bodyguard, he insists on following me from behind, because most dangerous attacks comes from behind, or something.*");
                Mes.Add("*When someone smiles, is because It's happy. But what kind of facial expression [gn:6] does when looking at me?*");
            }
            return(Mes[Main.rand.Next(Mes.Count)]);
        }
Beispiel #18
0
        public override string TalkMessage(Terraria.Player player, TerraGuardian guardian)
        {
            List <string> Mes = new List <string>();

            Mes.Add("Say, do you think I need a change in my look?");
            Mes.Add("I keep wondering, what new thing we could add to improve the town.");
            Mes.Add("I have to say, I don't really feel like fitting for adventuring. I think I'm more into meeting new people.");
            if (NpcMod.HasGuardianNPC(GuardianBase.Nemesis))
            {
                Mes.Add("I asked [gn:" + GuardianBase.Nemesis + "] to follow me on an adventure, It followed me almost exactly like I moved. If I ran, It ran too. If I walked, It walked too. I felt so annoyed that I dismissed him.");
            }
            if (NpcMod.GetTerraGuardianNPCCount() >= 10)
            {
                Mes.Add("So many TerraGuardians around! I'm never sad or alone when one of them is around.");
            }
            if (NpcMod.GetTerraGuardianNPCCount() >= 5)
            {
                Mes.Add("I like the company of the TerraGuardians.");
            }
            return(Mes[Main.rand.Next(Mes.Count)]);
        }
Beispiel #19
0
        public override Action ImportantDialogueMessage(QuestData rawdata, TerraGuardian tg, int GuardianID, string GuardianModID)
        {
            PigQuestData data = (PigQuestData)rawdata;

            if (GuardianModID == MainMod.mod.Name)
            {
                if (NpcMod.HasGuardianNPC(GuardianBase.Leopold))
                {
                    switch (GuardianID)
                    {
                    case GuardianBase.Wrath:
                        data.MetPigs[WrathID] = true;
                        if (tg.FriendshipLevel >= 5 && !data.SolidificationRequestGiven[WrathID])
                        {
                            data.SolidificationRequestGiven[WrathID] = true;
                            //Wrath speaks about trying to find a way of solidifying his body.
                            return(new Action(WrathTellingYouAboutFormChanging));
                        }
                        break;
                    }
                }
            }
            return(base.ImportantDialogueMessage(data, tg, GuardianID, GuardianModID));
        }
Beispiel #20
0
        public override string NormalMessage(Player player, TerraGuardian guardian)
        {
            List <string> Mes = new List <string>();

            Mes.Add("*I'm loving my time here.*");
            Mes.Add("*(singing) Lalala...*");
            Mes.Add("*Hello [nickname], want something?*");
            Mes.Add("*Are you cooking something? I want to see your cooking secrets, teehee.*");
            Mes.Add("*Happiness is contagious, am I right?*");

            if (FlufflesBase.IsHauntedByFluffles(player))
            {
                Mes.Add("*Aahh!! There's a ghost on your back!!*");
            }

            if (!guardian.HasBuff(Terraria.ID.BuffID.WellFed))
            {
                Mes.Add("(Growl) *Oh, my stomach is complaining... Is " + (Main.dayTime ? "lunch" : "dinner") + " ready?*");
                Mes.Add("*I hate being hungry... I want to eat something...*");
                Mes.Add("*Ow... I think I should be cooking something to eat.*");
            }
            if (guardian.IsUsingToilet)
            {
                Mes.Clear();
                Mes.Add("*I'm quite busy doing the number 2 here... Go away, please.*");
                Mes.Add("*I really didn't wanted you to see me like this.*");
                Mes.Add("*I can't concentrate with you staring at me.*");
            }
            else if (Main.eclipse)
            {
                Mes.Add("*I'm sorry, but I really feel like locking myself inside my house now.*");
                Mes.Add("*Do you think I'll be safe if I lock myself in the toilet?*");
                Mes.Add("*Please, get those horrible creatures away!*");
            }
            else if (Main.dayTime)
            {
                if (!Main.raining)
                {
                    Mes.Add("*What a beautiful day.*");
                    Mes.Add("*I like seeing butterflies flying and critters around.*");
                }
                else
                {
                    Mes.Add("*Oh nice... It's raining... Well.... I'll take the day off.*");
                    Mes.Add("*Acho~! Sorry... I'm alergic to this weather.*");
                    Mes.Add("*I'm getting a bit drowzy...*");
                }
            }
            else
            {
                Mes.Add("*What a silent night.*");
                Mes.Add("*I think I saw something moving in the dark.*");
                Mes.Add("*It's too quiet, and that doesn't makes me feel okay.*");
            }
            if (guardian.IsPlayerRoomMate(player))
            {
                Mes.Add("*I love having you as my room mate. Your help when making the morning set will be very helpful.*");
                Mes.Add("*It's nice sharing the room with you.*");
            }
            //
            if (NpcMod.HasGuardianNPC(Rococo))
            {
                Mes.Add("*[gn:" + Rococo + "] helps me with testing food. He seems to enjoy that.*");
                Mes.Add("*Sometimes [gn:" + Rococo + "] brings trash, wanting me to add them to the food. I keep denying but he keeps bringing them.*");
            }
            if (NpcMod.HasGuardianNPC(Blue))
            {
                Mes.Add("*[gn:" + Blue + "] has a really cool hair.*");
            }
            if (NpcMod.HasGuardianNPC(Bree))
            {
                Mes.Add("*I were learning how to cook from [gn:" + Bree + "].*");
                Mes.Add("*[gn:" + Bree + "] isn't that much grumpy when you talk about something she likes.*");
            }
            if (NpcMod.HasGuardianNPC(Glenn))
            {
                Mes.Add("*Sometimes I play with [gn:" + Glenn + "]. I like that there's someone of my age around.*");
                Mes.Add("*There are some times where I don't like playing a game with [gn:" + Glenn + "], he can't accept when I win.*");
            }
            if (NpcMod.HasGuardianNPC(Brutus))
            {
                Mes.Add("*[gn:" + Brutus + "] told me not to wander on the outside alone... He said that I should call him when I'm going to do so. But I'm already a grown girl, I can take care of myself!*");
                Mes.Add("*I offered [gn:" + Brutus + "] some food earlier, It looked like he liked It.*");
            }
            if (NpcMod.HasGuardianNPC(Fluffles))
            {
                Mes.Add("*A lot of people seems to be scared of [gn:" + Fluffles + "], but I'm not.*");
            }
            if (NpcMod.HasGuardianNPC(Liebre))
            {
                Mes.Add("*I saw [gn:" + Liebre + "] watching me the other day. Am I going to die?*");
                Mes.Add("*It's so scary! Sometimes I'm playing around my house, I see [gn:" + Liebre + "] watching me. Is my time coming? I don't want to die!*");
            }
            if (NpcMod.HasGuardianNPC(Vladimir))
            {
                Mes.Add("*Sometimes, I ask [gn:" + Vladimir + "] to help me test food. He has an accurate taste for seasoning, he impresses me.*");
                Mes.Add("*I'm curious to meet [gn:" + Vladimir + "]'s brother. Is he as nice as him?*");
            }
            if (NpcMod.HasGuardianNPC(Mabel))
            {
                Mes.Add("*Why people keep staring at [gn:" + Mabel + "]? It's so weird.*");
                Mes.Add("*I asked [gn:" + Mabel + "] if she wanted to test the newest food I cooked, but she said she can't, or else she would gain weight.*");
            }
            if (NpcMod.HasGuardianNPC(Minerva))
            {
                Mes.Add("*I love hanging around with [gn:" + Minerva + "], we keep testing each other's meal, to see if we make the best ones.*");
                Mes.Add("*I actually don't exagerate when testing my meals, so you don't need to worry about me ending up like [gn:" + Minerva + "].*");
            }
            if (NpcMod.HasGuardianNPC(Zacks))
            {
                Mes.Add("*The other day, [gn:" + Zacks + "] was at my house and pulled my blanked! I woke up and screamed so loud that he run away.*");
                Mes.Add("*Sometimes, during the night, I see [gn:" + Zacks + "] staring through the window.*");
                Mes.Add("*I fear leaving my house at night, because [gn:" + Zacks + "] may be out there.*");
            }
            if (NpcMod.HasGuardianNPC(Miguel))
            {
                Mes.Add("*[gn:" + Miguel + "] gave me some tips of things I could use as alternative on my meals.*");
            }
            if (NpcMod.HasGuardianNPC(Green))
            {
                Mes.Add("*[gn:" + Green + "] is really scary! He always look at us with a menacing face, and looks like he can swallow me whole.*");
                Mes.Add("*I don't like getting sick or injured, because that means I'll have to visit [gn:" + Green + "].*");
            }
            //
            if (guardian.IsSleeping)
            {
                Mes.Clear();
                Mes.Add("*Nom nom nom nom nom nom...* (She seems to be dreaming about eating lots of food)");
                Mes.Add("*Zzzzz.... (Snif snif) Hmmm....* (She smelled something good.)");
                Mes.Add("*Zzzz... Zzzzzz..... More food.... Seasoning.... Eat.... Zzzzz...*");
            }
            if (Main.bloodMoon)
            {
                Mes.Clear();
                Mes.Add("*What now?!*");
                Mes.Add("*Don't you have someone else to bother?*");
                Mes.Add("*Enough!*");
                Mes.Add("*No! I wont cook for you!*");
            }
            return(Mes[Main.rand.Next(Mes.Count)]);
        }
Beispiel #21
0
        public override string NormalMessage(Player player, TerraGuardian guardian)
        {
            List <string> Mes = new List <string>();

            if (guardian.IsSleeping)
            {
                Mes.Add("(You noticed him sniffing a while, and then he slept with a smile on the face.\nI think he knows I'm near him.)");
                Mes.Add("*Snif.. Snif... " + player.name + " close... Zzzz...*");
                Mes.Add("(As he sleeps, he says the name of anyone who comes close to him, includding yours.)");
            }
            else if (guardian.IsUsingToilet)
            {
                Mes.Add("*Whatever It is, couldn't wait?*");
                Mes.Add("*[nickname], I'm trying to process some things here.*");
                Mes.Add("*Your presence here is making It harder for me to finish what I'm doing.*");
            }
            else
            {
                Mes.Add("*Any update on our little investigation?*");
                Mes.Add("*This mystery is making me intrigued. I've never found something like this before.*");
                Mes.Add("*Is there something you seek, [nickname]?*");
                Mes.Add("*Did you found the Terrarian we are looking for? I can't blame if you didn't, my description is really vague.*");

                Mes.Add("*I can identify anyone by sleuthing them, but not everyone may like that idea.*");
                Mes.Add("*Everytime I sleuth someone, I can replicate part of their strength.*");
                Mes.Add("*I can identify Terrarians by sleuthing them, but I don't get stronger by doing so.*");
                Mes.Add("*The only clue I've got from my investigation, is the scent of a unknown person that was at the place. I will find the one who has that scent.*");

                if (!Main.dayTime && !Main.bloodMoon)
                {
                    Mes.Add("*I have troubles getting into sleep, my head is always filled with thoughts when I get my head on the pillow.*");
                    Mes.Add("*The stars sometimes help me with my thoughts. Lying down on the ground and staring upwards has a mind opening effect.*");
                }
                else if (Main.dayTime && !Main.eclipse)
                {
                    if (Main.raining)
                    {
                        Mes.Add("*The sound of rain drops have a soothening effect.*");
                    }
                    else
                    {
                        Mes.Add("*I don't feel comfortable investigating while exposed to the sun, I get some annoying headaches when I do that.*");
                    }
                }

                if (NpcMod.HasGuardianNPC(Rococo))
                {
                    Mes.Add("*How old is [gn:" + Rococo + "]? It doesn't seems like he's that old.*");
                    Mes.Add("*I'm intrigued at how [gn:" + Rococo + "] lives his life. Maybe that's another mystery.*");
                }
                if (NpcMod.HasGuardianNPC(Blue))
                {
                    if (!NpcMod.HasGuardianNPC(Zacks))
                    {
                        Mes.Add("*[gn:" + Blue + "] came earlier wanting me to help her find someone. I'm trying to do something to help her, but that's delaying my personal investigation.*");
                        Mes.Add("*Looks like [gn:" + Blue + "] lost someone too... I wonder if It's the same as... No, certainly not...*");
                        Mes.Add("*I think I discovered some clue about [gn:" + Blue + "]'s missing person. I heard that seems to show up during Blood Moons, on the edges of the world. Better you be careful.*");
                    }
                    else
                    {
                        Mes.Add("*It's good to see that [gn:" + Blue + "] has found who she was looking for, but the result even I didn't expected.*");
                        Mes.Add("*I was shocked when I discovered [gn:" + Zacks + "] fate, but [gn:" + Blue + "]'s reception to that seems to be the reward by Itself.*");
                    }
                }
                if (NpcMod.HasGuardianNPC(Bree))
                {
                    if (!NpcMod.HasGuardianNPC(Sardine))
                    {
                        Mes.Add("*[gn:" + Bree + "] told me that she's looking for her husband. The only clue I got is that he were pursuing the King Slime. I think that may be dangerous, actually.*");
                    }
                }
                if (NpcMod.HasGuardianNPC(Mabel))
                {
                    Mes.Add("*I can't really stay in the same room as [gn:" + Mabel + "], she simply distracts me.*");
                    Mes.Add("*I wonder what kind of thing [gn:" + Mabel + "] would like... Wait, I shouldn't be thinking about that kind of thing.*");
                }
                if (NpcMod.HasGuardianNPC(Malisha))
                {
                    Mes.Add("*You should keep a closer eye to [gn:" + Malisha + "], she caused many troubles in the ether realm, on every village she came from.*");
                    Mes.Add("*Never speak with [gn:" + Malisha + "] during a Blood Moon. She catches anyone who tries speaking with her to force doing experiments on.*");
                }
                if (NpcMod.HasGuardianNPC(Wrath))
                {
                    Mes.Add("*A TerraGuardian fragmented into 4 emotions... Where could the others be...?*");
                }
                if (NpcMod.HasGuardianNPC(Brutus))
                {
                    Mes.Add("*Sometimes I hang around with [gn:" + Brutus + "], he sometimes gives me ideas for clues I need on my investigations.*");
                    Mes.Add("*I often have to ask [gn:" + Brutus + "] for help to try investigating some place.*");
                }
                if (NpcMod.HasGuardianNPC(Michelle))
                {
                    Mes.Add("*I sleuthed [gn:" + Michelle + "], and she's not the one I'm looking for.*");
                }
                if (NpcMod.HasGuardianNPC(Nemesis))
                {
                    Mes.Add("*I was unable to caught [gn:" + Nemesis + "] scent, no matter how hard I tried. I really hope he isn't the one I'm looking for.*");
                }
                if (NpcMod.HasGuardianNPC(Luna))
                {
                    if (HasAlexanderSleuthedGuardian(player, Luna))
                    {
                        Mes.Add("*[gn:" + Luna + "] is really furious about the fact that I know many things about her.*");
                    }
                    else
                    {
                        Mes.Add("*I will get to know [gn:" + Luna + "] more some time...*");
                    }
                }
                if (NpcMod.HasGuardianNPC(Green))
                {
                    Mes.Add("*It's really great having a medic around. Or at least one that knows how TerraGuardian bodies works.*");
                }
                if (guardian.IsPlayerRoomMate(player))
                {
                    Mes.Add("*Yeah, I don't mind sharing my room with you, as long as you have a bed for yourself.*");
                    Mes.Add("*You think I sleuth you during your sleep? What else do I need to discover about you?*");
                }
            }
            if (FlufflesBase.IsHauntedByFluffles(player) && Main.rand.NextDouble() < 0.75)
            {
                Mes.Clear();
                Mes.Add("*I don't mean to alarm you, but there is a ghost behind you.*");
            }
            return(Mes[Main.rand.Next(Mes.Count)]);
        }
Beispiel #22
0
 public override float SpawnChance(NPCSpawnInfo spawnInfo)
 {
     if (!spawnInfo.water && !NPC.AnyNPCs(ModContent.NPCType <VladimirNPC>()) && !NpcMod.HasGuardianNPC(GuardianID) && CanRecruitVladimir &&
         !PlayerMod.PlayerHasGuardianSummoned(spawnInfo.player, GuardianID) && spawnInfo.player.ZoneJungle && NpcMod.RecruitNpcSpawnConditionCheck(spawnInfo) &&
         Main.rand.Next(256 - (int)spawnInfo.player.position.Y / 1024) == 0)
     {
         return(1);
     }
     return(0);
 }
Beispiel #23
0
        public override string NormalMessage(Player player, TerraGuardian guardian)
        {
            List <string> Mes = new List <string>();

            Mes.Add("since I joined you I feel that I have become more powerful, if we continue like this soon we will be unstoppable.");
            Mes.Add("my master was a great sorcerer, I miss him a lot since I got here.");
            Mes.Add("what? What do you mean I look like a clown?.");
            Mes.Add("I am a bunny, not a rabbit or a hare, learn to distinguish them.");
            Mes.Add("this hat and this robe were gifts from my Master for my birthday.");
            Mes.Add("I am amazed at the amount of mysteries that still remain to be unveiled in this new world.");

            if (Main.bloodMoon)
            {
                Mes.Add("Did the moon just turn red? I hope nothing bad happens tonight.");
                Mes.Add("What are those scary things? as if zombies weren't bad enough.");
                Mes.Add("even the water looks scary tonight.");
            }
            if (Main.eclipse)
            {
                Mes.Add("The only thing that terrifies me more than a dark night is when it's just as dark during the day.");
                Mes.Add("You saw the size of that thing, I hope it doesn't come any closer to us.");
                Mes.Add("some of these monsters look like the ones in horror movies my master used to watch.");
            }
            switch (Main.invasionType)
            {
            case Terraria.ID.InvasionID.PirateInvasion:
                Mes.Add("I always knew that the Pale Pirate would come seeking revenge for stealing his treasure.");
                Mes.Add("don't let the Pale Pirate capture me please.");
                break;
            }
            if (guardian.GetTileCount(Terraria.ID.TileID.MinecartTrack) > 0)
            {
                Mes.Add("this reminds me when me and my master got on the Tricky Train to try to stop it before it fell off a ravine.");
            }
            if (guardian.HasNpcBeenSpotted(Terraria.ID.NPCID.Guide))
            {
                Mes.Add("That man always dresses in such a boring way, wasn't there more striking clothes in his closet?.");
            }
            if (guardian.HasNpcBeenSpotted(Terraria.ID.NPCID.Merchant))
            {
                Mes.Add("I love that old man, he is very nice to me and he sells that blue juice that makes me feel like I regain my powers with every sip.");
            }
            if (guardian.HasNpcBeenSpotted(Terraria.ID.NPCID.Wizard))
            {
                Mes.Add("Finally i find another wizard here, I hope that he is willing to teach me more about magic.");
            }
            if (NpcMod.HasGuardianNPC(Leopold))
            {
                Mes.Add("when i asked leopold if he wanted to help me my magic show, he didn't speak to me for a week, I don't know why he got so upset.");
                Mes.Add(" Is nice to see another bunny after so much time");
            }
            if (Terraria.GameContent.Events.BirthdayParty.PartyIsUp)
            {
                Mes.Add("I really love parties, nothing better than filling my stomach with cake.");
            }
            bool Forest = guardian.ZoneOverworldHeight;

            if (guardian.ZoneHoly)
            {
                Forest = false;
                Mes.Add("Hmm those colorful trees look like cotton candy, can I try one?.");
                Mes.Add("I tried to pet one of those unicorns and it almost attacked me with its horn.");
            }
            if (guardian.ZoneCorrupt || guardian.ZoneCrimson)
            {
                Forest = false;
                Mes.Add("this place looks even more scary than forest on night.");
                Mes.Add("I feel very observed and not in a good way.");
            }
            if (guardian.ZoneSnow)
            {
                Forest = false;
                Mes.Add("with this cold my mustache freezes.");
                Mes.Add("Brrr... my robe is not thick enough to shelter me from this cold.");
            }
            if (guardian.ZoneJungle)
            {
                Forest = false;
                Mes.Add("why are we here? It is full of carnivorous plants and bats everywhere.");
            }
            if (guardian.ZoneDungeon)
            {
                Mes.Add("this place only brings back bad memories.");
            }
            if (Forest)
            {
                Mes.Add("I always try to talk to the rabbits around here but they seem to be very shy.");
            }
            if (Main.raining)
            {
                Mes.Add("If I can't find a place to shelter from this rain, my robe will shrink.");
            }

            return(Mes[Main.rand.Next(Mes.Count)]);
        }
Beispiel #24
0
 public override float SpawnChance(NPCSpawnInfo spawnInfo)
 {
     if (!spawnInfo.water && NpcMod.RecruitNpcSpawnConditionCheck(spawnInfo) && !spawnInfo.playerInTown && !NpcMod.HasGuardianNPC(GuardianID) && !NpcMod.HasMetGuardian(GuardianID) && CanSpawnDomino(spawnInfo.player) && !NPC.AnyNPCs(ModContent.NPCType <DominoNPC>()))
     {
         return(0.00390625f);
     }
     return(0);
 }
Beispiel #25
0
        public override string NormalMessage(Player player, TerraGuardian guardian)
        {
            List <string> Mes        = new List <string>();
            bool          SardineMet = PlayerMod.PlayerHasGuardian(player, GuardianBase.Sardine),
                          BreeMet    = PlayerMod.PlayerHasGuardian(player, GuardianBase.Bree);

            if (guardian.IsUsingToilet)
            {
                Mes.Add("Aaahh! Go away! This is my private time!");
                Mes.Add("I can't really concentrate on what I'm doing with you watching me.");
                Mes.Add("I know how to use toilet, [nickname].");
            }
            else
            {
                Mes.Add("I have read too many books, so now I'm having to use glasses to see far away places.");
                Mes.Add("What kind of books do you like, [nickname]?");
                Mes.Add("Do you like games?");
                Mes.Add("[nickname], want something?");
                Mes.Add("Yes, [nickname]?");
                if (SardineMet && BreeMet)
                {
                    Mes.Add("I'm so glad that Mom and Dad are around. I wonder when we'll go back home.");
                    Mes.Add("I can't really recall which world we lived on. I've been in many places, and It's too much for my head.");
                    Mes.Add("Has mom and dad been arguing? They generally cooldown after a while.");
                    Mes.Add("I don't get why people consider Mom and Dad like Good and Evil. I don't think either of them are evil.");
                }
                else if (SardineMet)
                {
                    Mes.Add("After I told my dad that mom is out there looking for him, he begun searching for her too.");
                    Mes.Add("I'm glad to have dad around, but I kind of miss mom...");
                    Mes.Add("I wonder where could mom be. Even dad is looking for her.");
                }
                else if (BreeMet)
                {
                    Mes.Add("Mom told me that had no success finding dad. I hope he's fine.");
                    Mes.Add("Mom always stares at the window during the night, with sad look in her eyes. I think she's expecting dad to show up.");
                    Mes.Add("Mom has been looking for dad all around latelly.");
                }
                if (NpcMod.HasGuardianNPC(Bree))
                {
                    Mes.Add("Mom is kind of grumpy, buy she's not angry at you.");
                    Mes.Add("Mom seems to expect us returning home any time soon, that's why she didn't unpacked her things.");
                }
                if (NpcMod.HasGuardianNPC(Sardine))
                {
                    if (GuardianBountyQuest.SardineTalkedToAboutBountyQuests)
                    {
                        Mes.Add("Dad is really happy with his bounty business, but It seems quite dangerous.");
                    }
                    Mes.Add("My dad is the strongest warrior I know. Or was.");
                    Mes.Add("Dad promissed mom that he would bring lots of treasures home. I didn't see any trace of that.");
                }
                if (Main.dayTime)
                {
                    if (Main.eclipse)
                    {
                        Mes.Add("(Eating popcorn, while watching the monsters running around.)");
                        Mes.Add("It feels like being in a horror movie!");
                        Mes.Add("Those monsters doesn't look that scary on the tv. Here, otherwise...");
                    }
                    else
                    {
                        if (!Main.raining)
                        {
                            Mes.Add("Enjoying the sun, [nickname]?");
                        }
                        else
                        {
                            Mes.Add("Playing in the rain, [nickname]?");
                        }
                        Mes.Add("I tried to stare at the sun once. It was a horrible idea. I don't recommend doing that though, even more if you use glasses.");
                        Mes.Add("Hey [nickname], wanna play a game?");
                    }
                }
                else
                {
                    if (Main.bloodMoon)
                    {
                        Mes.Add("Why are the women in this world so scary this night?");
                        Mes.Add("[nickname], I'm scared.");
                        Mes.Add("This night is waaaaay too scary for me!");
                        Mes.Add("Why is the moon red?");
                    }
                    else
                    {
                        Mes.Add("I'm enjoying the gentle wind of the night.");
                        Mes.Add("I could read a book during this night, or play some game.");
                        if (Main.moonPhase != 4)
                        {
                            Mes.Add("The moon is soooooooooo brighty...");
                        }
                        else
                        {
                            Mes.Add("Where did the moon go?");
                        }
                    }
                }
                if (Main.raining)
                {
                    Mes.Add("I can't stand rain. If I spend a few minutes in It, I start to sneeze.");
                    Mes.Add("I like the sounds of rain drops falling around.");
                    Mes.Add("The thunder sounds really scares me out. They make the fur of my entire body rise.");
                }
                if (NpcMod.HasGuardianNPC(Rococo))
                {
                    Mes.Add("[gn:" + Rococo + "] and I like to play in the forest.");
                    Mes.Add("I understand that [gn:" + Rococo + "] is really bad at hide and seek...");
                }
                if (NpcMod.HasGuardianNPC(Blue))
                {
                    Mes.Add("[gn:" + Blue + "] is actually really nice to me. I wonder why she sometimes shows her teeth when talking to me.");
                    if (NpcMod.HasGuardianNPC(Sardine))
                    {
                        Mes.Add("I've seen my dad defeating many kinds of scary creatures when I was a kid, but why does he let [gn:" + Blue + "] chew him?");
                        Mes.Add("Why does [gn:" + Blue + "] always keeps chasing my dad? Did he do something to her?");
                        if (NpcMod.HasGuardianNPC(Bree))
                        {
                            Mes.Add("It's not unusual seeing mom getting into a discussion with [gn:" + Blue + "], because of her chewing dad.");
                            Mes.Add("Mom always keeps looking around, whenever dad is around, and [gn:" + Blue + "] is nearby.");
                        }
                    }
                }
                if (NpcMod.HasGuardianNPC(Zacks))
                {
                    Mes.Add("[gn:" + Zacks + "] is so scary... Even his smile when looking at me freaks me out!");
                    Mes.Add("I think [gn:" + Zacks + "] follows me around when I'm alone. I can hear him moving, and his groaning. I try locking myself at home when that happens.");
                    Mes.Add("The other day, [gn:" + Zacks + "] surged from the floor right in front of me. I ran away soooo fast after that happened!");
                    if (NpcMod.HasGuardianNPC(Sardine))
                    {
                        Mes.Add("Help! My dad! Is being chased by [gn:" + Zacks + "]!!!");
                        Mes.Add("I just saw [gn:" + Zacks + "] pull my dad using something he pulled from his chest!");
                        Mes.Add("My dad keeps getting chased by [gn:" + Zacks + "] about everyday. He always returns home fine, but smelly and a bit wounded.");
                        if (NpcMod.HasGuardianNPC(Bree))
                        {
                            Mes.Add("I told mom about dad being chased by [gn:" + Zacks + "], but she looked as spooked as me!");
                        }
                    }
                }
                if (NpcMod.HasGuardianNPC(Fluffles))
                {
                    Mes.Add("I sometimes like having [gn:" + Fluffles + "] company around.");
                    Mes.Add("The other day, I was collecting rocks in the forest, until a Demon Eye appeared. [gn:" + Fluffles + "] appeared and saved me.");
                    Mes.Add("I don't feel scared when I discover that [gn:" + Fluffles + "] is on my shoulder.");
                    Mes.Add("Sometimes I read books alongside [gn:" + Fluffles + "].");
                    if (NpcMod.HasGuardianNPC(Sardine))
                    {
                        if (NpcMod.HasGuardianNPC(Blue))
                        {
                            Mes.Add("Everytime [gn:" + Blue + "] begins chasing my dad, [gn:" + Fluffles + "] joins her. Dad is really out of luck.");
                            Mes.Add("It's really hard for dad to run away from [gn:" + Fluffles + "] during the day, since barelly can see her.");
                            Mes.Add("Sometimes dad arrives home after being chased, and discover that [gn:" + Fluffles + "] is on his shoulder when I tell him...");
                        }
                    }
                }
                if (NpcMod.HasGuardianNPC(Alex))
                {
                    Mes.Add("I like playing with [gn:" + Alex + "], but he sometimes asks if I want to play when I'm busy reading or playing...");
                    Mes.Add("I wonder if you play with [gn:" + Alex + "] too, sometimes.");
                }
                if (NpcMod.HasGuardianNPC(Mabel))
                {
                    Mes.Add("Why a lot of people stops whatever they are doing, to stare [gn:" + Mabel + "] when she passes through?");
                    if (NPC.AnyNPCs(Terraria.ID.NPCID.Angler))
                    {
                        Mes.Add("I don't like [nn:" + Terraria.ID.NPCID.Angler + "], but I only play with him because [gn:" + Mabel + "] asked.");
                    }
                }
                if (NpcMod.HasGuardianNPC(Brutus))
                {
                    Mes.Add("Do you think some day I'll be as big as [gn:" + Brutus + "]?");
                    Mes.Add("[gn:" + Brutus + "] told me the other day that I don't need to worry, because he'll protect me. From what I heard, he also said that to many people.");
                }
                if (NpcMod.HasGuardianNPC(Vladimir))
                {
                    Mes.Add("At first, I thought [gn:" + Vladimir + "] was a big and scary guy, until he talked to me. Now we're best friends.");
                    Mes.Add("No matter what's happening around, [gn:" + Vladimir + "] is always smiling. I wonder what makes him smile so much.");
                    Mes.Add("Whenever I'm sad, I get a hug from [gn:" + Vladimir + "]. I always feel better later.");
                }
                if (NpcMod.HasGuardianNPC(Minerva))
                {
                    Mes.Add("[gn:" + Minerva + "] told me to eat lots so I can grow up strong like my parents.");
                    Mes.Add("I like the food [gn:" + Minerva + "] makes, but I really dislike when my food involves broccolis.");
                }
                if (NpcMod.HasGuardianNPC(Malisha))
                {
                    Mes.Add("Everyone keeps telling me to stay away from [gn:" + Malisha + "]'s place, but she doesn't seems like that bad of a person.");
                    Mes.Add("I saw [gn:" + Malisha + "] the other day by her house, she was offering me candies. I didn't accepted them, because I just lunched.");
                }
                if (NpcMod.HasGuardianNPC(Green))
                {
                    Mes.Add("*I don't mind visiting [gn:" + Green + "] when I'm sick. Even though he looks scary, he always give me a lolipop at the end of the visit.*");
                }

                if (guardian.IsPlayerRoomMate(player))
                {
                    Mes.Add("*I don't mind sharing the room with you, but I want a bed for myself.*");
                    Mes.Add("*It's cool to have you as a room mate, we could play games until morning comes.*");
                }
            }
            if (FlufflesBase.IsHauntedByFluffles(player) && Main.rand.NextDouble() < 0.75)
            {
                Mes.Clear();
                Mes.Add("*Aaaah! Ghost!*");
            }
            return(Mes[Main.rand.Next(Mes.Count)]);
        }
Beispiel #26
0
        public override string GetSpecialMessage(string MessageID)
        {
            switch (MessageID)
            {
            case MessageIDs.BuddySelected:
                return("*You choose me as your buddy? I'm so happy!*");

            case MessageIDs.RescueMessage:
                return("*I'm tending to your wounds, don't worry.*");

            case MessageIDs.GuardianWokeUpByPlayerMessage:
                if (Main.rand.NextDouble() < 0.5f)
                {
                    return("*Oooohh... Okay... I'm awaken... Do you need something...?*");
                }
                return("*Yawnn... I'm so sleepy... What do you need, [nickname]?*");

            case MessageIDs.GuardianWokeUpByPlayerRequestActiveMessage:
                if (Main.rand.NextDouble() < 0.5f)
                {
                    return("*Yes.. I'm waking up... Is It about my request?*");
                }
                return("*Zzzz... Oh! Ah... Uh... Oh...! Did you complete my request?*");

            //
            case MessageIDs.AfterAskingCompanionToJoinYourGroupSuccess:
                if (NpcMod.HasGuardianNPC(Brutus) && Main.rand.NextDouble() < 0.33)
                {
                    return("*I think [gn:" + Brutus + "] wont feel angry at me if I accompany you on your quest.*");
                }
                if (Main.rand.NextDouble() < 0.5)
                {
                    return("*Travel the world with you? Yes, let's go!*");
                }
                return("*Yes! That sounds so fun... Can I gather some ingredients on the way?*");

            case MessageIDs.AfterAskingCompanionToJoinYourGroupFullParty:
                return("*There's way too many people following you, I'd feel cramped in there.*");

            case MessageIDs.AfterAskingCompanionToJoinYourGroupFail:
                if (Main.rand.NextDouble() < 0.5)
                {
                    return("*I... Don't really trust you... Right now...*");
                }
                return("*Sorry, but... No...*");

            case MessageIDs.AfterAskingCompanionToLeaveYourGroupAskIfYoureSure:
                return("*But this place is dangerous! How can I make It home from here? Do you really want to make me leave the group here?*");

            case MessageIDs.AfterAskingCompanionToLeaveYourGroupSuccessAnswer:
                return("*Alright, I'll be heading home, then.*");

            case MessageIDs.AfterAskingCompanionToLeaveYourGroupYesAnswerDangerousPlace:
                if (NpcMod.HasGuardianNPC(Brutus))
                {
                    return("*... I really wish [gn:" + Brutus + "] was here now...*");
                }
                return("*...Fine... I'll see if I can reach home alive..*");

            case MessageIDs.AfterAskingCompanionToLeaveYourGroupNoAnswer:
                return("*More travelling! Yay!*");

            case MessageIDs.RequestAccepted:
                return("*Thank you! Tell me when you get It done.*");

            case MessageIDs.RequestCantAcceptTooManyRequests:
                return("*Don't you have too many things to do?*");

            case MessageIDs.RequestRejected:
                return("*Aww....*");

            case MessageIDs.RequestPostpone:
                return("*Later? Fine, it can wait then.*");

            case MessageIDs.RequestFailed:
                return("*It seems like you couldn't do it, then... (You see tears rolling down from her eyes)*");

            case MessageIDs.RequestAsksIfCompleted:
                return("*My request? Did you do it?*");

            case MessageIDs.RequestRemindObjective:
                return("*Huh? I asked you to [objective]. Was that what you were wanting to know?*");

            case MessageIDs.RestAskForHowLong:
                return("*My feet are hurting, so I could really use some rest. How long we'll rest?*");

            case MessageIDs.RestNotPossible:
                return("*This isn't a good moment to do that.*");

            case MessageIDs.RestWhenGoingSleep:
                return("*I think I can use my tail as a kind of blanket.*");

            case MessageIDs.AskPlayerToGetCloserToShopNpc:
                return("*That looks interesting! Let's check [shop]'s shop.*");

            case MessageIDs.AskPlayerToWaitAMomentWhileCompanionIsShopping:
                return("*I want one of this, and one of that, and...*");

            case MessageIDs.GenericYes:
                return("*Yeah!*");

            case MessageIDs.GenericNo:
                return("*Nay~....*");

            case MessageIDs.GenericThankYou:
                return("*Thank you!*");

            case MessageIDs.GenericNevermind:
                return("*Nevermind then.*");

            case MessageIDs.ChatAboutSomething:
                return("*Do you want to chat? It's good so I can take a little break. What do you want to know?*");

            case MessageIDs.NevermindTheChatting:
                return("*Alright, anything else?*");

            case MessageIDs.CancelRequestAskIfSure:
                return("*You can't do my request?*");

            case MessageIDs.CancelRequestYesAnswered:
                return("*Aww... Well... At least you tried.*");

            case MessageIDs.CancelRequestNoAnswered:
                return("*Okay, so what was that for?*");

            //Alexander
            case MessageIDs.AlexanderSleuthingStart:
                return("*What can you tell me about you, rodent?*");

            case MessageIDs.AlexanderSleuthingProgress:
                return("*Hm... You've been in contact with many foods.*");

            case MessageIDs.AlexanderSleuthingProgressNearlyDone:
                return("*I'm starting to get hungry now...*");

            case MessageIDs.AlexanderSleuthingProgressFinished:
                return("*I guess I should visit your house sometimes when you're cooking...*");

            case MessageIDs.AlexanderSleuthingFail:
                return("*Ouch! You didn't needed to slap my face!*");

            //
            case MessageIDs.ReviveByOthersHelp:
                return("*I was so scary of dying! Thanks for helping.*");

            case MessageIDs.RevivedByRecovery:
                return("*Uh, what happened? Why was I in the floor?*");

            //
            case MessageIDs.AcquiredPoisonedDebuff:
                return("*My body burns inside!!*");

            case MessageIDs.AcquiredBurningDebuff:
                return("*Aaahh!!! I don't want to be cooked alive!!*");

            case MessageIDs.AcquiredDarknessDebuff:
                return("*I can't keep my eyes wide open!*");

            case MessageIDs.AcquiredConfusedDebuff:
                return("*Why is everybody floating around?*");

            case MessageIDs.AcquiredCursedDebuff:
                return("*I can't use my weapons!*");

            case MessageIDs.AcquiredSlowDebuff:
                return("*My feet aren't moving as fast as I wanted!*");

            case MessageIDs.AcquiredWeakDebuff:
                return("*I'm not slacking! I'm feeling weak!*");

            case MessageIDs.AcquiredBrokenArmorDebuff:
                return("*Ahh!! My belly!*");

            case MessageIDs.AcquiredHorrifiedDebuff:
                return("*Aahhh!! That monster is really big!*");

            case MessageIDs.AcquiredIchorDebuff:
                return("*Hey! If you want to alleviate yourself, do that somewhere else!*");

            case MessageIDs.AcquiredChilledDebuff:
                return("*N-not even my t-tail is helping a-against the c-chill..*");

            case MessageIDs.AcquiredWebbedDebuff:
                return("*Let me go! Let me go!! Aaaahh!!*");

            case MessageIDs.AcquiredFeralBiteDebuff:
                return("*I'll cut you into pieces!!*");

            //
            case MessageIDs.AcquiredDefenseBuff:
                return("*Hey! I got tougher!*");

            case MessageIDs.AcquiredWellFedBuff:
                return("*Lovelly food!*");

            case MessageIDs.AcquiredDamageBuff:
                return("*I'm stronger!*");

            case MessageIDs.AcquiredSpeedBuff:
                return("*Let's do a race!*");

            case MessageIDs.AcquiredHealthIncreaseBuff:
                return("*I got healthier!*");

            case MessageIDs.AcquiredCriticalBuff:
                return("*This will be super effective!*");

            case MessageIDs.AcquiredMeleeWeaponBuff:
                return("*This will ruin the meat...*");

            case MessageIDs.AcquiredTipsyDebuff:     //She doesn't drinks beverage
                return("");

            case MessageIDs.AcquiredHoneyBuff:
                return("*Yumm. I'm even licking my paws now.*");

            //
            case MessageIDs.FoundLifeCrystalTile:
                return("*I see a crystal shining over there.*");

            case MessageIDs.FoundPressurePlateTile:
                return("*Watch it! Be careful not to step on the pressure plate.*");

            case MessageIDs.FoundMineTile:
                return("*Some bad intentioned person left that mine there.*");

            case MessageIDs.FoundDetonatorTile:
                return("*Can I press It? Please?*");

            case MessageIDs.FoundPlanteraTile:
                return("*Is that plant even edible?*");

            case MessageIDs.WhenOldOneArmyStarts:
                return("*I don't know if we should, but I'll stay with you during the invasion.*");

            case MessageIDs.FoundTreasureTile:
                return("*Come on! Open it!*");

            case MessageIDs.FoundGemTile:
                return("*Oooohhh! Gems!*");

            case MessageIDs.FoundRareOreTile:
                return("*There's some ores over there.*");

            case MessageIDs.FoundVeryRareOreTile:
                return("*Woah! Look at those ores!*");

            case MessageIDs.FoundMinecartRailTile:
                return("*Let's ride a Minecart?*");

            //
            case MessageIDs.TeleportHomeMessage:
                return("*We could get somethign to eat at home.*");

            case MessageIDs.SomeoneJoinsTeamMessage:
                return("*Welcome!*");

            case MessageIDs.CompanionInvokesAMinion:
                return("*Can they hold cooking utensils?*");

            case MessageIDs.VladimirRecruitPlayerGetsHugged:
                return("*I want to be hugged next.*");

            //
            case MessageIDs.LeaderFallsMessage:
                return("*[nickname] is injured!*");

            case MessageIDs.LeaderDiesMessage:
                return("*Oh my! That's horrible! [nickname] is fine?*");

            case MessageIDs.AllyFallsMessage:
                return("*A friend of ours fell!*");

            case MessageIDs.SpotsRareTreasure:
                return("*Look, [nickname]! Loot!*");

            case MessageIDs.LeavingToSellLoot:
                return("*I'm loaded with things, I'll go sell them.*");

            case MessageIDs.PlayerAtDangerousHealthLevel:
                return("*You need some healing, [nickname].*");

            case MessageIDs.CompanionHealthAtDangerousLevel:
                return("*I'm not feeling great...*");

            case MessageIDs.RunningOutOfPotions:
                return("*I have few potions left.*");

            case MessageIDs.UsesLastPotion:
                return("*It's all gone! My potions are gone!*");

            case MessageIDs.SpottedABoss:
                return("*Waah! I'm scared!!*");

            case MessageIDs.DefeatedABoss:
                return("*Uff... Uff... My heart is still racing... We managed to win...*");

            case MessageIDs.InvasionBegins:
                return("*Who are they? They don't look friendly.*");

            case MessageIDs.RepelledInvasion:
                return("*I'm so glad It's over. Why they attacked us?*");

            case MessageIDs.EventBegins:
                return("*Why the air feels so cold?*");

            case MessageIDs.EventEnds:
                return("*It's over... It's over... Phew...*");

            case MessageIDs.RescueComingMessage:
                return("*I'm coming! I'm coming!*");

            case MessageIDs.RescueGotMessage:
                return("*Phew... I got you..*");

            //Feat Mentioning, [player] replaced by mentioned player. [subject] for feat subject
            case MessageIDs.FeatMentionPlayer:
                return("*Do you know [player]? That terrarian is really nice to me.*");

            case MessageIDs.FeatMentionBossDefeat:
                return("*Wow! I heard that [player] just defeated [subject] recently! That must have been so cool.*");

            case MessageIDs.FeatFoundSomethingGood:
                return("*I heard that [player] found a [subject]. That must be really valuable.*");

            case MessageIDs.FeatEventFinished:
                return("*It was scary when a [subject] begun, but thanks to [player], we were safe.*");

            case MessageIDs.FeatMetSomeoneNew:
                return("*So cool, [player] met [subject] recently!*");

            case MessageIDs.FeatPlayerDied:
                return("*Oh... Hello... I just lost a friend recently... [player] was their name... (Her eyes is filled with tears)*");

            case MessageIDs.FeatOpenTemple:
                return("*Oooohhh! Mysterious! [player] opened a temple in [subject] and entered. What wonders would be inside? Is there some ancient recipe?*");

            case MessageIDs.FeatCoinPortal:
                return("*[player] was so lucky when found that coin portal! And my mom complained when I accidentally destroyed her pottery once.*");

            case MessageIDs.FeatPlayerMetMe:
                return("*Hey! Hey! Listen! I met another Terrarian! They are called [player]! They look cool.*");

            case MessageIDs.FeatCompletedAnglerQuests:
                return("*[player] could have given me some of the fish they gave to the Angler. I could try making some tasty meal out of them.*");

            case MessageIDs.FeatKilledMoonLord:
                return("*I'm so happy for [player]! They were like my hero when they killed giant squid guy at [subject].*");

            case MessageIDs.FeatStartedHardMode:
                return("*The day [subject] world got the hallow and evil clashing each other, I felt on my fur the change happening to it. It was really a horrible feeling.*");

            case MessageIDs.FeatMentionSomeonePickedAsBuddy:
                return("*I have hot gossip incoming, [nickname]! I heard that [player] declared [subject] as their buddy, and both seems happy!*");

            case MessageIDs.FeatSpeakerPlayerPickedMeAsBuddy:
                return("*I'm still trying to recover from the news. I was so excited when you picked me as buddy that my heart even was pounding really fast. I'm so happy.*");

            case MessageIDs.FeatMentionSomeoneMovingIntoAWorld:
                return("*Did you hear? [subject] has a house on [world]. Cool, huh?*");

            case MessageIDs.DeliveryGiveItem:
                return("*Here [target], some [item]!*");

            case MessageIDs.DeliveryItemMissing:
                return("*My item! I was wanting to give that to someone.*");

            case MessageIDs.DeliveryInventoryFull:
                return("*Sorry [target], you can't have this until you clean your bag..*");

            case MessageIDs.CommandingLeadGroupSuccess:
                return("*Me? Leading a group? Wow! That looks cool.*");

            case MessageIDs.CommandingLeadGroupFail:
                return("*How could I lead a group for you?*");

            case MessageIDs.CommandingDisbandGroup:
                return("*I hope I didn't messed up.*");

            case MessageIDs.CommandingChangeOrder:
                return("*That is what you want me to do? Alright, let's change how I lead this group.*");
            }
            return(base.GetSpecialMessage(MessageID));
        }
Beispiel #27
0
 public override float SpawnChance(NPCSpawnInfo spawnInfo)
 {
     if (!spawnInfo.water && NpcMod.RecruitNpcSpawnConditionCheck(spawnInfo) && Main.dayTime && !NpcMod.HasGuardianNPC(7) && !NpcMod.HasMetGuardian(7) && BreeMaySpawn && Main.time > 27000 && Main.time < 48600 && !NPC.AnyNPCs(ModContent.NPCType <BreeNPC>()))
     {
         return((float)(Main.time - 27000) / 432000 * 0.333f);
     }
     return(0);
 }
Beispiel #28
0
        public override void GuardianUpdateScript(TerraGuardian guardian)
        {
            CilleData data = (CilleData)guardian.Data;

            if (data.InBeastState)
            {
                if (guardian.KnockedOut)
                {
                    data.InBeastState = false;
                }
                else if (!TriggerBeastState(guardian))
                {
                    data.InBeastState = false;
                    if (!guardian.KnockedOut && !guardian.Downed)
                    {
                        string Message = "";
                        switch (Main.rand.Next(3))
                        {
                        default:
                            Message = "*Huh? It's over... I hope I didn't hurt anyone.*";
                            break;

                        case 1:
                            Message = "*What happened? Did someone got hurt?*";
                            break;

                        case 2:
                            Message = "*I'm so glad it's over. I didn't hurt anyone, right?*";
                            break;
                        }
                        guardian.SaySomethingCanSchedule(Message, false, Main.rand.Next(30, 180));
                    }

                    /*if (!guardian.DoAction.InUse)
                     * {
                     *  data.InBeastState = false;
                     * }*/
                }
                else
                {
                    if (guardian.OwnerPos > -1 && !guardian.IsPlayerBuddy(Main.player[guardian.OwnerPos]))
                    {
                        if (!NpcMod.HasGuardianNPC(guardian.ID, guardian.ModID))
                        {
                            WorldMod.GuardianTownNPC.Add(guardian);
                        }
                        Main.player[guardian.OwnerPos].GetModPlayer <PlayerMod>().DismissGuardian(guardian.ID, guardian.ModID);
                    }
                }
            }
            else
            {
                if (TriggerBeastState(guardian))
                {
                    if (!guardian.DoAction.InUse)
                    {
                        guardian.StartNewGuardianAction(new Companions.Creatures.Cille.BeastStateAction(), BeastStateID);
                    }
                }
            }
        }
Beispiel #29
0
        public override float SpawnChance(NPCSpawnInfo spawnInfo)
        {
            if (CanSpawn && !spawnInfo.water && !Main.bloodMoon && !NPC.AnyNPCs(ModContent.NPCType <LiebreNPC>()) && !NpcMod.HasGuardianNPC(GuardianBase.Liebre) && !NpcMod.HasMetGuardian(GuardianBase.Liebre))
            {
                Tile tile = Main.tile[spawnInfo.spawnTileX, spawnInfo.spawnTileY];
                if (Lighting.Brightness(spawnInfo.spawnTileX, spawnInfo.spawnTileY) < 0.15f)
                {
                    switch (EncounterTimes)
                    {
                    case 0:
                        if (!spawnInfo.player.ZoneDungeon && !spawnInfo.player.ZoneCorrupt && !spawnInfo.player.ZoneCrimson)
                        {
                            return(1f / 200);
                        }
                        break;

                    case 1:
                        if (spawnInfo.player.ZoneCorrupt || spawnInfo.player.ZoneCrimson)
                        {
                            return(1f / 200);
                        }
                        break;

                    case 2:
                        if (spawnInfo.player.ZoneDungeon)
                        {
                            return(1f / 200);
                        }
                        break;

                    case 3:
                        if (spawnInfo.playerInTown)
                        {
                            return(1f / 200);
                        }
                        break;
                    }
                    //Can spawn :D
                }
            }
            return(base.SpawnChance(spawnInfo));
        }
Beispiel #30
0
        public override string NormalMessage(Player player, TerraGuardian guardian)
        {
            bool          AnglerInTown = NPC.AnyNPCs(Terraria.ID.NPCID.Angler);
            List <string> Mes          = new List <string>();

            Mes.Add("*Hey! How do I look? I've been practicing all the day.*");
            Mes.Add("*The citizens of your town are very kind to me.*");
            Mes.Add("*Hey, do you listen to Deadraccoon5 too? Whaaaaat? You don't know who he is?*");
            if (player.Male)
            {
                Mes.Add("*Where are you looking at? My face is a bit more above.*");
            }
            Mes.Add("*Do you think I have even a bit of chance on the Miss North Pole contest?*");
            Mes.Add("*I was trying to fly earlier, to see If I can get into the contest. Maybe they only accept Reindeers on it, so If I could fly, I could at least participate?*");
            Mes.Add("*Everytime I try to join the Miss North Pole contest, they come with a different excuse.*");
            Mes.Add("*The Miss North Pole is a contest that happens some days before new year. Before happens what your people calls \"X-mas\".*");
            Mes.Add("*My mom used to say that I had the luck of being attracted to merry places. Maybe that explains how I got here.*");
            if (Main.bloodMoon)
            {
                Mes.Add("*How do I look? How do I look-How do I look-How do I look? \"She's blinking her eyes very fast, about 30 frames per second.\"*");
                Mes.Add("*The night will be ended soon-The night will be ended soon.*");
                Mes.Add("(She seems to be drinking a mug of coffee, or half a dozen, through out the night.)");
                Mes.Add("*You'll keep me safe, right? Right? RIGHT?!*");
                if (AnglerInTown)
                {
                    Mes.Add("*[nn:" + Terraria.ID.NPCID.Angler + "] is safe. Kids doesn't dies, right? They turn into smoke and goes away, right? He's safe, right? Right?*");
                }
            }
            else
            {
                if (MainMod.IsPopularityContestRunning)
                {
                    Mes.Add("*Hi! The TerraGuardians Popularity Contest is currently on going. Will you be voting?*");
                    Mes.Add("*If you are interessed in participating of the TerraGuardians Popularity Contest, I can take you to the votings.*");
                }
                if (!Main.dayTime)
                {
                    Mes.Add("*Zzzzz... I'm the prettiest in the contest... Zzzz.... I will win... Zzzz....*");
                    Mes.Add("*What is it? I'm preparing to go sleep, since It seems like beauty is also related to how well you sleep.*");
                    Mes.Add("*Oh, hello. Can't sleep?*");
                }
                else
                {
                    if (Main.eclipse)
                    {
                        Mes.Add("*My mother would be scared of those kinds of creatures outside, she was from around that time.*");
                        Mes.Add("*Why this world have such weird things happening?*");
                    }
                    if (Main.raining)
                    {
                        Mes.Add("*Rain aways hides a beautiful sunny day. That always makes me sad.*");
                        Mes.Add("*The day is so gray outside, I makes me feel gray too.*");
                        Mes.Add("*If the rain doesn't go away before night, It will surelly ruin a great day.*");
                    }
                    else
                    {
                        Mes.Add("*It's a beautiful day outside. I guess I'll go have a walk.*");
                        Mes.Add("*Don't you just love this kind of weather? It always makes me want to go out for a walk.*");
                        Mes.Add("(She's humming while looking through the window.)");
                    }
                }
            }
            if (AnglerInTown)
            {
                string anglername = "[nn:" + Terraria.ID.NPCID.Angler + "]";
                Mes.Add("*I think that " + anglername + " may be in need of a mother. What If I could try being one?*");
                Mes.Add("*I tried to give " + anglername + " some vegetables to eat, instead of just fish. He was very rude at me.*");
                Mes.Add("*How old is " + anglername + "? He's old enough to eat fish, so I guess he doesn't need...*");
                Mes.Add("*It's so sad, " + anglername + " having no parents and living alone. Will I be able to be like a mother for him?*");
            }
            if (guardian.IsUsingToilet)
            {
                Mes.Add("*There is the correct time and place to do this. But you had to talk to me while I'm using the toilet?*");
                Mes.Add("*Could you... Just... Return another time?*");
                Mes.Add("*Don't you know that there are a few moments one needs privacy? I'm trying to lose some weight here.*");
            }
            if (guardian.IsPlayerRoomMate(player))
            {
                Mes.Add("*Huh? You're going to sleep in my room? That is so cool! I wonder what is It like to share a room with someone.*");
                Mes.Add("*Sharing my room with you is amazing! I really like that.*");
                Mes.Add("*Sometimes gets cold at night, so It's nice having someone help me get warm.*");
            }

            if (NpcMod.HasGuardianNPC(0))
            {
                Mes.Add("*I think I have met [gn:0] before somewhere... I don't remember where.*");
                Mes.Add("*Why [gn:0] eats thing from trash cans? I remember seeing him eating food earlier. Where did he got the food, anyway?*");
            }
            if (NpcMod.HasGuardianNPC(1))
            {
                Mes.Add("*[gn:1] thinks she's prettier than me. I will prove that she's wrong.*");
                Mes.Add("*Earlier this day, [gn:1] complained about the way I walk. She didn't liked it when I talked about her hair, though.*");
                if (NpcMod.HasGuardianNPC(2))
                {
                    Mes.Add("*Why is [gn:1] so mean to [gn:2]? He's the nicest guy I've met in a while.*");
                }
            }
            if (NpcMod.HasGuardianNPC(2))
            {
                Mes.Add("*[gn:2] is a true gentlemen. He's always disponible to help me with whatever I ask.*");
                Mes.Add("*[gn:2] always look at me with a very happy face. But I have to keep reminding him that my face is a bit more above.*");
            }
            if (NpcMod.HasGuardianNPC(3))
            {
                Mes.Add("*I should be scared by the fact a Zombie is living in your town. But I wont judge your decision. I'll just say that It's fine. \"Sips coffee\"*");
                Mes.Add("*Everytime I talk with [gn:3], he keeps looking around, like as if were checking if there isn't someone around.*");
                if (NpcMod.HasGuardianNPC(1))
                {
                    Mes.Add("*So... [gn:3] is [gn:1]'s boyfriend? No. I wont ask.*");
                }
            }
            if (NpcMod.HasGuardianNPC(4))
            {
                Mes.Add("*[gn:4] and I play the stare game sometimes. He always wins, though...*");
                Mes.Add("*I have to say, It gives me chills when I bump into [gn:4] at night.*");
            }
            if (NpcMod.HasGuardianNPC(5))
            {
                Mes.Add("*Where did you find that cute dog? I want to hug [gn:5] and never stop.*");
                Mes.Add("*I always wanted to have a dog, but my mom always said that they were \"dirty and spacious\". She's kind of right, but hey! There is a dog in the town!*");
            }
            if (NpcMod.HasGuardianNPC(6))
            {
                Mes.Add("*I think I am very lucky. [gn:6] personally came to me, saying that If I want a bodyguard, he's disponible anytime.*");
                Mes.Add("*It's quite weird that sometimes when I talk with [gn:6], he makes some puns with meat. What is that supposed to mean?*");
                Mes.Add("*Sometimes I see [gn:6] watching me from afar. He probably cares about my safety.*");
            }
            if (NpcMod.HasGuardianNPC(7))
            {
                if (NpcMod.HasGuardianNPC(2))
                {
                    Mes.Add("*[gn:7] came to me earlier, and said that she got what I'm doing, and that I should stop doing that with [gn:2], or else she'll give me a beating. But I wonder, what have I been doing to him?*");
                    Mes.Add("*I don't know why [gn:7] is so upset about me, I don't remember being rude or mean to her.*");
                }
                Mes.Add("*I have to say, sometimes I have problems seeing [gn:7] when she's right under me.*");
                Mes.Add("*It seems like [gn:7] is avoiding talking to me. Did I anger her somehow?*");
            }
            if (NpcMod.HasGuardianNPC(Domino))
            {
                if (NPC.AnyNPCs(Terraria.ID.NPCID.ArmsDealer))
                {
                    Mes.Add("*[nn:" + Terraria.ID.NPCID.ArmsDealer + "] gave me an idea of something I can use for the Miss contest, after I asked him what Terrarian Miss uses on his hometown. Gladly, [gn:" + Domino + "] had some for sale, but I feel weird wearing that kind of thing.*");
                }
            }
            if (NpcMod.HasGuardianNPC(Vladimir))
            {
                Mes.Add("*I don't understand. I was talking about some things related to the Miss Contest to [gn:" + Vladimir + "], until he suddenly dropped me on the floor and said that had to go to the toilet urgently. My behind is still hurting from the fall. Ouch~.*");
            }
            if (NpcMod.HasGuardianNPC(Michelle))
            {
                Mes.Add("*Did you knew that [gn:" + Michelle + "] will try joining the Miss North Pole contest? I'm so happy, I never wondered I would have a rival. Wait... Is that good or bad?*");
                Mes.Add("*I'm so glad to have met [gn:" + Michelle + "]. She's a great person to have around.*");
            }
            if (NpcMod.HasGuardianNPC(Malisha))
            {
                Mes.Add("*I wonder if I'm not accepted into the Miss North Pole contest because I'm not a reindeer. Maybe [gn:" + Malisha + "] could help me solve that?*");
            }
            if (NpcMod.HasGuardianNPC(Wrath))
            {
                Mes.Add("*I tried helping [gn:" + Wrath + "] getting less angry, until he yelled out loud, that made me leave the room very quickly. He's very scary.*");
            }
            if (NpcMod.HasGuardianNPC(Fluffles))
            {
                Mes.Add("*What's with [gn:" + Fluffles + "]? Sometimes when she looks at me, she looks me from the head to the feet.*");
            }
            if (NpcMod.HasGuardianNPC(Cinnamon))
            {
                Mes.Add("*When visitting [gn:" + Cinnamon + "], I always have to resist the temptation of nibbling everything she cooked.*");
            }
            if (NpcMod.HasGuardianNPC(Luna))
            {
                Mes.Add("*Whaaaaaaaaaaat? [gn:" + Luna + "] won a edition of Miss North Pole? Like... Whaaaaaaaaaaaaat?*");
                Mes.Add("*[gn:" + Luna + "] thinks I'm exagerating a bit about the practice of the contest, but I don't think like that.*");
            }
            if (NpcMod.HasGuardianNPC(Green))
            {
                Mes.Add("*I really don't like [gn:" + Green + "]. Everytime I visit him he gives me some diet. Do I look fat, to you?*");
                Mes.Add("*I was expecting to get vitamins from [gn:" + Green + "], not a diet! Hmph...*");
            }
            if (NpcMod.HasGuardianNPC(Cille))
            {
                Mes.Add("*I really don't like [gn:" + Cille + "]. I was all happy, gave her a 'hi', and she told me to 'go away'! Why she had to be so rude?*");
                Mes.Add("*What kind of clothing [gn:" + Cille + "] uses? Is that the kind of thing you Terrarians use?*");
            }
            if (guardian.KnockedOut)
            {
                Mes.Clear();
                Mes.Add("(She's crying, while placing her paws on the chest.)");
                Mes.Add("(She looks very scared.)");
                if (NPC.AnyNPCs(Terraria.ID.NPCID.Angler))
                {
                    Mes.Add("(While in pain, she said for a moment [n:" + Terraria.ID.NPCID.Angler + "] name.)");
                }
                Mes.Add("(She seems to be breathing hard, to try reducing the pain.)");
            }
            else if (guardian.IsSleeping)
            {
                Mes.Clear();
                Mes.Add("*I won... I won! Yes...* (She must be dreaming about winning the contest)");
                Mes.Add("*I will prove you wrong... I will be the best miss ever...* (She's speaks while she sleeps)");
                Mes.Add("*I am like this... You can't change me... I'll try anyway...* (She's speaks while she sleeps)");
                if (NPC.AnyNPCs(Terraria.ID.NPCID.Angler))
                {
                    Mes.Add("*Am I... A good mother...Doing things right...?* (She's speaks while she sleeps)");
                    Mes.Add("*I'm... A failure... Of mother...?* (She's speaks while she sleeps)");
                    Mes.Add("*I'm trying... my best...* (She's speaks while she sleeps)");
                }
                Mes.Add("*" + player.name + "...* (Looked like she was going to ask something in her sleep)");
            }
            if (FlufflesBase.IsHauntedByFluffles(player) && Main.rand.NextDouble() < 0.75)
            {
                Mes.Clear();
                Mes.Add("*Who's she, [nickname]? Did you met a new friend?*");
            }
            return(Mes[Main.rand.Next(Mes.Count)]);
        }