Example #1
0
        public override void Process(IBattleEntity attacker, IBattleEntity target)
        {
            float hitprobability = MathCore.Sigmoid(GetModifiedDexterity(attacker) - target.Dexterity, 1.1f, 0.7f);

            context.GetModule <RPGMessageModule>().Create().BattleActor(attacker).Text(" tries to bite ").BattleActor(target).Text(".").Send();

            if (RNG.XORShift64.NextFloat() < hitprobability)
            {
                target.AddEffect(new PoisonEffect(target, context.GetModule <AdventureModule>(), context.GetModule <RPGMessageModule>())
                {
                    Level = Level,
                    Time  = 30.0 + 160.0 * Level
                });
            }
        }