军团活动:修复rpc调用以及其他问题

This commit is contained in:
luying
2021-03-19 18:28:50 +08:00
parent 7324556852
commit f7627f85d1
23 changed files with 351 additions and 109 deletions
+16 -1
View File
@@ -60,6 +60,7 @@ import { dicRoleFriendLv } from "./dictionary/DicRoleFriendLv";
import { Attribute } from "../domain/roleField/attribute";
import { dicGuildActivity, DicGuildActivity } from './dictionary/DicGuildActivity';
import { dicGateActivityPoint } from './dictionary/DicGateActivityPoint';
import { dicGuildAuction } from './dictionary/DicGuildAuction';
import { getCutDay } from "./timeUtil";
export const gameData = {
@@ -144,7 +145,8 @@ export const gameData = {
roleFriendLv: dicRoleFriendLv,
figureCondition: figureCondition,
guildActivity: dicGuildActivity,
gateActivityPoint: dicGateActivityPoint
gateActivityPoint: dicGateActivityPoint,
guildAuction: dicGuildAuction
};
// 在此提供一些原先在gamedata中提供的方法,以便更方便获取gameData数据
@@ -456,3 +458,16 @@ export function getTodayGuildActivity() {
}
return dic;
}
/**
* 根据军团活动排名获得奖励
* @param aid 活动id
* @param rank 排名
*/
export function getGuildAuctionRewards(aid: number, rank: number) {
let ranksReward = gameData.guildAuction.get(aid)||[];
let dic = ranksReward.find(cur => {
return rank >= cur.min && (rank <= cur.max || cur.max == 0);
});
return dic?dic.rewards: new Array<RewardInter>();
}
@@ -0,0 +1,29 @@
// 公会权限
import { readJsonFile, parseGoodStr } from '../util'
import { FILENAME } from '../../consts'
import { RewardInter } from '../../pubUtils/interface';
export interface DicGuildAuction {
// 活动类型 1-蛮夷入侵 2-诸侯混战 3-粮草先行
readonly id: number;
// 最低名次
readonly min: number;
// 最高名次
readonly max: number;
// 奖励
readonly rewards: RewardInter[];
}
const str = readJsonFile(FILENAME.DIC_GUILD_AUCTION);
let arr = JSON.parse(str);
export const dicGuildAuction = new Map<number, DicGuildAuction[]>();
arr.forEach(o => {
o.rewards = parseGoodStr(o.rewards);
let rank = dicGuildAuction.get(o.id)||[];
rank.push(o);
dicGuildAuction.set(o.id, rank);
});
arr = undefined;
-1
View File
@@ -130,7 +130,6 @@ export function setCanReceiveAndCanSend(this: any, roleId: string, friendship: F
let frd = outputCnt(roleId, friendship);
if(frd) {
let { sendHeart, receiveHeart, beSentHeart } = frd;
console.log('***',sendHeart, receiveHeart, beSentHeart)
if(sendHeart >= 1) {
this.canSend = false;
}
+7 -1
View File
@@ -79,7 +79,13 @@ export function getFriendPointObject(count: number) {
return { id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.FRIEND_POINT), count};
}
/**
* @description 获取功勋物品 { id, count }
* @param count 功勋数量
*/
export function getHonourObject(count: number) {
return { id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.HONOUR), count};
}
/**
* 解锁头像/相框
* @param roleId 玩家id
+3 -2
View File
@@ -172,11 +172,12 @@ export function getNextTime(date: Date, h: number, m = 0, s = 0, ms = 0): Date {
/**
* 获得某个时间是星期几
* @param needHandle 是否处理周日
* @param {Date} time
*/
export function getCutDay(time?: Date) {
export function getCutDay( needHandle = false, time?: Date) {
if(!time) time = new Date();
let d = time.getDay();
if(d == 0) d = 7;
if(needHandle && d == 0) d = 7;
return d;
}