123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358 |
- using CommonAI.Data;
- using CommonAI.Zone;
- using CommonAI.Zone.Instance;
- using CommonLang.IO;
- using CommonLang.IO.Attribute;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using XmdsCommon.Plugin;
- namespace XmdsCommonServer.Message
- {
- /// <summary>
- /// 战斗服通知客户端事件.
- /// </summary>
- [MessageType(0xFF00001)]
- public class PlayerRebirthEventR2B : PlayerEvent
- {
- //1 = 原地复活.
- //2 = 出生点复活.
- //3 = 复活点复活.
- //4 = 技能复活.
- //5 = 随机复活点
- public byte type = 0;
- public int HP = 0;
- public int MP = 0;
- public ConsumeItemEventB2R Callback = null;
- public PlayerRebirthEventR2B() { }
- public PlayerRebirthEventR2B(byte t, ConsumeItemEventB2R c)
- {
- type = t;
- Callback = c;
- }
- override public void WriteExternal(IOutputStream output)
- {
- base.WriteExternal(output);
- output.PutU8(type);
- output.PutExt(Callback);
- output.PutVS32(HP);
- output.PutVS32(MP);
- }
- override public void ReadExternal(IInputStream input)
- {
- base.ReadExternal(input);
- type = input.GetU8();
- Callback = input.GetExt<ConsumeItemEventB2R>();
- HP = input.GetVS32();
- MP = input.GetVS32();
- }
- }
- /// <summary>
- /// 游戏服通知战斗服救人.
- /// </summary>
- [MessageType(0xFF00002)]
- public class PlayerSaveEventR2B : PlayerEvent
- {
- //救助者.
- public InstanceUnit Saver = null;
- //死者.
- public InstanceUnit Decedent = null;
- //复活所需要时间.
- public int SaveTime = 0;
- }
- /// <summary>
- /// 游戏通知战斗服召唤坐骑.
- /// </summary>
- [MessageType(0xFF00003)]
- public class PlayerSummonMountEventR2B : PlayerEvent
- {
- /// <summary>
- /// 召唤时间.
- /// </summary>
- public int TimeMS = 0;
- /// <summary>
- /// 是否为上坐骑.
- /// </summary>
- public bool IsSummonMount = false;
- }
- /// <summary>
- /// 游戏服通知技能变更.
- /// </summary>
- [MessageType(0xFF00004)]
- public class PlayerSkillChangeEventR2B : PlayerEvent
- {
- public enum SkillOperate : byte
- {
- Reset = 0, //重置所有.
- Replace = 1, //替换(找到指定ID然后替换).
- Add = 2, //新增.
- Remove = 3, //删除.
- }
- /// <summary>
- /// 操作标识.
- /// </summary>
- public SkillOperate OperateID = SkillOperate.Reset;
- /// <summary>
- /// 技能列表(可能包含主动、被动).
- /// </summary>
- public List<GameSkill> SkillList = null;
- override public void WriteExternal(IOutputStream output)
- {
- base.WriteExternal(output);
- output.PutEnum8(OperateID);
- output.PutList<GameSkill>(SkillList, output.PutExt);
- }
- override public void ReadExternal(IInputStream input)
- {
- base.ReadExternal(input);
- OperateID = input.GetEnum8<SkillOperate>();
- SkillList = input.GetList<GameSkill>(input.GetExt<GameSkill>);
- }
- }
- /// <summary>
- /// 同步玩家可用背包数量.
- /// </summary>
- [MessageType(0xFF00005)]
- public class SyncPlayerInventorySizeEventR2B : PlayerEvent
- {
- public int Size = 0;
- override public void WriteExternal(IOutputStream output)
- {
- base.WriteExternal(output);
- output.PutS32(Size);
- }
- override public void ReadExternal(IInputStream input)
- {
- base.ReadExternal(input);
- Size = input.GetS32();
- }
- }
- /// <summary>
- /// 组队信息.
- /// </summary>
- [MessageType(0xFF00006)]
- public class TeamInfoEventR2B
- {
- public List<string> UUIDList = null;
- }
- /// <summary>
- /// 单位PK等级变更事件(游戏服至战斗服).
- /// </summary>
- [MessageType(0xFF00007)]
- public class PlayerPKLevelChangeEventR2B
- {
- /// <summary>
- /// 当前等级.
- /// </summary>
- public PKLevel CurPKLv;
- }
- /// <summary>
- /// 单位PK模式变更.(游戏服至战斗服).
- /// </summary>
- [MessageType(0xFF00008)]
- public class PlayerPKModeChangeEventR2B
- {
- /// <summary>
- /// 当前模式.
- /// </summary>
- public PKMode CurPKMode;
- }
- /// <summary>
- /// 单位PK模式变更.(游戏服至战斗服).
- /// </summary>
- [MessageType(0xFF00009)]
- public class PlayerPKValueChangeEventR2B
- {
- /// <summary>
- /// 更改值,实际计算公式:CurrentValue += ChangeValue.
- /// </summary>
- public int ChangeValue;
- }
- /// <summary>
- /// 属性变更指令.
- /// </summary>
- [MessageType(0xFF00010)]
- public class PropertyChangeEventR2B
- {
- /// <summary>
- /// 属性变更类型.
- /// </summary>
- public enum PropertyChangeType : byte
- {
- HP,
- NPC
- }
- public enum ValueType : byte
- {
- Value,
- Percent // 万分比.
- }
- /// <summary>
- /// 作用类型.
- /// </summary>
- public PropertyChangeType ChangeType;
- /// <summary>
- /// 值类型.
- /// </summary>
- public ValueType ChangeValueType;
- /// <summary>
- /// 值.
- /// </summary>
- public int ChangeValue;
- /// <summary>
- /// 持续时间.
- /// </summary>
- public int Duration;
- /// <summary>
- /// 过期时间戳.
- /// </summary>
- public long TimestampMS;
- }
- /// <summary>
- /// 宠物基础属性变更.
- /// </summary>
- [MessageType(0xFF00011)]
- public class PetBaseInfoChangeEventR2B
- {
- /// <summary>
- /// 基础属性.
- /// </summary>
- public PetBaseInfo BaseInfo;
- }
- /// <summary>
- /// 宠物整体属性变更.
- /// </summary>
- [MessageType(0xFF00012)]
- public class PetDataChangeEventR2B
- {
- /// <summary>
- /// 属性变更类型.
- /// </summary>
- public enum PetDataChangeType : byte
- {
- Add, //增加.
- Delete, //删除.
- Replace, //替换宠物.
- Reset, //重置当前.
- }
- public PetDataChangeType OpType;
- public PetData Data;
- }
- /// <summary>
- /// 宠物技能变更.
- /// </summary>
- [MessageType(0xFF00013)]
- public class PetSkillChangeEventR2B
- {
- /// <summary>
- /// 操作标识.
- /// </summary>
- public PlayerSkillChangeEventR2B.SkillOperate OperateID;
- /// <summary>
- /// 技能列表(可能包含主动、被动).
- /// </summary>
- public List<GameSkill> SkillList = null;
- }
- /// <summary>
- /// 组队背包更新.
- /// </summary>
- [MessageType(0xFF00014)]
- public class TeamInventorySizeChangeEventR2B
- {
- public int size;
- }
- /// <summary>
- /// 宠物属性变更指令.
- /// </summary>
- [MessageType(0xFF00015)]
- public class PetPropertyChangeEventR2B
- {
- public PropertyChangeEventR2B Order;
- }
- [MessageType(0xFF00016)]
- public class PetFollowModeChangeEventR2B
- {
- public XmdsCommon.Plugin.XmdsPetConifg.XmdsPetFollowMode mode;
- }
- /////////////////////////////////////组队相关////////////////////////////////////////////////
- /// <summary>
- /// 游戏服通知组队信息
- /// </summary>
- public class TeamDataEventR2B
- {
- public string LeaderId;
- public List<TeamMemberEventR2B> TeamMembers;
- public bool ContainMem(String id)
- {
- if(this.TeamMembers == null)
- {
- return false;
- }
- foreach(TeamMemberEventR2B member in this.TeamMembers)
- {
- if(member.uuid != null && member.uuid.Equals(id))
- {
- return true;
- }
- }
- return false;
- }
- }
- public class TeamMemberEventR2B
- {
- public int followLeader;
- public string uuid;
- }
- }
|