示例#1
0
        public static string AttackSequence(Player attacker, Player victim, SkillViewModel skillBeingUsed, bool timestamp = true)
        {
            // Actual attack
            var(_, message) = AttackProcedures.Attack(attacker, victim, skillBeingUsed, timestamp);

            // record into statistics
            StatsProcedures.AddStat(attacker.MembershipId, StatsProcedures.Stat__SpellsCast, 1);

            if (AIStatics.IsABoss(victim.BotId))
            {
                StatsProcedures.AddStat(attacker.MembershipId, StatsProcedures.Stat__BossAllAttacks, 1);
            }

            if (victim.BotId == AIStatics.FemaleRatBotId || victim.BotId == AIStatics.MaleRatBotId)
            {
                StatsProcedures.AddStat(attacker.MembershipId, StatsProcedures.Stat__BossRatThiefAttacks, 1);
            }
            else if (victim.BotId == AIStatics.BimboBossBotId)
            {
                StatsProcedures.AddStat(attacker.MembershipId, StatsProcedures.Stat__BossLovebringerAttacks, 1);
            }
            else if (victim.BotId == AIStatics.DonnaBotId)
            {
                StatsProcedures.AddStat(attacker.MembershipId, StatsProcedures.Stat__BossDonnaAttacks, 1);
            }
            else if (victim.BotId == AIStatics.FaebossBotId)
            {
                StatsProcedures.AddStat(attacker.MembershipId, StatsProcedures.Stat__FaebossAttacks, 1);
            }
            else if (victim.BotId == AIStatics.MouseNerdBotId || victim.BotId == AIStatics.MouseBimboBotId)
            {
                StatsProcedures.AddStat(attacker.MembershipId, StatsProcedures.Stat__MouseSisterAttacks, 1);
            }
            else if (victim.BotId == AIStatics.MotorcycleGangLeaderBotId)
            {
                StatsProcedures.AddStat(attacker.MembershipId, StatsProcedures.Stat__MotorcycleGangAttacks, 1);
            }
            else if (AIStatics.IsAMiniboss(victim.BotId) && victim.BotId != AIStatics.MinibossPlushAngelId) // The plush just wants to make friends. No rewards for monsters.
            {
                StatsProcedures.AddStat(attacker.MembershipId, StatsProcedures.Stat__MinibossAttacks, 1);
            }

            // Trigger any counterattack
            AIProcedures.CheckAICounterattackRoutine(attacker, victim);

            return(message);
        }