GlobalVar.lua 9.2 KB
BUG_LOG = false

function buglog(tag, advstr, ...)
	if BUG_LOG then
		print(string.format("[%s] %s", tag, string.format(advstr, ...)))
	end
end


XXTEA_KEY = "699D448D6D24f7F941E9F6E99F823E18"
RESET_TIME = 4

START_RESET_TIME_BASE = 1584316800 + RESET_TIME * 3600 -- 0时区
DAY_SEC = 86400
TIME_ZONE = math.floor(os.difftime(START_RESET_TIME_BASE, os.time(os.date("!*t", START_RESET_TIME_BASE))) / 3600)  -- 本地时区

START_RESET_TIME = START_RESET_TIME_BASE - TIME_ZONE * 3600

STRUCT_VERSION = 3 -- 数据结构版本

MAX_ROLE_NUM = 1000000
-- 属性枚举
AttsEnum = {
	hp = 1,				-- 血量
	atk = 2,			-- 攻击
	def = 3,			-- 物理防御
	hit = 4,			-- 命中
	miss = 5, 			-- 闪避
	crit = 6, 			-- 暴击
	atkSpeed = 7, 		-- 攻击速度
	critHurt = 8, 		-- 暴伤
	vampire = 9, 		-- 吸血
	pierce = 10, 		-- 穿透
}

--冒险属性
AdvAttsEnum = {
	hp = 1,				-- 血量
	atk = 2,			-- 攻击
	def = 3,			-- 物理防御
	hit = 4,			-- 命中
	miss = 5, 			-- 闪避
}

AttsEnumEx = {
	[1] = "hp",			-- 血量
	[2] = "atk",		-- 攻击
	[3] = "def",		-- 物理防御
	[4] = "hit",		-- 命中
	[5] = "miss", 		-- 闪避
	[6] = "crit", 		-- 暴击
	[7] = "atkSpeed", 	-- 攻击速度
	[8] = "critHurt", 	-- 暴伤
	[9] = "vampire", 	-- 吸血
	[10] = "pierce", 	-- 穿透
}
TalentAttsEnumEx = {
	[1] = "atk",
	[2] = "def",
	[3] = "hit",
	[4] = "miss",
}

ItemType = {
	Coin						= 1, 	-- 货币&材料(金币、钻石、经验、突破材料等)
	HeroFragment				= 2, 	-- 角色碎片
	HeroFCommon					= 3,	-- 万能角色碎片(集齐N个,合成同稀有度随机角色)
	Hero 						= 4,	-- 角色
	Head 						= 5,	-- 头像
	Material					= 6, 	-- 材料
	Box 						= 7,	-- 宝箱(立刻打开)
	Skin						= 8, 	-- 皮肤
	EquipBase 					= 9,	-- 基础装备
	Rune						= 10,	-- 符文
	Cuisine						= 11,	-- 料理(用于增加好感度、贩卖获得金币)
	Potion 						= 12,	-- 拾荒药剂
	TimeBox 					= 13,	-- 时间箱(开启需要时间,随机产出道具)
	AdvItem						= 14, 	-- 冒险道具
	FuncOpen					= 15, 	-- 管理功能开放
	SpeedBox					= 16, 	-- 加速箱子
	SelectItemBox				= 17, 	-- 自选箱子
	CommonPaster				= 18, 	-- 万能贴纸
	BossTicket					= 20, 	-- boss挑战门票
	Spark						= 21, 	-- 火花
}

--在这个里面的会记录的是功能开放 对应类型open 而不是 ID
FuncOpenType = {
	AdvEndless 					= 2, -- 无尽模式
	AdvRelay 					= 3, -- 中继开放  -- 删掉了
	AdvWS 						= 6, -- 工坊解锁
	AdvWheelSurf 				= 7, -- 抽奖解锁
	TimeBoxSlot 				= 8, -- 时钟箱槽
	AdvCount 					= 9, -- 冒险 次数上限
 	AdvCountEL 					= 10, -- 无尽冒险 次数上限
}
TypeIsFunc = {}
for _, v in pairs(FuncOpenType) do
	TypeIsFunc[v] = true
end

-- 关卡通关相关的 功能开放 对应 guide_unlock
FuncUnlock = {
	GetHero = 1, -- 招募
	TaskAchiv = 2, -- 任务成就
	BonusBattle = 3, -- 奖励关卡
	DifficultHang = 4, --困难难度
	Tower = 5, -- 电波塔
	Diner = 6, -- 餐厅
	Pvp = 7, --竞技场
 	Adv = 8, -- 冒险
}


-- 物品起始id
ItemStartId = {
	Hero 		= 300, 	-- 英雄
}

