public override void OnResponse(Server.Network.NetState sender, RelayInfo info) { NubiaPlayer player = sender.Mobile as NubiaPlayer; int id = info.ButtonID; if (id == 5) { player.SendMessage("Vous possédez maintenant les affinités " + (mDomaine != SortDomaine.All ? SortNubiaHelper.getDomaineString(mDomaine) : "???") + " / " + (mEnergie != SortEnergie.All ? SortNubiaHelper.getEnergieString(mEnergie) : "???")); player.Domaine = mDomaine; player.Energie = mEnergie; } else if (id >= 501) { sender.Mobile.SendGump(new SortMaitriseGump((NubiaPlayer)sender.Mobile, mDomaine, mEnergie, (MageSpe)(id - 500))); } else if (id >= 100) { SortEnergie ener = (SortEnergie)(id - 100); sender.Mobile.SendGump(new SortMaitriseGump((NubiaPlayer)sender.Mobile, mDomaine, ener, mMageSpecialise)); } else if (id >= 50) { SortDomaine dom = (SortDomaine)(id - 50); sender.Mobile.SendGump(new SortMaitriseGump((NubiaPlayer)sender.Mobile, dom, mEnergie, mMageSpecialise)); } }
public SortCreationChoixEffet(NubiaPlayer _owner, SortNubia _SortNubia) : base(50, 50) { m_owner = _owner; m_SortNubia = _SortNubia; int largeur = 450; int hauteur = 450; 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, "Actuel: " + m_SortNubia.effect.ToString()); line++; line++; AddLabel(col, (line * scale), 2224, "Choix d'un type d'effet:"); line++; for (int i = 0; i < 22; i++) //100+ { AddButton(col, (line * scale), 0xFAB, 0xFAC, 100 + i, GumpButtonType.Reply, 0); AddLabel(col + 40, line * scale, 0, SortNubiaHelper.getNameEffect((SortNubiaEffect)i)); line++; if (line > 18) { line++; AddButton(col, (line * scale), 0xFAB, 0xFAC, 999, GumpButtonType.Reply, 0); AddLabel(col + 40, line * scale, 0, "Annuler"); line = 8; col += 200; } } }
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 SortCreationChoixSort(NubiaPlayer _owner, SortNubia _SortNubia) : base("Tissage de sort", 270, 270) { m_owner = _owner; m_SortNubia = _SortNubia; if (m_owner == null || m_SortNubia == null) { Console.WriteLine("GROS WARNING: SortCreationTypeGump proprio ou SortNubia null"); return; } int x = XBase; int y = YBase; int line = 0; int scale = 22; //18lignes max ;) AddLabel(x, (y + line * scale), ColorTextYellow, "Choix du sort de base"); line++; AddLabel(x, y + line * scale, ColorTextGreen, "Actuel: " + SortNubiaHelper.formatName(_SortNubia)); line++; for (int s = 0; s < m_sorts.Length; s++) { if (SortNubiaHelper.calculMaitriseDomaine(m_sorts[s].Domaine, m_owner.Domaine) > 0) { AddButton(x, y + line * scale, 0xFAB, 0xFAC, 50 + s, GumpButtonType.Reply, 0); //Voir AddLabel(x + 40, y + line * scale, ColorText, SortNubiaHelper.formatName(m_sorts[s])); line++; } } line++; AddButton(x, y + line * scale, 0xFAB, 0xFAC, 1, GumpButtonType.Reply, 0); //Voir AddLabel(x + 40, y + line * scale, ColorTextRed, "Annuler"); }
public SortMaitriseGump(NubiaPlayer _owner, SortDomaine domaine, SortEnergie energie, MageSpe amplitude) : base("Choix des affinités magiques", 380, 365) { Closable = true; mOwner = _owner; mDomaine = domaine; mEnergie = energie; mMageSpecialise = amplitude; int y = YBase; int x = XBase; int line = 0; int scale = 22; int decal = 5; int xoffset = x + 20; int yoffset = y + 20; //Onglets //CERCLE //Domaines int a = 0; AddLabel(x, y + line * scale, ColorTextYellow, "Domaines: "); line++; // Console.WriteLine("-- CALCUL DOMAINE --"); for (int d = (int)SortDomaine.All + 1; d < (int)SortDomaine.Maximum; d++) { int col = ColorTextGray; double p = 0; if (mDomaine != SortDomaine.All) { p = SortNubiaHelper.calculMaitriseDomaine((SortDomaine)d, mDomaine, mMageSpecialise); col = SortNubiaHelper.getHueForPercent((int)p); } AddSimpleButton(x, y + line * scale, 50 + d, SortNubiaHelper.getDomaineString(((SortDomaine)d)) + " " + (p > 0 ? p.ToString() + "%" : ""), col); line++; a++; } line = 0; AddLabel(x + 200, y + line * scale, ColorTextYellow, "Energies: "); line++; // Console.WriteLine("-- CALCUL ENERGIE --"); for (int d = (int)SortEnergie.All + 1; d < (int)SortEnergie.Maximum; d++) { int col = ColorTextGray; double p = 0; if (mEnergie != SortEnergie.All) { p = SortNubiaHelper.calculMaitriseEnergie((SortEnergie)d, mEnergie, mMageSpecialise); col = SortNubiaHelper.getHueForPercent((int)p); } AddSimpleButton(x + 200, y + line * scale, 100 + d, SortNubiaHelper.getEnergieString((SortEnergie)d) + " " + p.ToString() + "%", col); line++; a++; } AddBackground(x, y + line * scale, 300, 25, 3000); AddLabel(x + 5, y + line * scale, ColorTextYellow, "Votre choix: "); AddLabel(x + 100, 1 + y + line * scale, ColorTextLight, (mDomaine != SortDomaine.All ? SortNubiaHelper.getDomaineString(mDomaine) : "???") + " / " + (mEnergie != SortEnergie.All ? SortNubiaHelper.getEnergieString(mEnergie) : "???")); line++; line++; AddButtonTrueFalse(x, y + line * scale, 501, mMageSpecialise == MageSpe.Generaliste, "Amplitude: Généraliste"); line++; AddButtonTrueFalse(x, y + line * scale, 502, mMageSpecialise == MageSpe.Normal, "Amplitude: Normal"); line++; AddButtonTrueFalse(x, y + line * scale, 503, mMageSpecialise == MageSpe.Specialiste, "Amplitude: Spécialisé"); line++; line++; if (mDomaine != SortDomaine.All && mEnergie != SortEnergie.All) { AddSimpleButton(x, y + line * scale, 5, "Je choisi définitivement ces affinités"); } //Description }
public SortCreationGump(NubiaPlayer _owner, SortNubia _SortNubia) : base("Tissage de sort", 400, 450) { m_owner = _owner; m_SortNubia = _SortNubia; //m_SortNubia.Owner = m_owner; if (m_owner == null || m_SortNubia == null) { Console.WriteLine("GROS WARNING: justuCreationGump proprio ou SortNubia null"); return; } int x = XBase; int y = YBase; int line = 0; int scale = 22; AddLabel(x, (y + line * scale), ColorTextYellow, "Tissage d'un nouveau sort"); line++; AddButton(x, (y + line * scale), 0xFAB, 0xFAC, 998, GumpButtonType.Reply, 0); //Voir AddLabel(x + 40, y + line * scale, SortNubiaHelper.getHueForPercent((int)SortNubiaHelper.calculMaitriseDomaine(m_SortNubia.Domaine, m_owner.Domaine)), SortNubiaHelper.formatName(m_SortNubia)); line++; if (m_SortNubia is SortNubiaTransformation) // 80+ { SortNubiaTransformation SortNubia = m_SortNubia as SortNubiaTransformation; /* if(SortNubia.toClone != null) * AddLabel( x, y+line*scale, 2122, "Connaissance: "+ KonohaCompHelper.getNameComp(SortNubia.toClone.competenceLie) ); * else * AddLabel( x, y+line*scale, 2122, "Connaissance: Aucune");*/ AddLabel(x, y + line * scale, ColorTextRed, "TODO / TODO / TODO / ..."); line++; } else if (m_SortNubia is SortNubiaInvocation) // 80+ { SortNubiaInvocation SortNubia = m_SortNubia as SortNubiaInvocation; /*if(SortNubia.toClone != null) * AddLabel( x, y+line*scale, 2122, "Connaissance: "+ KonohaCompHelper.getNameComp(SortNubia.toClone.competenceLie) ); * else*/ // AddLabel( x, y+line*scale, 2122, "Connaissance: Aucune"); AddLabel(x, y + line * scale, ColorTextRed, "TODO / TODO / TODO / ..."); line++; } else { AddButton(x, (y + line * scale), 0xFAB, 0xFAC, 997, GumpButtonType.Reply, 0); //Voir AddLabel(x + 40, y + line * scale, SortNubiaHelper.getHueForPercent((int)SortNubiaHelper.calculMaitriseEnergie(m_SortNubia.energie, m_owner.Energie)), "Energie: " + SortNubiaHelper.getEnergieString(m_SortNubia.energie)); line++; } AddLabel(x, y + line * scale, ColorTextGreen, "Niveau : " + m_SortNubia.GetCercle()); line++; AddLabel(x, y + line * scale, ColorText, "Nom :"); AddTextEntry(x + 40, y + line * scale, 250, 20, 0x480, 0, m_SortNubia.Nom); line++; AddLabel(x, y + line * scale, ColorText, "Emote (Sans les '*') :"); AddTextEntry(x + 145, y + line * scale, 250, 20, 0x480, 1, m_SortNubia.Emote); line++; if (m_SortNubia is SortNubiaDestruction) // 50+ { SortNubiaDestruction SortNubia = m_SortNubia as SortNubiaDestruction; AddLabel(x, y + line * scale, ColorText, "Dégat Mini: "); AddTextEntry(x + 80, y + line * scale, 250, 20, ColorTextLight, 50, SortNubia.minDegat.ToString()); line++; AddLabel(x, y + line * scale, ColorText, "Dégat Maxi: "); AddTextEntry(x + 80, y + line * scale, 250, 20, ColorTextLight, 51, SortNubia.maxDegat.ToString()); line++; AddLabel(x, y + line * scale, ColorText, "Distance: "); AddTextEntry(x + 80, y + line * scale, 250, 20, ColorTextLight, 52, SortNubia.distance.ToString()); line++; AddLabel(x, y + line * scale, ColorText, "Nombre de cible: "); AddTextEntry(x + 105, y + line * scale, 250, 20, ColorTextLight, 53, SortNubia.number.ToString()); line++; AddButton(x, (y + line * scale), 0xFAB, 0xFAC, 54, GumpButtonType.Reply, 0); //Voir AddLabel(x + 40, y + line * scale, ColorText, "Ciblage: " + (SortNubia.canCible ? "Oui" : "Non")); line++; } if (m_SortNubia is SortNubiaSoin) // 75+ { SortNubiaSoin SortNubia = m_SortNubia as SortNubiaSoin; AddLabel(x, y + line * scale, ColorText, "Soin Mini: "); AddTextEntry(x + 80, y + line * scale, 250, 20, ColorTextLight, 75, SortNubia.minDegat.ToString()); line++; AddLabel(x, y + line * scale, ColorText, "Soin Maxi: "); AddTextEntry(x + 80, y + line * scale, 250, 20, ColorTextLight, 76, SortNubia.maxDegat.ToString()); line++; AddLabel(x, y + line * scale, ColorText, "Distance: "); AddTextEntry(x + 80, y + line * scale, 250, 20, ColorTextLight, 77, SortNubia.distance.ToString()); line++; AddLabel(x, y + line * scale, ColorText, "Nombre de cible: "); AddTextEntry(x + 105, y + line * scale, 250, 20, ColorTextLight, 78, SortNubia.number.ToString()); line++; AddButton(x, (y + line * scale), 0xFAB, 0xFAC, 79, GumpButtonType.Reply, 0); //Voir AddLabel(x + 40, y + line * scale, ColorText, "Ciblage: " + (SortNubia.canCible ? "Oui" : "Non")); line++; } if (m_SortNubia is SortNubiaTransformation) // 80+ { SortNubiaTransformation SortNubia = m_SortNubia as SortNubiaTransformation; if (SortNubia.toClone == null) { AddButton(x, (y + line * scale), 0xFAB, 0xFAC, 80, GumpButtonType.Reply, 0); AddLabel(x + 40, y + line * scale, ColorText, "Ajouter une rune de vie"); line++; } else { AddLabel(x, y + line * scale, ColorTextGreen, "Transformation: " + SortNubia.toClone.Name); line++; /*AddLabel( x, y+line*scale, 0, "Connaissance: " + SortNubia.toClone.competenceLie ); * line++;*/ /* SkillName[] sk = TransfoHelper.getSkillBonus(SortNubia.toClone.competenceLie); * for(int i = 0; i < sk.Length; i++) * { * AddLabel( x, y+line*scale, 0, "Bonus sur: " + sk[i].ToString() ); * line++; * }*/ AddButton(x, (y + line * scale), 0xFAB, 0xFAC, 80, GumpButtonType.Reply, 0); AddLabel(x + 40, y + line * scale, ColorTextGreen, "Modifier la rune de vie"); line++; line++; } } if (m_SortNubia is SortNubiaInvocationArme) // 90+ { SortNubiaInvocationArme SortNubia = m_SortNubia as SortNubiaInvocationArme; AddLabel(x, y + line * scale, 0, "L'arme progressera avec vous"); line++; double ratio = SortNubia.wSpeed / 5.0; int MaxDamage = (int)(100 / ratio + (m_owner.Niveau / 2)); int MinDamage = (int)(90 / ratio + (m_owner.Niveau / 3)); AddLabel(x, y + line * scale, 0, "Nom de l'arme: "); AddTextEntry(x + 90, y + line * scale, 250, 20, 0x480, 93, SortNubia.wNom); line++; AddLabel(x, y + line * scale, 0, "Vitesse: "); AddTextEntry(x + 55, y + line * scale, 250, 20, 0x480, 90, SortNubia.wSpeed.ToString()); line++; AddLabel(x, y + line * scale, 0, "Degats approximatifs:"); line++; AddLabel(x + 40, y + line * scale, 0, "- Mini: " + MaxDamage); line++; AddLabel(x + 40, y + line * scale, 0, "- Maxi: " + MinDamage); line++; /*AddButton( x, (y+line*scale), 0xFAB, 0xFAC, 91, GumpButtonType.Reply, 0 ); * AddLabel( x+40, y+line*scale, 0, "Modifier la couleur" ); * line++;*/ AddButton(x, (y + line * scale), 0xFAB, 0xFAC, 92, GumpButtonType.Reply, 0); AddLabel(x + 40, y + line * scale, 0, "Modifier l'apparence"); line++; line++; } if (m_SortNubia is SortNubiaTao) // 100+ { SortNubiaTao SortNubia = m_SortNubia as SortNubiaTao; AddLabel(x, y + line * scale, 0, "Dégats bonus: "); AddTextEntry(x + 90, y + line * scale, 250, 20, 0x480, 100, SortNubia.degats.ToString()); line++; AddLabel(x, y + line * scale, 0, "Nbrs de Tours: "); AddTextEntry(x + 90, y + line * scale, 250, 20, 0x480, 101, SortNubia.turn.ToString()); line++; AddLabel(x, y + line * scale, 0, "Sonnage (en secondes x.x): "); AddTextEntry(x + 140, y + line * scale, 250, 20, 0x480, 102, SortNubia.stun.ToString()); line++; AddButton(x, (y + line * scale), 0xFAB, 0xFAC, 103, GumpButtonType.Reply, 0); //Voir AddLabel(x + 40, y + line * scale, 0, "Enchainement rapide: " + (SortNubia.rapide ? "Oui":"Non")); line++; } if (m_SortNubia is SortNubiaParalyze) // 110+ { SortNubiaParalyze SortNubia = m_SortNubia as SortNubiaParalyze; AddLabel(x, y + line * scale, 0, "Temps Mini: "); AddTextEntry(x + 80, y + line * scale, 250, 20, 0x480, 110, SortNubia.minDegat.ToString()); line++; AddLabel(x, y + line * scale, 0, "Temps Maxi: "); AddTextEntry(x + 80, y + line * scale, 250, 20, 0x480, 111, SortNubia.maxDegat.ToString()); line++; AddLabel(x, y + line * scale, 0, "Distance: "); AddTextEntry(x + 80, y + line * scale, 250, 20, 0x480, 112, SortNubia.distance.ToString()); line++; AddLabel(x, y + line * scale, 0, "Nombre de cible: "); AddTextEntry(x + 105, y + line * scale, 250, 20, 0x480, 113, SortNubia.number.ToString()); line++; AddButton(x, (y + line * scale), 0xFAB, 0xFAC, 114, GumpButtonType.Reply, 0); //Voir AddLabel(x + 40, y + line * scale, 0, "Ciblage: " + (SortNubia.canCible ? "Oui":"Non")); line++; } if (m_SortNubia is SortNubiaPoison) // 120+ { SortNubiaPoison SortNubia = m_SortNubia as SortNubiaPoison; AddLabel(x, y + line * scale, 0, "Note: Le niveau d'un poison va de 0 a 3"); line++; AddLabel(x, y + line * scale, 0, "Niveau du Poison: "); AddTextEntry(x + 80, y + line * scale, 250, 20, 0x480, 120, SortNubia.PoisonLevel.ToString()); line++; AddLabel(x, y + line * scale, 0, "Distance: "); AddTextEntry(x + 80, y + line * scale, 250, 20, 0x480, 121, SortNubia.distance.ToString()); line++; AddLabel(x, y + line * scale, 0, "Nombre de cible: "); AddTextEntry(x + 105, y + line * scale, 250, 20, 0x480, 122, SortNubia.number.ToString()); line++; AddButton(x, (y + line * scale), 0xFAB, 0xFAC, 123, GumpButtonType.Reply, 0); //Voir AddLabel(x + 40, y + line * scale, 0, "Ciblage: " + (SortNubia.canCible ? "Oui":"Non")); line++; } if (m_SortNubia is SortNubiaInvocation) // 130+ { SortNubiaInvocation SortNubia = m_SortNubia as SortNubiaInvocation; if (SortNubia.toClone == null) { AddButton(x, (y + line * scale), 0xFAB, 0xFAC, 130, GumpButtonType.Reply, 0); AddLabel(x + 40, y + line * scale, 0, "Ajouter une rune de vie"); line++; } else { AddLabel(x, y + line * scale, 0, "Invocation: " + SortNubia.toClone.Name); line++; /*AddLabel( x, y+line*scale, 0, "Connaissance: " + SortNubia.toClone.competenceLie ); * line++;*/ /*SkillName[] sk = TransfoHelper.getSkillBonus(SortNubia.toClone.competenceLie); * for(int i = 0; i < sk.Length; i++) * { * AddLabel( x, y+line*scale, 0, "Bonus sur: " + sk[i].ToString() ); * line++; * }*/ AddButton(x, (y + line * scale), 0xFAB, 0xFAC, 130, GumpButtonType.Reply, 0); AddLabel(x + 40, y + line * scale, 0, "Modifier la rune de vie"); line++; line++; } } if (m_SortNubia is SortNubiaMur) // 135++ { SortNubiaMur SortNubia = m_SortNubia as SortNubiaMur; AddLabel(x, y + line * scale, 0, "Attention, un mur qui bloque ne fait pas de dégats"); line++; AddLabel(x, y + line * scale, 0, "Si vous activez le bloque, mettez les dégats à 0"); line++; AddLabel(x, y + line * scale, 0, "Degats: "); AddTextEntry(x + 80, y + line * scale, 250, 20, 0x480, 135, SortNubia.damageWalk.ToString()); line++; AddButton(x, (y + line * scale), 0xFAB, 0xFAC, 136, GumpButtonType.Reply, 0); //Voir AddLabel(x + 40, y + line * scale, 0, "Bloque: " + (SortNubia.block ? "Oui":"Non")); line++; } if (m_SortNubia.playEffect) { AddLabel(x, y + line * scale, 2122, "Effet Visuel"); line++; AddButton(x, (y + line * scale), 0xFAB, 0xFAC, 975, GumpButtonType.Reply, 0); //Voir AddLabel(x + 40, y + line * scale, 0, "Effet: " + SortNubiaHelper.getNameEffect(m_SortNubia.effect)); line++; AddButton(x, (y + line * scale), 0xFAB, 0xFAC, 976, GumpButtonType.Reply, 0); //Voir AddLabel(x + 40, y + line * scale, 0, "Couleur: " + m_SortNubia.couleur.ToString()); line++; AddButton(x, (y + line * scale), 0xFAB, 0xFAC, 977, GumpButtonType.Reply, 0); //Voir AddLabel(x + 40, y + line * scale, 0, "Rendu: " + m_SortNubia.render.ToString()); line++; } /*AddLabel( x, y+line*scale, 2122, "Bonus" ); * line++; * AddButton( x, (y+line*scale), 0xFAB, 0xFAC, 950, GumpButtonType.Reply, 0 ); //Voir * AddLabel( x+40, y+line*scale, 0, "Bonus 1" ); * line++; * AddButton( x, (y+line*scale), 0xFAB, 0xFAC, 951, GumpButtonType.Reply, 0 ); //Voir * AddLabel( x+40, y+line*scale, 0, "Bonus 2"); * line++;*/ AddLabel(x, y + line * scale, 2122, "Condition"); line++; AddButton(x, (y + line * scale), 0xFAB, 0xFAC, 925, GumpButtonType.Reply, 0); //Voir AddLabel(x + 40, y + line * scale, ColorTextLight, m_SortNubia.condition.ToString()); line++; if (m_SortNubia.ObjectToEquip != null) { AddLabel(x + 40, y + line * scale, ColorTextLight, "Objet: " + (m_SortNubia.ObjectToEquip.Name == "" ? m_SortNubia.ObjectToEquip.GetType().ToString() : m_SortNubia.ObjectToEquip.Name)); } if (m_SortNubia.SortNubiaPere != null) { AddLabel(x + 40, y + line * scale, ColorTextLight, "Pere: " + m_SortNubia.SortNubiaPere.Nom); } line++; x += 160; AddButton(x, y + line * scale, 0xFA5, 0xFA7, 999, GumpButtonType.Reply, 0); //Voir AddLabel(x + 40, y + line * scale, ColorTextYellow, "Mise à jour"); x += 120; AddButton(x, y + line * scale, 0xFA5, 0xFA7, 1000, GumpButtonType.Reply, 0); //Voir AddLabel(x + 40, y + line * scale, ColorTextRed, "Création"); }