back_recharge
lvxinran 2019-10-17 15:01:49 +08:00
commit abe5e76f64
7 changed files with 45 additions and 9 deletions

View File

@ -18,6 +18,7 @@ import com.ljsd.jieling.util.MessageUtil;
import config.SChallengeConfig; import config.SChallengeConfig;
import config.SErrorCodeEerverConfig; import config.SErrorCodeEerverConfig;
import config.SGlobalSystemConfig; import config.SGlobalSystemConfig;
import config.SMainLevelConfig;
import manager.STableManager; import manager.STableManager;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -305,7 +306,7 @@ public class HandlerLogicThread extends Thread{
int type = sGlobalSystemConfig.getOpenRules()[0]; int type = sGlobalSystemConfig.getOpenRules()[0];
int condition = sGlobalSystemConfig.getOpenRules()[1]; int condition = sGlobalSystemConfig.getOpenRules()[1];
if (type ==1){ if (type ==1){
if (mainLevelManager.getFightId()<condition) { if (!SMainLevelConfig.biggerThanFight(mainLevelManager.getFightId(),condition)) {
return true; return true;
} }
}else if(type == 2){ }else if(type == 2){

View File

@ -143,7 +143,7 @@ public class GMRequestHandler extends BaseHandler{
} }
case GlobalGm.ADOPT_FIGHT_BY_VALUE: case GlobalGm.ADOPT_FIGHT_BY_VALUE:
int fightId = cUser.getMainLevelManager().getFightId(); int fightId = cUser.getMainLevelManager().getFightId();
if(fightId>prarm1){ if(SMainLevelConfig.biggerThanFight(fightId,prarm1)){
break; break;
} }
SMainLevelConfig sMainLevelConfigMain = SMainLevelConfig.config.get(prarm1); SMainLevelConfig sMainLevelConfigMain = SMainLevelConfig.config.get(prarm1);
@ -159,7 +159,7 @@ public class GMRequestHandler extends BaseHandler{
} }
ItemUtil.userLevelUp(cUser,exp); ItemUtil.userLevelUp(cUser,exp);
} }
while (fightId<prarm1){ while (!SMainLevelConfig.biggerThanFight(fightId,prarm1)){
SMainLevelConfig sMainLevelConfig = SMainLevelConfig.config.get(fightId); SMainLevelConfig sMainLevelConfig = SMainLevelConfig.config.get(fightId);
if(sMainLevelConfig.getNextLevel() != -1){ if(sMainLevelConfig.getNextLevel() != -1){
MapLogic.getInstance().openNextMainLevel(cUser,fightId); MapLogic.getInstance().openNextMainLevel(cUser,fightId);

View File

@ -144,7 +144,7 @@ public class MapLogic {
MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), "需要等级:" + openRule[0][1]); MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), "需要等级:" + openRule[0][1]);
return; return;
} }
if(user.getMainLevelManager().getFightId()<openRule[0][0]){ if(!SMainLevelConfig.biggerThanFight(user.getMainLevelManager().getFightId(),openRule[0][0])){
MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), "需要通关:" + openRule[0][0]); MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), "需要通关:" + openRule[0][0]);
return; return;
} }

View File

@ -5,6 +5,7 @@ import com.ljsd.jieling.logic.dao.ActivityProgressInfo;
import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.network.session.ISession;
import config.SMainLevelConfig;
class ChapterRewardActivity extends AbstractActivity { class ChapterRewardActivity extends AbstractActivity {
@ -16,6 +17,8 @@ class ChapterRewardActivity extends AbstractActivity {
boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception { boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception {
int[][] values = sActivityRewardConfig.getValues(); int[][] values = sActivityRewardConfig.getValues();
User user = UserManager.getUser(session.getUid()); User user = UserManager.getUser(session.getUid());
return user.getMainLevelManager().getFightId()>=values[0][0]; int fightId = user.getMainLevelManager().getFightId();
int targetFightId = values[0][0];
return SMainLevelConfig.biggerThanFight(fightId,targetFightId);
} }
} }

View File

@ -6,6 +6,8 @@ import com.ljsd.jieling.logic.dao.ActivityProgressInfo;
import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.network.session.ISession;
import config.SMainLevelConfig;
class GrowthFundActivity extends AbstractActivity { class GrowthFundActivity extends AbstractActivity {
public GrowthFundActivity(int id) { public GrowthFundActivity(int id) {
@ -24,7 +26,7 @@ class GrowthFundActivity extends AbstractActivity {
return false; return false;
} }
}else if(type == 15){ }else if(type == 15){
return user.getMainLevelManager().getFightId()>value; return SMainLevelConfig.biggerThanFight(user.getMainLevelManager().getFightId(),value);
} }
return true; return true;
} }

View File

@ -570,8 +570,16 @@ public class HeroLogic {
//校验消耗 //校验消耗
boolean result = ItemUtil.itemCost(user, consumeMap,BIReason.UP_HERO_LEVEL_CONSUME,hero.getTemplateId()); boolean result = ItemUtil.itemCost(user, consumeMap,BIReason.UP_HERO_LEVEL_CONSUME,hero.getTemplateId());
if(!result){ if(!result){
MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.UP_HERO_LEVEL_RESPONSE_VALUE,"道具不足"); int heroLevel = hero.getLevel();
return; for(;oldLevel<targetLevel;oldLevel++){
SHeroLevlConfig sHeroLevlConfig = SHeroLevlConfig.getsCHero().get(oldLevel);
if (!ItemUtil.itemCost(user, sHeroLevlConfig.getConsume(),BIReason.UP_HERO_LEVEL_CONSUME,hero.getTemplateId())){
break;
}
heroLevel++;
}
targetLevel = heroLevel;
} }
if(!isBreak){ if(!isBreak){
hero.setLevel( user,targetLevel); hero.setLevel( user,targetLevel);

View File

@ -38,11 +38,25 @@ public class SMainLevelConfig implements BaseConfig {
private int difficulty; private int difficulty;
private int virtureId; //虚拟id关卡是自增的。
public static Map<Integer, SMainLevelConfig> config; public static Map<Integer, SMainLevelConfig> config;
@Override @Override
public void init() throws Exception { public void init() throws Exception {
config = STableManager.getConfig(SMainLevelConfig.class); Map<Integer, SMainLevelConfig> configTmp = STableManager.getConfig(SMainLevelConfig.class);
for(SMainLevelConfig sMainLevelConfig : configTmp.values()){
int id = sMainLevelConfig.getId();
sMainLevelConfig.setVirtureId(10_000_000*(id%10) + id);
}
config=configTmp;
}
public static boolean biggerThanFight(int soureFight,int targetFight){
SMainLevelConfig mineLevelConfig = SMainLevelConfig.config.get(soureFight);
SMainLevelConfig otherLevelConfig = SMainLevelConfig.config.get(targetFight);
return mineLevelConfig.getVirtureId()>=otherLevelConfig.getVirtureId();
} }
@ -99,4 +113,12 @@ public class SMainLevelConfig implements BaseConfig {
public int getDifficulty() { public int getDifficulty() {
return difficulty; return difficulty;
} }
public int getVirtureId() {
return virtureId;
}
public void setVirtureId(int virtureId) {
this.virtureId = virtureId;
}
} }