Merge branch 'master' of http://60.1.1.230/backend/jieling_server
commit
64b0a75b7e
|
@ -16,7 +16,7 @@ public class SGameSetting implements BaseConfig {
|
|||
|
||||
private int initialEnergy;
|
||||
|
||||
private int energyRecoverSpeed;
|
||||
private int[] energyRecoverSpeed;
|
||||
|
||||
private int[] actionPowerRormula;
|
||||
|
||||
|
@ -59,7 +59,7 @@ public class SGameSetting implements BaseConfig {
|
|||
return initialEnergy;
|
||||
}
|
||||
|
||||
public int getEnergyRecoverSpeed() {
|
||||
public int[] getEnergyRecoverSpeed() {
|
||||
return energyRecoverSpeed;
|
||||
}
|
||||
|
||||
|
|
|
@ -34,8 +34,6 @@ public class Hero extends MongoBase {
|
|||
|
||||
private int breakId;
|
||||
|
||||
private int energy;
|
||||
|
||||
private int createTime ;
|
||||
|
||||
private int lastUpdateEnergyTime;
|
||||
|
@ -67,7 +65,6 @@ public class Hero extends MongoBase {
|
|||
createTime = (int)(System.currentTimeMillis()/1000);
|
||||
lastUpdateEnergyTime = createTime;
|
||||
breakId = 0;
|
||||
energy = SGameSetting.getGameSetting().getInitialEnergy();
|
||||
}
|
||||
|
||||
public void upStar(int upStar) throws Exception {
|
||||
|
@ -184,12 +181,7 @@ public class Hero extends MongoBase {
|
|||
return lastUpdateEnergyTime;
|
||||
}
|
||||
|
||||
public void updateEnergy(int energy,int updateTime) throws Exception {
|
||||
updateString("energy",energy);
|
||||
updateString("lastUpdateEnergyTime",energy);
|
||||
this.energy = energy;
|
||||
this.lastUpdateEnergyTime = updateTime;
|
||||
}
|
||||
|
||||
|
||||
public void setCreateTime(int createTime) throws Exception {
|
||||
updateString("createTime",createTime);
|
||||
|
@ -201,10 +193,6 @@ public class Hero extends MongoBase {
|
|||
this.lastUpdateEnergyTime = lastUpdateEnergyTime;
|
||||
}
|
||||
|
||||
public int getEnergy() {
|
||||
return energy;
|
||||
}
|
||||
|
||||
public int getCreateTime() {
|
||||
return createTime;
|
||||
}
|
||||
|
|
|
@ -2,8 +2,11 @@ package com.ljsd.jieling.logic.dao;
|
|||
|
||||
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
import com.ljsd.jieling.config.SGameSetting;
|
||||
import com.ljsd.jieling.core.GlobalsDef;
|
||||
import com.ljsd.jieling.db.mongo.MongoKey;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.util.MathUtils;
|
||||
|
||||
public class PlayerManager extends MongoBase {
|
||||
|
||||
|
@ -29,6 +32,10 @@ public class PlayerManager extends MongoBase {
|
|||
|
||||
private int mapId;
|
||||
|
||||
private int energy;
|
||||
|
||||
private int lastUpdateEnergyTime;
|
||||
|
||||
private long createTime; //创建时间
|
||||
|
||||
private String clientVersion;
|
||||
|
@ -131,6 +138,12 @@ public class PlayerManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void setMapId(int mapId) throws Exception {
|
||||
if(mapId == 0){
|
||||
setLastUpdateEnergyTime((int)(System.currentTimeMillis()/1000));
|
||||
}
|
||||
if(mapId != 0 ){
|
||||
setLastUpdateEnergyTime(GlobalsDef.BATTLING);
|
||||
}
|
||||
updateString("mapId", mapId);
|
||||
this.mapId = mapId;
|
||||
}
|
||||
|
@ -153,4 +166,31 @@ public class PlayerManager extends MongoBase {
|
|||
this.clientVersion = clientVersion;
|
||||
}
|
||||
|
||||
public int getEnergy() {
|
||||
if(lastUpdateEnergyTime != GlobalsDef.BATTLING && energy< SGameSetting.getGameSetting().getInitialEnergy()){
|
||||
int updateTime = (int)(System.currentTimeMillis()/1000);
|
||||
int[] energyRecoverSpeed = SGameSetting.getGameSetting().getEnergyRecoverSpeed();
|
||||
int addValue = (updateTime - lastUpdateEnergyTime)/60/energyRecoverSpeed[1] * energyRecoverSpeed[0];
|
||||
if(addValue != 0){
|
||||
int curEnergy = MathUtils.setBetweenWithMax(energy + addValue,0,SGameSetting.getGameSetting().getInitialEnergy());
|
||||
setEnergy(curEnergy);
|
||||
setLastUpdateEnergyTime(updateTime);
|
||||
}
|
||||
}
|
||||
return energy;
|
||||
}
|
||||
|
||||
public void setLastUpdateEnergyTime(int lastUpdateEnergyTime) {
|
||||
updateString("lastUpdateEnergyTime", lastUpdateEnergyTime);
|
||||
this.lastUpdateEnergyTime = lastUpdateEnergyTime;
|
||||
}
|
||||
|
||||
public void setEnergy(int energy) {
|
||||
updateString("energy", energy);
|
||||
this.energy = energy;
|
||||
}
|
||||
|
||||
public int getLastUpdateEnergyTime() {
|
||||
return lastUpdateEnergyTime;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,6 +26,8 @@ public class CBean2Proto {
|
|||
.setFamilyId(playerManager.getFamilyId())
|
||||
.setHead(playerManager.getHead())
|
||||
.setCurMapId((maxMapId == 0 && mapId == 0) ? 100 : mapId)
|
||||
.setEnergy(playerManager.getEnergy())
|
||||
.setLastUpdateEnergyTime(playerManager.getLastUpdateEnergyTime())
|
||||
.build();
|
||||
return player;
|
||||
}
|
||||
|
@ -46,8 +48,6 @@ public class CBean2Proto {
|
|||
if(equipByPositionMap!=null && !equipByPositionMap.isEmpty()){
|
||||
equipList.addAll(equipByPositionMap.values());
|
||||
}
|
||||
//todo 只能自己才能检测恢复精力
|
||||
checkAndUpdateHeroEnergy(hero);
|
||||
return CommonProto.Hero
|
||||
.newBuilder()
|
||||
.setId(hero.getId())
|
||||
|
@ -56,26 +56,11 @@ public class CBean2Proto {
|
|||
.setStar(hero.getStar())
|
||||
.setBreakId(hero.getBreakId())
|
||||
.setCreateTime(hero.getCreateTime())
|
||||
.setEnergy(hero.getEnergy())
|
||||
.setLastUpdateEnergyTime(hero.getLastUpdateEnergyTime())
|
||||
.addAllSkillIdList(hero.getSkillList())
|
||||
.addAllEquipIdList(equipList)
|
||||
.build();
|
||||
}
|
||||
|
||||
private static void checkAndUpdateHeroEnergy(Hero hero) throws Exception {
|
||||
int baseEnergy = hero.getEnergy();
|
||||
if(hero.getLastUpdateEnergyTime() != GlobalsDef.BATTLING && baseEnergy<SGameSetting.getGameSetting().getInitialEnergy()){
|
||||
int updateTime = (int)(System.currentTimeMillis()/1000);
|
||||
int addValue = (updateTime - hero.getLastUpdateEnergyTime())/60/SGameSetting.getGameSetting().getEnergyRecoverSpeed();
|
||||
if(addValue == 0){
|
||||
return;
|
||||
}
|
||||
int curEnergy = MathUtils.setBetweenWithMax(baseEnergy + addValue,0,SGameSetting.getGameSetting().getInitialEnergy());
|
||||
hero.updateEnergy(curEnergy,updateTime);
|
||||
}
|
||||
}
|
||||
|
||||
public static CommonProto.Mail getMail(Mail mail){
|
||||
CommonProto.Mail mailProto = CommonProto.Mail
|
||||
.newBuilder()
|
||||
|
|
Loading…
Reference in New Issue