back_recharge
wangyuan 2019-01-28 17:11:35 +08:00
parent 4d80dba09f
commit 075b53abf4
15 changed files with 648 additions and 74 deletions

View File

@ -0,0 +1,2 @@
Id ComonpentsId Stage Cost BaseAttribute
int int int mut,int#int,2 mut,int#int,2

View File

@ -0,0 +1,58 @@
Id OpenRules ComonpentList
int mut,int#int,2 mut,int#int,1
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null
0 null null

View File

@ -0,0 +1,2 @@
Id DifferDemonsId SkillId Cost
int int int mut,int#int,2

View File

@ -1,4 +1,119 @@
Id ProfessionLimit Position PropertyMin PropertyMax Pool SecondNumMin SecondNumMax SkillId IfClear
int int int mut,int#int,1 mut,int#int,1 int int int int int
3001 0 1 1#100 1#200 1 1 1 0 1
3002 0 0 null null 0 0 0 0 0
3001 1501 1 2#42 2#70 1 0 0 0 0
3002 1501 1 2#42 2#70 1 0 0 0 0
3003 1502 1 2#42 2#70 1 0 0 0 0
3004 1502 1 2#42 2#70 1 0 0 0 0
3005 1503 1 2#42 2#70 1 0 0 0 0
3006 1503 1 2#42 2#70 1 0 0 0 0
3007 1504 1 2#42 2#70 1 0 0 0 0
3008 1504 1 2#42 2#70 1 0 0 0 0
3009 1505 1 2#42 2#70 1 0 0 0 0
3010 1505 1 2#42 2#70 1 0 0 0 0
3011 0 2 3#43 3#72 1 0 0 0 0
3012 0 2 3#43 3#72 1 0 0 0 0
3013 0 2 4#40 4#67 1 0 0 0 0
3014 0 2 4#40 4#67 1 0 0 0 0
3015 0 4 5#24 5#28 1 0 0 0 0
3016 0 4 5#24 5#28 1 0 0 0 0
3017 0 3 1#460 1#767 1 0 0 0 0
3018 0 3 1#460 1#767 1 0 0 0 0
3101 1501 1 2#56 2#93 1 0 1 0 0
3102 1501 1 2#56 2#93 1 0 1 0 0
3103 1502 1 2#56 2#93 1 0 1 0 0
3104 1502 1 2#56 2#93 1 0 1 0 0
3105 1503 1 2#56 2#93 1 0 1 0 0
3106 1503 1 2#56 2#93 1 0 1 0 0
3107 1504 1 2#56 2#93 1 0 1 0 0
3108 1504 1 2#56 2#93 1 0 1 0 0
3109 1505 1 2#56 2#93 1 0 1 0 0
3110 1505 1 2#56 2#93 1 0 1 0 0
3111 0 2 3#58 3#96 2 0 1 0 0
3112 0 2 3#58 3#96 2 0 1 0 0
3113 0 2 4#54 4#90 2 0 1 0 0
3114 0 2 4#54 4#90 2 0 1 0 0
3115 0 4 5#48 5#56 3 0 1 0 0
3116 0 4 5#48 5#56 3 0 1 0 0
3117 0 3 1#616 1#1027 4 0 1 0 0
3118 0 3 1#616 1#1027 4 0 1 0 0
3201 1501 1 2#72 2#120 5 1 3 0 1
3202 1501 1 2#72 2#120 5 1 3 0 1
3203 1502 1 2#72 2#120 5 1 3 0 1
3204 1502 1 2#72 2#120 5 1 3 0 1
3205 1503 1 2#72 2#120 5 1 3 0 1
3206 1503 1 2#72 2#120 5 1 3 0 1
3207 1504 1 2#72 2#120 5 1 3 0 1
3208 1504 1 2#72 2#120 5 1 3 0 1
3209 1505 1 2#72 2#120 5 1 3 0 1
3210 1505 1 2#72 2#120 5 1 3 0 1
3211 0 2 3#74 3#124 6 1 3 0 1
3212 0 2 3#74 3#124 6 1 3 0 1
3213 0 2 4#70 4#116 6 1 3 0 1
3214 0 2 4#70 4#116 6 1 3 0 1
3215 0 4 5#72 5#84 7 1 3 0 1
3216 0 4 5#72 5#84 7 1 3 0 1
3217 0 3 1#792 1#1320 8 1 3 0 1
3218 0 3 1#792 1#1320 8 1 3 0 1
3301 1501 1 2#383 2#638 9 2 4 0 1
3302 1501 1 2#383 2#638 9 2 4 0 1
3303 1502 1 2#383 2#638 9 2 4 0 1
3304 1502 1 2#383 2#638 9 2 4 0 1
3305 1503 1 2#383 2#638 9 2 4 0 1
3306 1503 1 2#383 2#638 9 2 4 0 1
3307 1504 1 2#383 2#638 9 2 4 0 1
3308 1504 1 2#383 2#638 9 2 4 0 1
3309 1505 1 2#383 2#638 9 2 4 0 1
3310 1505 1 2#383 2#638 9 2 4 0 1
3311 0 2 3#396 3#659 10 2 4 0 1
3312 0 2 3#396 3#659 10 2 4 0 1
3313 0 2 4#370 4#617 10 2 4 0 1
3314 0 2 4#370 4#617 10 2 4 0 1
3315 0 4 5#96 5#113 11 2 4 0 1
3316 0 4 5#96 5#113 11 2 4 0 1
3317 0 3 1#4212 1#7020 12 2 4 0 1
3318 0 3 1#4212 1#7020 12 2 4 0 1
3319 1501 1 2#383 2#638 9 2 4 0 1
3320 1501 1 2#383 2#638 9 2 4 0 1
3321 1502 1 2#383 2#638 9 2 4 0 1
3322 1502 1 2#383 2#638 9 2 4 0 1
3323 1503 1 2#383 2#638 9 2 4 0 1
3324 1503 1 2#383 2#638 9 2 4 0 1
3325 1504 1 2#383 2#638 9 2 4 0 1
3326 1504 1 2#383 2#638 9 2 4 0 1
3327 1505 1 2#383 2#638 9 2 4 0 1
3328 1505 1 2#383 2#638 9 2 4 0 1
3329 0 2 3#396 3#659 10 2 4 0 1
3330 0 2 3#396 3#659 10 2 4 0 1
3331 0 2 4#370 4#617 10 2 4 0 1
3332 0 2 4#370 4#617 10 2 4 0 1
3333 0 4 5#96 5#113 11 2 4 0 1
3334 0 4 5#96 5#113 11 2 4 0 1
3335 0 3 1#4212 1#7020 12 2 4 0 1
3336 0 3 1#4212 1#7020 12 2 4 0 1
4001 1501 1 2#72 2#120 5 1 3 0 0
4002 1502 1 2#72 2#120 5 1 3 0 0
4003 1503 1 2#72 2#120 5 1 3 0 0
4004 1504 1 2#72 2#120 5 1 3 0 0
4005 1505 1 2#72 2#120 5 1 3 0 0
4006 0 2 3#74 3#124 6 1 3 0 0
4007 0 2 4#70 4#116 6 1 3 0 0
4008 0 4 5#72 5#84 7 1 3 0 0
4009 0 3 1#792 1#1320 8 1 3 0 0
4101 1501 1 2#383 2#638 9 2 4 0 0
4102 1501 1 2#383 2#638 9 2 4 0 0
4103 1502 1 2#383 2#638 9 2 4 0 0
4104 1502 1 2#383 2#638 9 2 4 0 0
4105 1503 1 2#383 2#638 9 2 4 0 0
4106 1503 1 2#383 2#638 9 2 4 0 0
4107 1504 1 2#383 2#638 9 2 4 0 0
4108 1504 1 2#383 2#638 9 2 4 0 0
4109 1505 1 2#383 2#638 9 2 4 0 0
4110 1505 1 2#383 2#638 9 2 4 0 0
4111 0 2 3#396 3#659 10 2 4 0 0
4112 0 2 3#396 3#659 10 2 4 0 0
4113 0 2 4#370 4#617 10 2 4 0 0
4114 0 2 4#370 4#617 10 2 4 0 0
4115 0 4 5#96 5#113 11 2 4 0 0
4116 0 4 5#96 5#113 11 2 4 0 0
4117 0 3 1#4212 1#7020 12 2 4 0 0
4118 0 3 1#4212 1#7020 12 2 4 0 0

