升级加体力
parent
8466795034
commit
87616377a1
|
@ -1259,7 +1259,7 @@ public class MapLogic {
|
||||||
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
||||||
ItemUtil.itemCost(user, sLevelDifficultyConfig.getCost());
|
ItemUtil.itemCost(user, sLevelDifficultyConfig.getCost());
|
||||||
//玩家升级
|
//玩家升级
|
||||||
userLevelUp(playerInfoManager,sLevelDifficultyConfig.getExp());
|
userLevelUp(user,sLevelDifficultyConfig.getExp());
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sLevelDifficultyConfig.getRandomReward(), 1, 0);
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sLevelDifficultyConfig.getRandomReward(), 1, 0);
|
||||||
LevelDifficulty levelDifficulty = levelDifficultyManager.getLevelDifficultyInfosMap().get(fightId);
|
LevelDifficulty levelDifficulty = levelDifficultyManager.getLevelDifficultyInfosMap().get(fightId);
|
||||||
if (levelDifficulty.getState() != Global.FIGHT_CLEARANCE){
|
if (levelDifficulty.getState() != Global.FIGHT_CLEARANCE){
|
||||||
|
@ -1309,7 +1309,8 @@ public class MapLogic {
|
||||||
* @param playerInfoManager
|
* @param playerInfoManager
|
||||||
* @param addExp
|
* @param addExp
|
||||||
*/
|
*/
|
||||||
public void userLevelUp( PlayerManager playerInfoManager, int addExp) throws Exception {
|
public void userLevelUp(User user , int addExp) throws Exception {
|
||||||
|
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
||||||
if (addExp <= 0) {
|
if (addExp <= 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1328,7 +1329,8 @@ public class MapLogic {
|
||||||
}
|
}
|
||||||
while (curExp >= levelUpExp && curExp <= maxExp) {
|
while (curExp >= levelUpExp && curExp <= maxExp) {
|
||||||
playerInfoManager.setLevel(playerInfoManager.getLevel() + 1);
|
playerInfoManager.setLevel(playerInfoManager.getLevel() + 1);
|
||||||
// sPlayerLevelConfig = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(playerInfoManager.getLevel() + 1);
|
SPlayerLevelConfig sPlayerLevelConfig1 = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(playerInfoManager.getLevel());
|
||||||
|
MapManager.getEnergy(user, sPlayerLevelConfig1.getAddEnergy());
|
||||||
if (sPlayerLevelConfig == null) {
|
if (sPlayerLevelConfig == null) {
|
||||||
levelUpExp = Integer.MAX_VALUE;
|
levelUpExp = Integer.MAX_VALUE;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -193,26 +193,28 @@ public class MapManager extends MongoBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static void getEnergy(User user) throws Exception {
|
public static void getEnergy(User user, int addEnergy) throws Exception {
|
||||||
|
|
||||||
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
||||||
Map<Integer, Item> itemMap = user.getItemManager().getItemMap();
|
|
||||||
int itemNum =0;
|
|
||||||
if (itemMap.containsKey(Global.STAMINA)) {
|
|
||||||
itemNum = itemMap.get(Global.STAMINA).getItemNum();
|
|
||||||
}
|
|
||||||
Item item = user.getItemManager().getItemMap().get(Global.STAMINA);
|
Item item = user.getItemManager().getItemMap().get(Global.STAMINA);
|
||||||
int updateTime = (int)(System.currentTimeMillis()/1000);
|
int itemNum = item.getItemNum();
|
||||||
|
if (addEnergy != 0) {
|
||||||
|
// user.getItemManager().addItem(new Item(Global.STAMINA,addEnergy));
|
||||||
|
item.setItemNum(itemNum + addEnergy);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
int updateTime = (int) (System.currentTimeMillis() / 1000);
|
||||||
int lastUpdateEnergyTime = item.getEndingTime();
|
int lastUpdateEnergyTime = item.getEndingTime();
|
||||||
int[] energyRecoverSpeed = SGameSetting.getGameSetting().getEnergyRecoverSpeed();
|
int[] energyRecoverSpeed = SGameSetting.getGameSetting().getEnergyRecoverSpeed();
|
||||||
if ((updateTime -lastUpdateEnergyTime)/60 >=energyRecoverSpeed[1]){
|
if ((updateTime - lastUpdateEnergyTime) / 60 >= energyRecoverSpeed[1]) {
|
||||||
if(itemNum < playerInfoManager.getMaxStamina()){
|
if (itemNum < playerInfoManager.getMaxStamina()) {
|
||||||
int addValue = (updateTime - lastUpdateEnergyTime)/60/energyRecoverSpeed[1] * energyRecoverSpeed[0];
|
int addValue = (updateTime - lastUpdateEnergyTime) / 60 / energyRecoverSpeed[1] * energyRecoverSpeed[0];
|
||||||
if(addValue != 0){
|
if (addValue != 0) {
|
||||||
int curEnergy = MathUtils.setBetweenWithMax(itemNum + addValue,0,SGameSetting.getGameSetting().getInitialEnergy());
|
int curEnergy = MathUtils.setBetweenWithMax(itemNum + addValue, 0, SGameSetting.getGameSetting().getInitialEnergy());
|
||||||
item.setItemNum(curEnergy>playerInfoManager.getMaxStamina()?playerInfoManager.getMaxStamina():curEnergy);
|
item.setItemNum(curEnergy > playerInfoManager.getMaxStamina() ? playerInfoManager.getMaxStamina() : curEnergy);
|
||||||
setLastUpdateEnergyTime(item, updateTime, lastUpdateEnergyTime);
|
setLastUpdateEnergyTime(item, updateTime, lastUpdateEnergyTime);
|
||||||
}
|
}
|
||||||
}else {
|
} else {
|
||||||
setLastUpdateEnergyTime(item, updateTime, lastUpdateEnergyTime);
|
setLastUpdateEnergyTime(item, updateTime, lastUpdateEnergyTime);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -85,8 +85,7 @@ public class SweepLogic {
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sLevelDifficultyConfig.getRandomReward(), 1, 0);
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sLevelDifficultyConfig.getRandomReward(), 1, 0);
|
||||||
dropList.add(drop.build());
|
dropList.add(drop.build());
|
||||||
}
|
}
|
||||||
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
MapLogic.getInstance().userLevelUp(user,sLevelDifficultyConfig.getExp() * sweepTimes);
|
||||||
MapLogic.getInstance().userLevelUp(playerInfoManager,sLevelDifficultyConfig.getExp() * sweepTimes);
|
|
||||||
FightInfoProto.SweepRightResponse.Builder builder = FightInfoProto.SweepRightResponse.newBuilder();
|
FightInfoProto.SweepRightResponse.Builder builder = FightInfoProto.SweepRightResponse.newBuilder();
|
||||||
builder.addAllDrop(dropList);
|
builder.addAllDrop(dropList);
|
||||||
levelDifficulty.setChallengeTimes(levelDifficulty.getChallengeTimes() +sweepTimes);
|
levelDifficulty.setChallengeTimes(levelDifficulty.getChallengeTimes() +sweepTimes);
|
||||||
|
|
|
@ -369,7 +369,7 @@ public class ItemUtil {
|
||||||
}
|
}
|
||||||
for (Map.Entry<Integer, Integer> userItem : useItemMap.entrySet()) {
|
for (Map.Entry<Integer, Integer> userItem : useItemMap.entrySet()) {
|
||||||
if ((userItem.getKey() == Global.STAMINA)){
|
if ((userItem.getKey() == Global.STAMINA)){
|
||||||
MapManager.getEnergy(user);
|
MapManager.getEnergy(user,0);
|
||||||
}
|
}
|
||||||
Item temporaryItem = temporaryItemList.get(userItem.getKey());
|
Item temporaryItem = temporaryItemList.get(userItem.getKey());
|
||||||
int needCount = userItem.getValue();
|
int needCount = userItem.getValue();
|
||||||
|
@ -403,7 +403,7 @@ public class ItemUtil {
|
||||||
if (itemMap.size() !=0 ){
|
if (itemMap.size() !=0 ){
|
||||||
for (Map.Entry<Integer, Item> entry :itemMap.entrySet()){
|
for (Map.Entry<Integer, Item> entry :itemMap.entrySet()){
|
||||||
if (entry.getKey() ==Global.STAMINA){
|
if (entry.getKey() ==Global.STAMINA){
|
||||||
MapManager.getEnergy(user);
|
MapManager.getEnergy(user,0);
|
||||||
}
|
}
|
||||||
itemList.add(CBean2Proto.getItem(entry.getValue(),-1));
|
itemList.add(CBean2Proto.getItem(entry.getValue(),-1));
|
||||||
}
|
}
|
||||||
|
@ -508,7 +508,7 @@ public class ItemUtil {
|
||||||
Item temporaryItem = temporaryItemList.get(entry.getKey());
|
Item temporaryItem = temporaryItemList.get(entry.getKey());
|
||||||
if (temporaryItem == null || temporaryItem.getItemNum() < entry.getValue()) {
|
if (temporaryItem == null || temporaryItem.getItemNum() < entry.getValue()) {
|
||||||
if ((entry.getKey() == Global.STAMINA)){
|
if ((entry.getKey() == Global.STAMINA)){
|
||||||
MapManager.getEnergy(user);
|
MapManager.getEnergy(user,0);
|
||||||
}
|
}
|
||||||
Item item = user.getItemManager().getItem(entry.getKey());
|
Item item = user.getItemManager().getItem(entry.getKey());
|
||||||
if (item == null) {
|
if (item == null) {
|
||||||
|
|
Loading…
Reference in New Issue