780 lines
23 KiB
TypeScript
780 lines
23 KiB
TypeScript
import {ApiCall} from "tsrpc"
|
||
import {YangChengMuBiaofun} from "../api_s2c/event/yangchengmubiao/fun"
|
||
import {Christmasfun} from "../api_s2c/event/christmas/fun"
|
||
// import { YangChengMuBiaofun } from "../api_s2c/event/yangchengmubiao/fun"
|
||
import {Wjjl} from "../module/collection_wjjl"
|
||
import {PublicShared} from "../shared/public/public"
|
||
import {PayFun} from "./pay"
|
||
import {TaskFun} from "./task"
|
||
import {CollectionWanted} from "../module/collection_wanted";
|
||
import {TanXianFun} from "./tanxian";
|
||
import {PataFun} from "./pata";
|
||
import {weixiuchangType} from "../shared/protocols/weixiuchang/type";
|
||
import {FunWeiXiuChang} from "./weixiuchang";
|
||
import {JJCFun} from "./jjc";
|
||
import {getGud} from "./gud";
|
||
|
||
let _classNameFunc = {}
|
||
/**
|
||
* stype , isinc 分别是任务类型 是否累加
|
||
* initVal: 获取初值方法, 返回整形, 默认初值为0
|
||
* getVal: 获取设置的值, 默认返回(1, 0)
|
||
* 事件类型: 类名
|
||
*/
|
||
|
||
export module manager {
|
||
// 任务基类
|
||
abstract class BaseClass {
|
||
abstract stype
|
||
abstract isinc
|
||
|
||
constructor() {
|
||
if (_classNameFunc[this.name]) {
|
||
return
|
||
}
|
||
// 注册监听事件
|
||
if (this.name) {
|
||
this.addEventOn()
|
||
}
|
||
_classNameFunc[this.name] = this
|
||
}
|
||
|
||
// 获取初始任务值
|
||
async getInitVal(call: ApiCall, con) {
|
||
let _val = await this.initVal(call, con)
|
||
return await this.fmtinitval(_val, con)
|
||
}
|
||
|
||
// 任务初值,根据任务情况是否重写
|
||
async initVal(call: ApiCall, con) {
|
||
return 0
|
||
}
|
||
|
||
// 初值处理
|
||
async fmtinitval(val: number, con) {
|
||
val = val < con["pval"] ? val : con["pval"]
|
||
return val
|
||
}
|
||
|
||
// 数据检测,默认没有条件限制
|
||
async chkCall(cond, chkval, arg) {
|
||
if (cond.length == 0 || chkval == cond[0] || !chkval) {
|
||
return 1
|
||
}
|
||
return 0
|
||
}
|
||
|
||
// 改变数值
|
||
async alchangeVal(call: ApiCall, con, val: number, arg) {
|
||
return val
|
||
}
|
||
|
||
// 设置数据
|
||
async setVal(call: ApiCall, val: number, chkval, arg) {
|
||
TaskFun.setTaskVal(call, this.stype, val, this.chkCall, chkval, this.isinc, this.alchangeVal, arg)
|
||
// 养成目标任务计数
|
||
YangChengMuBiaofun.setTaskVal(call, this.stype, val, this.chkCall, chkval, this.isinc, this.alchangeVal, arg)
|
||
// 圣诞活动任务计数
|
||
Christmasfun.setTaskVal(call, this.stype, val, this.chkCall, chkval, this.isinc, this.alchangeVal, arg)
|
||
}
|
||
|
||
// 任务数值, 和检测值,看情况需要上层复写
|
||
async getVal(call: ApiCall, ...arg) {
|
||
return arg[0]
|
||
}
|
||
|
||
// 事件处理
|
||
async eventdo(eventname, call: ApiCall, ...arg) {
|
||
if (eventname != this.name) {
|
||
return 0
|
||
}
|
||
let [val, chkval] = await this.getVal(call, arg)
|
||
this.setVal(call, val, chkval, arg)
|
||
|
||
// 活动任务监听 todo
|
||
|
||
}
|
||
|
||
// 监听事件
|
||
async addEventOn(this) {
|
||
G.on(this.name.toString(), await this.eventdo.bind(this))
|
||
}
|
||
|
||
get name() {
|
||
return this.constructor.name
|
||
}
|
||
|
||
}
|
||
|
||
// 第一个任务 签到 n 次
|
||
export class Class_task_100 extends BaseClass {
|
||
stype = 100
|
||
isinc = 1
|
||
}
|
||
|
||
// 第二个任务 升级 n 次干部
|
||
export class Class_task_101 extends BaseClass {
|
||
stype = 101
|
||
isinc = 1
|
||
}
|
||
|
||
// 第3个任务 杂货铺购买 n 次
|
||
export class Class_task_102 extends BaseClass {
|
||
stype = 102
|
||
isinc = 1
|
||
}
|
||
|
||
// 第4个任务 日常任务完成 n 次
|
||
export class Class_task_999 extends BaseClass {
|
||
stype = 999
|
||
isinc = 1
|
||
}
|
||
|
||
// 第5个任务 成就任务完成 n 次
|
||
export class Class_task_105 extends BaseClass {
|
||
stype = 105
|
||
isinc = 1
|
||
}
|
||
|
||
// 第6个任务 玩家等级升级 n 次
|
||
export class Class_task_104 extends BaseClass {
|
||
stype = 104
|
||
isinc = 0
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
return call.conn.gud?.lv || 1
|
||
}
|
||
}
|
||
|
||
// 第7个任务 玩家通关主线关卡 n 次
|
||
export class Class_task_1 extends BaseClass {
|
||
stype = 1
|
||
isinc = 0
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
let gud = await call.conn.gud
|
||
return gud["mapId"]
|
||
}
|
||
}
|
||
|
||
// 第8个任务 干部等级达到 n 级
|
||
export class Class_task_106 extends BaseClass {
|
||
stype = 106
|
||
isinc = 0
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
let _chk = parseInt(con.cond[0])
|
||
return await G.mongodb.collection('hero').countDocuments({uid: call.uid, lv: {$gte: _chk}}) || 0
|
||
}
|
||
|
||
async alchangeVal(call: ApiCall, con, val: number) {
|
||
let _chk = parseInt(con.cond[0])
|
||
return await G.mongodb.collection('hero').countDocuments({uid: call.uid, lv: {$gte: _chk}}) || 0
|
||
}
|
||
}
|
||
|
||
// 第9个任务 同时出站 n 个干部
|
||
export class Class_task_107 extends BaseClass {
|
||
stype = 107
|
||
isinc = 0
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
let userchuzhan = await call.conn.getDefaultFightData()
|
||
return Object.keys(userchuzhan.roles).length
|
||
}
|
||
}
|
||
|
||
// 第10个任务 n 个干部进阶 配置k阶
|
||
export class Class_task_108 extends BaseClass {
|
||
stype = 108
|
||
isinc = 0
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
let _chk = parseInt(con.cond[0])
|
||
let _num = await G.mongodb.collection('hero').countDocuments({uid: call.uid, jieji: {$gte: _chk}}) || 0
|
||
return _num
|
||
}
|
||
|
||
async alchangeVal(call: ApiCall, con, val: number) {
|
||
let _chk = parseInt(con.cond[0])
|
||
let _num = await G.mongodb.collection('hero').countDocuments({uid: call.uid, jieji: {$gte: _chk}}) || 0
|
||
return _num
|
||
}
|
||
}
|
||
|
||
// 第11个任务 综合频道聊天 n 次
|
||
export class Class_task_109 extends BaseClass {
|
||
stype = 109
|
||
isinc = 1
|
||
}
|
||
|
||
// 第12个任务 升级 n 次训练技能
|
||
export class Class_task_110 extends BaseClass {
|
||
stype = 110
|
||
isinc = 0
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
let skills = Object.assign({}, call.conn.gud.skills)
|
||
let _num = Object.values(skills).sum()
|
||
return _num
|
||
}
|
||
|
||
async alchangeVal(call: ApiCall, con, val: number) {
|
||
let skills = Object.assign({}, call.conn.gud.skills)
|
||
let _num = Object.values(skills).sum()
|
||
return _num
|
||
}
|
||
}
|
||
|
||
// 第13个任务 装备强化 n 次
|
||
export class Class_task_111 extends BaseClass {
|
||
stype = 111
|
||
isinc = 1
|
||
}
|
||
|
||
// 第14个任务 装备强化到 n 级
|
||
export class Class_task_112 extends BaseClass {
|
||
stype = 112
|
||
isinc = 0
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
let usertasklog = await G.mongodb.collection('playerInfo', 'usertasklog').findOne({
|
||
uid: call.uid,
|
||
type: 'usertasklog'
|
||
})
|
||
return usertasklog?.maxequiplv | 0
|
||
}
|
||
}
|
||
|
||
// 第15个任务 有 n 件强化 配置 等级装备
|
||
export class Class_task_113 extends BaseClass {
|
||
stype = 113
|
||
isinc = 0
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
let _chk = parseInt(con.cond[0])
|
||
let _num = await G.mongodb.collection('equip').countDocuments({uid: call.uid, lv: {$gte: _chk}}) || 0
|
||
return _num
|
||
}
|
||
|
||
async alchangeVal(call: ApiCall, con, val: number) {
|
||
let _chk = parseInt(con.cond[0])
|
||
let _num = await G.mongodb.collection('equip').countDocuments({uid: call.uid, lv: {$gte: _chk}}) || 0
|
||
return _num
|
||
}
|
||
}
|
||
|
||
// 第16个任务 获得 n 个 配置颜色 干部
|
||
export class Class_task_114 extends BaseClass {
|
||
stype = 114
|
||
isinc = 1
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
let color = con.cond[0].toString()
|
||
let usertasklog = await G.mongodb.collection('playerInfo', 'usertasklog').findOne({
|
||
uid: call.uid,
|
||
type: 'usertasklog'
|
||
})
|
||
// 符合颜色的key取出来
|
||
let array = (Object.keys(usertasklog?.herocolor || {})).filter(v => {
|
||
return v >= color
|
||
})
|
||
let _val = 0
|
||
for (let index = 0; index < array.length; index++) {
|
||
// 累加符合的数量
|
||
const element = array[index];
|
||
_val += usertasklog.herocolor[element] || 0
|
||
}
|
||
return _val
|
||
}
|
||
|
||
async chkCall(cond, chkval, arg) {
|
||
if (cond.length == 1 && chkval >= cond[0]) {
|
||
return 1
|
||
}
|
||
return 0
|
||
}
|
||
}
|
||
|
||
// 第17个任务 获得 n 个 配置颜色 装备
|
||
export class Class_task_115 extends BaseClass {
|
||
stype = 115
|
||
isinc = 1
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
let color = con.cond[0].toString()
|
||
let usertasklog = await G.mongodb.collection('playerInfo', 'usertasklog').findOne({
|
||
uid: call.uid,
|
||
type: 'usertasklog'
|
||
})
|
||
// 符合颜色的key取出来
|
||
let array = (Object.keys(usertasklog?.equipcolor || {})).filter(v => {
|
||
return v >= color
|
||
})
|
||
let _val = 0
|
||
for (let index = 0; index < array.length; index++) {
|
||
// 累加符合的数量
|
||
const element = array[index];
|
||
_val += usertasklog.equipcolor[element] || 0
|
||
}
|
||
return _val
|
||
}
|
||
|
||
async chkCall(cond, chkval, arg) {
|
||
if (cond.length == 1 && chkval >= cond[0].toString()) {
|
||
return 1
|
||
}
|
||
return 0
|
||
}
|
||
}
|
||
|
||
// 第18个任务 累计充值 n 钻石
|
||
export class Class_task_116 extends BaseClass {
|
||
stype = 116
|
||
isinc = 0
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
// let _val = 0
|
||
// 成就任务走计数
|
||
// if (con.type == 3) {
|
||
// _val = await PayFun.getPayDaysAllPayNum(call.uid, await PublicShared.getToDayZeroTime(G.openTime), G.time) * 10
|
||
// }
|
||
return (await getGud(call.uid)).payExp
|
||
}
|
||
|
||
async alchangeVal(call: ApiCall, con, val: number, arg) {
|
||
// val = 0
|
||
// let _where = {taskid: con.id, stype: con.stype}
|
||
// let _task = await TaskFun.getUserTaksList(call.uid, _where)
|
||
// if (_task[0]) {
|
||
// val = await PayFun.getPayDaysAllPayNum(call.uid, await PublicShared.getToDayZeroTime(_task[0].retime), G.time) * 10
|
||
// }
|
||
return (await getGud(call.uid)).payExp
|
||
}
|
||
}
|
||
|
||
// 第19个任务 使用 n 次点金
|
||
export class Class_task_117 extends BaseClass {
|
||
stype = 117
|
||
isinc = 1
|
||
}
|
||
|
||
// 第20个任务 酒吧招募 n 次
|
||
export class Class_task_118 extends BaseClass {
|
||
stype = 118
|
||
isinc = 1
|
||
}
|
||
|
||
// 第21个任务 商店购买 n 次道具
|
||
export class Class_task_119 extends BaseClass {
|
||
stype = 119
|
||
isinc = 1
|
||
}
|
||
|
||
// 第22个任务 探险进行 n 次战斗 不管输赢
|
||
export class Class_task_120 extends BaseClass {
|
||
stype = 120
|
||
isinc = 1
|
||
}
|
||
|
||
// 第23个任务 势力捐献进行 n 次捐献
|
||
export class Class_task_121 extends BaseClass {
|
||
stype = 121
|
||
isinc = 1
|
||
}
|
||
|
||
// 第24个任务 进行 n 次快速探险
|
||
export class Class_task_122 extends BaseClass {
|
||
stype = 122
|
||
isinc = 1
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
const data = await TanXianFun.getData(call);
|
||
return data.useFastGuaJiNum || 0
|
||
}
|
||
}
|
||
|
||
// 第25个任务 竞技场中挑战 n 次对手
|
||
export class Class_task_123 extends BaseClass {
|
||
stype = 123
|
||
isinc = 1
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
let data = await JJCFun.getData(call);
|
||
return data?.useFightNum || 0
|
||
}
|
||
}
|
||
|
||
// 第26个任务 斩草除根进行 n 次通关或扫荡
|
||
export class Class_task_124 extends BaseClass {
|
||
stype = 124
|
||
isinc = 1
|
||
}
|
||
|
||
// 第27个任务 挑战 n 次物资筹集
|
||
export class Class_task_125 extends BaseClass {
|
||
stype = 125
|
||
isinc = 1
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
let myData = await G.mongodb.cPlayerInfo('meirishilian').findOne({uid: call.uid, type: 'meirishilian'});
|
||
return R.compose(R.sum(), R.map(i => i[0].useFightNum), R.values())(myData.data.numInfo) || 0
|
||
}
|
||
}
|
||
|
||
// 第28个任务 地盘争夺抢夺或战领 n 次
|
||
export class Class_task_126 extends BaseClass {
|
||
stype = 126
|
||
isinc = 1
|
||
}
|
||
|
||
// 第29个任务 挑战 n 次清缴真主党
|
||
export class Class_task_127 extends BaseClass {
|
||
stype = 127
|
||
isinc = 1
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
let myData = await G.mongodb.cPlayerInfo('qjzzd').findOne({uid: call.uid, type: 'qjzzd'});
|
||
return myData.useFightNum || 0
|
||
}
|
||
}
|
||
|
||
// 第30个任务 今日登录
|
||
export class Class_task_128 extends BaseClass {
|
||
stype = 128
|
||
isinc = 1
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
// 任务直接完成
|
||
return con.pval
|
||
}
|
||
}
|
||
|
||
// 第31个任务 竞技场首次达到x名
|
||
export class Class_task_129 extends BaseClass {
|
||
stype = 129
|
||
isinc = 0
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
let _val = await Wjjl.getVal(call.uid, "jjc_rank")
|
||
if (_val && _val <= con.pval) {
|
||
return con.pval
|
||
}
|
||
return 0
|
||
}
|
||
|
||
async alchangeVal(call: ApiCall, con, val: number, arg) {
|
||
let _val = await Wjjl.getVal(call.uid, "jjc_rank")
|
||
if (_val && _val <= con.pval) {
|
||
return con.pval
|
||
}
|
||
return 0
|
||
}
|
||
}
|
||
|
||
// 第32个任务 在仓库使用 x 次交易10次(交易一次不算)
|
||
export class Class_task_130 extends BaseClass {
|
||
stype = 130
|
||
isinc = 1
|
||
}
|
||
|
||
// 第33个任务 在仓库使用 x 次指定高级仓库
|
||
export class Class_task_131 extends BaseClass {
|
||
stype = 131
|
||
isinc = 1
|
||
}
|
||
|
||
// 第34个任务 进行 x 次公路狂飙
|
||
export class Class_task_132 extends BaseClass {
|
||
stype = 132
|
||
isinc = 1
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
let data: Partial<CollectionWanted> = await G.mongodb.collection('wanted').findOne({uid: call.uid}) || {};
|
||
return data.toDayUseNum || 0
|
||
}
|
||
}
|
||
|
||
// 第35个任务 进行 x 教会招募
|
||
export class Class_task_133 extends BaseClass {
|
||
stype = 133
|
||
isinc = 1
|
||
}
|
||
|
||
// 第36个任务 消耗 x 个 配置道具
|
||
export class Class_task_134 extends BaseClass {
|
||
stype = 134
|
||
isinc = 1
|
||
|
||
async alchangeVal(call: ApiCall, con, val: number, arg) {
|
||
// todo 统计藏品修复胶,此处只是临时处理,防止线上任务数据出错,正确做法是,统计修复胶的消耗,走136任务的统计
|
||
if (call.service.name == 'gongyu/mingdao/Repair' && typeof call.eventMsg?.['msg_s2c/PlayerChange']?.rmbmoney == 'number') {
|
||
return val || 1
|
||
}
|
||
|
||
let _need = arg[2].filter(l => l.a == 'item')
|
||
let _res = {}
|
||
for (let index = 0; index < _need.length; index++) {
|
||
const element = _need[index];
|
||
if (!Object.keys(_res).includes(element.a)) _res[element.t] = 0
|
||
_res[element.t] += element.n
|
||
}
|
||
|
||
let _val = Object.keys(_res).includes(con.cond[0].toString()) ? _res[con.cond[0]] : 0
|
||
return _val
|
||
}
|
||
|
||
async chkCall(cond, chkval, arg) {
|
||
let _val = 1
|
||
if (_val == 0) {
|
||
return 0 // 不知道怎么回事,这里强制返回1就报错
|
||
}
|
||
return 1
|
||
}
|
||
}
|
||
|
||
// 第37个任务 累计登录天数
|
||
export class Class_task_135 extends BaseClass {
|
||
stype = 135
|
||
isinc = 1
|
||
|
||
// 第一天不会正常计数,直接设置1
|
||
async initVal(call: ApiCall, con) {
|
||
return 1
|
||
}
|
||
}
|
||
|
||
// 第38个任务 修复 x 次名刀
|
||
export class Class_task_136 extends BaseClass {
|
||
stype = 136
|
||
isinc = 1
|
||
}
|
||
|
||
// 第39个任务 获得 x 个 配置颜色 配件
|
||
export class Class_task_137 extends BaseClass {
|
||
stype = 137
|
||
isinc = 1
|
||
|
||
async alchangeVal(call: ApiCall, con, val: number, arg) {
|
||
let _need = arg[2].filter(l => l.a == 'peijian')
|
||
let _val = 0
|
||
let _con = G.gc.peijian
|
||
for (let index = 0; index < _need.length; index++) {
|
||
const element = _need[index];
|
||
let _peijian = _con[element.t]
|
||
if (_peijian.colour >= con.cond[0]) {
|
||
_val += element.n
|
||
}
|
||
}
|
||
return _val
|
||
}
|
||
|
||
async chkCall(cond, chkval, arg) {
|
||
if (chkval == undefined) {
|
||
return 0
|
||
}
|
||
return 1
|
||
}
|
||
}
|
||
|
||
// 第40个任务 配件升级 xx 次
|
||
export class Class_task_138 extends BaseClass {
|
||
stype = 138
|
||
isinc = 1
|
||
}
|
||
|
||
// 第41个任务 配件升级到 xx 级(无条件要求)
|
||
export class Class_task_139 extends BaseClass {
|
||
stype = 139
|
||
isinc = 0
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
let _chk = parseInt(con.cond[0])
|
||
return await G.mongodb.collection('peijian').countDocuments({uid: call.uid, lv: {$gte: _chk}}) || 0
|
||
}
|
||
|
||
async alchangeVal(call: ApiCall, con, val: number) {
|
||
let _chk = parseInt(con.cond[0])
|
||
return await G.mongodb.collection('peijian').countDocuments({uid: call.uid, lv: {$gte: _chk}}) || 0
|
||
}
|
||
}
|
||
|
||
// 第42个任务 配置 配件升级到 xx 级(颜色限制)
|
||
export class Class_task_140 extends BaseClass {
|
||
stype = 140
|
||
isinc = 0
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
let color = con.cond[0].toString()
|
||
let usertasklog = await G.mongodb.collection('playerInfo', 'usertasklog').findOne({
|
||
uid: call.uid,
|
||
type: 'usertasklog'
|
||
})
|
||
// 符合颜色的key取出来
|
||
let array = (Object.keys(usertasklog?.peijiancolor || {})).filter(v => {
|
||
return v >= color
|
||
})
|
||
let _val = 0
|
||
for (let index = 0; index < array.length; index++) {
|
||
// 取出符合条件的最高等级
|
||
const element = array[index];
|
||
let _tmp = usertasklog.peijiancolor[element] || 0
|
||
if (_tmp > _val) _val = _tmp
|
||
}
|
||
return _val
|
||
}
|
||
|
||
async chkCall(cond, chkval, arg) {
|
||
if (cond.length == 1 && chkval >= parseInt(cond[0])) {
|
||
return 1
|
||
}
|
||
return 0
|
||
}
|
||
}
|
||
|
||
// 第43个任务 在仓库交易x次
|
||
export class Class_task_141 extends BaseClass {
|
||
stype = 141
|
||
isinc = 1
|
||
}
|
||
|
||
// 第44个任务 势力 配置xx 捐献进行 n 次捐献
|
||
export class Class_task_142 extends BaseClass {
|
||
stype = 142
|
||
isinc = 1
|
||
|
||
async chkCall(cond, chkval, arg) {
|
||
if (cond.length == 1 && chkval == parseInt(cond[0])) {
|
||
return 1
|
||
}
|
||
return 0
|
||
}
|
||
}
|
||
|
||
// 第45个任务 穿戴X件以上装备
|
||
export class Class_task_143 extends BaseClass {
|
||
stype = 143
|
||
isinc = 0
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
return await G.mongodb.collection('equip').countDocuments({uid: call.uid, wearaId: {$ne: ""}}) || 0
|
||
}
|
||
|
||
async alchangeVal(call: ApiCall, con, val: number) {
|
||
return await G.mongodb.collection('equip').countDocuments({uid: call.uid, wearaId: {$ne: ""}}) || 0
|
||
}
|
||
|
||
}
|
||
|
||
// 第46个任务 进行x次好友申请或送礼
|
||
export class Class_task_144 extends BaseClass {
|
||
stype = 144
|
||
isinc = 1
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
let usertasklog = await G.mongodb.collection('playerInfo', 'usertasklog').findOne({
|
||
uid: call.uid,
|
||
type: 'usertasklog'
|
||
});
|
||
return (usertasklog.friendAsk || 0) + (usertasklog.sendGift || 0)
|
||
}
|
||
|
||
async alchangeVal(call: ApiCall, con) {
|
||
if (call.service.name == 'friend/Gift') {
|
||
return call.return.res.change.sendGift.length || 0
|
||
}
|
||
return 1
|
||
}
|
||
}
|
||
|
||
// 第47个任务 领取x次挂机收益
|
||
export class Class_task_145 extends BaseClass {
|
||
stype = 145
|
||
isinc = 1
|
||
}
|
||
|
||
// 第48个任务 合成X次英雄
|
||
export class Class_task_146 extends BaseClass {
|
||
stype = 146
|
||
isinc = 0
|
||
}
|
||
|
||
// 第49个任务 合成X次装备
|
||
export class Class_task_147 extends BaseClass {
|
||
stype = 147
|
||
isinc = 0
|
||
}
|
||
|
||
// 第50个任务 主角的家布置计划上阵{1}个技能
|
||
export class Class_task_148 extends BaseClass {
|
||
stype = 148
|
||
isinc = 0
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
let _val = R.compose(R.filter(i => !!i), R.values())(call.conn.gud.fightSkills).length;
|
||
return _val || 0
|
||
}
|
||
}
|
||
|
||
// 第51个任务 黑暗塔通关至{1}层
|
||
export class Class_task_149 extends BaseClass {
|
||
stype = 149
|
||
isinc = 0
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
let changeInfo = await PataFun.getInfo(call.uid);
|
||
return changeInfo.lv - 1 || 0
|
||
}
|
||
}
|
||
|
||
// 第52个任务 维修厂进行{1}次安装或一键安装
|
||
export class Class_task_150 extends BaseClass {
|
||
stype = 150
|
||
isinc = 1
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
let data: weixiuchangType = await FunWeiXiuChang.getFindOne(call);
|
||
if (data.star > 0 || data.schedule.find(i => i != 0)) {
|
||
return 1
|
||
}
|
||
return 0
|
||
}
|
||
}
|
||
|
||
// 第53个任务 出战阵型启用任意阵型
|
||
export class Class_task_151 extends BaseClass {
|
||
stype = 151
|
||
isinc = 0
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
return call.conn.gud.selectMatrix ? 1 : 0;
|
||
}
|
||
}
|
||
|
||
// 第54个任务 升级{1}次阵型
|
||
export class Class_task_152 extends BaseClass {
|
||
stype = 152
|
||
isinc = 1
|
||
}
|
||
|
||
// 第55个任务 干部助战上阵{1}个干部
|
||
export class Class_task_153 extends BaseClass {
|
||
stype = 153
|
||
isinc = 1
|
||
|
||
async initVal(call: ApiCall, con) {
|
||
return call.conn.gud?.helpHeros?.length || 0;
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|