Esempio n. 1
0
        private void BotSelectTaunt(Player botPlayer, int botCount, ICollection <Taunt> matchingTaunts, object args)
        {
            // Skip this bot if there are no matches
            if (matchingTaunts.Count == 0)
            {
                return;
            }

            // Get highest priority in taunt matches
            var maxTauntPriority = matchingTaunts.Max(t => t.Priority);

            // Get taunts matching highest priority
            var eligibleCardTaunts = matchingTaunts.Where(t => t.Priority == maxTauntPriority).ToArray();

            // Select a taunt
            var activeTaunt = eligibleCardTaunts[_rng.Next(eligibleCardTaunts.Length)];

            // Calculate probability
            var tauntChance = (activeTaunt.ResponseChance / botCount + activeTaunt.ResponseChance) * 0.5;

            // Check against probability and send message
            if (!(_rng.NextDouble() <= tauntChance))
            {
                return;
            }
            var responses = activeTaunt.GetResponses().ToArray();

            SendBotChatMessage(botPlayer, responses[_rng.Next(responses.Length)], RantProgramArgs.CreateFrom(args));
        }
Esempio n. 2
0
        public void OneArgAnonymousType()
        {
            var args = new
            {
                msg = "Hello World"
            };

            Assert.AreEqual("Hello World", rant.Do(@"[in:msg]", 0, 0, RantProgramArgs.CreateFrom(args)).Main);
        }
Esempio n. 3
0
        public void CustomArgsClass()
        {
            var args = new TestCustomArgsClass
            {
                A = "Hello",
                B = "World"
            };

            Assert.AreEqual("Hello World!", rant.Do(@"[in:word-a] [in:word-b]!", 0, 0, RantProgramArgs.CreateFrom(args)).Main);
        }