#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 VirtualItemId_e { VID_Item_Gold = 50001, VID_Item_Exp = 50002, VID_Soul_Stone = 50018, VID_Pickaxe = 50019 }; enum DoorState_e { DoorStateClose = 0, DoorStateOpen = 1 }; 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 { RT_NewBrid = 0, RT_MidBrid = 1, RT_OldBrid1 = 2, RT_OldBrid2 = 3, RT_OldBrid3 = 4, RT_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_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_ForthBackJump = 6, kSkill_FlyHook = 7, kSkill_FuncEnd }; enum HumanAttrType_e { kHAT_Begin = 0, kHAT_Hp = 1, kHAT_HPRecover = 2, kHAT_Atk = 3, kHAT_Def = 4, kHAT_Speed = 5, kHAT_ShotRange = 6, kHAT_ShotSpeed = 7, kHAT_ReloadSpeed = 8, kHAT_FireRate = 9, kHAT_Volume = 10, kHAT_MaxHp = 11, kHAT_ShotView = 12, kHAT_ReloadTime = 14, kHAT_WeaponDmg = 20, kHAT_WeaponShotSpeed = 21, kHAT_WeaponReloadTime = 22, kHAT_WeaponExplosionRange = 23, kHAT_WeaponExplosionContinueTime = 24, kHAT_PoisoningReduction = 25, kHAT_RescueTime = 26, kHAT_DrugTime = 27, kHAT_DrugEfficacy = 28, kHAT_CarOil = 29, kHAT_WeaponExplosionDealyTime = 30, kHAT_RecoverHpAdd = 31, kHAT_SkillTime = 32, kHAT_WeaponThrowRange = 33, kHAT_LUCKY = 34, kHAT_HP_RATE = 39, kHAT_ATK_RATE = 40, kHAT_DEF_RATE = 41, kHAT_CRIT = 42, kHAT_CRIT_DAMAGE_RATE = 43, kHAT_DODGE = 44, kHAT_DODGE_DAMAGE_RATE = 45, kHAT_End }; 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_End }; enum GunSubEquipType_e { GUN_SUB_EQUIP_TYPE_FLY_HOOk = 14, GUN_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, 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, }; enum SkinSlot_e { kSkinSlot_CLOTH = 1, kSkinSlot_HAT = 2, }; enum ObjectFlags_e { kOfWriteCache = 0, kOfReadCache = 1, }; enum RoomMode_e { kChiJiMode = 0, kDestoryMode = 1, kSurvivalMode = 2, kRoomModeEnd }; enum AIMode_e { kChiJiAiMode = 0, kHumanAiMode = 1, }; 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 CondAddBuff_e { kCondBuffUpdateWeaponId = 1, kCondBuffUpdateWeaponSlot = 2, kCondBuffUpdateWeaponType = 3, kCondBuffShotWeaponId = 4, kCondBuffShotWeaponSlot = 5, kCondBuffShotWeaponType = 6, kCondBuffKillTarget = 7, kCondBuffDid = 8, kCondBuffUpdateBuffId = 9, kCondBuffUpdateBuffEffect = 10, kCondBuffHp = 11, kCondBuffDown = 12, kCondBuffReceiveDmg = 13, kCondBuffUseSkill = 14, kCondBuffEatDrug = 15, kCondBuffEnd }; 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 }; enum KillTextFieldIdx { kFieldIdxMasterName = 1000, kFieldIdxKillerName, kFieldIdxDeadName, 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_ALL = 0xffff // All abilities. }; enum MagicType_e { MAGIC_NONE = 0, MAGIC_AXXF, //20101 爱心香风 MAGIC_SJYDHX, //20701 瞬间移动回血 MAGIC_HLYZ, //20801 火力压制 MAGIC_YMCZ, //20901 野蛮冲撞 MAGIC_LDFY, //21001 立盾防御 MAGIC_HJHX, //20201 火箭浣熊 MAGIC_FG, //20401 飞勾 MAGIC_WLFB, //20601 威力翻倍 MAGIC_YLZ, //20301 医疗站 MAGIC_YS, //20501 隐身 MAGIC_SJXY, //30101 射击眩晕 MAGIC_SSJS, //30201 受伤加速 MAGIC_JSHX, //30301 击杀回血 MAGIC_SWZB, //30401 死亡自曝 MAGIC_CMXD, //30501 此面向敌 MAGIC_MYXY, //30601 免疫眩晕 MAGIC_GZJS, //30701 钩爪拉动减伤 MAGIC_JYFH, //30801 救援防护 MAGIC_FH, //30901 复活 MAGIC_YSHF, //31001 隐身恢复 MAGIC_END }; enum PolyExtDataFlag_e { kWater1ExtFlag = 1, //能打出水坑 kWater2ExtFlag = 2, //打不出水坑 kWater3ExtFlag = 3, //游泳不能射击 }; 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 DOOR_THING_ID = 61701; 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 = 20140; const int MAX_ROOM_IDX = 1000; const int VIEW_RANGE = 512; const int MAX_AI_LEVEL = 8; const int HUNLUAN_BUFFID = 6001; const int ANDROID_AI_ID_START = 10001; const int MAX_SKILL_LV = 15; const int CHECK_SHOT_HOLD_STATE_TIMER_EVENT = a8::TIMER_USER_EVENT + 1; const int kReviveTimeAdd = 12; const int kSkinNum = 4;