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, // 跨服野外场景,成魔 } /// /// PK模式.决定玩家攻击判定.100以内保留,100+代表Server模式的特殊服务器id /// 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, } /// /// PK值,记录玩家PK行为. /// 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, // 无(两仪) } // }