public GuildQuestList(TeraMessageReader r) : base(r) { itemsCount = r.ReadUInt16(); firstQuestOffset = r.ReadUInt16(); guildNameOffset = r.ReadUInt16(); masterNameOffset = r.ReadUInt16(); guildId = r.ReadUInt64(); guildLvl = r.ReadUInt32(); totalXp = r.ReadUInt32(); unk1 = r.ReadUInt32(); nextLvXp = r.ReadUInt32(); unk2 = r.ReadUInt32(); funds = r.ReadUInt32(); unk3 = r.ReadUInt32(); totalChars = r.ReadUInt32(); totalAccounts = r.ReadUInt32(); guildSize = r.ReadUInt32(); dateCreated = r.ReadUInt64(); dailyQuestsDone = r.ReadUInt32(); maxDailyQuests = r.ReadUInt32(); guildName = r.ReadTeraString(); masterName = r.ReadTeraString(); Quests = new List <GuildQuest>(); for (int i = 0; i < itemsCount; i++) { r.Skip(4); var q = new GuildQuest(r); Quests.Add(q); } }
public S_BOSS_GAGE_INFO(TeraMessageReader reader) : base(reader) { EntityId = reader.ReadUInt64(); HuntingZoneId = reader.ReadUInt32(); TemplateId = reader.ReadUInt32(); Target = reader.ReadUInt64(); reader.Skip(4); //unk1 = reader.ReadInt32(); //if (reader.Version < 321550 || reader.Version > 321600) //{ Enrage = reader.ReadBoolean(); CurrentHP = reader.ReadInt64(); MaxHP = reader.ReadInt64(); //} //else //{ // hpDiff = reader.ReadSingle(); // enrage = reader.ReadByte(); // currHp = reader.ReadSingle(); // maxHp = reader.ReadSingle(); //} //unk3 = reader.ReadByte(); }
public S_REQUEST_SPAWN_SERVANT(TeraMessageReader reader) : base(reader) { // ReSharper disable UnusedVariable var giftedSkillsCount = reader.ReadUInt16(); var giftedSkillsOffset = reader.ReadUInt16(); var abilitiesCount = reader.ReadUInt16(); var abilitiesOffset = reader.ReadUInt16(); var nameOffset = reader.ReadUInt16(); GameId = reader.ReadUInt64(); var dbid = reader.ReadUInt64(); var loc = reader.ReadVector3f(); var h = reader.ReadUInt16(); var type = reader.ReadUInt32(); Id = reader.ReadUInt32(); var linkedNpcTemplateId = reader.ReadUInt32(); var linkedNpcZoneId = reader.ReadUInt16(); var walkSpeed = reader.ReadUInt16(); var runSpeed = reader.ReadUInt16(); Owner = reader.ReadUInt64(); var energy = reader.ReadUInt32(); var spawnType = reader.ReadUInt32(); var level = reader.ReadUInt32(); FellowShip = reader.ReadUInt32(); // ReSharper restore UnusedVariable }
public S_EACH_SKILL_RESULT(TeraMessageReader reader) : base(reader) { reader.BaseStream.Position = 0; reader.Skip(4); Source = reader.ReadUInt64(); var owner = reader.ReadUInt64(); if (owner != 0) { Source = owner; } Target = reader.ReadUInt64(); // ReSharper disable UnusedVariable var template = reader.ReadInt32(); Skill = new SkillId(reader).Id; var stage = reader.ReadInt32(); var targeting = reader.ReadInt16(); var area = reader.ReadInt16(); var id = reader.ReadUInt32(); var time = reader.ReadInt32(); // ReSharper restore UnusedVariable Damage = reader.ReadUInt64(); Type = reader.ReadUInt16(); }
public S_ABNORMALITY_BEGIN(TeraMessageReader reader) : base(reader) { TargetId = reader.ReadUInt64(); CasterId = reader.ReadUInt64(); AbnormalityId = reader.ReadUInt32(); Duration = reader.ReadUInt32(); reader.Skip(4); Stacks = reader.ReadInt32(); }
public S_CREATURE_CHANGE_HP(TeraMessageReader reader) : base(reader) { CurrentHP = reader.ReadInt64(); MaxHP = reader.ReadInt64(); Diff = reader.ReadInt64(); reader.Skip(4); Target = reader.ReadUInt64(); Source = reader.ReadUInt64(); Crit = reader.ReadBoolean(); }
public S_CREATURE_CHANGE_HP(TeraMessageReader reader) : base(reader) { currentHP = reader.ReadInt32(); maxHP = reader.ReadInt32(); diff = reader.ReadInt32(); type = reader.ReadUInt32(); target = reader.ReadUInt64(); source = reader.ReadUInt64(); crit = reader.ReadByte(); }
public S_PLAYER_CHANGE_MP(TeraMessageReader reader) : base(reader) { _currentMP = reader.ReadInt32(); _maxMP = reader.ReadInt32(); _diff = reader.ReadInt32(); _type = reader.ReadUInt32(); _target = reader.ReadUInt64(); _source = reader.ReadUInt64(); //System.Console.WriteLine(this); }
public S_EACH_SKILL_RESULT(TeraMessageReader reader) : base(reader) { reader.Skip(4); Source = reader.ReadUInt64(); reader.Skip(8); Target = reader.ReadUInt64(); reader.Skip(4 + 4 + 4 + 4 + 4 + 4); Damage = reader.ReadUInt32(); Debug.WriteLine(Damage); }
public S_PLAYER_CHANGE_EXP(TeraMessageReader reader) : base(reader) { GainedTotalExp = reader.ReadUInt64(); TotalExp = reader.ReadUInt64(); LevelExp = reader.ReadUInt64(); NextLevelExp = reader.ReadUInt64(); KilledMobEntityId = reader.ReadUInt64(); reader.Skip(4); GainedRestedExp = reader.ReadUInt32(); RestedExp = reader.ReadUInt32(); // float, u32, u32 (unks) }
public S_SPAWN_USER(TeraMessageReader reader) : base(reader) { reader.Skip(2 + 2 + 2 + 2); var nameOffset = reader.ReadUInt16() - 4; reader.Skip(2 + 2 + 2 + 2 + 2 + 2 + 2); ServerId = reader.ReadUInt32(); PlayerId = reader.ReadUInt32(); //if(!WindowManager.GroupWindow.VM.Exists(PlayerId,ServerId)) return; EntityId = reader.ReadUInt64(); reader.Skip(4 + 4 + 4 + 2 + 4 + 4 + 2 + 2 + 2 + 2 + 2 + 1 + 1 + 4 + 4); var weaponId = reader.ReadUInt32(); var armorId = reader.ReadUInt32(); var glovesId = reader.ReadUInt32(); var bootsId = reader.ReadUInt32(); Weapon = new GearItem(weaponId, GearTier.Low, GearPiece.Weapon, 0, 0); Armor = new GearItem(armorId, GearTier.Low, GearPiece.Armor, 0, 0); Gloves = new GearItem(glovesId, GearTier.Low, GearPiece.Hands, 0, 0); Boots = new GearItem(bootsId, GearTier.Low, GearPiece.Feet, 0, 0); reader.Skip(4 + 4 + 4 + 4 + 4 + 4 + 4 + 8 + 4 + 1 + 1 + 1 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4); reader.BaseStream.Position = nameOffset; Name = reader.ReadTeraString(); //System.Console.WriteLine("[S_SPAWN_USER] {0} {1}", EntityId, Name); }
public S_SHOW_HP(TeraMessageReader reader) : base(reader) { GameId = reader.ReadUInt64(); CurrentHp = reader.ReadInt64(); MaxHp = reader.ReadInt64(); Enemy = reader.ReadBoolean(); }
internal S_CREATURE_LIFE(TeraMessageReader reader) : base(reader) { Target = reader.ReadUInt64(); //var pos = reader.ReadVector3f(); reader.Skip(12); Alive = reader.ReadBoolean(); // 0=dead;1=alive }
public S_ABNORMALITY_BEGIN(TeraMessageReader reader) : base(reader) { targetId = reader.ReadUInt64(); casterId = reader.ReadUInt64(); id = reader.ReadUInt32(); duration = reader.ReadInt32(); reader.Skip(4); stacks = reader.ReadInt32(); //if(targetId == SessionManager.CurrentCharId) //{ // var name = string.Empty; // if (TCC.Data.AbnormalityDatabase.Abnormalities.TryGetValue(id, out Abnormality ab)) name = ab.Name; // //Console.WriteLine("[S_ABNORMALITY_BEGIN] target:{0} id:{1} name:{4} duration:{2} stacks:{3}", targetId, id, duration, stacks, name); //} }
public S_ACTION_STAGE(TeraMessageReader reader) : base(reader) { reader.BaseStream.Position = 0; GameId = reader.ReadUInt64(); reader.ReadVector3f(); reader.ReadAngle(); reader.Skip(4); TemplateId = reader.ReadUInt32(); //reader.Skip(3); Skill = reader.ReadUInt32() - 0x04000000; Stage = reader.ReadInt32(); Speed = reader.ReadSingle(); Id = reader.ReadUInt32(); reader.Skip(4 + 1 + 12); Target = reader.ReadUInt64(); }
public S_SPAWN_NPC(TeraMessageReader reader) : base(reader) { //reader.Skip(10); //id = reader.ReadUInt64(); //var target = reader.ReadUInt64(); //var pos = reader.ReadVector3f(); //var angle = reader.ReadUInt16(); //var relation = reader.ReadUInt32(); //templateId = reader.ReadUInt32(); //huntingZoneId = reader.ReadUInt16(); //var unk1 = reader.ReadInt32(); //var walkSpeed = reader.ReadInt16(); //var runSpeed = reader.ReadInt16(); //var unk5 = reader.ReadInt16(); //var unk6 = reader.ReadBoolean(); //var unk7 = reader.ReadInt32(); //var visible = reader.ReadBoolean(); //var villager = reader.ReadBoolean(); //var spawnType = reader.ReadUInt32(); //var unk11 = reader.ReadUInt64(); //var unk12 = reader.ReadUInt64(); //var unk13 = reader.ReadUInt16(); //var unk14 = reader.ReadUInt32(); //var unk15 = reader.ReadBoolean(); //var owner = reader.ReadUInt64(); //var unk16 = reader.ReadUInt32(); //var unk17 = reader.ReadUInt32(); //var unk18 = reader.ReadUInt64(); //var unk19 = reader.ReadByte(); //var unk20 = reader.ReadUInt32(); //var unk25 = reader.ReadUInt32(); reader.Skip(10); // seatsRef [4] + partsRef[4] + npcNameRef [2] EntityId = reader.ReadUInt64(); reader.Skip(8); // target Level = reader.ReadInt32(); MaxHP = reader.ReadInt64(); EnrageThreshold = reader.ReadInt64(); reader.Skip(12); //var loc = reader.ReadVector3f(); reader.Skip(2); //var angle = reader.ReadInt16(); reader.Skip(4); //var relation = reader.ReadInt32(); TemplateId = reader.ReadUInt32(); HuntingZoneId = reader.ReadUInt16(); reader.Skip(4 // shapeID + 2 + 2 // walkSpeed + runSpeed ); reader.Skip(2); // status IsEnraged = reader.ReadInt16() == 1; //var enrage = reader.ReadUInt16(); // 0/1 RemainingEnrageTime = reader.ReadInt32(); reader.Skip(2 // hpLevel + 2 // questInfo + 1); // visible Villager = reader.ReadBoolean(); //reader.Skip(4); //reader.Skip(4+8+4+4); //var aggressive = reader.ReadBoolean(); //Console.WriteLine("[S_SPAWN NPC] id:{0} tId:{1} hzId:{2}", id, templateId, huntingZoneId); }
public S_NPC_STATUS(TeraMessageReader reader) : base(reader) { EntityId = reader.ReadUInt64(); IsEnraged = reader.ReadBoolean(); reader.Skip(4); //unk1 = reader.ReadInt32(); Target = reader.ReadUInt64(); reader.Skip(4); //unk2 = reader.ReadInt32(); //string npcName = entityId.ToString(); //if (EntityManager.CurrentBosses.FirstOrDefault(x => x.EntityId == entityId) != null) //{ // npcName = EntityManager.CurrentBosses.FirstOrDefault(x => x.EntityId == entityId).Name; //} //string target = targetId.ToString(); //if (targetId == SessionManager.CurrentPlayer.EntityId) target = SessionManager.CurrentPlayer.Name; //System.Console.WriteLine("[S_NPC_STATUS] {0} > {1} ({2}) -- unk1:{3} unk2:{4}", npcName, target, IsEnraged, unk1, unk2); }
public S_USER_EFFECT(TeraMessageReader reader) : base(reader) { User = reader.ReadUInt64(); Source = reader.ReadUInt64(); circle = reader.ReadInt32(); action = reader.ReadInt32(); //string sourceName = Source.ToString(); //if (EntitiesManager.CurrentBosses.FirstOrDefault(x => x.EntityId == Source) != null) //{ // sourceName = EntitiesManager.CurrentBosses.FirstOrDefault(x => x.EntityId == Source).Name; //} //string userName = User.ToString(); //if (User == SessionManager.CurrentPlayer.EntityId) userName = SessionManager.CurrentPlayer.Name; //Console.WriteLine("[S_USER_EFFECT] {0} > {1} ({2} {3})", sourceName, userName, Action, Circle); }
public S_WEAK_POINT(TeraMessageReader reader) : base(reader) { Target = reader.ReadUInt64(); RemovedRunemarks = reader.ReadUInt32(); TotalRunemarks = reader.ReadInt32(); type = reader.ReadUInt32(); SkillId = reader.ReadUInt32(); }
public S_PRIVATE_CHAT(TeraMessageReader reader) : base(reader) { reader.Skip(4); Channel = reader.ReadUInt32(); AuthorId = reader.ReadUInt64(); AuthorName = reader.ReadTeraString(); Message = reader.ReadTeraString(); }
public S_WHISPER(TeraMessageReader reader) : base(reader) { reader.Skip(6); PlayerId = reader.ReadUInt64(); reader.Skip(3); Author = reader.ReadTeraString(); Recipient = reader.ReadTeraString(); Message = reader.ReadTeraString(); }
public S_PLAYER_CHANGE_EXP(TeraMessageReader reader) : base(reader) { GainedTotalExp = reader.ReadUInt64(); TotalExp = reader.ReadUInt64(); LevelExp = reader.ReadUInt64(); NextLevelExp = reader.ReadUInt64(); KilledMobEntityId = reader.ReadUInt64(); reader.Skip(4); GainedRestedExp = reader.ReadUInt32(); RestedExp = reader.ReadUInt32(); // float, u32, u32 (unks) Log.CW($"{nameof(NextLevelExp)} {NextLevelExp}"); Log.CW($"{nameof(RestedExp)} {RestedExp}"); Log.CW($"{nameof(GainedRestedExp)} {GainedRestedExp}"); Log.CW($"{nameof(LevelExp)} {LevelExp}"); Log.CW($"{nameof(TotalExp)} {TotalExp}"); Log.CW($"{nameof(GainedTotalExp)} {GainedTotalExp}"); }
internal S_PRIVATE_CHAT(TeraMessageReader reader) : base(reader) { reader.Skip(4);//offsets Channel = reader.ReadUInt32(); AuthorId = reader.ReadUInt64(); AuthorName = reader.ReadTeraString(); Text = reader.ReadTeraString(); Console.WriteLine("Channel:" + Channel + ";Username:"******";Text:" + Text + ";AuthorId:" + AuthorId); }
//public int Stage { get; } //public float Speed{ get; } //public uint Id{ get; } //public ulong Target { get; } public S_ACTION_STAGE(TeraMessageReader reader) : base(reader) { reader.Skip(4); GameId = reader.ReadUInt64(); //reader.ReadVector3f(); //reader.ReadAngle(); reader.Skip(18); Skill = new SkillId(reader).Id; }
internal S_PRIVATE_CHAT(TeraMessageReader reader) : base(reader) { AuthorNameOffset = reader.ReadUInt16(); TextOffset = reader.ReadUInt16(); Channel = reader.ReadInt32(); AuthorId = reader.ReadUInt64(); AuthorName = reader.ReadTeraString(); Text = reader.ReadTeraString(); Debug.WriteLine("Channel:" + Channel + ";Username:"******";Text:" + Text + ";AuthorId:" + AuthorId); }
public S_PARTY_MEMBER_LIST(TeraMessageReader reader) : base(reader) { var count = reader.ReadUInt16(); var offset = reader.ReadUInt16(); _im = reader.ReadBoolean(); _raid = reader.ReadBoolean(); reader.Skip(12); //unk1 = reader.ReadUInt32(); //unk2 = reader.ReadUInt32(); //unk3 = reader.ReadUInt16(); //unk4 = reader.ReadUInt16(); _leaderServerId = reader.ReadUInt32(); _leaderPlayerId = reader.ReadUInt32(); reader.Skip(19); //unk5 = reader.ReadUInt32(); //unk6 = reader.ReadUInt32(); //unk7 = reader.ReadByte(); //unk8 = reader.ReadUInt32(); //unk9 = reader.ReadByte(); //unk10 = reader.ReadUInt32(); //unk11 = reader.ReadByte(); Members = new List <User>(); for (var i = 0; i < count; i++) { var u = new User(WindowManager.GroupWindow.Dispatcher); reader.BaseStream.Position = offset - 4; reader.Skip(2); // var pointer = reader.ReadUInt16(); var nextOffset = reader.ReadUInt16(); var nameOffset = reader.ReadUInt16(); u.ServerId = reader.ReadUInt32(); u.PlayerId = reader.ReadUInt32(); u.Level = reader.ReadUInt32(); u.UserClass = (Class)reader.ReadUInt32(); u.Online = reader.ReadBoolean(); u.EntityId = reader.ReadUInt64(); u.Order = reader.ReadInt32(); u.CanInvite = reader.ReadBoolean(); u.Laurel = (Laurel)reader.ReadUInt32(); u.Awakened = reader.ReadInt32() > 0; reader.BaseStream.Position = nameOffset - 4; u.Name = reader.ReadTeraString(); u.Alive = true; u.IsLeader = u.ServerId == LeaderServerId && u.PlayerId == LeaderPlayerId; Members.Add(u); offset = nextOffset; } }
public S_WHISPER(TeraMessageReader reader) : base(reader) { reader.Skip(6); GameId = reader.ReadUInt64(); reader.Skip(1); IsGm = reader.ReadBoolean(); reader.Skip(1); Author = reader.ReadTeraString(); Recipient = reader.ReadTeraString(); Message = reader.ReadTeraString(); }
public S_GUILD_TOWER_INFO(TeraMessageReader reader) : base(reader) { reader.Skip(2); var nameOffset = reader.ReadUInt16(); TowerId = reader.ReadUInt64(); GuildId = reader.ReadUInt32(); LogoInfo = reader.ReadTeraString(); reader.BaseStream.Position = nameOffset - 4; GuildName = reader.ReadTeraString(); }
public S_CREATURE_CHANGE_HP(TeraMessageReader reader) : base(reader) { //if (reader.Version < 321550 || reader.Version > 321600) //{ CurrentHP = reader.ReadInt64(); MaxHP = reader.ReadInt64(); Diff = reader.ReadInt64(); //} //else //{ // currentHP = reader.ReadInt32(); // maxHP = reader.ReadInt32(); // diff = reader.ReadInt32(); //} //type = reader.ReadUInt32(); reader.Skip(4); Target = reader.ReadUInt64(); Source = reader.ReadUInt64(); Crit = reader.ReadByte(); }
public S_USER_STATUS(TeraMessageReader reader) : base(reader) { EntityId = reader.ReadUInt64(); if (reader.ReadInt32() == 1) { IsInCombat = true; } else { IsInCombat = false; } }