diff --git a/game-server/app/services/battleService.ts b/game-server/app/services/battleService.ts index 7d9baeec2..0fbc8a7f5 100644 --- a/game-server/app/services/battleService.ts +++ b/game-server/app/services/battleService.ts @@ -193,6 +193,7 @@ export async function calcuHangUpReward(roleId: string, speedUp = false, speedUp } async function checkCond(roleId: string, heroes, type: number, param: number, cnt: number) { + let heroCnt = 0; switch (type) { @@ -217,7 +218,7 @@ async function checkCond(roleId: string, heroes, type: number, param: number, cn for(let seqId of heroes) { let {hid} = await HeroModel.findBySeqIdAndRole(seqId, roleId); const hInfo = getHeroInfoById(hid); - if (getJobInfoById(hInfo.jobid) === param) { + if (getJobInfoById(hInfo.jobid).job_class === param) { heroCnt++; } } diff --git a/game-server/app/services/expeditionService.ts b/game-server/app/services/expeditionService.ts index 3c40d0a2a..82bdafd9d 100644 --- a/game-server/app/services/expeditionService.ts +++ b/game-server/app/services/expeditionService.ts @@ -41,6 +41,23 @@ export async function findOrCreateEnemies(roleId: string, myCe: number, expediti } } } + + // 处理当前血量 + let {enemiesCurHpAp, enemies} = expeditionWarRecord; + for(let enemy of enemies) { + let cur = {"hp": 0, "ap": 0}; + console.log(enemiesCurHpAp) + let getHp = enemiesCurHpAp && enemiesCurHpAp.find(cur => cur.dataId == enemy.dataId); + if(getHp) { + cur.hp = getHp.hp; + cur.ap = getHp.ap; + } else { + cur.hp = enemy.attribute.hp; + cur.ap = 0; + } + enemy["cur"] = cur; + } + return expeditionWarRecord; } diff --git a/game-server/app/services/warRewardService.ts b/game-server/app/services/warRewardService.ts index 6fc6a684f..ce5b2722f 100644 --- a/game-server/app/services/warRewardService.ts +++ b/game-server/app/services/warRewardService.ts @@ -45,9 +45,9 @@ export class WarReward { let last = str.substr(str.length-1, 1); if(last == '&') str = str.substr(0, str.length - 1); if(str.length) { - this.fixReward += '|' + reward; + this.fixReward = str + '|' + reward; } else { - this.fixReward += reward; + this.fixReward = str + reward; } } @@ -56,9 +56,9 @@ export class WarReward { let last = str.substr(str.length-1, 1); if(last == '&') str = str.substr(0, str.length - 1); if(str.length) { - this.conditionReward += reward; + this.conditionReward = str + '|' + reward; } else { - this.conditionReward += '|' + reward; + this.conditionReward = str + reward; } } @@ -67,9 +67,9 @@ export class WarReward { let last = str.substr(str.length-1, 1); if(last == '&') str = str.substr(0, str.length - 1); if(str.length) { - this.randomReward += reward; + this.randomReward = str + '|' + reward; } else { - this.randomReward += '|' + reward; + this.randomReward = str + reward; } } @@ -127,6 +127,7 @@ export class WarReward { // let warType = this.warInfo.warType; if(this.isSuccess) { // 成功了才给固定奖励 + console.log(this.fixReward) if(this.fixReward) this.handleFixReward(num, this.fixReward); if(this.conditionReward) this.handleConditionReward(num, this.conditionReward); if(this.randomReward) await this.handleRandomReward(num, this.randomReward); diff --git a/shared/consts/consts.ts b/shared/consts/consts.ts index ccb7b7708..3f560116a 100644 --- a/shared/consts/consts.ts +++ b/shared/consts/consts.ts @@ -203,7 +203,7 @@ export const EVENT_QUIZ_NUM = 3; export const DEFAULT_HEROES = [ 312, 314, 311, 309, 315]; -export const FIX_SMS_CODE_TELS = ['18855953630', '13911134885', '15167549151', '15618654010']; +export const FIX_SMS_CODE_TELS = ['18855953630', '13911134885', '15167549151', '15618654010', '15167549151']; export const GONGSHI = { "TOWER_HANG_UP_SPEED_COST": "50", @@ -251,4 +251,4 @@ export const COM_BATTLE_ROBOT_HURT_RAND_RATE = 0.05; // 每日情谊点上限 export const COM_BATTLE_FRDCNT_MAX = 100; // 情谊点掉落数量 -export const COM_BATTLE_FRDCNT_DROP = 10; \ No newline at end of file +export const COM_BATTLE_FRDCNT_DROP = 10; diff --git a/shared/db/ExpeditionWarRecord.ts b/shared/db/ExpeditionWarRecord.ts index 225448092..e89a9bbec 100644 --- a/shared/db/ExpeditionWarRecord.ts +++ b/shared/db/ExpeditionWarRecord.ts @@ -40,6 +40,15 @@ class Enemies { } +class EnemiesCurHPAP { + @prop({ required: true }) + dataId: number; // 战场中唯一指向武将的代码 + @prop({ required: true }) + hp: number; // 生命 + @prop({ required: true }) + ap: number; // 怒气 +} + /** * 远征记录 */ @@ -64,6 +73,8 @@ export default class ExpeditionWarRecord extends BaseModel { enemyId: string; // 敌军队伍id或玩家id @prop({ required: true, type: Enemies, default: [] }) enemies: Array; // 敌军数据 + @prop({ required: true, type: EnemiesCurHPAP, default: [] }) + enemiesCurHpAp: Array; // 敌军数据 @prop({ required: true, default: 0 }) ce: number; // 敌军战力 @@ -73,14 +84,14 @@ export default class ExpeditionWarRecord extends BaseModel { } public static async getRecordByCodeAndId(expeditionCode: string, expeditionId: number, lean = true) { - const result = await ExpeditionWarRecordModel.findOne({ expeditionCode, expeditionId }).select('expeditionId battleId battleCode battleStatus enemyFrom enemies ce').lean(lean); + const result = await ExpeditionWarRecordModel.findOne({ expeditionCode, expeditionId }).select('expeditionId battleId battleCode battleStatus enemyFrom enemies enemiesCurHpAp ce').lean(lean); return result; } public static async saveRecord(expeditionCode: string, expeditionId: number, params: {roleId: string, battleId: number, enemyFrom: number, enemyId: string, enemies: Array, battleStatus: number}, lean = true) { const doc = new ExpeditionWarRecordModel(); const update = Object.assign(doc.toJSON(), params, {expeditionCode, expeditionId}); - const result = await ExpeditionWarRecordModel.findOneAndUpdate({ expeditionCode, expeditionId }, update, {new: true, upsert: true}).select('expeditionId battleId battleCode battleStatus enemyFrom enemies ce').lean(lean); + const result = await ExpeditionWarRecordModel.findOneAndUpdate({ expeditionCode, expeditionId }, update, {new: true, upsert: true}).select('expeditionId battleId battleCode battleStatus enemyFrom enemies enemiesCurHpAp ce').lean(lean); return result; } @@ -96,15 +107,9 @@ export default class ExpeditionWarRecord extends BaseModel { public static async updateEnemiesStatus(expeditionCode: string, expeditionId: number, battleStatus: number, enemies: Array<{dataId: number, hp: number, ap: number}>, lean = true) { - for(let {dataId, hp, ap} of enemies) { - await ExpeditionWarRecordModel.findOneAndUpdate( - {expeditionCode, expeditionId, 'enemies.dataId': dataId }, - {$set: {'enemies.$.attribute.hp': hp, 'enemies.$.attribute.ap': ap}} - ) - } const result = ExpeditionWarRecordModel.findOneAndUpdate( {expeditionCode, expeditionId}, - {$set: {battleStatus}}, + {$set: {battleStatus}, enemiesCurHpAp: enemies}, {new: true} ).lean(lean); return result; diff --git a/shared/resource/jsons/dic_zyz_gk_tower.json b/shared/resource/jsons/dic_zyz_gk_tower.json index a51777035..b15a53f71 100644 --- a/shared/resource/jsons/dic_zyz_gk_tower.json +++ b/shared/resource/jsons/dic_zyz_gk_tower.json @@ -4,7 +4,7 @@ "dispatchJsonId": 10001, "bg_img_id": 504, "script_id": 0, - "fixReward": "13005&1|17002&10|17006&2|17006&3", + "fixReward": "&", "conditionReward": "&", "RandomReward": "&", "warType": 8, @@ -27,7 +27,7 @@ "dispatchJsonId": 10002, "bg_img_id": 504, "script_id": 0, - "fixReward": "13005&1|17002&10|17006&2|17006&3", + "fixReward": "&", "conditionReward": "&", "RandomReward": "&", "warType": 8, @@ -50,7 +50,7 @@ "dispatchJsonId": 10003, "bg_img_id": 504, "script_id": 0, - "fixReward": "13005&1|17002&10|17006&2|17006&3", + "fixReward": "&", "conditionReward": "&", "RandomReward": "&", "warType": 8, @@ -73,7 +73,7 @@ "dispatchJsonId": 10004, "bg_img_id": 504, "script_id": 0, - "fixReward": "13005&1|17002&10|17006&2|17006&3", + "fixReward": "&", "conditionReward": "&", "RandomReward": "&", "warType": 8, @@ -96,7 +96,7 @@ "dispatchJsonId": 10005, "bg_img_id": 504, "script_id": 0, - "fixReward": "13010&1|17003&30|17006&20|17006&20", + "fixReward": "&", "conditionReward": "&", "RandomReward": "&", "warType": 8, @@ -119,7 +119,7 @@ "dispatchJsonId": 10006, "bg_img_id": 504, "script_id": 0, - "fixReward": "13010&1|17003&30|17006&20|17006&20", + "fixReward": "&", "conditionReward": "&", "RandomReward": "&", "warType": 8, @@ -142,7 +142,7 @@ "dispatchJsonId": 10007, "bg_img_id": 504, "script_id": 0, - "fixReward": "13005&1|17002&10|17006&2|17006&8", + "fixReward": "&", "conditionReward": "&", "RandomReward": "&", "warType": 8, @@ -165,7 +165,7 @@ "dispatchJsonId": 10008, "bg_img_id": 504, "script_id": 0, - "fixReward": "13005&1|17002&10|17006&2|17006&9", + "fixReward": "&", "conditionReward": "&", "RandomReward": "&", "warType": 8, @@ -188,7 +188,7 @@ "dispatchJsonId": 10009, "bg_img_id": 504, "script_id": 0, - "fixReward": "13005&1|17002&10|17006&2|17006&10", + "fixReward": "&", "conditionReward": "&", "RandomReward": "&", "warType": 8, @@ -211,7 +211,7 @@ "dispatchJsonId": 10010, "bg_img_id": 504, "script_id": 0, - "fixReward": "13005&1|17002&10|17006&2|17006&11", + "fixReward": "&", "conditionReward": "&", "RandomReward": "&", "warType": 8, @@ -234,7 +234,7 @@ "dispatchJsonId": 10011, "bg_img_id": 504, "script_id": 0, - "fixReward": "13015&1|17004&30|17006&30|17006&30", + "fixReward": "&", "conditionReward": "&", "RandomReward": "&", "warType": 8, @@ -257,7 +257,7 @@ "dispatchJsonId": 10012, "bg_img_id": 504, "script_id": 0, - "fixReward": "13015&1|17004&30|17006&30|17006&30", + "fixReward": "&", "conditionReward": "&", "RandomReward": "&", "warType": 8, @@ -280,7 +280,7 @@ "dispatchJsonId": 10013, "bg_img_id": 504, "script_id": 0, - "fixReward": "13015&1|17004&30|17006&30|17006&30", + "fixReward": "&", "conditionReward": "&", "RandomReward": "&", "warType": 8,