View File

@ -1,3 +1,78 @@
id PropertyId Min Max PoolNum Weight
int int int int int int
1 101 100 200 1 100
1 5 11 18 1 100
2 54 5 5 1 100
3 53 5 5 1 100
4 1 235 392 2 100
5 2 19 32 2 100
6 53 5 5 2 100
7 54 5 5 2 100
8 1 268 448 3 100
9 2 17 29 3 100
10 3 9 15 3 100
11 4 12 20 3 100
12 3 26 43 4 100
13 4 27 45 4 100
14 5 15 26 4 100
15 5 16 19 5 100
16 54 8 8 5 100
17 53 8 8 5 100
18 56 25 25 5 100
19 55 5 5 5 100
20 1 302 504 6 100
21 2 25 42 6 100
22 53 8 8 6 100
23 54 8 8 6 100
24 1 345 576 7 100
25 2 22 38 7 100
26 3 12 20 7 100
27 4 15 26 7 100
28 55 5 5 7 100
29 56 10 10 7 100
30 3 33 56 8 100
31 4 34 58 8 100
32 5 23 27 8 100
33 56 10 10 8 100
34 5 22 26 9 100
35 54 10 10 9 100
36 53 10 10 9 100
37 56 40 40 9 100
38 55 15 15 9 100
39 101 8 15 9 100
40 102 8 15 9 100
41 103 8 15 9 100
42 104 8 15 9 100
43 105 8 15 9 100
44 106 8 15 9 100
45 1 1608 2680 10 100
46 2 134 223 10 100
47 53 10 10 10 100
48 54 10 10 10 100
49 107 8 15 10 100
50 108 8 15 10 100
51 109 8 15 10 100
52 110 8 15 10 100
53 111 8 15 10 100
54 112 8 15 10 100
55 1 1837 3063 11 100
56 2 121 202 11 100
57 3 63 106 11 100
58 4 82 138 11 100
59 55 5 5 11 100
60 56 15 15 11 100
61 107 5 5 11 100
62 108 5 5 11 100
63 109 5 5 11 100
64 110 5 5 11 100
65 111 5 5 11 100
66 112 5 5 11 100
67 3 5 5 12 100
68 4 185 308 12 100
69 5 31 36 12 100
70 56 25 25 12 100
71 101 5 10 12 100
72 102 5 10 12 100
73 103 5 10 12 100
74 104 5 10 12 100
75 105 5 10 12 100
76 106 5 10 12 100

