好友:寻宝关系加成及黑名单屏蔽
This commit is contained in:
@@ -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);
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user