GlobalVar.lua 11.3 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456
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

function weekday(now)
	local day = math.ceil((now - START_RESET_TIME) % 604800 / 86400)
	if day == 0 then day = 1 end
	return day
end

STRUCT_VERSION = 3 -- 数据结构版本

IOS_SID = 4 -- 判断是不是ios设备
UO_SID = 6 -- 判断是不是联运渠道

MAX_SVR_ID = 10000
MAX_ROLE_NUM = 1000000
MAX_HERO_NUM = 1000000 -- 英雄的id = roleId * MAX_HERO_NUM + index
MAX_RUNE_NUM = 1000000 -- 铭文的id = roleId * MAX_RUNE_NUM + index
MAX_SPARK_NUM = 1000000 -- 火花的id = roleId * MAX_SPARK_NUM + index
-- 属性枚举
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,  -- 能量饮料
	Jade = 3,  -- 虹光玉
	PlayerExp = 4,  -- 突破材料
	FriendPoint = 5,  -- 友情点
	Diamond = 8,	-- 钻石
	BreakCost = 10,  -- 突破材料
	EquipUp = 11, -- 装备升级材料
	DinerCoin = 12, --后勤物资
	PvpCoin = 14, --挑战货币
	OldCoin = 15, --古代金币
	AdvPoint = 16, -- 探险点
	DinerSpTask = 20, -- 餐厅任务采购券
	LoveBreak = 21, --好感度突破道具
	PvpKey = 22, -- pvp钥匙
	LunchFragment = 23,
	RuneFragment = 24,
	RecruitmentCard = 70, -- 招募券
	HeroFC = {700, 701, 702, 703},  --通用角色碎片
	AdvKey = 80, -- 冒险钥匙
	AdvPower = 4701, -- 拾荒体力
	CrisisScore = 8010, -- 积分
	MonthCard = 31000, --兑换月卡的物品
}

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, -- 魔法 抽卡加成
	WorkBattle1 = 22, -- 夜间玩法 1
	WorkBattle2 = 23, -- 夜间玩法 2
	WorkBattle3 = 24, -- 夜间玩法 3
	WorkBattle4 = 25, -- 夜间玩法 4
	WorkBattle5 = 26, -- 夜间玩法 5
}

-- 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,

    RechargeBack = 3001,
}

TriggerEventType = {
	HangPass = 1,
	AdvPass = 2,
    TowerPass = 3,
	LevelUp = 4,
	AddNewHero = 5,
	SSRCount = 6,
	AfterTs = 7, 	-- 某时间以后
	DrawHeroCnt = 8,	-- 每日抽卡次数
	Appoint = 0, -- 触发指定id礼包
	SignIn = 9,	-- 签到
    DrawHero = 10,  -- 循环抽卡
    FoodSell = 11,  -- 循环卖菜
    RuneUp = 12,    -- 循环强化符文
    CostDiamond = 13,   -- 循环消耗钻石
    BuyLimitPack = 14, --购买指定id礼包 触发
	HeroTalent = 15, --英雄精进 触发礼包
}

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

-- 阵容系统类型
TeamSystemType = {
	Hang = 1,
	BonusBattle = 2,
	Dinner = 4,
	FriendBattle = 5,
}
-- 加速类型
UpSpeedType = {
	ExplorationUpSpeed = 1, -- 探索加速
	GearUpSpeed = 2, 		-- 齿轮加速
	Restaurant = 3, 		-- 餐厅加速

}
-- 某个功能对其他系统功能的加成类型
SystemBnousType = {
	TowerBuff = 1, 		-- 电波塔内战斗开始时获得buff or
	CrusadeTask = 2, 	-- 讨伐电台任务加速
	DinerGet = 3, 		-- 食材供应商获取速度
	DinerLimit = 4, 	-- 食材供应商上限
	DinerSell = 5, 		-- 料理贩卖速度
	DinerPrice = 6, 	-- 齿轮价格
	Adv = 7, 			-- 代理拾荒获得额外道具
	HangTime = 8, 		-- 挂机时间上限
	PvpTicket = 9, 		-- 每周额外获得竞技场门票数量
	SweepReward = 10, 	-- 奖励关卡每次扫荡额外获得道具
	DismantlingMaximum = 11,-- 拆解术式模块运行时间上限
	DismantlingImproved = 12,-- 拆解术式构筑效率提升
	DailyReward = 13,-- 每日签到额外获得道具
	TreasureBaseMaximum = 14, -- 增加宝藏资源值上限
	UpSpeedNum = 15, -- 加速次数上限增加 15=1探索加速or 2齿轮加速or 3餐厅加速=增加次数
	ChangeBaseCount = 16, -- 每日奖励关卡挑战卡基础数量增加
	ChangeBuyCount = 17, -- 每日奖励关卡挑战卡可购买次数增加,
	ExtraProp = 18, -- 每次探索加速额外获得道具
}

-- 开箱物品类型
ItemOccupy = {
	EquipBase = 1, --装备
	Rune = 2, --铭文
	Diner = 3, --食材
	CommonPaster = 4, --贴纸
	Spark = 5, --火花
    Other = 6,
	CanUsed = 7, --可使用
}

-- 世界变动积分
ItemWorldLine = {
	RouletteCount = 1, --抽轮盘次数
	Points = 2, --积分
	CostDiamond = 3, --消耗钻石
    CostJade = 4, --消耗红光玉
}