aozhiwei 28acee05a8 1
2023-02-16 18:28:09 +08:00

542 lines
11 KiB
C

#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,
kPropParachute = 38,
kPropFlyEffect = 39,
kPropEnergyShield = 40,
};
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.
};
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
);
enum PolyExtDataFlag_e
{
kWater1ExtFlag = 1, //能打出水坑
kWater2ExtFlag = 2, //打不出水坑
kWater3ExtFlag = 3, //游泳不能射击
};
A8_DECLARE_ENUM(TimerUserEvent_e,
kCheckShotHoldStateTimerEvent = 100,
kShenBaoAddTimeTimerEvent,
kActiveDjsSkillTimerEvent,
kDeactiveDjsSkillTimerEvent
);
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 = 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 kReviveTimeAdd = 12;
const int kSkinNum = 4;