View File

@ -1,58 +1,26 @@
Id PropertyId Name Info
int int string string
1 1 Hp 生命值
2 2 Attack 攻击力
3 3 PhysicalDefence 护甲
4 4 MagicDefence 魔抗
5 5 Speed 速度
6 51 DamageBocusFactor 伤害加成百分比
7 52 DamageReduceFactor 伤害减免百分比
8 53 Hit 效果命中率
9 54 Dodge 效果抵抗率
10 55 CritFactor 暴击率
11 56 CritDamageFactor 暴伤
12 57 TreatFacter 回复系数
13 101 FireDamageBonusFactor 火攻(%
14 102 WindDamageBonusFactor 风攻(%
15 103 WaterDamageBonusFactor 水攻(%
16 104 LandDamageBonusFactor 地攻(%
17 105 LightDamageBonusFactor 光攻(%
18 106 DarkDamageBonusFactor 暗攻(%
19 107 FireDamageReduceFactor 火抗(%
20 108 WindDamageReduceFactor 风抗(%
21 109 WaterDamageReduceFactor 水抗(%
22 110 LandDamageReduceFactor 地抗(%
23 111 LightDamageReduceFactor 光抗(%
24 112 DarkDamageReduceFactor 暗抗(%
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
0 null
Id PropertyId Style Score
int int int float
1 1 1 0
2 2 1 10
3 3 1 5
4 4 1 5
5 5 1 5
6 51 2 0
7 52 2 0
8 53 2 5
9 54 2 5
10 55 2 5
11 56 2 0
12 57 2 0
13 101 2 30
14 102 2 30
15 103 2 30
16 104 2 30
17 105 2 30
18 106 2 30
19 107 2 30
20 108 2 30
21 109 2 30
22 110 2 30
23 111 2 30
24 112 2 30

View File

@ -0,0 +1,67 @@
package com.ljsd.jieling.config;
import com.ljsd.jieling.logic.STableManager;
import com.ljsd.jieling.logic.Table;
import java.util.HashMap;
import java.util.Map;
@Table(name ="DifferDemonsComonpentsConfig")
public class SDifferDemonsComonpentsConfig implements BaseConfig {
private int id;
private int comonpentsId;
private int stage;
private int[][] cost;
private int[][] baseAttribute;
private static Map<Integer,Map<Integer,SDifferDemonsComonpentsConfig>> sDifferDemonsComonpentsConfig;
@Override
public void init() throws Exception {
Map<Integer,Map<Integer,SDifferDemonsComonpentsConfig>> sDifferDemonsComonpentsConfigTmp = new HashMap<>();
Map<Integer, SDifferDemonsComonpentsConfig> config = STableManager.getConfig(SDifferDemonsComonpentsConfig.class);
for(SDifferDemonsComonpentsConfig sDifferDemonsComonpentsConfig : config.values()){
int comonpentsId = sDifferDemonsComonpentsConfig.getComonpentsId();
int stage = sDifferDemonsComonpentsConfig.getStage();
if(!sDifferDemonsComonpentsConfigTmp.containsKey(comonpentsId)){
sDifferDemonsComonpentsConfigTmp.put(comonpentsId,new HashMap<>());
}
sDifferDemonsComonpentsConfigTmp.get(comonpentsId).put(stage,sDifferDemonsComonpentsConfig);
}
sDifferDemonsComonpentsConfig = sDifferDemonsComonpentsConfigTmp;
}
public static Map<Integer,SDifferDemonsComonpentsConfig> getsDifferDemonsComonpentsConfigMap(int comonpentId) {
return sDifferDemonsComonpentsConfig.get(comonpentId);
}
public int getId() {
return id;
}
public int getComonpentsId() {
return comonpentsId;
}
public int getStage() {
return stage;
}
public int[][] getCost() {
return cost;
}
public int[][] getBaseAttribute() {
return baseAttribute;
}
}

View File

@ -0,0 +1,43 @@
package com.ljsd.jieling.config;
import com.ljsd.jieling.logic.STableManager;
import com.ljsd.jieling.logic.Table;
import java.util.HashMap;
import java.util.Map;
@Table(name ="DifferDemonsConfig")
public class SDifferDemonsConfig implements BaseConfig {
private int id;
private int[][] openRules;
private int[] comonpentList;
private static Map<Integer,SDifferDemonsConfig> sDifferDemonsConfigMap;
@Override
public void init() throws Exception {
sDifferDemonsConfigMap= STableManager.getConfig(SDifferDemonsConfig.class);
}
public static SDifferDemonsConfig getsDifferDemonsConfigByPokenID(int pokenmonId) {
return sDifferDemonsConfigMap.get(pokenmonId);
}
public int getId() {
return id;
}
public int[][] getOpenRules() {
return openRules;
}
public int[] getComonpentList() {
return comonpentList;
}
}

View File

@ -0,0 +1,63 @@
package com.ljsd.jieling.config;
import com.ljsd.jieling.logic.STableManager;
import com.ljsd.jieling.logic.Table;
import java.util.HashMap;
import java.util.Map;
@Table(name ="DifferDemonsStageConfig")
public class SDifferDemonsStageConfig implements BaseConfig {
private int id;
private int differDemonsId;
private int skillId;
private int[][] cost;
private int comonpentPreStage;
private static Map<Integer,Map<Integer,SDifferDemonsStageConfig>> sDifferDemonsStageConfigMap;
@Override
public void init() throws Exception {
Map<Integer,Map<Integer,SDifferDemonsStageConfig>> sDifferDemonsStageConfigMapTmp = new HashMap<>();
Map<Integer, SDifferDemonsStageConfig> config = STableManager.getConfig(SDifferDemonsStageConfig.class);
for(SDifferDemonsStageConfig sDifferDemonsStageConfig : config.values()){
int comonpentPreStage = sDifferDemonsStageConfig.getComonpentPreStage();
int differDemonsId = sDifferDemonsStageConfig.getDifferDemonsId();
if(!sDifferDemonsStageConfigMapTmp.containsKey(differDemonsId)){
sDifferDemonsStageConfigMapTmp.put(differDemonsId,new HashMap<>());
}
sDifferDemonsStageConfigMapTmp.get(differDemonsId).put(comonpentPreStage,sDifferDemonsStageConfig);
}
sDifferDemonsStageConfigMap = sDifferDemonsStageConfigMapTmp;
}
public static Map<Integer, SDifferDemonsStageConfig> getsDifferDemonsStageConfigMap(int pokenmonId) {
return sDifferDemonsStageConfigMap.get(pokenmonId);
}
public int getId() {
return id;
}
public int getDifferDemonsId() {
return differDemonsId;
}
public int getSkillId() {
return skillId;
}
public int[][] getCost() {
return cost;
}
public int getComonpentPreStage() {
return comonpentPreStage;
}
}

View File

@ -3,6 +3,7 @@ package com.ljsd.jieling.config;
import com.ljsd.jieling.logic.STableManager;
import com.ljsd.jieling.logic.Table;
import java.util.HashMap;
import java.util.Map;
@Table(name ="PropertyConfig")
@ -12,18 +13,31 @@ public class SPropertyConfig implements BaseConfig {
private int propertyId;
private String name;
private int style;
private String info;
private float score;
private static Map<Integer,SPropertyConfig> sPropertyConfigByPIDMap;
@Override
public void init() throws Exception {
Map<Integer,SPropertyConfig> sPropertyConfigByPIDMapTmp = new HashMap<>();
Map<Integer, SPropertyConfig> config = STableManager.getConfig(SPropertyConfig.class);
for(SPropertyConfig sPropertyConfig : config.values()){
int propertyId = sPropertyConfig.getPropertyId();
sPropertyConfigByPIDMapTmp.put(propertyId,sPropertyConfig);
}
sPropertyConfigByPIDMapTmp = sPropertyConfigByPIDMap;
}
public static SPropertyConfig getsPropertyConfigByPID(int propertyId) {
return sPropertyConfigByPIDMap.get(propertyId);
}
public int getId() {
public int getId() {
return id;
}
@ -31,13 +45,11 @@ public class SPropertyConfig implements BaseConfig {
return propertyId;
}
public String getName() {
return name;
public int getStyle() {
return style;
}
public String getInfo() {
return info;
public float getScore() {
return score;
}
}

View File

@ -0,0 +1,49 @@
package com.ljsd.jieling.logic.dao;
import com.ljsd.common.mogodb.MongoBase;
import java.util.HashMap;
import java.util.Map;
public class Pokemon extends MongoBase {
private int id;
private Map<Integer,Integer> comonpentsLevelMap; // 组件进阶信息
private int allStage;
public Pokemon(){}
public Pokemon(int id){
this.id = id;
this.comonpentsLevelMap = new HashMap<>();
}
public void upComonpentLevel(int comonpentId) throws Exception {
int level =1;
Integer integer = this.comonpentsLevelMap.get(comonpentId);
if( integer != null){
level = integer+1 ;
}
updateString("comonpentsLevelMap."+comonpentId,level);
this.comonpentsLevelMap.put(comonpentId,level);
}
public int getAllStage() {
return allStage;
}
public void setAllStage(int allStage) throws Exception {
updateString("allStage."+allStage,allStage);
this.allStage = allStage;
}
public int getId() {
return id;
}
public Map<Integer, Integer> getComonpentsLevelMap() {
return comonpentsLevelMap;
}
}

View File

@ -0,0 +1,20 @@
package com.ljsd.jieling.logic.dao;
import com.ljsd.common.mogodb.MongoBase;
import java.util.Map;
public class PokemonManager extends MongoBase {
private Map<Integer,Pokemon> pokemonMap;
public void addPokemon(Pokemon pokemon) throws Exception {
updateString("pokemonMap." + pokemon.getId(),pokemon);
pokemonMap.put(pokemon.getId(),pokemon);
}
public Map<Integer, Pokemon> getPokemonMap() {
return pokemonMap;
}
}

View File

@ -23,6 +23,8 @@ public class User extends MongoRoot {
private AdventureManager adventureManager;
private PokemonManager pokemonManager;
public User(int uid, PlayerManager playerManager, ItemManager itemManager,
@ -37,6 +39,7 @@ public class User extends MongoRoot {
this.mailManager = new MailManager();
this.equipManager = new EquipManager();
this.adventureManager = new AdventureManager();
this.pokemonManager = new PokemonManager();
//綁定关系
this.playerManager.init(this, "playerManager", false);
@ -47,6 +50,7 @@ public class User extends MongoRoot {
this.mailManager.init(this,"mailManager",false);
this.equipManager.init(this,"equipManager",false);
this.adventureManager.init(this,"adventureManager",false);
this.pokemonManager.init(this,"pokemonManager",false);
}
public User(){
@ -57,6 +61,7 @@ public class User extends MongoRoot {
this.mapManager = new MapManager();
this.equipManager = new EquipManager();
this.adventureManager = new AdventureManager();
this.pokemonManager = new PokemonManager();
//綁定关系
playerManager.init(this, "playerManager", false);
itemManager.init(this, "itemManager", false);
@ -64,6 +69,7 @@ public class User extends MongoRoot {
mapManager.init(this, "mapManager", false);
equipManager.init(this,"equipManager",false);
adventureManager.init(this,"adventureManager",false);
adventureManager.init(this,"pokemonManager",false);
}
public static void init(LjsdMongoTemplate ljsdMongoTemplate) {
@ -134,4 +140,8 @@ public class User extends MongoRoot {
public AdventureManager getAdventureManager() {
return adventureManager;
}
public PokemonManager getPokemonManager() {
return pokemonManager;
}
}

View File

@ -125,7 +125,7 @@ public class CombatLogic {
cacheHeroTid.add(templateId);
myRecommendHeroSize++;
}
totalForce += HeroLogic.getInstance().calHeoForce(hero);
totalForce += HeroLogic.getInstance().calHeoForce(user,hero);
}

View File

@ -446,11 +446,17 @@ public class HeroLogic {
}
//todo 计算英雄战斗力 战斗力 = 生命*0.7 + (护甲 + 魔坑)*5 + 攻击 *10 + (暴击率 + 效果命中率 *5 +(属性攻击率 + 属性防御率)*30
public int calHeoForce(Hero hero){
//todo 计算英雄战斗力 战斗力 = 生命*0.7 + (护甲 + 魔坑)*5 + 攻击 *10 + (暴击率 + 效果命中率 + 效果抵抗率 *5 +(属性攻击率 + 属性防御率)*30
public int calHeoForce(User user, Hero hero){
Map<Integer, Integer> heroAllAttribute = calHeroAllAttribute(hero);
double heroBaseForce = heroAllAttribute.get(GlobalsDef.HP_TYPE) * 0.7 + (heroAllAttribute.get(GlobalsDef.PHYSICAL_DEFENCE_TYPE) + heroAllAttribute.get(GlobalsDef.MAGIC_DEFENCE_TYPE)) * 5 + heroAllAttribute.get(GlobalsDef.ATTACK_TYPE) * 10;
//todo 计算装备加成
Collection<String> values = hero.getEquipByPositionMap().values();
EquipManager equipManager = user.getEquipManager();
for(String equipId:values){
Equip equip = equipManager.getEquipMap().get(equipId);
}
float equipAddForce =0.0f;
int result = (int) (heroBaseForce + equipAddForce);
return result;
@ -511,6 +517,90 @@ public class HeroLogic {
}
//异妖相关 组件放置升级
public void pokenmonUpLevel(ISession session,int pokemonId,int comonpentId) throws Exception {
int uid = session.getUid();
User user = UserManager.getUser(uid);
PokemonManager pokemonManager = user.getPokemonManager();
Pokemon pokemon = pokemonManager.getPokemonMap().get(pokemonId);
if(pokemon == null){
return;
}
Integer oldLevel = pokemon.getComonpentsLevelMap().get(comonpentId);
if (checkPokemonComonpent(pokemonId, comonpentId,oldLevel, user)){
return;
}
pokemon.upComonpentLevel(comonpentId);
//发送成功消息
}
// 异妖进阶
public void pokemonAdvanced(ISession session,int pokemonId) throws Exception {
int uid = session.getUid();
User user = UserManager.getUser(uid);
PokemonManager pokemonManager = user.getPokemonManager();
Pokemon pokemon = pokemonManager.getPokemonMap().get(pokemonId);
if(pokemon == null){
return;
}
SDifferDemonsConfig sDifferDemonsConfig = SDifferDemonsConfig.getsDifferDemonsConfigByPokenID(pokemonId);
int[] comonpentList = sDifferDemonsConfig.getComonpentList();
Map<Integer, Integer> comonpentsLevelMap = pokemon.getComonpentsLevelMap();
Map<Integer, SDifferDemonsStageConfig> sDifferDemonsStageConfigMap = SDifferDemonsStageConfig.getsDifferDemonsStageConfigMap(pokemonId);
SDifferDemonsStageConfig sDifferDemonsStageConfig = sDifferDemonsStageConfigMap.get(pokemon.getAllStage() + 1);
int comonpentPreStage = sDifferDemonsStageConfig.getComonpentPreStage();
boolean isEnough = true;
for(int i=0;i<comonpentList.length;i++){
if(!comonpentsLevelMap.containsKey(comonpentList[i])){
isEnough =false;
break;
}
if(comonpentsLevelMap.get(comonpentList[i]) < comonpentPreStage){
isEnough =false;
break;
}
}
if(!isEnough){
return;
}
pokemon.setAllStage(pokemon.getAllStage()+1);
//发送成功消息
}
private boolean checkPokemonComonpent(int pokemonId, int comonpentId, int oldLevel,User user) throws Exception {
SDifferDemonsConfig sDifferDemonsConfig = SDifferDemonsConfig.getsDifferDemonsConfigByPokenID(pokemonId);
int[] comonpentList = sDifferDemonsConfig.getComonpentList();
boolean isHave = false;
for(int i=0;i<comonpentList.length;i++){
if( comonpentList[i] == comonpentId){
isHave = true;
break;
}
}
if(!isHave){
return true;
}
Map<Integer, SDifferDemonsComonpentsConfig> sDifferDemonsComonpentsConfigMap = SDifferDemonsComonpentsConfig.getsDifferDemonsComonpentsConfigMap(comonpentId);
if(!sDifferDemonsComonpentsConfigMap.containsKey(oldLevel+1)){
return true;
}
SDifferDemonsComonpentsConfig sDifferDemonsComonpentsConfig = sDifferDemonsComonpentsConfigMap.get(oldLevel + 1);
int[][] cost = sDifferDemonsComonpentsConfig.getCost();
boolean enoughCost = ItemUtil.itemCost(user, cost);
if(!enoughCost){
return true;
}
return false;
}
}