竞技场积分修改,物品掉落

back_recharge
duhui 2020-11-26 11:13:47 +08:00
parent c9e04ee252
commit 1c3102157d
3 changed files with 32 additions and 5 deletions

View File

@ -159,6 +159,9 @@ public interface BIReason {
int SKIN_USE_REWARD = 90;//激活皮肤获得头像
int SUB_ACTIVITY_FINISH = 91;//易经宝库活动结束补发
int ARENA_WIN_REWARD = 92;//竞技场胜利奖励
int ARENA_LOSE_REWARD = 93;//竞技场失败奖励
int ADVENTURE_UPLEVEL_CONSUME = 1000;//秘境升级
int SECRETBOX_CONSUME = 1001;//秘盒抽卡
int DECOMPOSE_ITEM_CONSUME = 1002;//分解道具消耗

View File

@ -90,8 +90,11 @@ public class ArenaChallengeHandler extends BaseHandler<ArenaInfoProto.ArenaChall
if(defScore == -1){
defScore = SArenaSetting.getSArenaSetting().getScore();
}
defScoreChange = ArenaLogic.getInstance().calScore(defScore, myscore,fightResult==1?0:1);
myscoreChange = ArenaLogic.getInstance().calScore(myscore, defScore,fightResult);
if (fightResult == 1){
// defScoreChange = ArenaLogic.getInstance().calScore(defScore, myscore,0);
myscoreChange = ArenaLogic.getInstance().calScore(myscore, defScore,fightResult);
}
if(defUser.getArenaManager().getCount()!=0 && defUser.getArenaManager().getSeason() == curSeason){
arenaRecord.setAttackId(uid);
arenaRecord.setDefScore(defScoreChange);
@ -108,8 +111,10 @@ public class ArenaChallengeHandler extends BaseHandler<ArenaInfoProto.ArenaChall
if(fightResult == -1){
throw new ErrorCodeException(ErrorCode.FIGHT_EXCEPTION);
}
myscoreChange = ArenaLogic.getInstance().calScore(myscore, defScore,fightResult);
defScoreChange = ArenaLogic.getInstance().calScore(defScore, myscore,fightResult^1);
if (fightResult == 1){
myscoreChange = ArenaLogic.getInstance().calScore(myscore, defScore,fightResult);
}
// defScoreChange = ArenaLogic.getInstance().calScore(defScore, myscore,fightResult^1);
}
LOGGER.info("the uid={},the defUid={},myscore={},defScore={},fightResult={},myScoreChange={},defScoreChange={}",uid,challengeUid,myscore,defScore,fightResult,myscoreChange,defScoreChange);
@ -129,6 +134,7 @@ public class ArenaChallengeHandler extends BaseHandler<ArenaInfoProto.ArenaChall
.setMyScoreChange(myscoreChange).setDefScoreChange(defScoreChange)
.addAllArenaEnemys(ArenaLogic.getInstance().getArenaEnemyList(arenaManager.getArenaEnemies()))
.setFightResult(fightResult)
.setDrop(ArenaLogic.getInstance().getArenaReward(user,fightResult))
.build();
user.getUserMissionManager().onGameEvent(user, GameEvent.ARENA_CHALLENGE,fightResult, myscore + myscoreChange);
if(defUser!=null && defUser.getArenaManager().getCount()>0) {

View File

@ -552,6 +552,24 @@ public class ArenaLogic {
}
/**
* /
* @param user
* @param fightResult
* @return
* @throws Exception
*/
public CommonProto.Drop.Builder getArenaReward(User user, int fightResult) throws Exception {
// 获取配置文件
SArenaSetting sArenaSetting = SArenaSetting.getSArenaSetting();
// 三元 赢家奖励:输家奖励
int rewardGroupId = fightResult == 1?sArenaSetting.getBattleWinReward():sArenaSetting.getBattleLoseReward();
// 三元 赢家标记:输家标记
int reason = fightResult == 1?BIReason.ARENA_WIN_REWARD:BIReason.ARENA_LOSE_REWARD;
int[] dropList = new int[1];
dropList[0]=rewardGroupId;
CommonProto.Drop.Builder drop = ItemUtil.drop(user, dropList,1,0, reason);
return drop;
}
}