Beispiel #1
0
        public override void OnResponse(Server.Network.NetState sender, RelayInfo info)
        {
            int id = info.ButtonID;

            if (id >= 100 && id < 200)
            {
                if (mOwner.BlessureList.Count > id - 100)
                {
                    NubiaBlessure blessure = (NubiaBlessure)mOwner.BlessureList[id - 100];
                    if (blessure != null)
                    {
                        if (mViewer != mOwner)
                        {
                            mViewer.Emote("*commence à soigner {0}*", mOwner.Name);
                        }
                        else
                        {
                            mViewer.Emote("*commence à se soigner*");
                        }
                        int malus = 0;
                        if (!hasKit)
                        {
                            malus = -4;
                            mViewer.SendMessage("Vous n'avez pas de trousse de medecin et subissez donc un malus de circonstance de " + malus.ToString());
                        }
                        new InternalTimer(mOwner, mViewer, blessure, malus).Start();
                    }
                    else
                    {
                        mViewer.SendMessage("Cette blessure à été soignée ou s'est dissipée");
                    }
                }
            }
        }
Beispiel #2
0
 public InternalTimer(NubiaPlayer _owner, NubiaPlayer _viewer, NubiaBlessure _blessure, int _malus)
     : base(WorldData.TimeTour())
 {
     mOwner    = _owner;
     mViewer   = _viewer;
     mBlessure = _blessure;
     malus     = _malus;
 }
Beispiel #3
0
        public GumpBlessure(NubiaPlayer _owner, NubiaPlayer _viewer)
            : base("Blessures de " + _owner.Name, 275, _owner.BlessureList.Count * 95 + 20)
        {
            Closable = true;
            mOwner   = _owner;
            mViewer  = _viewer;
            int y     = YBase;
            int x     = XBase;
            int line  = 0;
            int scale = 95;
            int decal = 5;

            x += 5;
            y += 7;
            bool isMedecin = mViewer.Competences[CompType.Chirurgie].getPureMaitrise() >= 2;

            hasKit = false;
            if (isMedecin && mViewer != null)
            {
                hasKit = mViewer.Backpack.FindItemByType(typeof(MedecineKit)) != null;
            }
            for (int i = 0; i < mOwner.BlessureList.Count; i++)
            {
                NubiaBlessure blessure = (NubiaBlessure)mOwner.BlessureList[i];
                AddBackground(x, y + line * scale, 255, 90, 5120);

                AddImage(x + 5, y + line * scale + 5, 10461);
                AddImage(x + 18, y + line * scale + 18, getIcone(blessure.BType));
                AddImage(x + 80, y + line * scale + 10, 2440);
                AddLabel(x + 87, y + line * scale + 10, ColorTextYellow, blessure.BType.ToString() + " " + blessure.GetStringGravite());
                AddLabel(x + 80, y + line * scale + 30, ColorTextLight, "Localisation: " + blessure.GetStringLocalisation());
                bool hemo = blessure.Hemo;
                if (hemo)
                {
                    AddLabel(x + 80, y + line * scale + 50, ColorTextLight, "Hémoragique: " + (hemo ? "oui" : "non"));
                }
                if (isMedecin)
                {
                    AddSimpleButton(x + 80, y + line * scale + 70, 100 + i, "Soigner. " + blessure.SoinStatut + "% effectué");
                }
                line++;
            }
        }