From 99c8aff7021c6593c7d536716cbbc233552d1d75 Mon Sep 17 00:00:00 2001 From: Filip Maj Date: Fri, 28 Feb 2020 00:05:46 -0500 Subject: [PATCH] Fixed event status packet using the wrong event type. Changed kickevent in player class to use notice type. --- Map Server/Actors/Actor.cs | 12 ++++++------ Map Server/Actors/Chara/Player/Player.cs | 7 ++++--- .../{SetEventStatus.cs => SetEventStatusPacket.cs} | 6 +++--- 3 files changed, 13 insertions(+), 12 deletions(-) rename Map Server/Packets/Send/Actor/Events/{SetEventStatus.cs => SetEventStatusPacket.cs} (93%) diff --git a/Map Server/Actors/Actor.cs b/Map Server/Actors/Actor.cs index 471ae267..b6315609 100644 --- a/Map Server/Actors/Actor.cs +++ b/Map Server/Actors/Actor.cs @@ -267,37 +267,37 @@ namespace Meteor.Map.Actors if (eventConditions.talkEventConditions != null) { foreach (EventList.TalkEventCondition condition in eventConditions.talkEventConditions) - subpackets.Add(SetEventStatus.BuildPacket(actorId, true, 1, condition.conditionName)); + subpackets.Add(SetEventStatusPacket.BuildPacket(actorId, true, 1, condition.conditionName)); } if (eventConditions.noticeEventConditions != null) { foreach (EventList.NoticeEventCondition condition in eventConditions.noticeEventConditions) - subpackets.Add(SetEventStatus.BuildPacket(actorId, true, 1, condition.conditionName)); + subpackets.Add(SetEventStatusPacket.BuildPacket(actorId, true, 5, condition.conditionName)); } if (eventConditions.emoteEventConditions != null) { foreach (EventList.EmoteEventCondition condition in eventConditions.emoteEventConditions) - subpackets.Add(SetEventStatus.BuildPacket(actorId, true, 3, condition.conditionName)); + subpackets.Add(SetEventStatusPacket.BuildPacket(actorId, true, 3, condition.conditionName)); } if (eventConditions.pushWithCircleEventConditions != null) { foreach (EventList.PushCircleEventCondition condition in eventConditions.pushWithCircleEventConditions) - subpackets.Add(SetEventStatus.BuildPacket(actorId, true, 2, condition.conditionName)); + subpackets.Add(SetEventStatusPacket.BuildPacket(actorId, true, 2, condition.conditionName)); } if (eventConditions.pushWithFanEventConditions != null) { foreach (EventList.PushFanEventCondition condition in eventConditions.pushWithFanEventConditions) - subpackets.Add(SetEventStatus.BuildPacket(actorId, true, 2, condition.conditionName)); + subpackets.Add(SetEventStatusPacket.BuildPacket(actorId, true, 2, condition.conditionName)); } if (eventConditions.pushWithBoxEventConditions != null) { foreach (EventList.PushBoxEventCondition condition in eventConditions.pushWithBoxEventConditions) - subpackets.Add(SetEventStatus.BuildPacket(actorId, true, 2, condition.conditionName)); + subpackets.Add(SetEventStatusPacket.BuildPacket(actorId, true, 2, condition.conditionName)); } return subpackets; diff --git a/Map Server/Actors/Chara/Player/Player.cs b/Map Server/Actors/Chara/Player/Player.cs index d57f485b..78633c0a 100644 --- a/Map Server/Actors/Chara/Player/Player.cs +++ b/Map Server/Actors/Chara/Player/Player.cs @@ -45,6 +45,7 @@ using Meteor.Map.packets.send.player; using Meteor.Map.packets.send.actor.battle; using Meteor.Map.packets.receive.events; using static Meteor.Map.LuaUtils; +using Meteor.Map.packets.send.actor.events; namespace Meteor.Map.Actors { @@ -1813,7 +1814,7 @@ namespace Meteor.Map.Actors return; List lParams = LuaUtils.CreateLuaParamList(parameters); - SubPacket spacket = KickEventPacket.BuildPacket(actorId, actor.actorId, eventName, 0, lParams); + SubPacket spacket = KickEventPacket.BuildPacket(actorId, actor.actorId, eventName, 5, lParams); spacket.DebugPrintSubPacket(); QueuePacket(spacket); } @@ -1829,9 +1830,9 @@ namespace Meteor.Map.Actors QueuePacket(spacket); } - public void SetEventStatus(Actor actor, string conditionName, bool enabled, byte unknown) + public void SetEventStatus(Actor actor, string conditionName, bool enabled, byte type) { - QueuePacket(packets.send.actor.events.SetEventStatus.BuildPacket(actor.actorId, enabled, unknown, conditionName)); + SetEventStatusPacket.BuildPacket(actor.actorId, enabled, type, conditionName); } public void RunEventFunction(string functionName, params object[] parameters) diff --git a/Map Server/Packets/Send/Actor/Events/SetEventStatus.cs b/Map Server/Packets/Send/Actor/Events/SetEventStatusPacket.cs similarity index 93% rename from Map Server/Packets/Send/Actor/Events/SetEventStatus.cs rename to Map Server/Packets/Send/Actor/Events/SetEventStatusPacket.cs index 1b9a81a4..346aeb7e 100644 --- a/Map Server/Packets/Send/Actor/Events/SetEventStatus.cs +++ b/Map Server/Packets/Send/Actor/Events/SetEventStatusPacket.cs @@ -27,12 +27,12 @@ using Meteor.Common; namespace Meteor.Map.packets.send.actor.events { - class SetEventStatus + class SetEventStatusPacket { public const ushort OPCODE = 0x0136; public const uint PACKET_SIZE = 0x48; - public static SubPacket BuildPacket(uint sourceActorId, bool enabled, byte unknown2, string conditionName) + public static SubPacket BuildPacket(uint sourceActorId, bool enabled, byte type, string conditionName) { byte[] data = new byte[PACKET_SIZE - 0x20]; @@ -41,7 +41,7 @@ namespace Meteor.Map.packets.send.actor.events using (BinaryWriter binWriter = new BinaryWriter(mem)) { binWriter.Write((UInt32)(enabled ? 1 : 0)); - binWriter.Write((Byte)unknown2); + binWriter.Write((Byte)type); binWriter.Write(Encoding.ASCII.GetBytes(conditionName), 0, Encoding.ASCII.GetByteCount(conditionName) >= 0x24 ? 0x24 : Encoding.ASCII.GetByteCount(conditionName)); } }