419 lines
13 KiB
TypeScript
419 lines
13 KiB
TypeScript
export const TURBO_CORE_URL = 'https://coresrv.tgamebox.cn';
|
||
export const APP_ID = 'AXaXmIHPs9eONvzrBesD8aSKQNXYdALF';
|
||
export const TURBO_PARM_SECRET = 'ipqw05du6ob4x130w89t31yrqd6xs005zzltcmg2zpqnvrjp1s';
|
||
|
||
export const ENCRYPT_IV = 'f7182j5f04e377ux';
|
||
export const ENCRYPT_KEY = 'fiqaxijabbantusmprc234fj';
|
||
|
||
export const AUTH_SMS_CNT_PER_DAY = 8;
|
||
|
||
export const COUNTER = {
|
||
UID: {name:'uid',def:1},
|
||
GMUID: {name:'gmuid',def:1},
|
||
API: {name:'api',def:1},
|
||
GM_GROUP: {name:'gmgroup',def:1},
|
||
HID: {name:'hid',def:10000},
|
||
EID: {name:'eid',def:1},
|
||
ROLE: {name:'role',def:1}
|
||
};
|
||
|
||
export const ACTION_POIN = {
|
||
MAX: 100000,
|
||
PER: 6 * 60 * 1000
|
||
};
|
||
//武将养成系统分类
|
||
export const HERO_SYSTEM_TYPE = {
|
||
STAR: 1,
|
||
TRAIN: 5,
|
||
STAGEUP:6,
|
||
SKIN:7,
|
||
FAVOUR:8,
|
||
CONNECT:9
|
||
};
|
||
|
||
export const BATTLE_REWARD_TYPE = {
|
||
FIX_REWARD: 1,
|
||
CONDITION_REWARD: 2,
|
||
RANDOM_REWARD: 3
|
||
};
|
||
|
||
export const IT_TYPE = {
|
||
BLUEPRT: 28
|
||
}
|
||
|
||
export const GOOD_QUALITY = [1, 2, 3, 4, 5];
|
||
|
||
// 大类型,区分存到哪张表里
|
||
export const GOOD_TYPE = {
|
||
EQUIP: 1,
|
||
CONSUMES: 2,
|
||
SCRIPT: 3
|
||
};
|
||
|
||
// 存到消耗品表内显示的类型
|
||
export const CONSUME_TYPE = {
|
||
CONSUME: 1, // 消耗品
|
||
SOUL: 2, // 将魂
|
||
BLUEPRT: 3, // 藏宝图
|
||
POINT: 4, // 远征币等
|
||
EXP: 5, // 经验书
|
||
FAVOUR: 6, // 好感度道具
|
||
SKIN: 7, // 好感度道具
|
||
PIECE: 8, // 装备碎片
|
||
JEWEL: 9,//宝石
|
||
};
|
||
|
||
const itid_array = [
|
||
{ id: 1, name: '剑', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 2, name: '枪', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 3, name: '刀', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 4, name: '弓', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 5, name: '拳', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 6, name: '扇', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 7, name: '宝剑', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 8, name: '权杖', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 9, name: '头盔', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 10, name: '帽子', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 11, name: '头巾', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 12, name: '铠甲(衣)', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 13, name: '战袍(衣)', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 14, name: '法衣(衣)', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 15, name: '铠甲(裤)', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 16, name: '战袍(裤)', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 17, name: '法衣(裤)', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 18, name: '重靴', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 19, name: '战靴', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 20, name: '布鞋', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 21, name: '饰品', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 22, name: '消耗类物品(图纸类)', goodType: GOOD_TYPE.CONSUMES, type: CONSUME_TYPE.CONSUME },
|
||
{ id: 35, name: '消耗类物品(经验书)', goodType: GOOD_TYPE.CONSUMES, type: CONSUME_TYPE.EXP },
|
||
{ id: 36, name: '消耗类物品(好感道具)', goodType: GOOD_TYPE.CONSUMES, type: CONSUME_TYPE.FAVOUR },
|
||
{ id: 23, name: '消耗类物品(材料类)', goodType: GOOD_TYPE.CONSUMES, type: CONSUME_TYPE.CONSUME },
|
||
{ id: 24, name: '消耗类物品(宝箱类)', goodType: GOOD_TYPE.CONSUMES, type: CONSUME_TYPE.CONSUME },
|
||
{ id: 26, name: '武将碎片', goodType: GOOD_TYPE.CONSUMES, type: CONSUME_TYPE.SOUL },
|
||
{ id: 27, name: '货币', goodType: GOOD_TYPE.CONSUMES, isCurrency: true },
|
||
{ id: 28, name: '藏宝图', goodType: GOOD_TYPE.CONSUMES, type: CONSUME_TYPE.BLUEPRT },
|
||
{ id: 29, name: '礼器', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 30, name: '宝甲', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 31, name: '名驹', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 32, name: '典籍', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 33, name: '神兵', goodType: GOOD_TYPE.EQUIP },
|
||
{ id: 34, name: '代币', goodType: GOOD_TYPE.CONSUMES, type: CONSUME_TYPE.POINT },
|
||
{ id: 39, name: '时装', goodType: GOOD_TYPE.CONSUMES, type: CONSUME_TYPE.SKIN },
|
||
{ id: 41, name: '装备碎片', goodType: GOOD_TYPE.CONSUMES, type: CONSUME_TYPE.PIECE }
|
||
];
|
||
|
||
export const ITID = new Map<number, {id: number, name: string, goodType: number, type?: number, isCurrency?: boolean}>();
|
||
for(let obj of itid_array) {
|
||
ITID.set(obj.id, obj);
|
||
}
|
||
|
||
export const CURRENCY_TYPE = {
|
||
GOLD: "gold",
|
||
COIN: "coin",
|
||
ACTION_POINT: "ap",
|
||
TREASURE_POINT: "treasurePoint",
|
||
EXPEDITION_POINT: "expeditionPoint",
|
||
DUNGEON_POINT: "dungeonPoint",
|
||
FRIEND_POINT: "friendPoint"
|
||
}
|
||
|
||
const currencyArr = [
|
||
{ "gid": 31001, "name": "铜钱", "type": CURRENCY_TYPE.COIN },
|
||
{ "gid": 31002, "name": "元宝", "type": CURRENCY_TYPE.GOLD },
|
||
{ "gid": 31003, "name": "体力", "type": CURRENCY_TYPE.ACTION_POINT },
|
||
{ "gid": 40001, "name": "远征币", "type": CURRENCY_TYPE.EXPEDITION_POINT },
|
||
{ "gid": 40002, "name": "寻宝币", "type": CURRENCY_TYPE.TREASURE_POINT },
|
||
{ "gid": 40003, "name": "情谊点", "type": CURRENCY_TYPE.FRIEND_POINT },
|
||
{ "gid": 40004, "name": "秘境币", "type": CURRENCY_TYPE.DUNGEON_POINT },
|
||
];
|
||
export const CURRENCY = new Map<number, {gid: number, name: string, type: string}>();
|
||
export const CURRENCY_BY_TYPE = new Map<string, number>();
|
||
for(let obj of currencyArr) {
|
||
CURRENCY.set(obj.gid, obj);
|
||
CURRENCY_BY_TYPE.set(obj.type, obj.gid);
|
||
}
|
||
|
||
export function getCurNameById(gid) {
|
||
let currency = CURRENCY.get(gid);
|
||
if (!currency) {
|
||
return;
|
||
}
|
||
if (currency.type == CURRENCY_TYPE.COIN) {
|
||
return 'coin';
|
||
} else if (currency.type == CURRENCY_TYPE.GOLD) {
|
||
return 'gold';
|
||
} else if (currency.type == CURRENCY_TYPE.ACTION_POINT) {
|
||
return 'ap';
|
||
} else if (currency.type == CURRENCY_TYPE.FRIEND_POINT) {
|
||
return 'frdCnt';
|
||
} else if (currency.type == CURRENCY_TYPE.EXPEDITION_POINT) {
|
||
return 'expeditionPoint';
|
||
}
|
||
}
|
||
|
||
export const WAR_TYPE = {
|
||
NORMAL: 1, // 主线本
|
||
VESTIGE: 2, // 遗迹本
|
||
EVENT: 3, // 事件本
|
||
DAILY: 4, // 每日
|
||
EXPEDITION: 5, // 远征
|
||
MYSTERY: 6, // 秘境
|
||
WARLOARDS: 7, // 群雄
|
||
TOWER: 8, // 天梯
|
||
PVP: 9, // PVP
|
||
GUILD_TIMER: 10, // 军团定时副本
|
||
GUILD_WEEKLY: 11, // 军团周副本
|
||
MAIN_ELITE: 12, // 主线精英
|
||
MYSTERY_ELITE: 13 // 秘境精英
|
||
};
|
||
|
||
// 藏宝图掉落参数
|
||
export const BLUEPRT_CONST = {
|
||
REFRESH_TIME: 5, // 每天几点刷新
|
||
DAILY_CNT: 5, // 每天最多掉落多少张
|
||
PER_AP: 15 // 每多少体力掉落1张藏宝图
|
||
};
|
||
|
||
// 事件,是否开启保存随机记录方式
|
||
export const EVENT_RANDOM_TYPE_ONE_OPEN = false;
|
||
// 奇遇事件每次刷新几个
|
||
export const EVENT_REFRESH_NUM = 3;
|
||
// 奇遇事件开启等级
|
||
export const EVENT_START_LV = 1;
|
||
|
||
// 存于用户Role表,事件开启状态
|
||
export const EVENT_STATUS = {
|
||
WAITING: 0, // 未开启
|
||
STARTING: 1, // 初步触发,等到挑战完成
|
||
OPEN: 2 // 开启
|
||
};
|
||
|
||
// 奇遇事件状态
|
||
export const EVENT_RECORD_STATUS = {
|
||
WAITING: 0, // 初始状态
|
||
BATTLE_SUCCESS: 1, // 挑战成功,待领取成功奖励
|
||
BATTLE_FAIL: 2, // 挑战失败,可领取失败奖励
|
||
SUCCESS_RECEIVED: 3, // 领取成功奖励
|
||
FAIL_RECEIVED: 4 // 领取了失败奖励
|
||
};
|
||
|
||
// 奇遇事件类型
|
||
export const EVENT_TYPE = {
|
||
BOX: 1, // 宝箱
|
||
QUIZ: 2, // 答题
|
||
BATTLE: 3 // 战斗
|
||
};
|
||
|
||
export const EVENT_ANSWER_STATUS = {
|
||
WAITING: 0,
|
||
CORRECT: 1,
|
||
WRONG: 2
|
||
};
|
||
|
||
export const EXPEDITION_WAR_RECORD_STATUS = {
|
||
HIDE: -1,
|
||
WAITING: 0,
|
||
SUCCESS: 1,
|
||
FAIL: 2
|
||
};
|
||
|
||
export const EVENT_START_BATTLE = 101;
|
||
|
||
export const HANG_UP_CONSTS = {
|
||
ENABLE_LV: 2, // 第几层开始可以挂机
|
||
UNIT_TIME: 10 * 60 * 1000, // 每几分钟能有一次收益
|
||
MAX_TIME: 24 * 60 * 60 * 1000, // 最多可储存24小时收益
|
||
MAX_SPD_UP_CNT: 2, // 每天可以收取多少次
|
||
REFRESH_TIME: 5, // 每天的几点刷新
|
||
SPD_UP_REC_TIME: 6 * 60 * 60 * 1000 // 加速直接获得6小时收益
|
||
}
|
||
|
||
export const TOWER_TASK_CONST = {
|
||
REFRESH_TIME: 5, // 每天几点刷新
|
||
RAND_CNT: 8, // 每次刷新多少个任务
|
||
MAX_TASK_REF_CNT: 8, // 完成的派遣任务数最多多少个
|
||
MAX_HEROES_NUM: 3, // 每个任务最大派遣武将数
|
||
COST_GOLD: 50 // 每次刷新花费的元宝
|
||
}
|
||
|
||
export const DAILY_CONST = {
|
||
REFRESH_TIME: 5 // 每天加点刷新
|
||
}
|
||
|
||
export const DUNGEON_CONST = {
|
||
REFRESH_TIME: 5, // 每天加点刷新
|
||
MAX_CNT: 10, // 最大挑战次数
|
||
MAX_BUY_CNT: 10 // 最大购买次数
|
||
}
|
||
|
||
export const EXPEDITION_CONST = {
|
||
REFRESH_TIME: 5, // 重置次数刷新时间
|
||
INCREASE_POINT: 1, // 远征每成功一次累计的点数
|
||
RESET_CNT: 1 // 可以免费重置的次数
|
||
}
|
||
|
||
export const EVENT_QUIZ_NUM = 3;
|
||
|
||
export const DEFAULT_HEROES = [12, 14, 11, 9, 15];
|
||
|
||
export const FIX_SMS_CODE_TELS = ['18855953630', '13911134885', '15167549151', '15618654010', '15167549151', '18342915387'];
|
||
|
||
export const GONGSHI = {
|
||
"TOWER_HANG_UP_SPEED_COST": "50",
|
||
"TOWER_TASK_REF_COST": "200",
|
||
"DAILY_REFRESH_NUM_COST": "50*num"
|
||
};
|
||
|
||
/**
|
||
* 计算元宝和次数相关的系数
|
||
* 公式: A * num + B
|
||
*/
|
||
export const GOLD_COST_RATIO = {
|
||
"TOWER_HANG_SPDUP": { "A": 0, "B": 50 }, // 天梯挂机加速花费
|
||
"TOWER_TASK_REF": { "A": 0, "B": 50 }, // 天梯派遣刷新花费
|
||
"DAILY_REF_NUM": { "A": 50, "B": 0 }, // 每日购买次数花费
|
||
"DUNGRON_BUY_NUM": { "A": 0, "B": 50 } // 秘境购买次数花费
|
||
}
|
||
|
||
export const EXPRESSION = {
|
||
"CE": "1*hp+2*atk+2*matk+2*def+2*mdef+2*agi+2*luk+0*hit+0*cri+0*flee+0*antCri+0*damageIncrease+0*damageDecrease+0*defIngnore+0*bloodSuck"
|
||
}
|
||
|
||
// 寻宝(共斗)相关
|
||
export const COM_TEAM_STATUS = {
|
||
DEFAULT: 0,
|
||
FIGHTING: 1,
|
||
WIN: 2,
|
||
LOOSE: 3
|
||
}
|
||
|
||
|
||
// 寻宝配置常量
|
||
export const COM_BTL_CONST = {
|
||
ENABLE_LV: 1, // 功能开启等级
|
||
ASSIST_DROP_RATE: 0.5, // 助战掉落占队长掉落的比例
|
||
BLUEPRT_DROP_PER_AP: 10, // 藏宝图伪随机所需体力
|
||
BTL_TIME_LMT: 10 * 60 * 1000, // 每局时长限制
|
||
ROBOT_HURT_RAND_RATE: 0.05, // 每个机器人消耗 boss 血量百分比浮动范围
|
||
FRDCNT_DROP: 10, // 每场情谊点掉落
|
||
ROBOT_CE_RATIO: 0.2, // 机器人战力上下浮动百分比
|
||
ASSIST_TIME: 60 * 1000, // 助战匹配机器人的等待时长
|
||
CAP_TIME: 60 * 1000, // 队长匹配机器人的等待时长
|
||
CAP_START_TIME: 60 * 1000, // 人齐后队长开始时长倒计时
|
||
ROBOT_RND_LMT: 10, // 机器人输出伤害的回合数
|
||
ROBOT_HURT_RATIO: 0.2, // 单个机器人输出总伤害占 boss 血量比重
|
||
ROBOT_HURT_CH_RATIO: 0.1, // 机器人伤害上下浮动的比例
|
||
ASSIST_REWARD_RATIO: 0.5, // 队员奖励比例
|
||
}
|
||
|
||
// 机器人名字随机
|
||
export const COM_BATTLE_ROBOT_ID_NAME = [
|
||
{robotRoleId: 'cd9h0iy8', robotRoleName: '徐埋农'},
|
||
{robotRoleId: 'rtdgr4oz', robotRoleName: '简普瞳'},
|
||
{robotRoleId: 'rv96unin', robotRoleName: '邛瑛'},
|
||
{robotRoleId: 'b33u625l', robotRoleName: '嵇晁伊'},
|
||
{robotRoleId: 'l6wopj9p', robotRoleName: '颜校'},
|
||
{robotRoleId: '6wdqcumj', robotRoleName: '吉辉娇'}
|
||
];
|
||
|
||
export const REDIS_KEY = {
|
||
USER_INFO: "userInfo", // 玩家缓存信息
|
||
TOWER_RANK: "towerRank", // 天梯排行榜
|
||
COM_TEAM_SEARCH_PRE: 'comTeamSerQ', // 匹配中的玩家,按品质分
|
||
}
|
||
|
||
export const FUNC_OPT_TYPE = {
|
||
LEVEL_UP: 1,
|
||
BATTLE_END: 2
|
||
}
|
||
|
||
export const FUNCS_ID = {
|
||
EVENT: 1
|
||
}
|
||
|
||
export const FRIEND_DROP_TYPE = {
|
||
COM_BATTLE: 1
|
||
}
|
||
|
||
// 每日情谊点上限
|
||
export const FRIEND_DROP_MAX = {
|
||
COM_BTL: 150
|
||
}
|
||
|
||
|
||
// 武将上限
|
||
export const HERO_GROW_MAX = {
|
||
STAR: 6,
|
||
COLORSTAR: 6,
|
||
QUALITY: 3
|
||
}
|
||
|
||
export const JOB_TYPE = {
|
||
PHYSIC: 1,
|
||
MAGIC: 2
|
||
}
|
||
|
||
export const TERAPH_RANDOM = {
|
||
MIN: 2,
|
||
MAX: 4
|
||
}
|
||
|
||
export const SPECIAL_ATTR = {
|
||
WAR_ID: 1,
|
||
TREASURE_ID: 2,
|
||
TREASURE_TYPE: 3
|
||
}
|
||
|
||
export const FILENAME = {
|
||
DIC_BLUEPRT_COMPOSE: 'dic_blueprt_compose',
|
||
DIC_BLUEPRT_POSSIBILITY: 'dic_blueprt_possibility',
|
||
DIC_EXPEDITION: 'dic_expedition',
|
||
DIC_EXPEDITION_POINT: 'dic_expedition_point',
|
||
DIC_FUNC_SWITCH: 'dic_func_switch',
|
||
DIC_GOODS: 'dic_goods',
|
||
DIC_CHAREXP: 'dic_zyz_charexp',
|
||
DIC_DAILY: 'dic_zyz_daily',
|
||
DIC_EVENT: 'dic_zyz_event',
|
||
DIC_FASHIONS: 'dic_zyz_fashions',
|
||
DIC_FRIEND_SHIP: 'dic_zyz_friend_ship',
|
||
DIC_FRIEND_SHIP_LEVEL: 'dic_zyz_friend_ship_level',
|
||
DIC_GACHA: 'dic_gacha',
|
||
DIC_GK_BRANCH: 'dic_zyz_gk_branch',
|
||
DIC_GK_DAILY: 'dic_zyz_gk_daily',
|
||
DIC_GK_DUNGEON: 'dic_zyz_gk_dungeon',
|
||
DIC_GK_DUNGEON_ELITE: 'dic_zyz_gk_dungeonElite',
|
||
DIC_GK_EVENT: 'dic_zyz_gk_event',
|
||
DIC_GK_EXPEDITION: 'dic_zyz_gk_expedition',
|
||
DIC_GK_MAIN: 'dic_zyz_gk_main',
|
||
DIC_GK_MAIN_ELITE: 'dic_zyz_gk_mainElite',
|
||
DIC_GK_TOWER: 'dic_zyz_gk_tower',
|
||
DIC_GK_TREASURE: 'dic_zyz_gk_Treasure',
|
||
DIC_HERO: 'dic_zyz_hero',
|
||
DIC_HERO_QUALITY_UP: 'dic_zyz_hero_quality_up',
|
||
DIC_HERO_STAR: 'dic_zyz_hero_star',
|
||
DIC_HERO_WAKE: 'dic_zyz_hero_wake',
|
||
DIC_HERO_SKILL: 'dic_zyz_heroskill',
|
||
DIC_JOB: 'dic_zyz_job',
|
||
DIC_KING_EXP: 'dic_zyz_kingexp',
|
||
DIC_CHAR_EXP: 'dic_zyz_charexp',
|
||
DIC_SE: 'dic_zyz_se',
|
||
DIC_TOWER_TASK: 'dic_zyz_search',
|
||
DIC_TOWER: 'dic_zyz_tower',
|
||
DIC_XUNBAO: 'dic_zyz_xunbao',
|
||
DIC_QUESTION: 'Questions',
|
||
}
|
||
|
||
export const WAR_RELATE_TABLES = [
|
||
FILENAME.DIC_GK_BRANCH,
|
||
FILENAME.DIC_GK_DAILY,
|
||
FILENAME.DIC_GK_DUNGEON,
|
||
FILENAME.DIC_GK_DUNGEON_ELITE,
|
||
FILENAME.DIC_GK_EVENT,
|
||
FILENAME.DIC_GK_EXPEDITION,
|
||
FILENAME.DIC_GK_MAIN,
|
||
FILENAME.DIC_GK_MAIN_ELITE,
|
||
FILENAME.DIC_GK_TOWER,
|
||
FILENAME.DIC_GK_TREASURE
|
||
]
|