皮肤逻辑提交
parent
f3af1b0c4b
commit
841d2aa8a8
|
@ -3218,7 +3218,9 @@ public class MapLogic {
|
|||
for(String id:heroIds){
|
||||
Hero hero = heroManager.getHero(id);
|
||||
String heroSkill = HeroLogic.getInstance().getHeroSkills(user,hero,new StringBuilder()).toString();
|
||||
TrailHero trailHero = new TrailHero(hero.getTemplateId(),HeroLogic.getInstance().calHeroNotBufferAttribute(user,hero,false,0),hero.getStar(),heroSkill,hero.getLevel());
|
||||
int skinTime = heroManager.getSkinInfo().getOrDefault(hero.getSkin(), 0);
|
||||
|
||||
TrailHero trailHero = new TrailHero(hero.getTemplateId(),HeroLogic.getInstance().calHeroNotBufferAttribute(user,hero,false,0),hero.getStar(),heroSkill,hero.getLevel(),hero.getSkin(),skinTime);
|
||||
heroInfo.put(id,trailHero);
|
||||
}
|
||||
mapManager.updateTrailHeroInfo(heroInfo);
|
||||
|
|
|
@ -19,6 +19,10 @@ public class TrailHero {
|
|||
|
||||
private int level;
|
||||
|
||||
private int skinId;
|
||||
|
||||
private int skinTime;
|
||||
|
||||
public int getTmpId() {
|
||||
return tmpId;
|
||||
}
|
||||
|
@ -43,12 +47,22 @@ public class TrailHero {
|
|||
this.star = star;
|
||||
}
|
||||
|
||||
public TrailHero(int tmpId, Map<Integer, Integer> property, int star,String heroSkills,int level) {
|
||||
public TrailHero(int tmpId, Map<Integer, Integer> property, int star,String heroSkills,int level,int skinId,int skinTime) {
|
||||
this.tmpId = tmpId;
|
||||
this.property = property;
|
||||
this.star = star;
|
||||
this.heroSkills = heroSkills;
|
||||
this.level = level;
|
||||
this.skinId = skinId;
|
||||
this.skinTime = skinTime;
|
||||
}
|
||||
|
||||
public int getSkinId() {
|
||||
return skinId;
|
||||
}
|
||||
|
||||
public int getSkinTime() {
|
||||
return skinTime;
|
||||
}
|
||||
|
||||
public String getHeroSkills() {
|
||||
|
|
|
@ -30,6 +30,7 @@ import com.ljsd.jieling.util.MessageUtil;
|
|||
import com.ljsd.jieling.util.MonsterUtil;
|
||||
import config.SArenaRobotConfig;
|
||||
import config.SCHero;
|
||||
import jdk.nashorn.internal.ir.debug.ObjectSizeCalculator;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import util.TimeUtils;
|
||||
|
@ -241,6 +242,7 @@ public class BehaviorUtil {
|
|||
.setProperty(property.substring(0, property.length()-1))
|
||||
.setPosition(teamPosHeroInfo.getPosition())
|
||||
.setStar(hero.getStar())
|
||||
.setSkinId(hero.getSkin())
|
||||
.build();
|
||||
heroFightInfos.add(heroFightInfo);
|
||||
}
|
||||
|
|
|
@ -105,6 +105,7 @@ public class TowerMap extends AbstractMap {
|
|||
.setHeroHp(calHp)
|
||||
.setStar(trailHero.getStar())
|
||||
.setLevel(trailHero.getLevel())
|
||||
.setSkinId(trailHero.getSkinId())
|
||||
.build();
|
||||
mapEnterResponse.addInfos(info);
|
||||
}
|
||||
|
|
|
@ -125,5 +125,9 @@ public class HeroManager extends MongoBase {
|
|||
skinInfo.put(skinId,time);
|
||||
updateString("skinInfo."+skinId,time);
|
||||
}
|
||||
public void removeSkin(int skinId){
|
||||
skinInfo.remove(skinId);
|
||||
removeString(getMongoKey()+"skinInfo."+skinId);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@ import com.ljsd.jieling.util.MonsterUtil;
|
|||
import config.SArenaRobotConfig;
|
||||
import config.SCHero;
|
||||
import org.luaj.vm2.LuaValue;
|
||||
import util.TimeUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
@ -253,6 +254,7 @@ public class FightUtil {
|
|||
.setProperty(property.substring(0, property.length()-1))
|
||||
.setPosition(teamPosHeroInfo.getPosition())
|
||||
.setStar(trailHero.getStar())
|
||||
.setSkinId(trailHero.getSkinId()==0?0:(trailHero.getSkinTime()==-1||trailHero.getSkinTime()> TimeUtils.nowInt()?trailHero.getSkinId():0))
|
||||
.build();
|
||||
heroFightInfos.add(heroFightInfo);
|
||||
}
|
||||
|
@ -327,6 +329,7 @@ public class FightUtil {
|
|||
.setUnitSkillIds(heroSkill.substring(0,heroSkill.length()-1))
|
||||
.setProperty(property.substring(0, property.length()-1))
|
||||
.setPosition(teamPosHeroInfo.getPosition())
|
||||
.setSkinId(hero.getSkin())
|
||||
.setStar(hero.getStar())
|
||||
.build();
|
||||
heroFightInfos.add(heroFightInfo);
|
||||
|
|
|
@ -3246,7 +3246,19 @@ public class HeroLogic{
|
|||
User user = UserManager.getUser(session.getUid());
|
||||
Map<Integer, Integer> skinInfo = user.getHeroManager().getSkinInfo();
|
||||
HeroInfoProto.GetAllSkinResponse.Builder response = HeroInfoProto.GetAllSkinResponse.newBuilder();
|
||||
Set<Integer> removeId = new HashSet<>(skinInfo.size()+1);
|
||||
|
||||
if(!skinInfo.isEmpty()){
|
||||
for(Map.Entry<Integer,Integer> entry:skinInfo.entrySet()){
|
||||
if(entry.getValue()!=-1&&entry.getValue()<TimeUtils.nowInt()){
|
||||
removeId.add(entry.getKey());
|
||||
}
|
||||
}
|
||||
if(!removeId.isEmpty()){
|
||||
for(int remove :removeId){
|
||||
user.getHeroManager().removeSkin(remove);
|
||||
}
|
||||
}
|
||||
skinInfo.forEach((k,v)->response.addSkinInfo(CommonProto.SkinInfo.newBuilder().setSkinId(k).setOverTime(v).build()));
|
||||
}
|
||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),response.build(),true);
|
||||
|
|
|
@ -193,16 +193,18 @@ public class ItemLogic {
|
|||
if(sHeroSkin==null){
|
||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
}
|
||||
// if(skinInfo.containsKey(sHeroSkin.getType())){
|
||||
// if(skinInfo.get(sHeroSkin.getType())==-1||skinInfo.get(sHeroSkin.getType())> TimeUtils.nowInt()){
|
||||
// throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
// }
|
||||
// }
|
||||
if(skinInfo.containsKey(sHeroSkin.getType())){
|
||||
if(skinInfo.get(sHeroSkin.getType())==-1||skinInfo.get(sHeroSkin.getType())> TimeUtils.nowInt()){
|
||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
}
|
||||
}
|
||||
int time;
|
||||
if(sHeroSkin.getTime()==0){
|
||||
time = -1;
|
||||
}else{
|
||||
time = sHeroSkin.getTime()+TimeUtils.nowInt();
|
||||
// time =TimeUtils.nowInt()+120;
|
||||
time =(int)(sHeroSkin.getTime()*TimeUtils.DAY/1000+TimeUtils.nowInt());
|
||||
|
||||
}
|
||||
|
||||
boolean use = ItemUtil.itemCost(user,new int[][]{{item.getItemId(),item.getItemNum()}},BIReason.SKIN_USE_CONSUME,1);
|
||||
|
|
|
@ -317,6 +317,7 @@ public class FightDataUtil {
|
|||
}
|
||||
unitData.set("passivity", getPassivity(skillIds));
|
||||
unitData.set("property", getProperty(property));
|
||||
unitData.set("skinId",data.getSkinId());
|
||||
return unitData;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue