public static void CreateXMLFaction_OnCommand(CommandEventArgs e) { if (e.Mobile is NubiaPlayer) { NubiaPlayer player = e.Mobile as NubiaPlayer; if (e.ArgString == "" || e.ArgString == null) { player.SendMessage("Utilisation: .CreateXMLFaction Nom de la faction"); } else { new XMLFaction(e.ArgString, player); } } }
public static void anim_OnCommand(CommandEventArgs e) { NubiaPlayer p = e.Mobile as NubiaPlayer; if (e.Arguments.Length > 0) { try { int a = Convert.ToInt32(e.Arguments[0]); p.Animate(a, 7, 1, true, false, 0); } catch (Exception ex) { } } }
public static void vol_OnCommand(CommandEventArgs e) { NubiaPlayer player = e.Mobile as NubiaPlayer; if (!IsEmptyHanded(player)) { player.SendLocalizedMessage(1005584); // Both hands must be free to steal. } else if (!player.Competences.mustWait()) { player.Target = new NubiaStealingTarget(player); player.SendLocalizedMessage(502698); // Which item do you want to steal? } }
public static void deguisement_OnCommand(CommandEventArgs e) { NubiaPlayer p = e.Mobile as NubiaPlayer; if (p.Competences[CompType.Deguisement].getPureMaitrise() >= 2) { p.RemoveDeguisement(); p.CloseGump(typeof(GumpDeguisement)); p.SendGump(new GumpDeguisement(p)); } else { p.SendMessage("Vous devez avoir au moin 2 en déguisement"); } }
public override void EndSortNubia() { NubiaPlayer m = Owner as NubiaPlayer; Effects.SendLocationEffect(new Point3D(Owner.X, Owner.Y, Owner.Z), Owner.Map, 0x3728, 13); Owner.PlaySound(0x228); if (m_weapon != null) { m_weapon.Delete(); } base.EndSortNubia(); }
public SortCreationChoixCouleur(NubiaPlayer _owner, SortNubia _SortNubia) : base(50, 50) { m_owner = _owner; m_SortNubia = _SortNubia; int largeur = 350; int hauteur = 300; int _x = 50; int _y = 50; AddBackground(_x, _y, _x + largeur, _y + hauteur, 0x13BE); AddBackground(_x + 10, _y + 10, _x + largeur - 20, _y + hauteur - 15, 0x0DAC); AddImage(0, 0, 0x28C8); AddImage(largeur + 70, 0, 0x28C9); AddImage((largeur / 2) - 10, 30, 0x28D4); int y = 45 + _y; int line = 4; int scale = 22; int col = 35 + _y; //18lignes max ;) AddLabel(col, (line * scale), 2224, "Création d'un nouveau SortNubia"); line++; //AddButton( col, (line*scale), 0xFAB, 0xFAC, 998, GumpButtonType.Reply, 0 ); AddLabel(col, line * scale, 2116, "Actuelle: " + m_SortNubia.couleur.ToString()); line++; line++; AddLabel(col, (line * scale), 2224, "Choix d'une colorie:"); line++; AddButton(col, (line * scale), 0xFAB, 0xFAC, 100, GumpButtonType.Reply, 0); AddLabel(col + 40, line * scale, 0, "Normal (couleur de base de l'effet)"); line++; AddButton(col, (line * scale), 0xFAB, 0xFAC, 101, GumpButtonType.Reply, 0); AddLabel(col + 40, line * scale, 0, "Chakra (couleur de votre chakra)"); line++; AddButton(col, (line * scale), 0xFAB, 0xFAC, 102, GumpButtonType.Reply, 0); AddLabel(col + 40, line * scale, 0, "Connaissance (couleur de la connaissance utilisée)"); line++; line++; AddButton(col, (line * scale), 0xFAB, 0xFAC, 999, GumpButtonType.Reply, 0); AddLabel(col + 40, line * scale, 0, "Annuler"); }
public enseignementSortAccept(SortNubia _owner, NubiaPlayer Maitre, NubiaPlayer Eleve) : base(50, 50) { m_owner = _owner; m_maitre = Maitre; m_eleve = Eleve; if (m_owner == null || m_maitre == null || m_eleve == null) { return; } int largeur = 300; int hauteur = 250; int _x = 50; int _y = 50; AddBackground(_x, _y, _x + largeur, _y + hauteur, 0x13BE); AddBackground(_x + 10, _y + 10, _x + largeur - 20, _y + hauteur - 15, 0x0DAC); AddImage(0, 0, 0x28C8); AddImage(largeur + 70, 0, 0x28C9); AddImage((largeur / 2) - 10, 30, 0x28D4); int y = 45 + _y; int line = 4; int scale = 22; int col = 35 + _y; AddLabel(col, (line * scale), 0, m_owner.Owner.Name + " Souhaite vous enseigner une technique:"); line++; AddLabel(col, (line * scale), 2128, m_owner.Nom); line++; line++; AddLabel(col, (line * scale), 0, "Coût de l'apprentissage: " + m_owner.GetCercle() + " points"); line++; AddLabel(col, (line * scale), 0, "Disponible: " + m_eleve.pointApprentissage + " points"); line++; line++; AddButton(col, (line * scale), 0xFAB, 0xFAC, 5, GumpButtonType.Reply, 0); //Voir AddLabel(col + 40, line * scale, 2117, "Accepter"); line++; AddButton(col, (line * scale), 0xFAB, 0xFAC, 6, GumpButtonType.Reply, 0); //Voir AddLabel(col + 40, line * scale, 0, "Refuser"); line++; }
public override void OnUse(NubiaPlayer p) { p.Emote("*s'enrage*"); if (p.hasDon(DonEnum.RageMaitreBerserker)) { new RageMaitreBerserkBuff(p); } else if (p.hasDon(DonEnum.RageGrandBerserker)) { new RageGrandBerserkBuff(p); } else { new RageBerserkBuff(p); } }
public override void OnResponse(NetState sender, RelayInfo info) { Mobile f = sender.Mobile; NubiaPlayer from = f as NubiaPlayer; if (info.ButtonID == 5) { showCap = !showCap; mViewer.SendGump(new GumpCompetences(mOwner, mViewer, showCap)); } else if (info.ButtonID >= 50) { from.Competences[(CompType)info.ButtonID - 50].Achat++; mViewer.SendGump(new GumpCompetences(mOwner, mViewer, showCap)); } }
public override void OnResponse(NetState sender, RelayInfo info) { Mobile f = sender.Mobile; NubiaPlayer from = f as NubiaPlayer; if (info.ButtonID > 0 && info.ButtonID < 100 || choix <= 0) { choix = info.ButtonID; from.SendGump(new GumpChoixRace(from, choix)); } else if (info.ButtonID == 100) { from.changeRace((RaceType)choix - 50); from.SendGump(new GumpMenuCreation(from)); } }
public override DonEnum[] getCustomDon(NubiaPlayer p, int niveau) { List <DonEnum> list = new List <DonEnum>(); for (int d = (int)DonEnum.AffiniteMagique; d < (int)DonEnum.Maximum; d++) { if (BaseDon.DonBank.ContainsKey(((DonEnum)d).ToString().ToLower())) { BaseDon don = BaseDon.DonBank[((DonEnum)d).ToString().ToLower()]; if (don.hasConditions(p)) { list.Add(don.DType); } } } return(list.ToArray()); }
public static void gm_OnCommand(CommandEventArgs e) { NubiaPlayer p = e.Mobile as NubiaPlayer; if (p.Account.AccessLevel >= AccessLevel.GameMaster) { if (p.AccessLevel == AccessLevel.Player) { p.AccessLevel = p.Account.AccessLevel; } else { p.AccessLevel = AccessLevel.Player; } p.SendMessage("AccessLevel: " + p.AccessLevel.ToString()); } }
public override void OnResponse(NetState sender, RelayInfo info) { Mobile f = sender.Mobile; NubiaPlayer from = f as NubiaPlayer; if (info.ButtonID == 100) // Creation { bool GM = (from.AccessLevel >= AccessLevel.GameMaster); if (m_creation && (from.pointCreation >= m_SortNubia.GetCercle() || GM)) { if (!GM) { from.pointCreation -= m_SortNubia.GetCercle(); } //m_SortNubia.Owner = from; m_SortNubia.Createur = from.Name; from.Magie.addSort(m_SortNubia); return; } else if (!m_creation && (from.pointApprentissage >= m_SortNubia.GetCercle() || GM)) { if (!GM) { from.pointApprentissage -= m_SortNubia.GetCercle(); } //m_SortNubia.Owner = from; m_SortNubia.Createur = from.Name; from.Magie.addSort(m_SortNubia); return; } else { from.SendMessage("Vous n'avez pas assez de points..."); m_SortNubia.Owner = null; m_SortNubia = null; } //m_SortNubia.condition = SortNubiaCondition.MainNue; } if (info.ButtonID != 100) { //from.CloseGump(typeof(SortNubiaCreationChoixCondition)); from.SendGump(new SortCreationGump(m_owner, m_SortNubia)); } }
protected override void OnTarget(Mobile from, object target) { Item stolen = null; object root = null; bool caught = false; if (target is Item) { root = ((Item)target).RootParent; stolen = TryStealItem((Item)target, ref caught); } else { m_Thief.SendLocalizedMessage(502710); // You can't steal that! } if (stolen != null) { from.AddToBackpack(stolen); StolenItem.Add(stolen, m_Thief, root as Mobile); } if (caught) { if (root is Mobile) { Mobile mobRoot = (Mobile)root; string message = String.Format("Vous remarquer {0} voler un objet de {1}.", m_Thief.Name, mobRoot.Name); foreach (NetState ns in m_Thief.GetClientsInRange(8)) { if (ns.Mobile != m_Thief) { NubiaPlayer obs = ns.Mobile as NubiaPlayer; if (obs.Competences[CompType.Detection].roll(10 + (int)obs.GetDistanceToSqrt(m_Thief), true)) { ns.Mobile.SendMessage(message); } } } } } }
public override void OnResponse(NetState sender, RelayInfo info) { Mobile f = sender.Mobile; NubiaPlayer from = f as NubiaPlayer; if (info.ButtonID == 1) { if (m_faction != null) { from.SendGump(new PropertiesGump(from, m_faction)); } return; } if (info.ButtonID == 0) //Close { from.SendGump(new GumpAdminXMLFaction(from, 0)); } }
public override void OnResponse(NetState sender, RelayInfo info) { Mobile f = sender.Mobile; NubiaPlayer from = f as NubiaPlayer; if (info.ButtonID == 99) { from.Beaute = (Apparence)choix; //from.CloseGump( typeof( GumpCreation ) ); from.SendGump(new GumpMenuCreation(from)); return; } int newChoix = info.ButtonID; // from.CloseGump( typeof( GumpCreation ) ); from.SendGump(new GumpBeaute(m_owner, newChoix)); }
public override void OnUse(NubiaPlayer p) { /* if (p.Competences[CompType.Representation].getMaitrise() < 15) * { * p.SendMessage("Vous n'êtes pas assez doué en représentation pour ce don"); * return; * } * * p.ActionRevelation(); * * if (p.FindItemOnLayer(Layer.TwoHanded) is BaseInstrument) * { * p.Target = new InternalTarget(p, p.FindItemOnLayer(Layer.TwoHanded) as BaseInstrument); * } * else * BaseInstrument.PickInstrument(p, new InstrumentPickedCallback(OnPickedInstrument)); */ }
public bool canCraft(NubiaPlayer from) { if (from == null) { Console.WriteLine("From null dans canCraft magie"); return(false); } if (SortNubiaHelper.calculMaitriseEnergie(this.energie, from.Energie) > 0 && SortNubiaHelper.calculMaitriseDomaine(this.Domaine, from.Domaine) > 0) { return(true); } return(false); }
public override void OnUse(NubiaPlayer p) { if (p.Stam >= 10) { if (p.Weapon is BaseRanged) { p.NewActionCombat(ActionCombat.FeuNourri); } else { p.SendMessage("Utilisable seulement avec Arc ou Arbalètes"); } } else { p.SendMessage("Vous n'avez pas assez de souffle pour cela"); } }
public void PlanteGraine(int roll, NubiaPlayer from) { bool can = true; foreach (Item item in from.GetItemsInRange(0)) { if (item is BasePlante) { can = false; } } if (!can) { from.SendMessage("les racines d'une plante autre plante sont déjà plantées à proximité !"); return; } else { if (Amount <= 1) { MoveToWorld(from.Location, from.Map); Movable = false; m_State = EnumPlanteState.GrainePlante; m_rollResult = roll; Visible = false; new InternalTimer(this).Start(); } else { Amount--; Type type = this.GetType(); BasePlante plante = (BasePlante)Activator.CreateInstance(type); plante.Amount = 1; plante.MoveToWorld(from.Location, from.Map); plante.Movable = false; plante.State = EnumPlanteState.GrainePlante; plante.PRollResult = roll; plante.Visible = false; plante.StartTimer(); } UpdateLook(); from.Emote("*Plante*"); } }
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++; } }
public virtual DonEnum[] getCustomDon(NubiaPlayer p, int niveau) { List <DonEnum> list = new List <DonEnum>(); for (int d = (int)DonEnum.AffiniteMagique; d < (int)DonEnum.Maximum; d++) { // Console.WriteLine("Don de custom: " + (DonEnum)d); if (BaseDon.DonBank.ContainsKey(((DonEnum)d).ToString().ToLower())) { BaseDon don = BaseDon.DonBank[((DonEnum)d).ToString().ToLower()]; // Console.WriteLine("Don de la bank: " + don.ToString()); if (don.hasConditions(p)) { list.Add(don.DType); } } } return(list.ToArray()); }
public static bool CouleurValide(NubiaPlayer from) { if (from.Race == null) { return(false); } for (int i = 0; i < from.Race.HuePicker.Groups.Length; i++) { for (int j = 0; j < from.Race.HuePicker.Groups[i].Hues.Length; j++) { int hue = from.Race.HuePicker.Groups[i].Hues[j]; if (hue == from.Hue) { return(true); } } } return(false); }
public SortCreationChoixEnergie(NubiaPlayer _owner, SortNubia _SortNubia) : base("Tissage de sort", 270, 270) { m_owner = _owner; m_SortNubia = _SortNubia; bool GM = (m_owner.AccessLevel >= AccessLevel.GameMaster); int largeur = 450; int hauteur = 450; int x = XBase; int y = YBase; int line = 0; int scale = 22; //18lignes max ;) AddLabel(x, (y + line * scale), ColorTextYellow, "Choix de l'energie"); line++; //AddButton( col, (y+line*scale), 0xFAB, 0xFAC, 998, GumpButtonType.Reply, 0 ); AddLabel(x, y + line * scale, ColorTextGreen, "Actuelle: " + SortNubiaHelper.getEnergieString(m_SortNubia.energie)); line++; for (int i = (int)SortEnergie.All + 1; i < (int)SortEnergie.Maximum; i++) // 100+ { SortEnergie energie = (SortEnergie)i; bool allowComp = SortNubiaHelper.calculMaitriseEnergie(energie, m_owner.Energie) > 0; if (!allowComp) { continue; } AddButton(x, (y + line * scale), 0xFAB, 0xFAC, 100 + i, GumpButtonType.Reply, 0); AddLabel(x + 40, y + line * scale, ColorTextGreen, SortNubiaHelper.getEnergieString(energie)); line++; } line++; AddButton(x, (y + line * scale), 0xFAB, 0xFAC, 999, GumpButtonType.Reply, 0); AddLabel(x + 40, y + line * scale, ColorTextRed, "Annuler"); }
public GumpChoixCheveux(NubiaPlayer _owner, int _choix, int _page) : base("Choix de la coupe...", 180, 465) { m_owner = _owner; choix = _choix; //Closable = false; page = _page; int y = YBase; int x = XBase; int line = 0; int scale = 30; int decal = 5; int limit = 13; for (int i = page * limit; i < (int)WorldData.HairDefList.Length; i++) { if (WorldData.HairDefList[i].skillReq > 20) { continue; } AddButtonTrueFalse(x, y + (line * scale), i + 50, (choix == i), WorldData.HairDefList[i].Name); line++; if (page > 0) { AddButtonPagePrecedante(x + 100, y, 2); } if (line > limit) { AddButtonPageSuivante(x + 125, y, 1); break; } } //line++; if (choix > -1) { //AddLabel( _x, y, 0, "Continuer"); AddButton(x, y + (line * scale), 0x850, 0x851, 99, GumpButtonType.Reply, 0); } }
public static void crochetage_OnCommand(CommandEventArgs e) { NubiaPlayer p = e.Mobile as NubiaPlayer; Lockpick lockpick = null; if (p.Backpack != null) { foreach (Item i in p.Backpack.Items) { if (i is Lockpick) { lockpick = i as Lockpick; break; } } } p.SendLocalizedMessage(502068); // What do you want to pick? p.Target = new CrochetageTarget(lockpick); }
public override void OnUse(NubiaPlayer p) { if (!hasConditions(p)) { p.SendMessage("Vous n'avez pas assez de représentation pour cela"); return; } p.Emote("*Chante en opposition*"); IPooledEnumerable eable = p.GetMobilesInRange(8); foreach (NubiaMobile m in eable) { if (m.Competences[CompType.Representation].intRoll(true) < p.Competences[CompType.Representation].intRoll()) { m.SendMessage("A venir, dans l'attente de la magie :)"); // m.InterruptCast(p, ClasseType.Barde); } } eable.Free(); }
public GumpFactions(NubiaPlayer _owner) : base("Factions & Réputations", 380, 405) { Closable = true; mOwner = _owner; int y = YBase; int x = XBase; int line = 0; int scale = 27; int decal = 5; if (mOwner == null) { return; } if (mOwner.ReputationStack == null) { return; } for (int i = 0; i < (int)FactionEnum.Maximum; i++) { FactionEnum faction = (FactionEnum)i; if (mOwner.ReputationStack.Reputations.ContainsKey(faction)) { BaseFaction fac = FactionHelper.getFaction(faction); if (fac != null) { ReputationEnum reput = ReputationEnum.Neutre; int val = mOwner.ReputationStack.getReputation(faction); reput = FactionHelper.getReputForVal(val); AddImage(x, line * scale + y - 3, 2440); AddLabel(x + 10, y + line * scale, ColorText, fac.Name); AddImage(x + 180, line * scale + y - 3, 2440); AddLabel(x + 190, y + line * scale, FactionHelper.getHueForReput(reput), FactionHelper.getNameForReput(reput)); line++; } } } }
public override DonEnum[] getCustomDon(NubiaPlayer p, int niveau) { List <DonEnum> list = new List <DonEnum>(); if (niveau == 1) { list.Add(DonEnum.EnemiJureAberration); list.Add(DonEnum.EnemiJureAnimal); list.Add(DonEnum.EnemiJureCreatureArticifielle); list.Add(DonEnum.EnemiJureDragon); list.Add(DonEnum.EnemiJureElementaire); list.Add(DonEnum.EnemiJureGeant); list.Add(DonEnum.EnemiJureHumanoide); list.Add(DonEnum.EnemiJureMagique); list.Add(DonEnum.EnemiJureMortVivant); list.Add(DonEnum.EnemiJurePlante); list.Add(DonEnum.EnemiJureVermine); } return(list.ToArray()); }
public static void magie_OnCommand(CommandEventArgs e) { NubiaPlayer p = e.Mobile as NubiaPlayer; if (checkAffinite(p)) { p.CloseGump(typeof(NewSortListGump)); p.SendGump(new NewSortListGump(p)); } /* if (e.Arguments.Length <= 0) * { * p.SendMessage("Utilisation: .magie [nom_de_classe] ( ex: .magie magicien )"); * return; * } * else * { * string clstr = e.Arguments[0]; * Console.WriteLine(" Magie: " + clstr); * try * { * ClasseType cl = ClasseType.None; * for (int c = 0; c < (int)ClasseType.Maximum; c++) * { * if (clstr.ToLower() == ((ClasseType)c).ToString().ToLower()) * { * cl = (ClasseType)c; * break; * } * } * * if (cl != ClasseType.None) * p.SendGump(new GumpLivreMagie(p, cl)); * else * p.SendMessage("Mauvais nom de classe"); * * } * catch (Exception ex) { } * }*/ }