--常用的物品id的枚举
ItemId = {
	Gold = 1,  -- 金币
	Exp = 2,  -- 经验
	Diamond = 3,  -- 钻石
	PlayerExp = 4,  -- 突破材料
	FriendPoint = 5,  -- 友情点
	BreakCost = 10,  -- 突破材料
	EquipUp = 11, -- 装备升级材料
	DinerCoin = 12, --后勤物资
	PvpCoin = 14, --挑战货币
	OldCoin = 15, --古代金币
	AdvPoint = 16, -- 探险点
	DinerSpTask = 20, -- 餐厅任务采购券
	LoveBreak = 21, --好感度突破道具
	PvpKey = 22, -- pvp钥匙
	LunchFragment = 23,
	RuneFragment = 24,
	HeroFC = {700, 701, 702, 703},  --通用角色碎片
	AdvKey = 80, -- 冒险钥匙
	AdvPower = 4701, -- 拾荒体力
	CrisisScore = 8010, -- 积分
}

TimeReset = {
	CrossDay = 1,  --通用跨天
	CrossWeek = 2,  --通用跨周
	DinerRank = 1,  -- 餐厅排行榜
	PvpRank = 2,  -- pvp排行榜
	PvpHight = 11,  --高级竞技场
	PvpCross = 12,  -- 跨服竞技场
	PvpShop = 13, -- 竞技场商城
	DailyBattle2 = 14, -- 特殊-每日副本(贴纸)
	DailyBattle1 = 15, -- 特殊-每日副本(装备)
	DailyBattle3 = 16, -- 特殊-每日副本(时钟箱)
	DrawType1 = 17, -- 变异 抽卡加成
	DrawType2 = 18, -- 通常 抽卡加成
	DrawType3 = 19, -- 魔法 抽卡加成
}

-- TimeReset 索引数组
TimeResetArray = {
	"CrossDay",  --通用跨天
	"CrossWeek",  --通用跨周
	"DinerRank",  -- 餐厅排行榜
	"PvpRank",  -- pvp排行榜
	"PvpHight",  --高级竞技场
	"PvpCross",  -- 跨服竞技场
	"PvpShop", -- 竞技场商城
	"DailyBattle2", -- 特殊-每日副本(贴纸)
	"DailyBattle1", -- 特殊-每日副本(装备)
	"DailyBattle3", -- 特殊-每日副本(时钟箱)
	"DrawType1", -- 变异 抽卡加成
	"DrawType2", -- 通常 抽卡加成
	"DrawType3", -- 魔法 抽卡加成
}

GuideStep = {
	AdvGuide = 41,
	AdvRelay = 42,
}

--客户端不需要知道这个
AdvSpecialStage = {
	[1]= "In",
	[2] = "Out",
	[3] = "BOSS",
	[4] = "LinkChoose",
	[5] = "Exit", 
	[6] = "InOut", 
	[7] = "Diner"
}

AdvCodeRandomStage = 10 -- 一些功能需要代码强行随机事件  随机到这个地块类型上面

--客户端需要知道这个
AdvEventType = {
	-- 特殊事件(地块决定)
	In = -1,  --入口
	Out = -2,	--出口
	BOSS = -3,  -- boss
	LinkChoose = -4,  -- 连续选择
	Exit = -5, -- 中继点专属退出出口
	InOut = -6, -- 出入口集合体
	Diner = -7, -- 料理台

	-- 普通事件(随机)
	Choose = 1,  --选择点
	Drop = 2,  --物品掉落点
	Monster = 3, -- 普通怪
	Trader = 4, --商人
	Build = 5, --建筑物
	Trap = 6, --陷阱
	Click = 7, --点击生效
	Layer = 8, --切换层的点
}

AdvBackEventType = {
	Reward = 1,  --奖励
	HpChange = 2,  --血量改变
	AtkChange = 3,  --攻击改变
	Buff = 4,    --buff 改变
	Skill = 5,	--释放技能
	BaseAttrChange = 6, -- 基础属性变化
	Next = 7, --进入下一层
	End = 8, -- 结束
	BlockChange = 9, -- 块改变
	SpChange = 10, --体力改变
	Dead = 11, --怪死亡
	Trader = 12, -- 召唤商人
	Monster = 13, -- 召唤怪物
	RelayReward = 14, -- 中级层奖励
	Exp = 15, -- 经验飘字
	Cost = 16, -- 消耗道具
	Trap = 17, --陷阱
	Layer = 18, --切换层
	MapShow = 19, -- 展示地图
	ChooseArtifact = 20, -- 等待选择神器
	Use = 21, -- 使用道具
	Potion = 22, -- 使用营养剂
	Task = 23, --接收任务
	Artifact = 24, --获得神器
	Level = 25, -- 升级
	LinkChooseOver = 26, -- 连锁事件结束
	BuffEffect = 27, -- buff 效果
	PassiveEffect = 28, -- 被动 效果
	ChooseDice = 29, -- 选择点随机效果
	NoEffect = 30, -- 没有效果
}

