好友:寻宝关系加成及黑名单屏蔽

This commit is contained in:
luying
2021-02-05 11:29:38 +08:00
parent f48be637af
commit 871e71ab54
8 changed files with 113 additions and 10 deletions
@@ -10,6 +10,7 @@ import { difference, omit } from 'underscore';
import { Channel } from 'pinus';
import { TREASURE } from '../pubUtils/dicParam';
import { decreaseItems } from './rewardService';
import { getFriendLvAdd } from './friendService';
/**
* 在给定的品质列表中随机返回一定数量的藏宝图Id
@@ -421,4 +422,22 @@ export function randEquipPrintId(warInfo) {
return null;
}
return result.dic.id;
}
/**
* 按照好友关系,新增加成
*
* @param {RoleStatus} myRoleStatus 新增的队友
* @param {RoleStatus[]} roleStatus 队伍内的所有队友
*/
export async function getComBattleFriendAdd(myRoleStatus: RoleStatus, roleStatus: RoleStatus[]) {
let myAdd = 0; // 多好友,加成直接叠加
for(let rs of roleStatus) {
if(myRoleStatus.roleId == rs.roleId) continue;
if(myRoleStatus.isRobot || rs.isRobot) continue;
let add = await getFriendLvAdd(myRoleStatus.roleId, rs.roleId);
rs.addFrdRatio(add);
myAdd += add;
}
myRoleStatus.addFrdRatio(myAdd);
}
+13 -1
View File
@@ -3,7 +3,7 @@ import { RoleType, RoleModel } from "../db/Role";
import { FriendRelationType, Relation } from "../db/FriendRelation";
import { getResStr } from "../pubUtils/util";
import { STATUS, FRIEND_RELATION_TYPE } from "../consts";
import { FriendShipType } from "../db/FriendShip";
import { FriendShipType, FriendShipModel } from "../db/FriendShip";
import { outputCnt } from '../pubUtils/friendUtil';
/**
@@ -87,4 +87,16 @@ function getSentHeart(roleId: string, relation: Relation) {
beSentHeart: json.beSentHeart,
beSentHeartTime: json.beSentHeartTime
}
}
export async function getFriendLvAdd(roleId: string, hisRoleId: string) {
let friendShip = await FriendShipModel.getFriendLv(roleId, hisRoleId);
if(!friendShip) {
return 0
}
let dic = gameData.roleFriendLv.get(friendShip.friendLv);
if(!dic) {
return 0
}
return dic.comBattleAdd
}