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