AdvScoreType = {
	Level = 1,
	Kill = 2,
	KillBoss = 3,
	ItemBack = 4,
	Event = 5,
	Story = 6,
	Task = 7,
}

DinerTask = {
	SellDish = 1,
	DishWithGold = 2,
	SellDishType = 3,
	DishWithGoldType = 4,
	SellDishRare = 5,
	DishWithGoldRare = 6,
}

SettingEnum = {
	BgMusic = 1,  		-- 背景音乐
	EffectMusic = 2,	-- 音效
	CV = 3,				-- cv
}

SettingStatus = {
	[1] = {
		[1] = 1,		-- 开启
		[0] = 1,		-- 关闭
		["default"] = 1, -- 默认设置
	},
	[2] = {
		[1] = 1,		-- 开启
		[0] = 1, 		-- 关闭
		["default"] = 1, -- 默认设置
	},
	[3] = {
		[1] = 1,		-- 开启
		[0] = 1, 		-- 关闭
		["default"] = 1, -- 默认设置
	},
}

EMAIL_LIMIT = 50  --邮件最大数量

RedPointTags = {
	PvpCR = 1,
	PvpHR = 2,
}

RefreshType = {
	RefreshType_Daily = 1,		-- 日刷新
	RefreshType_Weekly = 2,		-- 周刷新
	RefreshType_Monthly = 3,	-- 月刷新
}

CardType = {
	NormalMonthCard = 1,	--普通月卡
	SuperMonthCard = 2,	--超级月卡
	PrivilegeCard = 3, --特权卡
	GrowFund = 4,	--成长助力
	BattleCard = 5,	--赛季卡
	PaySignCard = 6, -- 付费签到卡
	BattlePassCard = 7, -- 探索指令
	ActBattleCommandCard = 8, -- 战令活动卡
	NormalMonthCardLevelUp = 9,	-- 月卡升级
	SuperMonthCardLevelUp = 10,	-- 超级月卡升级
}

ShopPackType = {
	ActShopPack = 5,	-- 活动礼包
}

HeroQuality = {
	N = 1,
	R = 2,
	SR = 3,
	SSR = 4,
}

MailId = {
	MonthCard = 201,
	SuperMonthCard = 202,
	MonthCardEx = 203,
	SuperMonthCardEx = 204,
	BattleCardAward = 210,

	ActSellFood = 231,
	ActDrawCard = 232,
	ActAdvDraw = 233,
	ActOpenBox = 234,
	ActSellFoodReward = 221,
	ActDrawCardReward = 222,
	ActAdvDrawReward = 223,
	ActOpenBoxReward = 224,
	ActItemRecycle = 225,

	PaySignAward = 241,
	PayBackAward = 242,
	CBBackAward = 243,
	CBBackAward2 = 244,
	ActivityPoolRet = 280,
	MyCardBuy = 300,
}

TriggerEventType = {
	HangPass = 1,
	AdvPass = 2,
    TowerPass = 3,
	LevelUp = 4,
	AddNewHero = 5,
	SSRCount = 6,
	AfterTs = 7, 	-- 某时间以后
	DrawHeroCnt = 8,	-- 每日抽卡次数
	Appoint = 0, -- 触发指定id礼包
}

DrawCardType = {
	SpecifyDraw = 1,
	NormalDraw = 2,
	FriendDraw = 3
}

-- 阵容系统类型
TeamSystemType = {
	Hang = 1,
	BonusBattle = 2,
	Dinner = 4,
	FriendBattle = 5,
}

-- 某个功能对其他系统功能的加成类型
SystemBnousType = {
	TowerBuff = 1, 		-- 电波塔内战斗开始时获得buff
	CrusadeTask = 2, 	-- 讨伐电台任务加速
	DinerGet = 3, 		-- 食材供应商获取速度
	DinerLimit = 4, 	-- 食材供应商上限
	DinerSell = 5, 		-- 料理贩卖速度
	DinerPrice = 6, 	-- 齿轮价格
	Adv = 7, 			-- 代理拾荒获得额外道具
	HangTime = 8, 		-- 挂机时间上限
	PvpTicket = 9, 		-- 每周额外获得竞技场门票数量
	SweepReward = 10, 	-- 奖励关卡每次扫荡额外获得道具
}