2021-09-06 13:53:18 +08:00

490 lines
8.7 KiB
C

#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;