public static PidxSubPacket GenerateSubPidx(this IAliveEntity playableEntity, bool isMemberOfGroup) { return(new PidxSubPacket { IsGrouped = isMemberOfGroup, VisualId = playableEntity.VisualId }); }
public static NpcReqPacket GenerateNpcReq(this IAliveEntity namedEntity, long dialog) { return(new NpcReqPacket { VisualType = namedEntity.VisualType, VisualId = namedEntity.VisualId, Dialog = dialog, }); }
public static EffectPacket GenerateEff(this IAliveEntity aliveEntity, int effectid) { return(new EffectPacket { EffectType = aliveEntity.VisualType, VisualEntityId = aliveEntity.VisualId, Id = effectid }); }
public static PflagPacket GeneratePFlag(this IAliveEntity aliveEntity) { return(new PflagPacket { VisualType = aliveEntity.VisualType, VisualId = aliveEntity.VisualId, Flag = aliveEntity.Shop?.ShopId ?? 0 }); }
public static CharScPacket GenerateCharSc(this IAliveEntity aliveEntity) { return(new CharScPacket { VisualType = aliveEntity.VisualType, VisualId = aliveEntity.VisualId, Size = aliveEntity.Size }); }
public static RestPacket GenerateRest(this IAliveEntity aliveEntity) { return(new RestPacket { VisualType = aliveEntity.VisualType, VisualId = aliveEntity.VisualId, IsSitting = aliveEntity.IsSitting }); }
public static DirPacket GenerateChangeDir(this IAliveEntity namedEntity) { return(new DirPacket { VisualType = namedEntity.VisualType, VisualId = namedEntity.VisualId, Direction = namedEntity.Direction }); }
public static RequestNpcPacket GenerateNpcReq(this IAliveEntity namedEntity, long dialog) { return(new RequestNpcPacket { Type = namedEntity.VisualType, TargetId = namedEntity.VisualId, Data = dialog }); }
public static SayPacket GenerateSay(this IAliveEntity aliveEntity, SayPacket packet) { return(new SayPacket { VisualType = aliveEntity.VisualType, VisualId = aliveEntity.VisualId, Type = packet.Type, Message = packet.Message }); }
public static SayPacket GenerateSay(this IAliveEntity aliveEntity, string message, byte type) { return(new SayPacket() { VisualType = aliveEntity.VisualType, VisualId = aliveEntity.VisualId, Type = type, Message = message, }); }
public static CondPacket GenerateCond(this IAliveEntity aliveEntity) { return(new CondPacket() { VisualType = aliveEntity.VisualType, VisualId = aliveEntity.VisualId, NoAttack = aliveEntity.NoAttack, NoMove = aliveEntity.NoMove, Speed = aliveEntity.Speed }); }
public static MovePacket GenerateMove(this IAliveEntity aliveEntity, short?mapX, short?mapY) { return(new MovePacket { VisualEntityId = aliveEntity.VisualId, MapX = mapX ?? aliveEntity.PositionX, MapY = mapY ?? aliveEntity.PositionY, Speed = aliveEntity.Speed, VisualType = aliveEntity.VisualType }); }
public static ShopPacket GenerateShop(this IAliveEntity visualEntity) { return(new ShopPacket { VisualType = visualEntity.VisualType, VisualId = visualEntity.VisualId, ShopId = visualEntity.Shop?.ShopId ?? 0, MenuType = visualEntity.Shop?.MenuType ?? 0, ShopType = visualEntity.Shop?.ShopType, Name = visualEntity.Shop?.Name, }); }
public static CModePacket GenerateCMode(this IAliveEntity aliveEntity) { return(new CModePacket() { VisualType = aliveEntity.VisualType, VisualId = aliveEntity.VisualId, Morph = aliveEntity.Morph, MorphUpgrade = aliveEntity.MorphUpgrade, MorphDesign = aliveEntity.MorphDesign, MorphBonus = aliveEntity.MorphBonus }); }
public static UseItemPacket GenerateUseItem(this IAliveEntity aliveEntity, PocketType type, short slot, byte mode, byte parameter) { return(new UseItemPacket { VisualId = aliveEntity.VisualId, VisualType = aliveEntity.VisualType, Type = type, Slot = slot, Mode = mode, Parameter = parameter }); }
public static CModePacket GenerateCMode(this IAliveEntity aliveEntity) { return(new CModePacket { VisualType = aliveEntity.VisualType, VisualId = aliveEntity.VisualId, Morph = aliveEntity.Morph, MorphUpgrade = aliveEntity.MorphUpgrade, MorphDesign = aliveEntity.MorphDesign, MorphBonus = aliveEntity.MorphBonus, Size = (aliveEntity as ICharacterEntity)?.Size }); }
public static PairyPacket GeneratePairy(this IAliveEntity aliveEntity, WearableInstance fairy) { bool isBuffed = false; //TODO aliveEntity.Buff.Any(b => b.Card.CardId == 131); return(new PairyPacket { VisualType = aliveEntity.VisualType, VisualId = aliveEntity.VisualId, Unknown = fairy == null ? 0 : 4, Element = fairy?.Item.Element ?? 0, ElementRate = fairy?.ElementRate + fairy?.Item.ElementRate ?? 0, Morph = fairy?.Item.Morph ?? 0 + (isBuffed ? 5 : 0) }); }
public static SayItemPacket GenerateSayItem(this IAliveEntity aliveEntity, string message, InventoryItemInstance item) { var isNormalItem = item.Type != NoscorePocketType.Equipment && item.Type != NoscorePocketType.Specialist; return(new SayItemPacket { VisualType = aliveEntity.VisualType, VisualId = aliveEntity.VisualId, OratorSlot = 17, Message = message, IconInfo = isNormalItem ? new IconInfoPacket { IconId = item.ItemInstance !.ItemVNum } : null,
public static StPacket GenerateStatInfo(this IAliveEntity aliveEntity) { return(new StPacket { Type = aliveEntity.VisualType, VisualId = aliveEntity.VisualId, Level = aliveEntity.Level, HeroLvl = aliveEntity.HeroLevel, HpPercentage = (int)(aliveEntity.Hp / (float)aliveEntity.MaxHp * 100), MpPercentage = (int)(aliveEntity.Mp / (float)aliveEntity.MaxMp * 100), CurrentHp = aliveEntity.Hp, CurrentMp = aliveEntity.Mp, BuffIds = null }); }
public static NInvPacket GenerateNInv(this IAliveEntity aliveEntity, double percent, short typeshop, byte shopKind) { var shopItemList = new List <NInvItemSubPacket>(); var list = aliveEntity.Shop.ShopItems.Values.Where(s => s.Type == typeshop).ToList(); for (var i = 0; i < aliveEntity.Shop.Size; i++) { var item = list.Find(s => s.Slot == i); if (item == null) { shopItemList.Add(null); } else { shopItemList.Add(new NInvItemSubPacket { Type = 0, Slot = item.Slot, Price = (int)(item.Price ?? (item.ItemInstance.Item.ReputPrice > 0 ? item.ItemInstance.Item.ReputPrice : item.ItemInstance.Item.Price * percent)), RareAmount = item.ItemInstance.Item.Type == (byte)NoscorePocketType.Equipment ? item.ItemInstance.Rare : item.Amount, UpgradeDesign = item.ItemInstance.Item.Type == (byte)NoscorePocketType.Equipment ? item.ItemInstance.Item.IsColored ? item.ItemInstance.Item.Color : item.ItemInstance.Upgrade : (short?)null, VNum = item.ItemInstance.Item.VNum }); } } return(new NInvPacket { VisualType = aliveEntity.VisualType, VisualId = aliveEntity.VisualId, ShopKind = shopKind, Unknown = 0, Items = shopItemList }); }
public static PidxSubPacket GenerateSubPidx(this IAliveEntity playableEntity) => playableEntity.GenerateSubPidx(false);
public static Task ChangeDirAsync(this IAliveEntity aliveEntity, byte direction) { aliveEntity.Direction = direction; return(aliveEntity.MapInstance.SendPacketAsync( aliveEntity.GenerateChangeDir())); }
public static MovePacket GenerateMove(this IAliveEntity aliveEntity) => aliveEntity.GenerateMove(null, null);
public static void Rest(this IAliveEntity aliveEntity) { aliveEntity.IsSitting = !aliveEntity.IsSitting; aliveEntity.MapInstance.Sessions.SendPacket( aliveEntity.GenerateRest()); }
public static PidxSubPacket GenerateSubPidx(this IAliveEntity playableEntity) { return(playableEntity.GenerateSubPidx(false)); }
public static Task RestAsync(this IAliveEntity aliveEntity) { aliveEntity.IsSitting = !aliveEntity.IsSitting; return(aliveEntity.MapInstance.SendPacketAsync( aliveEntity.GenerateRest())); }
public static MovePacket GenerateMove(this IAliveEntity aliveEntity) { return(aliveEntity.GenerateMove(null, null)); }
public static void ChangeDir(this IAliveEntity aliveEntity, byte direction) { aliveEntity.Direction = direction; aliveEntity.MapInstance.Sessions.SendPacket( aliveEntity.GenerateChangeDir()); }