法宝升星
parent
2c4a2f2218
commit
489f906a00
|
@ -1,27 +1,27 @@
|
|||
package com.ljsd.jieling.handler.map;
|
||||
|
||||
public class EndlessHero {
|
||||
private int maxHp;
|
||||
private double maxHp;
|
||||
|
||||
private int curHp;
|
||||
private double curHp;
|
||||
|
||||
public int getMaxHp() {
|
||||
public double getMaxHp() {
|
||||
return maxHp;
|
||||
}
|
||||
|
||||
public int getCurHp() {
|
||||
public double getCurHp() {
|
||||
return curHp;
|
||||
}
|
||||
|
||||
public void setMaxHp(int maxHp) {
|
||||
public void setMaxHp(double maxHp) {
|
||||
this.maxHp = maxHp;
|
||||
}
|
||||
|
||||
public void setCurHp(int curHp) {
|
||||
public void setCurHp(double curHp) {
|
||||
this.curHp = curHp;
|
||||
}
|
||||
|
||||
public EndlessHero(int maxHp, int curHp) {
|
||||
public EndlessHero(double maxHp, double curHp) {
|
||||
this.maxHp = maxHp;
|
||||
this.curHp = curHp;
|
||||
}
|
||||
|
|
|
@ -209,7 +209,7 @@ public class MapLogic {
|
|||
List<TeamPosHeroInfo> teamPosForHero = user.getTeamPosManager().getTeamPosForHero().get(teamId);
|
||||
for (int i = 0; i <teamPosForHero.size() ; i++) {
|
||||
String endlessHeroId = teamPosForHero.get(i).getHeroId();
|
||||
int maxHp = HeroLogic.getInstance().calHeroNotBufferAttribute(user,user.getHeroManager().getHero(endlessHeroId),true,teamId).get(1);
|
||||
int maxHp = HeroLogic.getInstance().calHeroNotBufferAttribute(user,user.getHeroManager().getHero(endlessHeroId),false,teamId).get(1);
|
||||
mapManager.addEndlessHero(teamPosForHero.get(i).getHeroId(),maxHp);
|
||||
}
|
||||
EndlessMapInfo endlessMapInfo = mapManager.getEndlessMapInfo();
|
||||
|
@ -342,7 +342,8 @@ public class MapLogic {
|
|||
if(endlessHeroInfo!=null&&endlessHeroInfo.size()>0){
|
||||
if(initType!=2){
|
||||
if(endlessHeroInfo.get(hero.getId())!=null){
|
||||
heroAllAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(), endlessHeroInfo.get(hero.getId()).getCurHp());
|
||||
double curHp = endlessHeroInfo.get(hero.getId()).getCurHp() / endlessHeroInfo.get(hero.getId()).getMaxHp() * heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId());
|
||||
heroAllAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(),(int)curHp);
|
||||
}
|
||||
}else{
|
||||
mapManager.updateEndlessHeroHp(hero.getId(),endlessHeroInfo.get(hero.getId()).getMaxHp());
|
||||
|
@ -1256,7 +1257,11 @@ public class MapLogic {
|
|||
}
|
||||
if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4&&teamId==401){
|
||||
for (int i = 0 ; i <team.size();i++) {
|
||||
mapManager.updateEndlessHeroHp(team.get(i).getHeroId(),checkResult[i+2]);
|
||||
Hero hero = user.getHeroManager().getHero(team.get(i).getHeroId());
|
||||
Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId);
|
||||
double per = checkResult[i+2] / (double) heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId());
|
||||
EndlessHero endlessHero = mapManager.getEndlessMapInfo().getEndlessHeroInfo().get(team.get(i).getHeroId());
|
||||
mapManager.updateEndlessHeroHp(team.get(i).getHeroId(),endlessHero.getCurHp()*per);
|
||||
mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]);
|
||||
}
|
||||
}
|
||||
|
@ -1497,7 +1502,11 @@ public class MapLogic {
|
|||
if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4&&teamId==401){
|
||||
mapManager.updateEndlessFightCount(mapManager.getEndlessMapInfo().getFightCount()+1);
|
||||
for (int i = 0 ; i <team.size();i++) {
|
||||
mapManager.updateEndlessHeroHp(team.get(i).getHeroId(),checkResult[i+2]);
|
||||
Hero hero = user.getHeroManager().getHero(team.get(i).getHeroId());
|
||||
Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId);
|
||||
double per = checkResult[i+2] / (double) heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId());
|
||||
EndlessHero endlessHero = mapManager.getEndlessMapInfo().getEndlessHeroInfo().get(team.get(i).getHeroId());
|
||||
mapManager.updateEndlessHeroHp(team.get(i).getHeroId(),endlessHero.getCurHp()*per);
|
||||
mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]);
|
||||
}
|
||||
}
|
||||
|
@ -3071,7 +3080,7 @@ public class MapLogic {
|
|||
endlessHeroInfo.put(entry.getKey(),new EndlessHero(calHp,tempHp));
|
||||
calHp = tempHp;
|
||||
}else{
|
||||
calHp = entry.getValue().getCurHp();
|
||||
calHp = (int)entry.getValue().getCurHp();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -706,7 +706,7 @@ public class MapManager extends MongoBase {
|
|||
updateString("endlessMapInfo."+heroId,endlessHero);
|
||||
endlessMapInfo.getEndlessHeroInfo().put(heroId,endlessHero);
|
||||
}
|
||||
public void updateEndlessHeroHp(String heroId,int hp){
|
||||
public void updateEndlessHeroHp(String heroId,double hp){
|
||||
updateString("endlessMapInfo.endlessHeroInfo."+heroId+".curHp",hp);
|
||||
EndlessHero endlessHero = endlessMapInfo.getEndlessHeroInfo().get(heroId);
|
||||
if(endlessHero!=null){
|
||||
|
|
|
@ -8,6 +8,7 @@ import com.ljsd.jieling.core.HandlerLogicThread;
|
|||
import com.ljsd.jieling.core.VipPrivilegeType;
|
||||
import com.ljsd.jieling.globals.BIReason;
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.handler.map.EndlessHero;
|
||||
import com.ljsd.jieling.logic.activity.event.HeroUpStarEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||
import com.ljsd.jieling.logic.dao.*;
|
||||
|
@ -414,9 +415,12 @@ public class HeroLogic {
|
|||
if (hero == null) {
|
||||
break;
|
||||
}
|
||||
Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,true,teamId);
|
||||
if(user.getMapManager().getEndlessMapInfo().getEndlessHeroInfo()!=null&&user.getMapManager().getEndlessMapInfo().getEndlessHeroInfo().size()>0){
|
||||
heroAllAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(),user.getMapManager().getEndlessMapInfo().getEndlessHeroInfo().get(hero.getId()).getCurHp());
|
||||
Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId);
|
||||
Map<String, EndlessHero> endlessHeroInfo = user.getMapManager().getEndlessMapInfo().getEndlessHeroInfo();
|
||||
if(endlessHeroInfo!=null&& endlessHeroInfo.size()>0){
|
||||
double res = endlessHeroInfo.get(hero.getId()).getCurHp() / endlessHeroInfo.get(hero.getId()).getMaxHp();
|
||||
int curHp = (int)(res * heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId()));
|
||||
heroAllAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(), curHp);
|
||||
}
|
||||
heroAllAttributeMap.put(hero.getId(), heroAllAttribute);
|
||||
heroes.add(heroInfo.getHeroId());
|
||||
|
|
|
@ -436,6 +436,7 @@ public class ItemLogic {
|
|||
user.getEquipManager().removeEspecialEquip(iterator.next());
|
||||
}
|
||||
}
|
||||
user.getEquipManager().upStarEspecialEquip(equipId);
|
||||
MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,null,true);
|
||||
}else{
|
||||
MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,"材料不足");
|
||||
|
|
Loading…
Reference in New Issue