恢复体力
parent
befccd4e38
commit
fc76607c69
|
@ -1,3 +1,3 @@
|
|||
Id BornItem SpeedFormula InitialEnergy EnergyRecoverSpeed ActionPowerRormula Speed HeroNumlimit EquipNumlimit WorldTalking BornPosition
|
||||
int mut,int#int,2 mut,float#float,1 int mut,int#int,1 mut,int#int,1 mut,int#int,1 int int int mut,int#int,1
|
||||
1 10008#1|10013#1|10023#1|1503#8 0#0#0.3164#0 100 60#1 0#0#1#0 70#100 999 9999 1 08#19
|
||||
1 10008#1|10013#1|10023#1|1503#8|2#60 0#0#0.3164#0 100 60#1 0#0#1#0 70#100 999 9999 1 08#19
|
||||
|
|
|
@ -212,20 +212,35 @@ public class MapManager extends MongoBase {
|
|||
if (itemMap.containsKey(Global.STAMINA)) {
|
||||
itemNum = itemMap.get(Global.STAMINA).getItemNum();
|
||||
}
|
||||
MapManager mapManager = user.getMapManager();
|
||||
int lastUpdateEnergyTime = mapManager.getLastUpdateEnergyTime();
|
||||
if(itemNum < playerInfoManager.getMaxStamina()){
|
||||
Item item = user.getItemManager().getItemMap().get(Global.STAMINA);
|
||||
int updateTime = (int)(System.currentTimeMillis()/1000);
|
||||
int lastUpdateEnergyTime = item.getEndingTime();
|
||||
if ((updateTime -lastUpdateEnergyTime)/60 >= 1){
|
||||
if(itemNum < playerInfoManager.getMaxStamina()){
|
||||
int[] energyRecoverSpeed = SGameSetting.getGameSetting().getEnergyRecoverSpeed();
|
||||
int addValue = (updateTime - lastUpdateEnergyTime)/60/energyRecoverSpeed[1] * energyRecoverSpeed[0];
|
||||
if(addValue != 0){
|
||||
int curEnergy = MathUtils.setBetweenWithMax(itemNum + addValue,0,SGameSetting.getGameSetting().getInitialEnergy());
|
||||
ItemUtil.drop(user, StringUtil.parseFiledInt2( Global.STAMINA+"#"+curEnergy));
|
||||
mapManager.setLastUpdateEnergyTime(updateTime);
|
||||
item.setItemNum(curEnergy>playerInfoManager.getMaxStamina()?playerInfoManager.getMaxStamina():curEnergy);
|
||||
setLastUpdateEnergyTime(item, updateTime, lastUpdateEnergyTime);
|
||||
}
|
||||
}else {
|
||||
setLastUpdateEnergyTime(item, updateTime, lastUpdateEnergyTime);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void setLastUpdateEnergyTime(Item item, int updateTime, int lastUpdateEnergyTime) throws Exception {
|
||||
int time = lastUpdateEnergyTime + ((updateTime -lastUpdateEnergyTime)/60 )* 60;
|
||||
item.setEndingTime(time);
|
||||
}
|
||||
|
||||
public static void main(String [] args){
|
||||
int lastUpdateEnergyTime = 1552170600;
|
||||
int nowTime = 1552170735;
|
||||
int time = lastUpdateEnergyTime + ((nowTime -lastUpdateEnergyTime)/60 )* 60;
|
||||
System.out.println(time);
|
||||
}
|
||||
public void setLastUpdateEnergyTime(int lastUpdateEnergyTime) {
|
||||
updateString("lastUpdateEnergyTime", lastUpdateEnergyTime);
|
||||
this.lastUpdateEnergyTime = lastUpdateEnergyTime;
|
||||
|
|
|
@ -396,12 +396,15 @@ public class ItemUtil {
|
|||
}
|
||||
|
||||
|
||||
public static List<CommonProto.Item > getAllItem(User user){
|
||||
public static List<CommonProto.Item > getAllItem(User user) throws Exception {
|
||||
List<CommonProto.Item > itemList = new ArrayList<>();
|
||||
ItemManager itemManager = user.getItemManager();
|
||||
Map<Integer, Item> itemMap = itemManager.getItemMap();
|
||||
if (itemMap.size() !=0 ){
|
||||
for (Map.Entry<Integer, Item> entry :itemMap.entrySet()){
|
||||
if (entry.getKey() ==Global.STAMINA){
|
||||
MapManager.getEnergy(user);
|
||||
}
|
||||
itemList.add(CBean2Proto.getItem(entry.getValue(),-1));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue