protected void Add(ushort gid, uint quantity) { ItemRecord template = ItemRecord.GetItem(gid); CharacterItemRecord item = template.GetCharacterItem(Result.Id, quantity, false); this.Add(item); }
private static void AttributeAction(WorldClient client, StartupActionRecord action, long characterId) { if (WorldServer.Instance.IsStatus(ServerStatusEnum.ONLINE)) { try { for (int i = 0; i < action.GIds.Count; i++) { ushort gid = action.GIds[i]; uint quantity = action.Quantities[i]; ItemRecord item = ItemRecord.GetItem(gid); var character = client.GetAccountCharacter(characterId); var characterItem = item.GetCharacterItem(characterId, quantity, ITEM_GENERATION_PERFECT); CharacterItemRecord.AddQuietCharacterItem(character, characterItem); } client.Send(new StartupActionFinishedMessage(true, false, action.Id)); } catch (Exception ex) { logger.Error("Unable to attribute action to " + client.Account.Username + " :" + ex); client.Send(new StartupActionFinishedMessage(false, false, action.Id)); } finally { action.RemoveInstantElement(); // How, its dangerous! } } else { client.Disconnect(); } }
public CharacterItemRecord CreateCertificate(Character character) { ItemRecord template = ItemRecord.GetItem(Template.ItemGId); var item = template.GetCharacterItem(CharacterId, 1); item.Effects.AddRange(ItemGenerationProvider.GetCertificateEffects(Name, character.Name, (ushort)DisplayedMountLevel, (int)UId, (ushort)ModelId)); return(item); }
protected void Add(ItemRecord template, uint quantity) { CharacterItemRecord item = template.GetCharacterItem(Result.Id, quantity, false); this.Add(item); }