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