Merge branch 'master_test_gn' into master_test_mingan

back_recharge
jiahuiwen 2021-10-22 10:07:48 +08:00
commit 72b4a36e9e
16 changed files with 154 additions and 92 deletions

View File

@ -331,8 +331,8 @@ public interface BIReason {
int ACTIVE_USERSKIN = 1089;// 激活玩家皮肤
int ACTIVE_TITLE = 1090;// 激活玩家称号
int ACTIVE_MOUNT = 1091;// 激活玩家坐骑
int EQUIP_UPLEVEL_COST = 1092;//装备升星消耗
int EQUIP_UPLEVEL_REWARD = 1093;//装备升星获得
int EQUIP_UPLEVEL_COST = 1092;//装备升星消耗(云游商人)
int EQUIP_UPLEVEL_REWARD = 1093;//装备升星获得(云游商人)
int TA_SUI_LING_XIAO = 1094;//踏碎凌霄
int MORALE_LEVEL_UP_CONSUME = 1095;//士气等级提升消耗
int HARD_STAGE_GET = 1096;//山河社稷图获得

View File

@ -168,6 +168,10 @@ public class CrossYuxulundaoChallengeHandler extends BaseHandler<ArenaInfoProto.
}else if(loserGetScore<-setting.getScoreRange()[1]){//-35
loserGetScore = -setting.getScoreRange()[1];
}
//降分公式的基础上×70%
if(loserGetScore<0){
loserGetScore = (int)Math.floor(loserGetScore*0.7);
}
int defScore;//对手分数
AbstractRank rank = RankContext.getRankEnum(RankEnum.CROSS_YUXULUNDAO_RANK_PERSON.getType());

View File

@ -26,10 +26,9 @@ public class TakeMissionRewardHandler extends BaseHandler<PlayerInfoProto.TakeMi
public void processWithProto(ISession iSession, PlayerInfoProto.TakeMissionRewardRequest proto) throws Exception {
if(proto.getMissionId() == 0){
MissionLoigc.takeMissionRewardOnekey(iSession,proto.getType());
}else{
MissionLoigc.takeMissionReward(iSession,proto.getType(),proto.getMissionId());
}
}
}

View File

@ -466,12 +466,12 @@ public class GlobalDataManaager implements IManager {
byte[] byteBuf = MessageUtil.wrappedBuffer(session.getUid(), session.getToken(), indicationIndex,1, MessageTypeProto.MessageType.FIVE_PLAYER_REFLUSH_INDICATION_VALUE, fBuilder.build());
session.setFiveByteBuf(byteBuf);
}
// 山河社稷图 每日奖励领取状态设为false
user.getHardStageManager().setTakeReward(false);
HardStageLogic.sendHardStageIndication(user);
}else {
user.getPlayerInfoManager().setIsdayFirst(0);
}
// 山河社稷图 每日奖励领取状态设为false
user.getHardStageManager().setTakeReward(false);
HardStageLogic.sendHardStageIndication(user);
//刷新膜拜信息
user.getPlayerInfoManager().setProudInfo(new HashSet<>());
// 道具刷新

View File

