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"); } } } }
public InternalTimer(NubiaPlayer _owner, NubiaPlayer _viewer, NubiaBlessure _blessure, int _malus) : base(WorldData.TimeTour()) { mOwner = _owner; mViewer = _viewer; mBlessure = _blessure; malus = _malus; }
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++; } }