#pragma once enum SocketFrom_e { SF_GameGate, }; enum InnerMesssage_e { IM_ClientSocketDisconnect = 100, IM_PlayerOffline, IM_ExecGM, IM_DBSConnDisconnect, IM_BSConnDisconnect, IM_LoadConfig, IM_HttpResponse, IM_GGListenerError }; //网络处理对象 enum NetHandler_e { HID_Player, HID_PlayerMgr, HID_Room, HID_RoomMgr, HID_GGListener, }; enum PlayerState_e { PS_None }; enum VirtualItemId_e { VID_Item_Gold = 50001, VID_Item_Exp = 50002, VID_Soul_Stone = 50018, VID_Pickaxe = 50019 }; enum SyncData_e { SYNC_Data_Exp = 0, }; 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_1XSCOPE = 12, IS_2XSCOPE = 13, IS_4XSCOPE = 14, IS_8XSCOPE = 15, IS_15XSCOPE = 16, IS_POSION_GAS_BOMB = 17, //毒气弹 IS_MOLOTOR_COCKTAIL = 18, //燃烧瓶 IS_TRAP = 19, //陷井 IS_MINE = 20, //地雷 IS_C4 = 21, //c3 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_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_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, }; enum VirtualPlayer_e { VP_Gas = 9000000, VP_Buff = 9000001, VP_Explosion = 9000002, }; enum EquipType_e { EQUIP_TYPE_WEAPON = 1, EQUIP_TYPE_BULLET = 2, 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_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, }; enum MapObjectType_e { kMOT_Object = 1, kMOT_SpawnPoint = 2, kMOT_MonsterSpawnPoint = 3 }; enum SkinSlot_e { kSkinSlot_CLOTH = 1, kSkinSlot_HAT = 2, }; enum ObjectFlags_e { kOfWriteCache = 0, kOfReadCache = 1, }; enum ObjectSyncFlags_e { kOsfIsDead = 0, }; enum RoomMode_e { kChiJiMode = 0, kRoomModeEnd }; enum RaceType_e { kHumanRace = 1, }; enum AIMode_e { kChiJiAiMode = 0, kHumanAiMode = 1, }; enum ColliderTag_e { kHalfWallTag = 1, kColliderSpecTag_Begin = 2, kColliderTag_Grass = 2, //草丛 kColliderTag_Water = 3, //水 kColliderTag_Ice = 4, //冰 kColliderTag_MountainTop = 5, //山顶 kColliderSpecTag_End = 5, }; enum GameChannel_e { kWxChannelId = 6001, kTouTiaoChannelId = 6006 }; 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, }; 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, }; 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_POSION_GAS_BOMB; const int SPEC2_IS_END = IS_MINE; 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 ADPLAY_BUFFID = 1006; const int FIXED_OBJECT_MAXID = 20140; const int MAX_ROOM_IDX = 100; const int VIEW_RANGE = 512; const int MAX_AI_LEVEL = 8; const int HUNLUAN_BUFFID = 6001; const long long SPEC_MAP_OBJECT_FLAGS = A8_DEFINE_RANGE_BIT(long long, kColliderSpecTag_Begin, kColliderSpecTag_End); const float DEFAULT_FLY_DISTANCE = 5.0f; const int MAP_BLOCK_START_ID = 1000000000; const int ANDROID_AI_ID_START = 10001;