修行技能相关脚本修改提交

back_recharge
yuanshuai 2021-10-21 14:34:21 +08:00
parent 5469ead809
commit cd8777c449
4 changed files with 1481 additions and 1360 deletions

View File

@ -188,6 +188,10 @@ public class CoreService implements RPCRequestIFace.Iface {
//坐骑技能
rpcArenaManager.setSkill(Arrays.asList(user.getPlayerInfoManager().getUserMountValidTime().keySet().toArray(new Integer[0])));
rpcArenaManager.setFourSpirit(user.getPlayerInfoManager().getFourChallengeTotal());
///修行技能数据
rpcArenaManager.setPracticeSkillMap(user.getHeroManager().getPracticeSkillMap());
rpcArenaManager.setMaxHistoryForce(user.getPlayerInfoManager().getMaxForce());
return rpcArenaManager;
}catch (Exception e){

View File

@ -261,46 +261,83 @@ public class FightDataUtil {
return teamSkill;
}
for (int i = 0; i < pokemonUnitList.size(); i++) {
String skillId = pokemonUnitList.get(i).getUnitSkillIds();
if(skillId.equals("0")){
CommonProto.FightUnitInfo unitInfo=pokemonUnitList.get(i);
String skillId = unitInfo.getUnitSkillIds();
if(skillId.equals("0")||skillId==""){
continue;
}
SSpiritAnimalSkill sSpiritAnimalSkill = STableManager.getConfig(SSpiritAnimalSkill.class).get(Integer.valueOf(skillId));
LuaValue monster = new LuaTable();
monster.set("id",sSpiritAnimalSkill.getSpiritAnimalMatch());
monster.set("star",sSpiritAnimalSkill.getStarMatch());
monster.set("camp",camp);
monster.set("position",pokemonUnitList.get(i).getPosition());
LuaValue skill= new LuaTable();
int[] skillIDList = sSpiritAnimalSkill.getSkillIDList();
for(int j = 0 ; j <skillIDList.length;j++){
LuaValue oneSkill = new LuaTable();
oneSkill.rawset("triggerId",sSpiritAnimalSkill.getReleasePoint()[j]);
int[][] releaseLimit = sSpiritAnimalSkill.getReleaseLimit();
LuaValue triggerCondition = new LuaTable();
if(releaseLimit!=null&&releaseLimit.length>0&&releaseLimit[0].length>0){
for(int l = 0 ; l<releaseLimit[j].length;l++){
triggerCondition.rawset(l+1, LuaValue.valueOf(releaseLimit[j][l]));
if (unitInfo.getPosition()==100){
SPlayerSkill playerSkillConfig=STableManager.getConfig(SPlayerSkill.class).get(Integer.valueOf(skillId));
LuaValue monster = new LuaTable();
monster.set("id",0);
monster.set("star",0);
monster.set("teamDamage",unitInfo.getForceScore());
monster.set("camp",camp);
monster.set("position",unitInfo.getPosition());
LuaValue skill= new LuaTable();
int[] skillIDList = playerSkillConfig.getSkillIDList();
for(int j = 0 ; j <skillIDList.length;j++){
LuaValue oneSkill = new LuaTable();
oneSkill.rawset("triggerId",playerSkillConfig.getReleasePoint()[j]);
int[][] releaseLimit = playerSkillConfig.getReleaseLimit();
LuaValue triggerCondition = new LuaTable();
if(releaseLimit!=null&&releaseLimit.length>0&&releaseLimit[0].length>0){
for(int l = 0 ; l<releaseLimit[j].length;l++){
triggerCondition.rawset(l+1, LuaValue.valueOf(releaseLimit[j][l]));
}
}else{
triggerCondition.rawset(1,LuaValue.valueOf(0));
}
}else{
triggerCondition.rawset(1,LuaValue.valueOf(0));
oneSkill.set("effect",getSkill(String.valueOf(skillIDList[j]),0));
oneSkill.set("triggerCondition",triggerCondition);
oneSkill.set("maxCount",playerSkillConfig.getWarEffectCount()[j]);
oneSkill.set("maxRoundCount",playerSkillConfig.getTurnEffectCount()[j]);
skill.rawset(j+1,oneSkill);
}
oneSkill.set("effect",getSkill(String.valueOf(skillIDList[j]),0));
oneSkill.set("triggerCondition",triggerCondition);
monster.set("property",getProperty(pokemonUnitList.get(i).getProperty()));
monster.set("skill",skill);
teamSkill.rawset(i+1,monster);
}else{
SSpiritAnimalSkill sSpiritAnimalSkill=STableManager.getConfig(SSpiritAnimalSkill.class).get(Integer.valueOf(skillId));
LuaValue monster = new LuaTable();
monster.set("id",sSpiritAnimalSkill.getSpiritAnimalMatch());
monster.set("star",sSpiritAnimalSkill.getStarMatch());
monster.set("camp",camp);
monster.set("position",pokemonUnitList.get(i).getPosition());
LuaValue skill= new LuaTable();
int[] skillIDList = sSpiritAnimalSkill.getSkillIDList();
for(int j = 0 ; j <skillIDList.length;j++){
LuaValue oneSkill = new LuaTable();
oneSkill.rawset("triggerId",sSpiritAnimalSkill.getReleasePoint()[j]);
int[][] releaseLimit = sSpiritAnimalSkill.getReleaseLimit();
LuaValue triggerCondition = new LuaTable();
if(releaseLimit!=null&&releaseLimit.length>0&&releaseLimit[0].length>0){
for(int l = 0 ; l<releaseLimit[j].length;l++){
triggerCondition.rawset(l+1, LuaValue.valueOf(releaseLimit[j][l]));
}
}else{
triggerCondition.rawset(1,LuaValue.valueOf(0));
}
oneSkill.set("effect",getSkill(String.valueOf(skillIDList[j]),0));
oneSkill.set("triggerCondition",triggerCondition);
oneSkill.set("maxCount",sSpiritAnimalSkill.getWarEffectCount()[j]);
oneSkill.set("maxCount",sSpiritAnimalSkill.getWarEffectCount()[j]);
oneSkill.set("maxRoundCount",sSpiritAnimalSkill.getTurnEffectCount()[j]);
oneSkill.set("maxRoundCount",sSpiritAnimalSkill.getTurnEffectCount()[j]);
skill.rawset(j+1,oneSkill);
}
monster.set("property",getProperty(pokemonUnitList.get(i).getProperty()));
monster.set("skill",skill);
skill.rawset(j+1,oneSkill);
}
monster.set("property",getProperty(pokemonUnitList.get(i).getProperty()));
monster.set("skill",skill);
// String[] skillAndPosItem = skillAndPos.split("#");
// if (Integer.parseInt(skillAndPosItem[1])>0){
// teamSkill.rawset(i + 1, getSkill(skillAndPosItem[1],skillAndPosItem[0]));
// }
teamSkill.rawset(i+1,monster);
teamSkill.rawset(i+1,monster);
}
}
return teamSkill;
}

View File

@ -29,6 +29,10 @@ public class SPlayerSkill implements BaseConfig {
private int sort;
private int[] warEffectCount;
private int[] turnEffectCount;
private static Map<Integer, Map<Integer,SPlayerSkill>>mapData;
public static Map<Integer,SPlayerSkill> sPrivilegeTypeConfigMap;
@ -87,7 +91,15 @@ public class SPlayerSkill implements BaseConfig {
return sort;
}
public static SPlayerSkill GetSPlayerSkill(int skillId,int skillLv){
public int[] getWarEffectCount() {
return warEffectCount;
}
public int[] getTurnEffectCount() {
return turnEffectCount;
}
public static SPlayerSkill GetSPlayerSkill(int skillId, int skillLv){
if (!mapData.containsKey(skillId)||!mapData.get(skillId).containsKey(skillLv))return null;
return mapData.get(skillId).get(skillLv);
}