public static void cache_OnCommand(CommandEventArgs e)
        {
            NubiaPlayer p         = e.Mobile as NubiaPlayer;
            int         DD        = 10;
            int         NuitModus = 0;

            if (p.Competences.mustWait())
            {
                return;
            }
            if (LightCycle.ComputeLevelFor(p) > p.LightLevel)
            {
                if (LightCycle.ComputeLevelFor(p) > 10)
                {
                    NuitModus -= 5;
                }
                else if (LightCycle.ComputeLevelFor(p) < 10)
                {
                    NuitModus += 5;
                }

                p.SendMessage("Bonus de nuit: -" + NuitModus);
            }
            else
            {
                if (p.LightLevel > 10)
                {
                    NuitModus -= 5;
                }
                else if (p.LightLevel < 10)
                {
                    NuitModus += 5;
                }
                p.SendMessage("Bonus de nuit: -" + NuitModus);
            }
            DD += NuitModus;
            DD += (int)p.Taille * 2;
            bool mustBluff = false;
            int  DDBluff   = 10;

            foreach (NubiaMobile mob in p.GetMobilesInRange(8))
            {
                if (mob == p)
                {
                    continue;
                }
                if (mob.CanSee(p))
                {
                    int mobPsy = mob.Competences[CompType.Psychologie].intRoll() - NuitModus;
                    int bluff  = p.Competences[CompType.Bluff].intRoll() + NuitModus;
                    if (mobPsy < bluff)
                    {
                        mob.SendMessage("Quelques choses vous attire l'oeil plus loin");
                    }
                    DDBluff  += mobPsy - bluff;
                    mustBluff = true;
                }
            }

            if (mustBluff)
            {
                if (p.Competences[CompType.Bluff].roll(DDBluff))
                {
                    p.SendMessage("Vous réussissez à distraitre les observateurs pour vous cacher");
                }
                else
                {
                    p.SendMessage("Trop de monde vous observer, impossible de vous cacher");
                    return;
                }
            }

            if (p.Competences[CompType.Discretion].roll(DD))
            {
                p.SendMessage("Vous vous dissimulez avec discretion");
                p.Hidden = true;
            }
            else
            {
                p.SendMessage("Vous n'arrivez pas a vous dissimuler");
            }
            p.Competences.wait(1);
        }
Beispiel #2
0
 public override void ComputeBaseLightLevels(Mobile m, out int global, out int personal)
 {
     global   = LightCycle.ComputeLevelFor(m);
     personal = m.LightLevel;
 }