123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347 |
- using CommonAI.Zone;
- using CommonAI.Zone.Helper;
- using CommonLang.Property;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace CommonAI.Data
- {
- //同步玩家信息类型
- public abstract class UnitAttrMaskType : PlayerEvent
- {
- public const ulong MASK_ALL = 0xFFFFFFFFFFFFFFFF;
- public const ulong MASK_MAX_HP = 1 << 0;
- public const ulong MASK_MOVE_SPEED = 1 << 1;
- public const ulong MASK_HP_REBORN = 1 << 2;
- //同步Attribute
- public const ulong MASK_HP_PER = 1 << 3;
- public const ulong MASK_ATTACK = 1 << 4;
- public const ulong MASK_ATTACK_PER = 1 << 5;
- public const ulong MASK_DEF = 1 << 6;
- public const ulong MASK_DEF_PER = 1 << 7;
- public const ulong MASK_IGNORE_DEFENSE_PER = 1 << 8;
- public const ulong MASK_CRIT_RATE = 1 << 9;
- public const ulong MASK_CRIT_DAMAGE = 1 << 10;
- public const ulong MASK_INCALLDAMAGE = 1 << 11;
- public const ulong MASK_ALL_DAMAGE_REDUCE = 1 << 12;
- public const ulong MASK_CTRLTIME_REDUCE = 1 << 13;
- public const ulong MASK_SKILL_CD = 1 << 14;
- public const ulong MASK_HEALEFFECT = 1 << 15;
- public const ulong MASK_HEALEDEFFECT = 1 << 16;
- public const ulong MASK_SKILLDAMAGE = 1 << 17;
- public const ulong MASK_ATTACK_SPEED = 1 << 18;
- public const ulong MASK_CONTROL_UP = 1 << 19;
- public const ulong MASK_RES_CRIT_RATE = 1 << 20; //抗暴率
- //public const ulong MASK_GODMAIN_DEFENSE = 1 << 21;
- //元素攻击 & 防御
- public const ulong MASK_GOLD_ATTACK = 1 << 22;
- public const ulong MASK_GOLD_DEFENSE = 1 << 23;
- public const ulong MASK_WOOD_ATTACK = 1 << 24;
- public const ulong MASK_WOOD_DEFENSE = 1 << 25;
- public const ulong MASK_WATER_ATTACK = 1 << 26;
- public const ulong MASK_WATER_DEFENSE = 1 << 27;
- public const ulong MASK_FIRE_ATTACK = 1 << 28;
- public const ulong MASK_FIRE_DEFENSE = 1 << 29;
- public const ulong MASK_SOIL_ATTACK = 1 << 30;
- public const ulong MASK_SOIL_DEFENSE = 1L << 31;
- public const ulong MASK_TOBOSS_CRIT_RATE = 1L << 32;
- public const ulong MASK_TOBOSS_CRIT_DAMAGE = 1L << 33;
- public const ulong MASK_GOLD_RESTRAINT = 1L << 34;
- public const ulong MASK_WOOD_RESTRAINT = 1L << 35;
- public const ulong MASK_WATER_RESTRAINT = 1L << 36;
- public const ulong MASK_FIRE_RESTRAINT = 1L << 37;
- public const ulong MASK_SOIL_RESTRAINT = 1L << 38;
- public const ulong MASK_GOLD_RESIST = 1L << 39;
- public const ulong MASK_WOOD_RESIST = 1L << 40;
- public const ulong MASK_WATER_RESIST = 1L << 41;
- public const ulong MASK_FIRE_RESIST = 1L << 42;
- public const ulong MASK_SOIL_RESIST = 1L << 43;
- public const ulong MASK_PVP_KILLVALUE = 1L << 44;
- public const ulong MASK_YAOQI_LEVEL = 1L << 45;
- public const ulong MASK_NORMAL_ATK_LEECH = 1L << 46;
- public const ulong MASK_ACTIVE_ATK_LEECH = 1L << 47;
- public const ulong MASK_ARTIFACTMAIN_PER = 1L << 48;
- public const ulong MASK_FIELD_BOSS_DAMAGEADD = 1L << 49;
- //玩家真实最大生命值(暂时仅角色面板显示)
- public const ulong MASK_MAX_HP_EXT = 1L << 50;
- public const ulong MASK_DUNGEON_MONETER_DAMAGEADD = 1L << 51;
- //移动速度加成
- public const ulong MASK_MOVE_SPEED_ADDITION = 1L << 52;
- //命格克制
- public const ulong MASK_MONSTER_RESTRAINT_1 = 1L << 53;
- public const ulong MASK_MONSTER_RESTRAINT_2 = 1L << 54;
- public const ulong MASK_MONSTER_RESTRAINT_3 = 1L << 55;
- public const ulong MASK_MONSTER_RESTRAINT_4 = 1L << 56;
- public const ulong MASK_MONSTER_RESTRAINT_5 = 1L << 57;
- //// 猎妖属性
- public const ulong MASK_MONSTER_ATK = 1L << 58;
- public const ulong MASK_MONSTER_DEF = 1L << 59;
- public const ulong MASK_MONSTER_ATK_PER = 1L << 60;
- public const ulong MASK_MONSTER_DEF_PER = 1L << 61;
- }
- //技能释放状态
- public enum SkillCanLauchType : byte
- {
- All, // 所有技能
- OnlyBaseSkill, // 只能释放普攻
- None, // 不能释放技能
- }
- //伤害类型
- public enum DamageType : byte
- {
- Damage, //伤害.
- Heal, //治愈.
- None, //无伤.
- Modify, //自定义.
- }
- //卡牌强化叠层类型
- public enum CardLayerType : byte
- {
- None, // 默认值
- Replace, // 所有强化只有一个,其他会被替换
- Layers, // 所有强化只有一个,累计叠层
- }
- public enum BattleStatus : byte
- {
- None = 0,
- ReadyBattle = 1,
- PVE = 10,
- PVP = 11,
- }
- //技能数据
- public class SkillLevelData
- {
- public XmdsSkillType skillType;
- public int SkillLevel;
- public int TalentSkillLevel1;
- public int TalentSkillLevel2;
- public int TalentSkillLevel3;
- //public int skillTime;
- }
- // 地图类型
- public enum SceneType : byte
- {
- Normal = 1, //野外.
- Dungeon = 2, //副本.
- DanTiao = 3, //单挑王.
- JJC = 4, //竞技场.
- CrossServer = 5, //跨服.
- MengZhan = 6, //盟战.
- GuildDungeon = 7, //公会副本.
- WorldBoss = 8, //世界BOSS.
- HUANJING = 9, //剧情场景
- FiveVFive = 10, //5v5
- GoblinTower = 11, //镇妖塔
- SourceDungeon = 12, //资源副本
- HaoYueJing = 13, //皓月镜
- GuildBoss = 14, //工会Boss
- SecretDungeon = 15, //秘境夺宝
- FightLevelUltra = 16, //极限副本
- GuildFortPve = 17, //工会据点采集地图
- GuildFortPvp = 18, //工会据点战斗地图
- UnderGroundPlace = 19, //boss地宫
- DIALY_RECHARGE_DUNGEON = 20, //每日充值副本
- PickLotus = 21, //采莲
- AbyssDungeon = 22, //深渊
- CrossReadyArea = 23, //跨服备战区
- ROBBERY = 24, // 渡劫
- DEVIL = 25, // 成魔
- GuildFun=26, //公会功能地图
- WeekendStart = 27, //星瀚殿
- ZhanYao_YaoYu = 28, //斩妖-妖域
- FishBoss = 29,
- RESOURCE_DUNGEON_MINERAL = 30, // 资源副本采矿图
- BACKRESURRECT_AREA = 31,
- NEW_HAND_SHI_LIAN_AREA = 32, // 新手血色试炼场景
- WEEKEND_UnderGroundPlace_BOSS = 33, //周末封魔地图
- //有时间限制,并且地图需要消耗指定道具
- CONSUME_LIMITTIME_AREA = 34, //天之涯,海之角,蓬莱岛场景
- DUJIE_DAZUO = 35,
- //挂机地图
- WIDE_HOOK = 36,
- SHI_MEN_POS = 37,
- MOUNTAINKING_PRISON = 38, //山大王监狱
- //100+跨服场景
- CROSS_SERVER_NEW = 100, // 新跨服野外场景
- NCS_MutilCross = 101, // 新跨服-多无名镇
- NCS_DoubleCross = 102, // 新跨服-双服无名镇
- NCS_FengShen = 103, // 新跨服-封神战
- NCS_FengShenResure=104, // 封神战-复活区
- CROSS_BOSS = 105, // 跨服boss场景
- CROSS_WILDAREA = 106, // 跨服野外场景,灵域
- CROSS_DEVIL = 107, // 跨服野外场景,成魔
- }
- /// <summary>
- /// PK模式.决定玩家攻击判定.100以内保留,100+代表Server模式的特殊服务器id
- /// </summary>
- public enum PKMode : byte
- {
- Peace = 0, //和平模式(该模式下不能攻击其他任何玩家,被攻击也不能还手).
- Justice = 1,//善恶模式(只能攻击PK值>0的玩家).
- force = 2, //阵营模式(只能攻击和自己不同阵营的玩家).
- Guild = 3, //公会模式(只能攻击不是自己公会/家族的玩家).
- Team = 4, //组队模式(只能攻击对外意外的玩家).
- Server = 5, //本服模式(只能攻击其他服务器的玩家。这个模式只在连服生效).
- All = 6 //全体模式(攻击自己及队友以外的玩家等价于队友模式).
- }
- public enum JSGCustomOpType : byte
- {
- UpdateAutoBattleFlag = 0, //更新自动战斗模式
- }
- public enum XmdsUnitPro : byte
- {
- [DescAttribute("None为默认值", "职业")]
- None = 0, //木有.
- [DescAttribute("战士", "职业")]
- Sword = 1, //苍狼.
- //Assassin = 2, //御剑.
- [DescAttribute("法师", "职业")]
- Magic = 3, //逸仙.
- //Hunter = 4, //神箭.
- [DescAttribute("治疗", "职业")]
- Priest = 5, //灵狐.
- [DescAttribute("上限标记", "职业")]
- Max,
- }
- // 天命类型: 金木土水火
- public enum UnitFateType : sbyte
- {
- Random=-1,
- None = 0,
- One = 1,
- Two = 2,
- Three = 3,
- Four = 4,
- Five = 5,
- }
- /// <summary>
- /// PK值,记录玩家PK行为.
- /// </summary>
- public enum PKLevel : byte
- {
- White = 0,
- Black = 1,
- Yellow = 2,
- Red = 3,
- }
- public class GlobalData
- {
- //默认攻速值
- public static readonly int DEFAULT_ATTACK_SPEED = 10000;
- //bot刷新频率
- public static readonly short BOT_UPDATE_INTERVAL = 5000;
- //ZoneUpdate慢刷新倍数
- public static readonly short ZONE_UPDATE_SLOW = 10;
- public static readonly Random gRandom = new Random();
- //游戏中概率基础
- public static readonly int RATE_BASE = 10000;
- //定力系统相关常量
- public static readonly int SHIELD_RECOVER_TIME = 10; // 回满需要次数
- public static readonly int SHIELD_RECOVER_INTERVAL = 500; // 恢复间隔
- public static readonly int SHIELD_BREAK_BUFF = 920000; // 破定状态buff
- public static readonly int SHIELD_BREAK_HOLDTIME = 6000; // 破定时间
- //测试配置
- public static bool GAME_BS_TEST = false;
- }
- public class GSCreateAreaData
- {
- public int value1;
- public int value2;
- }
- //释放法术个人数据
- public class JSGCreateSpellData
- {
- public int mMaxSpellCount;
- }
- public enum SummonType : byte
- {
- none = 0,
- guard = 1, // 自卫
- guardMaster = 2, // 守卫主人
- attack = 3, // 上来就干
- MoveToMaster = 4, // 往上冲
- AwaitMaster = 5, // 原地等待或者增益master
- }
- //神器元素类型
- public enum ArtifactType : int
- {
- None = -1, //无效值
- Gold, //金
- Wood, //木
- Soil, //土
- Water, //水
- Fire //火
- }
- //位置坐标变更类型
- public enum XYModifyType : byte
- {
- [DescAttribute("绑定施法者方向")]
- Relative = 0,
- [DescAttribute("绝对坐标更改")]
- Absolutely = 1,
- }
- // 伤害来源 - 用户特殊处理显示上的逻辑
- public enum DamageSource : byte
- {
- Def = 0, // 2021.8.8前所有旧版伤害逻辑
- RemedyPoison = 1, // 特殊处理,治疗毒
- }
- // 卡牌类型
- public enum CardType : byte
- {
- QingLong = 0,
- ZhuQue = 1,
- BaiHu = 2,
- XuanWu = 3,
- Max = 4, // 无(两仪)
- }
- //
- }
|