#pragma once enum SocketFrom_e { SF_GameGate, }; enum InnerMesssage_e { IM_ClientSocketDisconnect = 100, IM_ExecGM, IM_GGListenerError }; //网络处理对象 enum NetHandler_e { HID_Player, HID_PlayerMgr, HID_Room, HID_RoomMgr, HID_MatchMgr, HID_MatchTeam, HID_GGListener, }; enum GasMode_e { GasInactive = 0, GasWaiting = 1, GasMoving = 2, GasJump = 3 }; enum ActionType_e { AT_None = 0, AT_Reload = 1, AT_UseItem = 2, AT_Relive = 3, AT_Rescue = 4 }; enum RoomType_e { RoomType_NewBrid = 0, RoomType_MidBrid, RoomType_OldBrid1, RoomType_OldBrid2, RoomType_OldBrid3, RoomType_Rank1, RoomType_Rank2, RoomType_Rank3, RoomType_MasterRank, RoomType_Max }; enum InventorySlot_e { IS_9MM = 0, IS_556MM = 1, IS_762MM = 2, IS_12GAUGE = 3, IS_RPG = 4, IS_FRAG = 5, IS_SMOKE = 6, IS_HEALTHKIT = 7, //医疗包 IS_PAIN_KILLER = 8, //止痛药 IS_SHEN_BAO = 9, //肾上腺速 IS_ICE = 10, //冰 IS_1XSCOPE = 12, IS_2XSCOPE = 13, IS_4XSCOPE = 14, IS_8XSCOPE = 15, IS_15XSCOPE = 16, IS_MINE = 17, //地雷 IS_MOLOTOR_COCKTAIL = 18, //燃烧瓶 IS_TRAP = 19, //陷井 IS_POSION_GAS_BOMB = 20, //毒气弹 IS_C4 = 21, //c4 IS_SHIELD_WALL = 22, //盾墙 IS_SINGAL_GUN = 23, //信号枪 IS_OIL_BUCKET = 24, //汽油桶 IS_YELLOW_STONE = 25, //黄宝石 IS_BLUE_STONE = 26, //蓝宝石 IS_PURPLE_STONE = 27, //紫宝石 IS_WEAPON_STONE = 28, //武器齿轮 IS_MAX = 30, IS_END }; enum SkillType_e { kActiveSkill = 1, kPassiveSkill = 2 }; enum BuffTriggerType_e { kBTT_UseSkill = 1, //技能释放时触发 kBTT_Kill = 2, //击杀敌方后触发 kBTT_SkillHit = 3, //技能命中触发 kBTT_OtherBuff = 4,//其他buff触发 kBTT_UseItem = 6, //使用道具触发 kBTT_SeriesShot = 7 //连射时触发 }; enum BuffTargetType_e { kBuffTargetNone = 0, //无 kBuffTargetSelf = 1, //自己 kBuffTargetFriendly = 2, //友军 kBuffTargetEnemy = 3, //敌军 }; enum SkillFunc_e { kSkill_FuncNone = 0, kSkill_TurnOver = 1, kSkill_JumpTo = 2, kSkill_Shot = 3, kSkill_Pull = 4, kSkill_HoldShield = 5, kSkill_FlyHook = 7, kSkill_FuncEnd }; enum SkillTarget_e { kST_All = 0, kST_Self = 1, kST_FriendlyIncludeSelf = 2, kST_FriendlyExcludeSelf = 3, kST_EnemySingle = 6, kST_EnemyGroup = 7, kST_EnemyAndObject = 8, kST_EnemyAndSelf = 9, kST_SingleEnemyAndSelf = 10, kST_SpecDir = 11 }; enum BuffSelectTarget_e { kBST_All = 0, kBST_Self = 1, kBST_FriendlyIncludeSelf = 2, kBST_FriendlyExcludeSelf = 3, kBST_Enemy = 5, kBST_EnemyAndSelf = 6, }; enum VirtualWeapon_e { VW_Gas = 9000000, VW_Explosion = 9000001, VW_Weapon = 9000002, }; enum VirtualPlayer_e { VP_Gas = 9000000, VP_Buff = 9000001, VP_Explosion = 9000002, VP_Water = 9000003, }; enum EquipType_e { EQUIP_TYPE_WEAPON = 1, EQUIP_TYPE_BULLET = 2, EQUIP_TYPE_THROW = 3, EQUIP_TYPE_PROTECTION = 4, EQUIP_TYPE_BAG = 7, EQUIP_TYPE_OLDSKIN = 8, EQUIP_TYPE_CAR = 9, EQUIP_TYPE_SKIN = 10, EQUIP_TYPE_CAMOUFLAGE = 11, EQUIP_TYPE_SPOILS = 12, EQUIP_TYPE_SINGAL_EMITTER = 13, EQUIP_TYPE_GIFT_PACKAGE = 14, EQUIP_TYPE_GEMSTONE = 15, EQUIP_TYPE_LOVE = 16, EQUIP_TYPE_End }; enum GunSubEquipType_e { GUN_SUB_EQUIP_TYPE_FLY_HOOk = 14, GUN_SUB_EQUIP_TYPE_End }; enum GemStoneSubEquipType_e { GEMSTONE_SUB_EQUIP_ENERGY = 1, GEMSTONE_SUB_EQUIP_SKILL = 2, GEMSTONE_SUB_EQUIP_SHIELD = 3, GEMSTONE_SUB_EQUIP_WEAPON = 4, GEMSTONE_SUB_EQUIP_TYPE_End }; enum ThrowSubEquipType_e { THROW_EQUIP_TYPE_ADD_BUFF = 3, THROW_SUB_EQUIP_TYPE_End }; enum EntitySubType_e { EST_None = 0, EST_Player = 1, EST_Android = 2, EST_PermanentObstacle = 3, EST_RoomObstacle = 4 }; enum PropertyType_e { kPropHp = 1, kPropMaxHp = 2, kPropVolume = 3, kPropSkillLeftTime_ = 4, kPropSkillCd = 5, kPropTankBulletNum = 6, kPropTankOil = 7, kPropBulletNum = 8, kPropItem = 9, kPropWeaponAmmo = 10, kPropCar = 11, kPropZombieId = 23, kPropSkillLeftTime = 24, kPropSkillCurrTimes = 25, kPropSkillMaxTimes = 26, kPropCarOil = 27, kPropFollowTarget = 30, kPropDive = 31, kPropSkillExp = 32, kPropShieldHp = 33, kPropBeHook = 34, kPropSkillMinor = 35, kPropReviveCion = 36, kPropCritDmg = 37, kPropParachute = 38, kPropFlyEffect = 39, kPropEnergyShield = 40, kPropYellowStone = 41, kPropPickUp = 42, kProTeamNum = 43, kPropTeamId = 44, kPropTzYsTime = 45, kPropGuideStep = 46, kPropBlueStone = 47, kPropPurpleStone = 48, kPropArmorShield = 49, kPropEliminateTime = 50, kPropDmgShow = 51, kPropShowHonor = 52, }; enum SkinSlot_e { kSkinSlot_CLOTH = 1, kSkinSlot_HAT = 2, }; enum ObjectFlags_e { kOfWriteCache = 0, kOfReadCache = 1, }; enum RoomMode_e { kPvpMode = 0, kPveMode = 1, kPvpRankMode = 2, kMobaMode = 3, kRoomModeEnd }; enum PostBuffAction_e { kRemoveBuffByIdAction = 1, kRemoveBuffByEffectAction = 2, kAddBuffAction = 3 }; enum ObstacleType_e { kObstacleSelfExplosion = 1, kObstacleMine = 2, kObstacleTrap = 3, kObstaclePosionGas = 4, kObstacleSpring = 5, kObstacleHideHouse = 6, kObstacleGully = 7, kObstacleAirDropBox = 8, kObstacleOilBucket = 9, kObstacleKeepRangeBuff = 10, kObstacleShield = 11, kObstacleStrengthenWall = 12, kObstacleMedicalStation = 13, }; enum BulletHit_e { kBulletHitPass = 1, kBulletHitAnyDmg = 2, kBulletHitOnlySpecDmg = 3, kBulletHitEatDmg = 4, }; enum CollisionHit_e { kCollisionHitPass = 1, kCollisionHitBlock = 2, kCollisionHitDeadAndDrop = 3, kCollisionHitSpecEvent = 4, }; enum ExplosionHit_e { kExplosionHitPass = 1, kExplosionHitAnyDmg = 2, kExplosionHitOnlySpecDmg = 3, kExplosionHitEatDmg = 4, }; enum EventAddBuff_e { kEventBuffUpdateWeaponId = 1, kEventBuffUpdateWeaponSlot = 2, kEventBuffUpdateWeaponType = 3, kEventBuffShotWeaponId = 4, kEventBuffShotWeaponSlot = 5, kEventBuffShotWeaponType = 6, kEventBuffKillTarget = 7, kEventBuffDid = 8, kEventBuffUpdateBuffId = 9, kEventBuffUpdateBuffEffect = 10, kEventBuffHp = 11, kEventBuffDown = 12, kEventBuffReceiveDmg = 13, kEventBuffUseSkill = 14, kEventBuffEatDrug = 15, kEventBuffDisengageBattle = 16, kEventBuffLimitTimeKillTarget = 17, kEventBuffRevive = 18, kEventBuffDmgOut = 19, kEventBuffEnd }; enum WeaponOpt_e { kWeaponOptTakeon = 0, kWeaponOptTakeoff = 1, kWeaponOptKeep = 2, kWeaponOptEnd }; enum BuffOpt_e { kBuffOptActive = 0, kBuffOptDeactive = 1, kBuffOptKeep = 2, kBuffOptEnd }; enum HpOpt_e { kHpOptLeAbs = 0, kHpOptLeRate = 1, kHpOptGeAbs = 2, kHpOptGeRate = 3, kHpOptEnd }; enum RichTextElementType { kTextElement = 1, kImageElement = 2, kHeroHeadElement = 3 }; enum KillTextFieldIdx { kFieldIdxMasterName = 1000, kFieldIdxKillerName, kFieldIdxKillerHeroId, kFieldIdxDeadName, kFieldIdxDeadHeroId, kFieldIdxWeaponName, kFieldIdxWeaponTextIcon, }; enum BulletConsumeType_e { kBulletConsumeOne = 0, kBulletConsumeMulti = 1, }; enum SamplePolyFlags { SAMPLE_POLYFLAGS_WALK = 0x01, // Ability to walk (ground, grass, road) SAMPLE_POLYFLAGS_SWIM = 0x02, // Ability to swim (water). SAMPLE_POLYFLAGS_DOOR = 0x04, // Ability to move through doors. SAMPLE_POLYFLAGS_JUMP = 0x08, // Ability to jump. SAMPLE_POLYFLAGS_DISABLED = 0x10, // Disabled polygon SAMPLE_POLYFLAGS_GLASS = 0x40, // Disabled polygon SAMPLE_POLYFLAGS_ALL = 0xffff // All abilities. }; A8_DECLARE_ENUM(MagicType_e, MAGIC_NONE = 0, MAGIC_20101_HL, //20101 狐狸-爱心香风 MAGIC_20701_BAO, //20701 豹-瞬间移动回血 MAGIC_20801_LONG, //20801 龙-火力压制 MAGIC_20901_XIONG, //20901 熊野蛮冲撞 MAGIC_21001_NIU, //21001 牛-立盾防御 MAGIC_20201_HX, //20201 浣熊-火箭浣熊 MAGIC_20401_MAO, //20401 猫-飞勾 MAGIC_20601_DJS, //20601 独角兽-威力翻倍 MAGIC_20301_XL, //20301 小鹿-医疗站 MAGIC_20501_TZ, //20501 兔子-隐身 MAGIC_30101_HL, //30101 狐狸-自然恢复 MAGIC_30201_HX, //30201 浣熊-受伤加速 MAGIC_30301_XL, //30301 小鹿-击杀回血 MAGIC_30401_MAO, //30401 猫-死亡自曝 MAGIC_30501_TZ, //30501 兔子-隐身恢复 MAGIC_30601_DJS, //30601 独角兽-免疫眩晕 MAGIC_30701_BAO, //30701 豹-钩爪拉动减伤 MAGIC_30801_LONG, //30801 龙-救援防护 MAGIC_30901_XIONG, //30901 熊-复活 MAGIC_31001_NIU, //31001 牛-此面向敌 MAGIC_END ); const int MAGIC_60100_1_BOSS = (int)MagicType_e::MAGIC_END + 1; //60100 boss1 const int MAGIC_60100_2_BOSS = (int)MagicType_e::MAGIC_END + 2; //60100 boss2 const int MAGIC_60100_3_BOSS = (int)MagicType_e::MAGIC_END + 3; //60100 boss3 enum PolyExtDataFlag_e { kWater1ExtFlag = 1, //能打出水坑 kWater2ExtFlag = 2, //打不出水坑 kWater3ExtFlag = 3, //游泳不能射击 }; A8_DECLARE_ENUM(TimerUserEvent_e, kCheckShotHoldStateTimerEvent = 100, kShenBaoAddTimeTimerEvent, kActiveDjsSkillTimerEvent, kDeactiveDjsSkillTimerEvent, kRemoveNatureRecoverTimerEvent, ); A8_DECLARE_CLASS_ENUM(GraspBuffTrigger_e, int, kHit = 1, kKill = 2, kTakeOn = 3, kCond = 4, kHitAndEnd = 5, kEnd ); A8_DECLARE_CLASS_ENUM(GraspBuffTriggerCond_e, int, kImprint = 1, kEnd ); A8_DECLARE_ENUM(WorldObjectType_e, kLootType = 1, kBoxType = 2, kCarType = 3, kBornPointType = 4 ); enum SwitchTimesType_e { kSwitchTimeBegin, kDisableShotTimes, kDisableUseSkillTimes, kDisableMoveEffectTimes, kEnableDmgForwardTimes, kImmuneGasTimes, kAniHideTimes, kSwitchTimeEnd, }; enum RemoveHideReason_e { kShotReason, kUseSkillReason, kMoveReason, kOnBulletHitReason, kOnExplosionHitReason, }; enum SkillIdx_e { kSkillIdx0 = 0, kSkillIdx1 = 1, kSkillIdx2 = 2, }; enum BtEvent_e { kUnderAttackEvent = 0, kMasterUnderAttackEvent = 1, kMobaModeReviveEvent = 2, }; const char* const PROJ_NAME_FMT = "game%d_gameserver"; const char* const PROJ_ROOT_FMT = "/data/logs/%s"; const int SERVER_FRAME_RATE = 20; const int SYNC_FRAME_RATE = 10; const float FRAME_RATE_MS = 1000.0f / SERVER_FRAME_RATE; const int NEXT_FRAME_TIMER = 2; const int MAX_WEAPON_NUM = 14; const int MAX_SKIN_LV = 9; const int GUN_SLOT0 = 0; const int GUN_SLOT1 = 1; const int GUN_SLOT2 = 2; const int FRAG_SLOT = 3; const int SMOKE_SLOT = 4; const int SPEC1_IS_BEGIN = IS_FRAG; const int SPEC1_IS_END = IS_SMOKE; const int SPEC2_IS_BEGIN = IS_MINE; const int SPEC2_IS_END = IS_POSION_GAS_BOMB; const int SPEC3_IS_BEGIN = IS_C4; const int SPEC3_IS_END = IS_OIL_BUCKET; const int SPEC1_SLOT_BEGIN = 3; //手雷 烟雾弹 const int SPEC2_SLOT_BEGIN = 5; //地雷 燃烧瓶 陷井 毒气弹 const int SPEC3_SLOT_BEGIN = 9; //c4 盾墙 信号抢 汽油桶 const int FIGHTING_MODE_BULLET_NUM = 10000 * 10000; const int MAX_NODE_ID = 8; const int MAX_INSTANCE_ID = 500; const int MAX_TEAM_NUM = 4; const int MAX_SYS_HTTP_NUM = 2; const int MAX_USER_HTTP_NUM = 8; const int MAX_ALL_HTTP_NUM = MAX_SYS_HTTP_NUM + MAX_USER_HTTP_NUM; const int FIXED_OBJECT_MAXID = 1; const int MAX_ROOM_IDX = 1000; const int VIEW_RANGE = 512; const int HUNLUAN_BUFFID = 6001; const int MAX_SKILL_LV = 15; const int kReviveTimeAdd = 12; const int kSkinNum = 4; const int MAX_WEAPON_LV = 15;