public static void ExoCommand(string value, WorldClient client) { if (!client.Character.Inventory.Exist(TokenId, ExoTokenQuantity)) { client.Character.Reply("Vous devez posséder " + ExoTokenQuantity + "x <b>[Ticket Doré]</b>"); return; } var splitted = value.Split(null); if (splitted.Count() < 2) { client.Character.Reply("indentifieur invalide, .exo [pa,pm,po] [anneau1,anneau2,coiffe,cape,ceinture,bottes,amulette]"); return; } string type = splitted[0]; string position = splitted[1]; EffectsEnum effect = 0; CharacterInventoryPositionEnum pos = CharacterInventoryPositionEnum.INVENTORY_POSITION_NOT_EQUIPED; switch (type) { case "pa": effect = EffectsEnum.Effect_AddAP_111; break; case "pm": effect = EffectsEnum.Effect_AddMP_128; break; case "po": effect = EffectsEnum.Effect_AddRange; break; default: client.Character.Reply("indentifieur invalide, .exo [pa,pm,po] [anneau1,anneau2,coiffe,cape,ceinture,bottes,amulette]"); return; } switch (position) { case "anneau1": pos = CharacterInventoryPositionEnum.INVENTORY_POSITION_RING_LEFT; break; case "anneau2": pos = CharacterInventoryPositionEnum.INVENTORY_POSITION_RING_RIGHT; break; case "coiffe": pos = CharacterInventoryPositionEnum.ACCESSORY_POSITION_HAT; break; case "cape": pos = CharacterInventoryPositionEnum.ACCESSORY_POSITION_CAPE; break; case "ceinture": pos = CharacterInventoryPositionEnum.ACCESSORY_POSITION_BELT; break; case "bottes": pos = CharacterInventoryPositionEnum.ACCESSORY_POSITION_BOOTS; break; case "amulette": pos = CharacterInventoryPositionEnum.ACCESSORY_POSITION_AMULET; break; default: client.Character.Reply("indentifieur invalide, .exo [pa,pm,po] [anneau1,anneau2,coiffe,cape,ceinture,bottes,amulette]"); break; } CharacterItemRecord item = client.Character.Inventory.GetEquipedItems().FirstOrDefault(x => x.PositionEnum == pos); if (item == null) { client.Character.Reply("Vous devez équiper un item a cet emplacement."); return; } if (item.FirstEffect <EffectInteger>(effect) != null) { client.Character.Reply("L'effet est déja présent..."); return; } client.Character.Inventory.SetItemPosition(item.UId, CharacterInventoryPositionEnum.INVENTORY_POSITION_NOT_EQUIPED, item.Quantity); var token = client.Character.Inventory.GetFirstItem(TokenId, ExoTokenQuantity); client.Character.Inventory.RemoveItem(token.UId, ExoTokenQuantity); item.AddEffectInteger(effect, 1); client.Character.Inventory.OnItemModified(item); client.Character.Reply("L'item a été exo."); client.Character.SpellAnim(2158); }