@ -155,8 +155,11 @@ public class ActivityLogic implements IEventHandler{
public final static ActivityLogic instance = new ActivityLogic();
}
/**
*
* @throws Exception
*/
public void checkActiviyStatus() throws Exception {
long now = System.currentTimeMillis();
Map<Integer, SGlobalActivity> sGlobalActivityMap = SGlobalActivity.getsGlobalActivityMap();
@ -345,6 +348,13 @@ public class ActivityLogic implements IEventHandler{
}
}
/**
*
* @param user
* @param builder
* @return
* @throws Exception
*/
public Set<Integer> checkActivityOfUser(User user, PlayerInfoProto.ActivityUpateIndication.Builder builder) throws Exception {
long now = TimeUtils.now();
if(user==null){
@ -377,8 +387,8 @@ public class ActivityLogic implements IEventHandler{
}
}
}
for (SActivityRewardConfig Config:sActivityRewardConfigs) {
if(!activityMission.getActivityMissionMap().containsKey(Config.getId())){
for (SActivityRewardConfig config:sActivityRewardConfigs) {
if(!activityMission.getActivityMissionMap().containsKey(config.getId())){
if(activityMission.getActivityState()==2){
activityMission.setActivityState(1);
}
@ -386,7 +396,7 @@ public class ActivityLogic implements IEventHandler{
activityProgressInfo.setProgrss(ActivityLogic.getInstance().getInitActivityMissionProgress(openActivityId));
activityProgressInfo.setState(0);
activityProgressInfo.setProgrss(chargeMoneyCount);
activityMission.getActivityMissionMap().put(Config.getId(), activityProgressInfo);
activityMission.getActivityMissionMap().put(config.getId(), activityProgressInfo);
}
}
}
@ -525,6 +535,12 @@ public class ActivityLogic implements IEventHandler{
MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.LUCKWHEEL_POOL_INDICATION_VALUE, builder.build(), true);
}
/**
*
* @param activityMissionMap
* @param createTime
* @return
*/
public List<CommonProto.ActivityInfo> getActivityInfos(Map<Integer, ActivityMission> activityMissionMap, long createTime) {
Map<Integer, SGlobalActivity> sGlobalActivityMap = SGlobalActivity.getsGlobalActivityMap();
List<CommonProto.ActivityInfo> activityInfoList = new ArrayList<>(activityMissionMap.size());

View File

@ -113,4 +113,6 @@ public interface ActivityType {
int SEVEN_WORLD_TREASURE = 83;//七界秘宝
int RIDING_SWARD = 84;//御剑飞行
int ITEMS_STORE_NEW = 6001;//新百宝商会
}

View File

@ -86,6 +86,7 @@ public enum ActivityTypeEnum {
SEVEN_WORLD_TREASURE(ActivityType.SEVEN_WORLD_TREASURE,SevenWorldActivity::new),
LING_LONG_PAVILION(ActivityType.LING_LONG_PAVILION,DefaultEmptyActivity::new),
RIDING_SWARD(ActivityType.RIDING_SWARD,RidingSwardActivity::new),
ITEMS_STORE_NEW(ActivityType.ITEMS_STORE_NEW,SuperBoxActivity::new),
;
private int type;

View File

@ -10,9 +10,6 @@ import com.ljsd.jieling.network.session.ISession;
import config.SActivityRewardConfig;
import util.TimeUtils;
import java.util.List;
import java.util.Map;
class SignInSumActivity extends AbstractActivity {
@ -26,7 +23,9 @@ class SignInSumActivity extends AbstractActivity {
@Override
public void onEvent(IEvent event) throws Exception {
if(!(event instanceof SignInEvent)) return;
if(!(event instanceof SignInEvent)){
return;
}
update(UserManager.getUser(((SignInEvent) event).getUid()),1);
}
@ -47,7 +46,6 @@ class SignInSumActivity extends AbstractActivity {
if (day > 1){
// 初始化
ActivityLogic.getInstance().initMissionInfo(activityMission,id);
activityMission.setV(count);
}else {
activityMission.setV(count + activityMission.getV());

View File

@ -25,12 +25,14 @@ import java.util.stream.Collectors;
*
*
* :
* 1
* 2
* 3
* 4
* 5
* 6
* 1:
* 2:
* 3:
* 4:
* 5:
* 6:
* 7:
* 8:
*/
@SuppressWarnings("ALL")
public class SuperBoxActivity extends AbstractActivity {

View File

@ -711,29 +711,51 @@ public class MissionLoigc {
*
* @param session
* @param type
* @param missionId
* @throws Exception
*/
public static void takeMissionRewardOnekey(ISession session,int type,int missionId) throws Exception{
public static void takeMissionRewardOnekey(ISession session,int type) throws Exception{
int uid = session.getUid();
User user = UserManager.getUser(uid);
UserMissionManager userMissionManager = user.getUserMissionManager();
List<MissionStateChangeInfo> missionStateChangeInfos = null;
List<MissionStateChangeInfo> missionStateChangeInfos = new ArrayList<MissionStateChangeInfo>();
//日常 任务
//List<int[][]>rewardList = new ArrayList<int[][]>();
Map <Integer,Integer> rewardMap =new HashMap<Integer,Integer>();
if(type == GameMisionType.DAILYMISSION.getType()){
Map<GameMisionType, List<MissionStateChangeInfo>> gameMisionTypeListMap =
userMissionManager.onGameEvent(user, GameEvent.DAILY_MISSION_REWARD, missionId);
missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.DAILYMISSION);
SDailyTasksConfig sDailyTasksConfig = SDailyTasksConfig.getSDailyTasksConfigById(missionId);
if(sDailyTasksConfig.getType() == MissionType.FINSIH_DAYILY_TIMES.getMissionTypeValue() && missionStateChangeInfos !=null && !missionStateChangeInfos.isEmpty()){
user.getUserMissionManager().onGameEvent(user,GameEvent.TAKE_DAILY_BOX_REWARD);
for(int missionId:SDailyTasksConfig.config.keySet()){
Map<GameMisionType, List<MissionStateChangeInfo>> gameMisionTypeListMap =
userMissionManager.onGameEvent(user, GameEvent.DAILY_MISSION_REWARD, missionId);
missionStateChangeInfos.addAll(gameMisionTypeListMap.get(GameMisionType.DAILYMISSION));
//missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.DAILYMISSION);
SDailyTasksConfig sDailyTasksConfig = SDailyTasksConfig.getSDailyTasksConfigById(missionId);
if(sDailyTasksConfig.getType() == MissionType.FINSIH_DAYILY_TIMES.getMissionTypeValue() && missionStateChangeInfos !=null && !missionStateChangeInfos.isEmpty()){
user.getUserMissionManager().onGameEvent(user,GameEvent.TAKE_DAILY_BOX_REWARD);
}
}
}
if(missionStateChangeInfos!=null && !missionStateChangeInfos.isEmpty()){
CommonProto.Drop.Builder drop = ItemUtil.drop(user, missionStateChangeInfos.get(0).getRewwardGroups(), BIReason.TAKE_MISSION_REWARD);
ReportUtil.onReportEvent(user, ReportEventEnum.MISSION_COMPLETE.getType(),String.valueOf(missionId),type);
PlayerInfoProto.TakeMissionRewardResponse build = PlayerInfoProto.TakeMissionRewardResponse.newBuilder().setDrop(drop).build();
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,build,true);
if(missionStateChangeInfos!=null && !missionStateChangeInfos.isEmpty()){
//奖励汇总
PlayerInfoProto.TakeMissionRewardResponse.Builder res= PlayerInfoProto.TakeMissionRewardResponse.newBuilder();
for(MissionStateChangeInfo info:missionStateChangeInfos){
if(info.getRewwardGroups()!=null){
for(int[] reward:info.getRewwardGroups()){
if(rewardMap.containsKey(reward[0])){
rewardMap.put(reward[0],rewardMap.get(reward[0])+reward[1]);
}else{
rewardMap.put(reward[0],reward[1]);
}
res.addRewardId(info.getMissionId());
}
}
ReportUtil.onReportEvent(user, ReportEventEnum.MISSION_COMPLETE.getType(),String.valueOf(info.getMissionId()),type);
}
int[][] itemArr = rewardMap.entrySet().stream().map(n->new int[] {n.getKey(),n.getValue()}).toArray(int[][]::new);
CommonProto.Drop.Builder drop = ItemUtil.drop(user, itemArr, BIReason.TAKE_MISSION_REWARD);
res.setDrop(drop);
//ReportUtil.onReportEvent(user, ReportEventEnum.MISSION_COMPLETE.getType(),String.valueOf(missionId),type);
//PlayerInfoProto.TakeMissionRewardResponse build = PlayerInfoProto.TakeMissionRewardResponse.newBuilder().setDrop(drop).build();
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,res.build(),true);
}else{
throw new ErrorCodeException(ErrorCode.newDefineCode("mission can not get reward"));
}

View File

@ -711,14 +711,14 @@ public class PlayerLogic {
return CommonProto.TeamOneInfo.newBuilder();
}
//TODO
Map<Integer, Integer> groupValues = RedisUtil.getInstence().getMapValues(RedisKey.SERVER_SPLIT_INFO, "", Integer.class, Integer.class);
/*Map<Integer, Integer> groupValues = RedisUtil.getInstence().getMapValues(RedisKey.SERVER_SPLIT_INFO, "", Integer.class, Integer.class);
List<Integer> groupList = groupValues.entrySet().stream().filter(n -> n.getValue() == crossGroup).map(keyVal -> keyVal.getKey()).collect(Collectors.toList());
int server = new Random().nextInt(groupList.size());
int server = new Random().nextInt(groupList.size());*/
CommonProto.TeamOneInfo.Builder oneInfo = CommonProto.TeamOneInfo.newBuilder()
.setLevel(sArenaRobotConfig.getRobotLevel())
.setName(sArenaRobotConfig.getRobotName())
.setUid(sArenaRobotConfig.getId()).setCrossTeamScore(sArenaRobotConfig.getMsScroe()).setServerName(String.valueOf(groupList.get(server)));
.setUid(sArenaRobotConfig.getId()).setCrossTeamScore(sArenaRobotConfig.getMsScroe()).setServerName("");
//CommonProto.TeamOneTeamInfo.Builder teamInfo = CommonProto.TeamOneTeamInfo.newBuilder();
if(sArenaRobotConfig.getDifferDemonsId()!=null){

View File

@ -10,7 +10,7 @@ import com.ljsd.jieling.jbean.ActivityMission;
import com.ljsd.jieling.logic.activity.ActivityType;
import com.ljsd.jieling.logic.activity.crossService.CrossServiceLogic;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.gm.ArenaOfUser;
import com.ljsd.jieling.logic.dao.cross.CSPlayer;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.rank.RankContext;
import com.ljsd.jieling.logic.rank.RankEnum;
@ -249,11 +249,11 @@ public class RidingSwardLogic{
Set<ZSetOperations.TypedTuple<String>> tupleSet = rank.getCrossRankByKey("", 1, 4);
for (ZSetOperations.TypedTuple<String> tuple : tupleSet) {
// 跨服排行榜玩家数据
ArenaOfUser query = CrossServiceLogic.getInstance().query(Integer.parseInt(tuple.getValue()));
CSPlayer csPlayer = CrossServiceLogic.getPlayerByRedis(Integer.parseInt(tuple.getValue()));
CommonProto.ModelUserInfo.Builder builder = CommonProto.ModelUserInfo.newBuilder()
.setUserName(query.getPlayerManager().getName())
.setSex(query.getPlayerManager().getGender())
.setPracticeLevel(query.getPlayerManager().getPracticeLevel());
.setUserName(csPlayer.getName())
.setSex(csPlayer.getSex())
.setPracticeLevel(csPlayer.getPracticeLevel());
infos.add(builder.build());
}
build.addAllModelInfo(infos);

View File

@ -96,6 +96,10 @@ public class AbstractWelfareBag extends MongoBase{
}
public int[][] getDropByBag() throws Exception{
SRechargeCommodityNewConfig config = SRechargeCommodityNewConfig.getConfigById(modId);
if (config == null) {
LOGGER.info("getDropByBag modId={} ", modId);
return new int[0][0];
}
int[][] baseReward = config.getBaseReward();
int[][] firstMultiple = config.getFirstMultiple();
int length = baseReward.length;

View File

@ -32,11 +32,14 @@ public class TimeLimitWelfareBag extends AbstractWelfareBag {
}
@Override
public boolean buy() {
SRechargeCommodityNewConfig commodityNewConfig = SRechargeCommodityNewConfig.getConfigById(getModId());
if(super.buy()){
setRefreshTime(TimeUtils.getTodayZero() + commodityNewConfig.getDailyUpdate() * TimeUtils.DAY);
return true;
}else {
return false;
}
return true;
}
}

View File

@ -266,39 +266,45 @@ public class FightDataUtil {
if(skillId.equals("0")||skillId==""){
continue;
}
///100代表是修行技能
if (unitInfo.getPosition()==100){
SPlayerSkill playerSkillConfig=STableManager.getConfig(SPlayerSkill.class).get(Integer.valueOf(skillId));
LuaValue monster = new LuaTable();
monster.set("id",0);
monster.set("star",0);
monster.set("teamDamage",unitInfo.getForceScore());
monster.set("camp",camp);
monster.set("position",unitInfo.getPosition());
LuaValue skill= new LuaTable();
int[] skillIDList = playerSkillConfig.getSkillIDList();
for(int j = 0 ; j <skillIDList.length;j++){
LuaValue oneSkill = new LuaTable();
oneSkill.rawset("triggerId",playerSkillConfig.getReleasePoint()[j]);
int[][] releaseLimit = playerSkillConfig.getReleaseLimit();
LuaValue triggerCondition = new LuaTable();
if(releaseLimit!=null&&releaseLimit.length>0&&releaseLimit[0].length>0){
for(int l = 0 ; l<releaseLimit[j].length;l++){
triggerCondition.rawset(l+1, LuaValue.valueOf(releaseLimit[j][l]));
monster.set("property",getProperty(unitInfo.getProperty()));
String[] skillIdArr = skillId.split("#");
LuaValue skillList= new LuaTable();
for (int k = 0; k < skillIdArr.length; k++) {
SPlayerSkill playerSkillConfig=STableManager.getConfig(SPlayerSkill.class).get(Integer.valueOf(skillIdArr[k]));
LuaValue skill= new LuaTable();
int[] skillIDList = playerSkillConfig.getSkillIDList();
for(int j = 0 ; j <skillIDList.length;j++){
LuaValue oneSkill = new LuaTable();
oneSkill.rawset("triggerId",playerSkillConfig.getReleasePoint()[j]);
int[][] releaseLimit = playerSkillConfig.getReleaseLimit();
LuaValue triggerCondition = new LuaTable();
if(releaseLimit!=null&&releaseLimit.length>0&&releaseLimit[0].length>0){
for(int l = 0 ; l<releaseLimit[j].length;l++){
triggerCondition.rawset(l+1, LuaValue.valueOf(releaseLimit[j][l]));
}
}else{
triggerCondition.rawset(1,LuaValue.valueOf(0));
}
}else{
triggerCondition.rawset(1,LuaValue.valueOf(0));
oneSkill.set("effect",getSkill(String.valueOf(skillIDList[j]),0));
oneSkill.set("triggerCondition",triggerCondition);
oneSkill.set("maxCount",playerSkillConfig.getWarEffectCount()[j]);
oneSkill.set("maxRoundCount",playerSkillConfig.getTurnEffectCount()[j]);
skill.rawset(j+1,oneSkill);
}
oneSkill.set("effect",getSkill(String.valueOf(skillIDList[j]),0));
oneSkill.set("triggerCondition",triggerCondition);
oneSkill.set("maxCount",playerSkillConfig.getWarEffectCount()[j]);
oneSkill.set("maxRoundCount",playerSkillConfig.getTurnEffectCount()[j]);
skill.rawset(j+1,oneSkill);
skillList.rawset(k+1,skill);
}
monster.set("property",getProperty(pokemonUnitList.get(i).getProperty()));
monster.set("skill",skill);
monster.set("skill",skillList);
teamSkill.rawset(i+1,monster);
}else{
SSpiritAnimalSkill sSpiritAnimalSkill=STableManager.getConfig(SSpiritAnimalSkill.class).get(Integer.valueOf(skillId));
@ -306,32 +312,37 @@ public class FightDataUtil {
monster.set("id",sSpiritAnimalSkill.getSpiritAnimalMatch());
monster.set("star",sSpiritAnimalSkill.getStarMatch());
monster.set("camp",camp);
monster.set("position",pokemonUnitList.get(i).getPosition());
LuaValue skill= new LuaTable();
int[] skillIDList = sSpiritAnimalSkill.getSkillIDList();
for(int j = 0 ; j <skillIDList.length;j++){
LuaValue oneSkill = new LuaTable();
oneSkill.rawset("triggerId",sSpiritAnimalSkill.getReleasePoint()[j]);
int[][] releaseLimit = sSpiritAnimalSkill.getReleaseLimit();
LuaValue triggerCondition = new LuaTable();
if(releaseLimit!=null&&releaseLimit.length>0&&releaseLimit[0].length>0){
for(int l = 0 ; l<releaseLimit[j].length;l++){
triggerCondition.rawset(l+1, LuaValue.valueOf(releaseLimit[j][l]));
monster.set("position",unitInfo.getPosition());
monster.set("property",getProperty(unitInfo.getProperty()));
String[] skillIdArr = skillId.split("#");
LuaValue skillList= new LuaTable();
for (int k = 0; k < skillIdArr.length; k++) {
LuaValue skill = new LuaTable();
int[] skillIDList = sSpiritAnimalSkill.getSkillIDList();
for (int j = 0; j < skillIDList.length; j++) {
LuaValue oneSkill = new LuaTable();
oneSkill.rawset("triggerId", sSpiritAnimalSkill.getReleasePoint()[j]);
int[][] releaseLimit = sSpiritAnimalSkill.getReleaseLimit();
LuaValue triggerCondition = new LuaTable();
if (releaseLimit != null && releaseLimit.length > 0 && releaseLimit[0].length > 0) {
for (int l = 0; l < releaseLimit[j].length; l++) {
triggerCondition.rawset(l + 1, LuaValue.valueOf(releaseLimit[j][l]));
}
} else {
triggerCondition.rawset(1, LuaValue.valueOf(0));
}
}else{
triggerCondition.rawset(1,LuaValue.valueOf(0));
oneSkill.set("effect", getSkill(String.valueOf(skillIDList[j]), 0));
oneSkill.set("triggerCondition", triggerCondition);
oneSkill.set("maxCount", sSpiritAnimalSkill.getWarEffectCount()[j]);
oneSkill.set("maxRoundCount", sSpiritAnimalSkill.getTurnEffectCount()[j]);
skill.rawset(j + 1, oneSkill);
}
oneSkill.set("effect",getSkill(String.valueOf(skillIDList[j]),0));
oneSkill.set("triggerCondition",triggerCondition);
oneSkill.set("maxCount",sSpiritAnimalSkill.getWarEffectCount()[j]);
oneSkill.set("maxRoundCount",sSpiritAnimalSkill.getTurnEffectCount()[j]);
skill.rawset(j+1,oneSkill);
skillList.rawset(k+1,skill);
}
monster.set("property",getProperty(pokemonUnitList.get(i).getProperty()));
monster.set("skill",skill);
monster.set("skill",skillList);
// String[] skillAndPosItem = skillAndPos.split("#");
// if (Integer.parseInt(skillAndPosItem[1])>0){
// teamSkill.rawset(i + 1, getSkill(skillAndPosItem[1],skillAndPosItem[0]));

View File

@ -90,7 +90,7 @@ struct CrossArenaManager{
12:optional list<i32> skill;//id
13:optional i32 fourSpirit;
14:optional map<i32,i32> practiceSkillMap;//
15:optional i64 maxHistoryForce;//
}
service RPCRequestIFace{