✨ feat(任务): 添加任务类型
This commit is contained in:
@@ -104,7 +104,7 @@ export class NormalBattleHandler {
|
||||
if (checkResult.status == -1) {
|
||||
return checkResult.resResult
|
||||
}
|
||||
} else if (warInfo.warType == WAR_TYPE.MYSTERY || warInfo.warType == WAR_TYPE.MYSTERY_ELITE) {
|
||||
} else if (warInfo.warType == WAR_TYPE.MYSTERY) {
|
||||
let checkResult = await checkDungeonNum(roleId, 1, battleId);
|
||||
if (checkResult.status == -1) {
|
||||
return checkResult.resResult
|
||||
@@ -222,7 +222,7 @@ export class NormalBattleHandler {
|
||||
if (towerEndResult.data.towerReward)
|
||||
warReward.setFixReward(towerEndResult.data.towerReward)
|
||||
}
|
||||
} else if (warInfo.warType == WAR_TYPE.MYSTERY || warInfo.warType == WAR_TYPE.MYSTERY_ELITE) {
|
||||
} else if (warInfo.warType == WAR_TYPE.MYSTERY) {
|
||||
let checkResult = await checkDungeonAndIncrease(roleId, isSuccess?1:0, false, battleId);
|
||||
let role = await RoleModel.saveDungeonHero(roleId, battleId, heroes, isSuccess);
|
||||
if (role) {
|
||||
@@ -344,7 +344,7 @@ export class NormalBattleHandler {
|
||||
return checkResult.resResult
|
||||
}
|
||||
dailyNum = Object.assign(dailyNum, checkResult.data)
|
||||
} else if (warInfo.warType == WAR_TYPE.MYSTERY || warInfo.warType == WAR_TYPE.MYSTERY_ELITE) {
|
||||
} else if (warInfo.warType == WAR_TYPE.MYSTERY) {
|
||||
let checkResult = await checkDungeonAndIncrease(roleId, count, true, battleId);
|
||||
if (checkResult.status == -1) {
|
||||
return checkResult.resResult
|
||||
|
||||
@@ -146,7 +146,7 @@ export function calculateWarStar(warStar: WarStar[] = [], battleId: number, star
|
||||
}
|
||||
|
||||
export async function getBattleListOfMain(role: RoleType) {
|
||||
let types = [ WAR_TYPE.NORMAL, WAR_TYPE.VESTIGE, WAR_TYPE.MAIN_ELITE, WAR_TYPE.TOWER, WAR_TYPE.MYSTERY, WAR_TYPE.MYSTERY_ELITE ];
|
||||
let types = [ WAR_TYPE.NORMAL, WAR_TYPE.VESTIGE, WAR_TYPE.MAIN_ELITE, WAR_TYPE.TOWER, WAR_TYPE.MYSTERY, WAR_TYPE.BRANCH_ELITE ];
|
||||
return await getBattleListOfTypes(role, types);
|
||||
}
|
||||
|
||||
|
||||
@@ -427,13 +427,13 @@ export class CheckSingleTask {
|
||||
}
|
||||
case TASK_TYPE.HERO_QUALITY_STAR_UP: // 8. x名x品质升至x星
|
||||
{
|
||||
let { heroes, hero, oldStar } = param;
|
||||
let { heroes, hero, oldStar, oldColorStar } = param;
|
||||
if(param.heroes) { // 创建武将的时候
|
||||
let records = await getRecord();
|
||||
let num = 0;
|
||||
for(let { hid, star } of heroes) {
|
||||
for(let { hid, star, colorStar } of heroes) {
|
||||
let dicHero = gameData.hero.get(hid);
|
||||
if(dicHero.quality == dicTaskParam[1] && star == dicTaskParam[2] && records.indexOf(`${hid}`) == -1) {
|
||||
if(dicHero.quality == dicTaskParam[1] && (star + colorStar) == dicTaskParam[2] && records.indexOf(`${hid}`) == -1) {
|
||||
records.push(`${hid}`);
|
||||
num ++;
|
||||
}
|
||||
@@ -442,7 +442,7 @@ export class CheckSingleTask {
|
||||
} else { // 武将升星的时候
|
||||
let hid = hero.hid;
|
||||
let dicHero = gameData.hero.get(hid);
|
||||
if(dicHero.quality == dicTaskParam[1] && hero.star >= dicTaskParam[2] && oldStar < dicTaskParam[2] ) {
|
||||
if(dicHero.quality == dicTaskParam[1] && (hero.star + hero.colorStar) >= dicTaskParam[2] && (oldStar + oldColorStar) < dicTaskParam[2] ) {
|
||||
let records = await getRecord();
|
||||
if(records.indexOf(`${hid}`) == -1) {
|
||||
records.push(`${hid}`);
|
||||
@@ -682,7 +682,7 @@ export class CheckSingleTask {
|
||||
{
|
||||
let { warId, count } = param;
|
||||
let dicWar = gameData.war.get(warId);
|
||||
if(dicWar.warType == WAR_TYPE.MYSTERY || dicWar.warType == WAR_TYPE.MYSTERY_ELITE) {
|
||||
if(dicWar.warType == WAR_TYPE.MYSTERY) {
|
||||
result = { inc: count };
|
||||
}
|
||||
break;
|
||||
@@ -691,7 +691,7 @@ export class CheckSingleTask {
|
||||
{
|
||||
let { warId, count } = param;
|
||||
let dicWar = gameData.war.get(warId);
|
||||
if ((dicWar.warType == WAR_TYPE.MYSTERY || dicWar.warType == WAR_TYPE.MYSTERY_ELITE) && this.checkIdList(dicTaskParam, 0, warId)) {
|
||||
if ((dicWar.warType == WAR_TYPE.MYSTERY) && this.checkIdList(dicTaskParam, 0, warId)) {
|
||||
result = { inc: count };
|
||||
}
|
||||
break;
|
||||
@@ -1303,7 +1303,7 @@ export class CheckSingleTask {
|
||||
{
|
||||
let { warId, count } = param;
|
||||
let dicWar = gameData.war.get(warId);
|
||||
if(dicWar.warType == WAR_TYPE.MYSTERY || dicWar.warType == WAR_TYPE.MYSTERY_ELITE) {
|
||||
if(dicWar.warType == WAR_TYPE.MYSTERY) {
|
||||
result = { inc: count };
|
||||
}
|
||||
break;
|
||||
@@ -1389,6 +1389,21 @@ export class CheckSingleTask {
|
||||
result = { inc: count };
|
||||
break;
|
||||
}
|
||||
case TASK_TYPE.STAR_UP_SUM: // 130. 升星总和
|
||||
{
|
||||
let { count } = param;
|
||||
result = { inc: count };
|
||||
break;
|
||||
}
|
||||
case TASK_TYPE.BATTLE_BRANCH_ELITE: // 131. 主线梦魇支线
|
||||
{
|
||||
let { warId, count } = param;
|
||||
let dicWar = gameData.war.get(warId);
|
||||
if (dicWar.warType == WAR_TYPE.BRANCH_ELITE && this.checkIdList(dicTaskParam, 0, warId)) {
|
||||
result = { inc: count };
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
@@ -64,7 +64,8 @@ export async function checkTaskInCreateHero(serverId: number, roleId: string, si
|
||||
export async function checkTaskInHeroStarUp(serverId: number, roleId: string, sid: string, hero: HeroType, oldStar: number) {
|
||||
let task = new CheckTask(serverId, roleId);
|
||||
task.setParam(TASK_TYPE.HERO_STAR_UP, { hero });
|
||||
task.setParam(TASK_TYPE.HERO_QUALITY_STAR_UP, { hero, oldStar });
|
||||
task.setParam(TASK_TYPE.HERO_QUALITY_STAR_UP, { hero, oldStar, oldColorStar: 0 });
|
||||
task.setParam(TASK_TYPE.STAR_UP_SUM, { count: hero.star - oldStar });
|
||||
await task.saveAndPush(sid);
|
||||
}
|
||||
|
||||
@@ -75,6 +76,8 @@ export async function checkTaskInHeroWakeUp(serverId: number, roleId: string, si
|
||||
task.setParam(TASK_TYPE.HERO_QUALITY_WAKE_UP_COUNT, { hero, oldColorStar });
|
||||
task.setParam(TASK_TYPE.HERO_WAKE_UP_COUNT, { hero, oldColorStar });
|
||||
task.setParam(TASK_TYPE.HERO_WAKE_UP_STAR_UP_COUNT, { hero, oldColorStar });
|
||||
task.setParam(TASK_TYPE.HERO_QUALITY_STAR_UP, { hero, oldStar: 6, oldColorStar });
|
||||
task.setParam(TASK_TYPE.STAR_UP_SUM, { count: hero.colorStar - oldColorStar });
|
||||
await task.saveAndPush(sid);
|
||||
}
|
||||
|
||||
@@ -136,6 +139,7 @@ export async function checkTaskInBattleStart(serverId: number, roleId: string, s
|
||||
task.setParam(TASK_TYPE.BATTLE_VESTIGE, { warId, count: 1 });
|
||||
task.setParam(TASK_TYPE.BATTLE_EXPEDITION, { warId, count: 1 });
|
||||
task.setParam(TASK_TYPE.BATTLE_MAIN_ELITE, { warId, count: 1 });
|
||||
task.setParam(TASK_TYPE.BATTLE_BRANCH_ELITE, { warId, count: 1 });
|
||||
await task.saveAndPush(sid);
|
||||
let dicWar = gameData.war.get(warId);
|
||||
if(dicWar && dicWar.warType == WAR_TYPE.NORMAL) {
|
||||
@@ -176,6 +180,7 @@ export async function checkTaskInBattleSweep(serverId: number, roleId: string, s
|
||||
task.setParam(TASK_TYPE.BATTLE_DAILY_START, { warId, count });
|
||||
task.setParam(TASK_TYPE.BATTLE_EXPEDITION_START, { warId, count });
|
||||
task.setParam(TASK_TYPE.BATTLE_DUNGEON_START, { warId, count });
|
||||
task.setParam(TASK_TYPE.BATTLE_BRANCH_ELITE, { warId, count });
|
||||
await task.saveAndPush(sid);
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ export const WAR_TYPE = {
|
||||
GUILD_ACTIVITY: 10, // 军团活动
|
||||
GUILD_TRAIN: 11, // 军团练兵场
|
||||
MAIN_ELITE: 12, // 主线精英
|
||||
MYSTERY_ELITE: 13, // 秘境精英
|
||||
BRANCH_ELITE: 13, // 秘境精英
|
||||
BRANCH: 14, // 支线
|
||||
ACT_TREASURE_HUNT: 15, // 神州探秘
|
||||
ACT_SELF_SHOP: 16, // 糜家商队
|
||||
|
||||
@@ -788,6 +788,8 @@ export enum TASK_TYPE {
|
||||
ARTIFACT_LV = 127, // 强化X件宝物至X级
|
||||
ARTIFACT_QUALITY_EQUIP = 128, // 穿戴X件品质为X的宝物
|
||||
ARTIFACT_COMPOSE = 129, // 合成X次宝物
|
||||
STAR_UP_SUM = 130, // 总计升星次数
|
||||
BATTLE_BRANCH_ELITE = 131, // 通关
|
||||
}
|
||||
|
||||
// 任务累积类型
|
||||
|
||||
@@ -658,6 +658,7 @@ export function getReasonByWarType(warType: number) {
|
||||
// case WAR_TYPE.MYSTERY_ELITE:
|
||||
// return ITEM_CHANGE_REASON.MYSTERY_ELITE_BATTLE_END;
|
||||
case WAR_TYPE.BRANCH:
|
||||
case WAR_TYPE.BRANCH_ELITE:
|
||||
return ITEM_CHANGE_REASON.BRANCH_BATTLE_END;
|
||||
case WAR_TYPE.ACT_TREASURE_HUNT:
|
||||
return ITEM_CHANGE_REASON.ACT_TREASURE_HUNT_BATTLE_END;
|
||||
@@ -692,7 +693,7 @@ export function getWarTypeName(warType: number) {
|
||||
case WAR_TYPE.GUILD_ACTIVITY: return '军团活动';
|
||||
case WAR_TYPE.GUILD_TRAIN: return '训练场';
|
||||
case WAR_TYPE.MAIN_ELITE: return '主线精英';
|
||||
case WAR_TYPE.MYSTERY_ELITE: return '秘境精英';
|
||||
case WAR_TYPE.BRANCH_ELITE: return '梦魇支线';
|
||||
case WAR_TYPE.BRANCH: return '支线';
|
||||
case WAR_TYPE.ACT_TREASURE_HUNT: return '运营活动-神州探秘';
|
||||
case WAR_TYPE.ACT_SELF_SHOP: return '运营活动-糜家商队';
|
||||
|
||||
@@ -72,10 +72,10 @@
|
||||
{
|
||||
"id": 8,
|
||||
"name": "武将",
|
||||
"info": "x名x品质升至x星",
|
||||
"info": "x名x初始品质升至x星",
|
||||
"param": "herocount&quality&star&",
|
||||
"string": "武将数量&品质&星级&",
|
||||
"content": "升至x星是只算普通升星的;品质是使用等号判断的,紫色的升星不能达成蓝色的条件",
|
||||
"content": "升星可算彩星,但需加上普通升星的星数,比如彩6星填12=6+6;品质是使用等号判断的,紫色的升星不能达成蓝色的条件",
|
||||
"condition": "herocount",
|
||||
"sumType": 1
|
||||
},
|
||||
@@ -325,7 +325,7 @@
|
||||
"info": "通关秘境x次",
|
||||
"param": "count&",
|
||||
"string": "秘境挑战次数&",
|
||||
"content": "只计算warType为6或13的关卡;必须挑战胜利才计算;扫荡也算",
|
||||
"content": "只计算warType为6的关卡;必须挑战胜利才计算;扫荡也算",
|
||||
"condition": "count",
|
||||
"sumType": 2
|
||||
},
|
||||
@@ -335,7 +335,7 @@
|
||||
"info": "秘境通关x关x难度",
|
||||
"param": "warcount&warid&…",
|
||||
"string": "填几个warid&关卡id&…",
|
||||
"content": "只计算warType为6或13的关卡;必须挑战胜利才计算;扫荡也算",
|
||||
"content": "只计算warType为6的关卡;必须挑战胜利才计算;扫荡也算",
|
||||
"condition": "warcount",
|
||||
"sumType": 1
|
||||
},
|
||||
@@ -362,7 +362,7 @@
|
||||
{
|
||||
"id": 48,
|
||||
"name": "关卡",
|
||||
"info": "通关遗迹x关",
|
||||
"info": "通关支线x关",
|
||||
"param": "warcount&warid",
|
||||
"string": "挑战次数&",
|
||||
"content": "只计算warType为2的关卡;必须挑战胜利才计算;扫荡也算",
|
||||
@@ -571,11 +571,11 @@
|
||||
},
|
||||
{
|
||||
"id": 73,
|
||||
"name": "精英任务",
|
||||
"info": "精英通关第x关",
|
||||
"param": "warcount&warid&",
|
||||
"name": "梦魇关卡",
|
||||
"info": "梦魇通关第x关",
|
||||
"param": "warcount&warid&…",
|
||||
"string": "关卡id",
|
||||
"content": 0,
|
||||
"content": "只计算warType为12的关卡;必须挑战胜利才计算;计算扫荡;主线基金是算这个type的",
|
||||
"condition": "warcount",
|
||||
"sumType": 1
|
||||
},
|
||||
@@ -605,7 +605,7 @@
|
||||
"info": "x名武将觉醒后升至x星",
|
||||
"param": "herocount&star&",
|
||||
"string": "武将数量&星级",
|
||||
"content": 0,
|
||||
"content": "只算彩星,填1,不用计算黄星的6",
|
||||
"condition": "herocount",
|
||||
"sumType": 1
|
||||
},
|
||||
@@ -1087,6 +1087,26 @@
|
||||
"string": "次数&",
|
||||
"content": 0,
|
||||
"condition": "count",
|
||||
"sumType": 2
|
||||
"sumType": 1
|
||||
},
|
||||
{
|
||||
"id": 130,
|
||||
"name": "武将",
|
||||
"info": "武将升星X次",
|
||||
"param": "count&",
|
||||
"string": "升星次数&",
|
||||
"content": "星级上升了才算是1次;升彩星也是算入的;算所有武将的",
|
||||
"condition": "count",
|
||||
"sumType": 1
|
||||
},
|
||||
{
|
||||
"id": 131,
|
||||
"name": "关卡",
|
||||
"info": "通关梦魇支线X关",
|
||||
"param": "warcount&warid",
|
||||
"string": "挑战次数&",
|
||||
"content": "只计算warType为13的关卡;必须挑战胜利才计算;扫荡也算",
|
||||
"condition": "count",
|
||||
"sumType": 1
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user