public void Send() { var msg = new MsgGuideInfo { Identity = m_pOwner.Identity, TargetIdentity = m_dwIdentity, Type = 1 }; msg.AddString(m_szName); msg.AddString(m_pOwner.Name); msg.RemainingTime = 999999; if (IsOnline) { msg.SharedBattlePower = SharedBattlePower; msg.TargetMesh = Role.Lookface; msg.TargetLevel = Role.Level; msg.TargetOnline = true; msg.TargetPkPoint = Role.PkPoints; msg.TargetProfession = (ProfessionType)Role.Profession; msg.EnroleDate = m_dwEnrole; msg.RemainingTime = 999999; if (Role.Syndicate != null) { msg.SyndicateIdentity = (ushort)Role.Syndicate.Identity; msg.SyndicatePosition = Role.SyndicateMember.Position; } msg.AddString(Role.Mate); } m_pOwner.Send(msg); }
public void SendExpell() { var msg = new MsgGuideInfo { Identity = m_pOwner.Identity, Type = 2 }; msg.RemainingTime = 0; m_pOwner.Send(msg); }
public static void HandleGuideInfo(Character pRole, MsgGuideInfo pMsg) { switch (pMsg.Type) { case 1: // request mentor { if (pRole.Mentor == null) { return; } pRole.Mentor.Send(); break; } case 2: // request apprentices { if (pRole.Apprentices != null && pRole.Apprentices.Count > 0) { foreach (var appr in pRole.Apprentices.Values) { appr.Send(); } } break; } case 4: { break; } // not tested, probably asked after sending apprentices information to client // Mentor identity gets the value of the apprentices identity // which means that offset 8 isn't really the mentor identity, but a general identity :) // what would I call this? what about offset 12 that carries the student identity? default: ServerKernel.Log.SaveLog("Unhandled packet type 2066:" + pMsg.Type, true, "guide", LogType.DEBUG); GamePacketHandler.Report(pMsg); return; } }
public void Send() { var msg = new MsgGuideInfo { Identity = m_pOwner.Identity, TargetIdentity = m_dwIdentity, ApprenticeExperience = m_dwExperience, ApprenticeBlessing = m_usBlessing, ApprenticeComposing = (ushort)(m_usComposing > ushort.MaxValue ? ushort.MaxValue : m_usComposing), Type = 2 }; msg.AddString(m_pOwner.Name); msg.AddString(m_szName); msg.RemainingTime = 999999; if (IsOnline) { Role.FetchMentorAndApprentice(); msg.TargetMesh = Role.Lookface; msg.TargetLevel = Role.Level; msg.TargetOnline = true; msg.TargetPkPoint = Role.PkPoints; msg.TargetProfession = (ProfessionType)Role.Profession; msg.ApprenticeExperience = m_dwExperience = Role.StudentExperience; msg.ApprenticeBlessing = m_usBlessing = Role.StudentBlessing; m_usComposing = Role.StudentComposition; msg.ApprenticeComposing = (ushort)(m_usComposing > ushort.MaxValue ? ushort.MaxValue : m_usComposing); msg.EnroleDate = m_dwEnrole; if (Role.Syndicate != null) { msg.SyndicateIdentity = (ushort)Role.Syndicate.Identity; msg.SyndicatePosition = Role.SyndicateMember.Position; } msg.AddString(Role.Mate); } m_pOwner.Send(msg); }