Merge branch 'master' of http://60.1.1.230/backend/jieling_server
commit
c7e522bae8
|
@ -1,63 +1,67 @@
|
|||
Id EventsId Order Contents Reward Jump OpenRules
|
||||
int int int mut,int#int,2 mut,int#int,2 mut,int#int,2 mut,int#int,2
|
||||
1 101001 1 1#10101 1 null null
|
||||
2 101002 1 1#10102 1 null null
|
||||
3 101003 1 1#10103 1 null null
|
||||
4 101004 1 3#1200#1|6#100 2#0 null null
|
||||
5 101005 1 11#0|6#1 null null null
|
||||
6 101006 1 11#102|6#1 null null null
|
||||
7 101007 0 3#2#0|6#100 null 1#1 null
|
||||
8 101007 1 3#2#0|6#100 null 1#2 null
|
||||
9 101007 2 3#2#0|6#100 null 1#3 null
|
||||
10 101007 3 null null 1#4 null
|
||||
11 101007 4 null null 1#5 null
|
||||
12 101007 5 3#2#0|6#100 null 1#6 null
|
||||
13 101007 6 null null 1#7 null
|
||||
14 101007 7 null null 1#8 null
|
||||
15 101007 8 null null 1#9 null
|
||||
16 101007 9 null null 1#10 null
|
||||
17 101007 10 null null 1#11 null
|
||||
18 101007 11 null null 1#12 null
|
||||
19 101007 12 null null 1#13 null
|
||||
20 101007 13 null null 1#14 null
|
||||
21 101007 14 null null 1#15 null
|
||||
22 101007 15 null null 1#16 null
|
||||
23 101007 16 null null 1#17 null
|
||||
24 101007 17 null null 1#18 null
|
||||
25 101007 18 null null 1#19 null
|
||||
26 101007 19 null null null null
|
||||
27 101008 0 null null 1#1 null
|
||||
28 101008 1 null null 1#2 null
|
||||
29 101008 2 null null 1#3 null
|
||||
30 101008 3 null null 1#4 null
|
||||
31 101008 4 null null 1#5 null
|
||||
32 101008 5 null null 1#6 null
|
||||
33 101008 6 null null 1#7 null
|
||||
34 101008 7 null null 1#8 null
|
||||
35 101008 8 null null 1#9 null
|
||||
36 101008 9 null null 1#10 null
|
||||
37 101008 10 null null 1#11 null
|
||||
38 101008 11 null null 1#12 null
|
||||
39 101008 12 null null 1#13 null
|
||||
40 101008 13 null null 1#14 null
|
||||
41 101008 14 null null 1#15 null
|
||||
42 101008 15 null null 1#16 null
|
||||
43 101008 16 null null 1#17 null
|
||||
44 101008 17 null null 1#18 null
|
||||
45 101008 18 null null 1#19 null
|
||||
46 101008 19 null null 1#20 null
|
||||
47 101008 20 null null 1#21 null
|
||||
48 101008 21 null null 1#22 null
|
||||
49 101008 22 null null 1#23 null
|
||||
50 101008 23 null null 1#24 null
|
||||
51 101008 24 null null 1#25 null
|
||||
52 101008 25 null null 1#26 null
|
||||
53 101008 26 null null 1#27 null
|
||||
54 101008 27 null null 1#28 null
|
||||
55 101008 28 null null 1#29 null
|
||||
56 101008 29 null null 1#30 null
|
||||
57 101008 30 null null 1#31 null
|
||||
58 101008 31 null null 1#32 null
|
||||
59 101008 32 null null null null
|
||||
60 101009 1 null null null null
|
||||
61 101010 1 null null null null
|
||||
Id EventsId Order Contents Reward Jump
|
||||
int int int mut,int#int,2 mut,int#int,2 mut,int#int,2
|
||||
1 101001 0 1#10101 1 null
|
||||
2 101002 0 1#10102 1 null
|
||||
3 101003 0 1#10103 1 null
|
||||
4 101004 0 3#1200#1|6#100 2#0 null
|
||||
5 101005 0 11#0|6#1 null null
|
||||
6 101006 0 11#102|6#1 null null
|
||||
7 101007 0 3#2#0|6#100 10100700 1#1
|
||||
8 101007 1 3#2#0|6#100 10100701 1#2
|
||||
9 101007 2 3#2#0|6#100 10100702 1#3
|
||||
10 101007 3 3#2#0 10100703 1#4
|
||||
11 101007 4 3#2#0 10100704 1#5
|
||||
12 101007 5 3#2#0|6#100 10100705 1#6
|
||||
13 101007 6 3#2#0 10100706 1#7
|
||||
14 101007 7 3#2#0|6#100 10100707 1#8
|
||||
15 101007 8 3#2#0 10100708 1#9
|
||||
16 101007 9 3#2#0 10100709 1#10
|
||||
17 101007 10 3#2#0 10100710 1#11
|
||||
18 101007 11 3#2#0 10100711 1#12
|
||||
19 101007 12 3#2#0 10100712 1#13
|
||||
20 101007 13 3#2#0 10100713 1#14
|
||||
21 101007 14 3#2#0 10100714 1#15
|
||||
22 101007 15 1#10101 10100715 1#16
|
||||
23 101007 16 null 10100716 1#17
|
||||
24 101007 17 3#2#0 10100717 1#18
|
||||
25 101007 18 3#2#0 10100718 1#19
|
||||
26 101007 19 null 10100719 1#20
|
||||
27 101007 20 3#2#0 10100720 1#21
|
||||
28 101007 21 null 10100721 1#22
|
||||
29 101007 22 3#2#0 10100722 null
|
||||
30 101008 0 3#2#0|6#100 10100800 1#1
|
||||
31 101008 1 3#2#0|6#100 10100801 1#2
|
||||
32 101008 2 3#2#0|6#100 10100802 1#3
|
||||
33 101008 3 3#2#0|6#100 10100803 1#4
|
||||
34 101008 4 3#2#0|6#100 10100804 1#5
|
||||
35 101008 5 3#2#0 10100805 1#6
|
||||
36 101008 6 3#2#0 10100806 1#7
|
||||
37 101008 7 3#2#0|6#100 10100807 1#8
|
||||
38 101008 8 3#2#0 10100808 1#9
|
||||
39 101008 9 3#2#0 10100809 1#10
|
||||
40 101008 10 3#2#0 10100810 1#11
|
||||
41 101008 11 3#2#0 10100811 1#12
|
||||
42 101008 12 3#2#0 10100812 1#13
|
||||
43 101008 13 3#2#0 10100813 1#14
|
||||
44 101008 14 3#2#0 10100814 1#15
|
||||
45 101008 15 3#2#0 10100815 1#16
|
||||
46 101008 16 3#2#0 10100816 1#17
|
||||
47 101008 17 3#2#0 10100817 1#18
|
||||
48 101008 18 3#2#0 10100818 1#19
|
||||
49 101008 19 3#2#0 10100819 1#20
|
||||
50 101008 20 3#2#0 10100820 1#21
|
||||
51 101008 21 3#2#0 10100821 1#22
|
||||
52 101008 22 3#2#0 10100822 1#23
|
||||
53 101008 23 3#2#0 10100823 1#24
|
||||
54 101008 24 3#2#0 10100824 1#25
|
||||
55 101008 25 3#2#0 10100825 1#26
|
||||
56 101008 26 3#2#0 10100826 1#27
|
||||
57 101008 27 3#2#0 10100827 1#28
|
||||
58 101008 28 3#2#0|6#100 10100828 1#29
|
||||
59 101008 29 3#2#0 10100829 1#30
|
||||
60 101008 30 3#2#0 10100830 1#31
|
||||
61 101008 31 3#2#0 10100831 1#32
|
||||
62 101008 32 3#2#0|6#100 10100832 null
|
||||
63 101009 0 3#2#0 null null
|
||||
64 101010 0 3#2#0 null null
|
||||
65 101011 0 3#2#0 null null
|
||||
|
|
|
@ -5,6 +5,7 @@ import com.ljsd.jieling.logic.Table;
|
|||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
|
||||
@Table(name = "HeroRankupConfig")
|
||||
public class SCHeroRankUpConfig implements BaseConfig{
|
||||
|
@ -33,7 +34,7 @@ public class SCHeroRankUpConfig implements BaseConfig{
|
|||
for(SCHeroRankUpConfig scHeroRankUpConfig: config.values()){
|
||||
int type = scHeroRankUpConfig.getType();
|
||||
if(!result.containsKey(type)){
|
||||
result.put(type,new HashMap<>());
|
||||
result.put(type,new TreeMap<>());
|
||||
}
|
||||
if(type == 1){
|
||||
result.get(type).put(scHeroRankUpConfig.getLimitLevel(),scHeroRankUpConfig);
|
||||
|
|
|
@ -14,13 +14,23 @@ public class SGameSetting implements BaseConfig {
|
|||
|
||||
private int[] speedFormula;
|
||||
|
||||
private static SGameSetting gameSetting;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void init() throws Exception {
|
||||
|
||||
Map<Integer, SGameSetting> config = STableManager.getConfig(SGameSetting.class);
|
||||
gameSetting = config.get(1);
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
public static SGameSetting getGameSetting() {
|
||||
return gameSetting;
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
|
@ -32,11 +42,11 @@ public class SGameSetting implements BaseConfig {
|
|||
return speedFormula;
|
||||
}
|
||||
|
||||
public float calSpeed(float speed){
|
||||
float result = 0.0f;
|
||||
public float calSpeed(float speed,int level){
|
||||
float result = speed;
|
||||
int length = speedFormula.length;
|
||||
for(int i=0;i< speedFormula.length;i++){
|
||||
double pow = Math.pow(speed, --length);
|
||||
double pow = Math.pow(level, --length);
|
||||
result += speedFormula[i]*pow;
|
||||
}
|
||||
return result;
|
||||
|
|
|
@ -6,4 +6,11 @@ public interface GlobalsDef {
|
|||
int BREAK_TYPE =1 ; //1突破
|
||||
int UP_STAR_TYPE = 2; //2升星
|
||||
|
||||
//英雄属性
|
||||
int HP_TYPE =1;
|
||||
int ATTACK_TYPE =2;
|
||||
int PhysicalDefence_TYPE =3;
|
||||
int MagicDefence_TYPE =4;
|
||||
int SPEED_TYPE =5;
|
||||
|
||||
}
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package com.ljsd.jieling.handler.map;
|
||||
|
||||
public class Cell {
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
|
||||
public class Cell extends MongoBase {
|
||||
|
||||
private int cellId;
|
||||
|
||||
|
@ -8,6 +10,9 @@ public class Cell {
|
|||
|
||||
private int state;
|
||||
|
||||
public Cell() {
|
||||
}
|
||||
|
||||
public Cell(int cellId, int eventId, int state) {
|
||||
this.cellId = cellId;
|
||||
this.eventId = eventId;
|
||||
|
@ -18,23 +23,16 @@ public class Cell {
|
|||
return cellId;
|
||||
}
|
||||
|
||||
public void setCellId(int cellId) {
|
||||
this.cellId = cellId;
|
||||
}
|
||||
|
||||
public int getEventId() {
|
||||
return eventId;
|
||||
}
|
||||
|
||||
public void setEventId(int eventId) {
|
||||
this.eventId = eventId;
|
||||
}
|
||||
|
||||
public int getState() {
|
||||
return state;
|
||||
}
|
||||
|
||||
public void setState(int state) {
|
||||
public void setState(int state) throws Exception {
|
||||
updateString("state", state);
|
||||
this.state = state;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ import com.ljsd.jieling.config.SCMapEventsConfig;
|
|||
import com.ljsd.jieling.config.SCMapEventsItemConfig;
|
||||
import com.ljsd.jieling.db.redis.RedisKey;
|
||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||
import com.ljsd.jieling.logic.dao.Hero;
|
||||
import com.ljsd.jieling.logic.dao.MapManager;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
|
@ -14,6 +15,7 @@ import com.ljsd.jieling.protocols.MapInfoProto;
|
|||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
import com.ljsd.jieling.util.CellUtil;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import com.ljsd.jieling.util.MathUtils;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
@ -50,6 +52,17 @@ public class MapLogic {
|
|||
User user = UserManager.getUser(uid);
|
||||
MapManager mapManager = user.getMapManager();
|
||||
if (mapManager.getCurMapId() == 0) {
|
||||
// if (heroInfosList == null || heroInfosList.isEmpty()) {
|
||||
// return;
|
||||
// }
|
||||
Map<String, Integer> heroes = new HashMap<>(heroInfosList.size());
|
||||
for (MapInfoProto.HeroInfo heroInfo : heroInfosList) {
|
||||
heroes.put(heroInfo.getHeroId(), heroInfo.getHeroHp());
|
||||
}
|
||||
if (heroes.size() != heroInfosList.size()) {
|
||||
return;
|
||||
}
|
||||
mapManager.setHeroHps(heroes);
|
||||
user.getPlayerInfoManager().setMapId(101);
|
||||
mapManager.setCurMapId(101);
|
||||
initMap(mapManager);
|
||||
|
@ -132,22 +145,6 @@ public class MapLogic {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 使用物品(包括侦察和吃buff)
|
||||
*/
|
||||
public void useItem(int uid){
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 离开
|
||||
*/
|
||||
public void leave(int uid){
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 更新事件点
|
||||
|
@ -155,49 +152,71 @@ public class MapLogic {
|
|||
* @param session
|
||||
* @param xy
|
||||
*/
|
||||
public void updateEvent(ISession session, int xy, int bigEventId, int choice, List<Integer> cells, MessageTypeProto.MessageType messageType) throws Exception {
|
||||
public void updateEvent(ISession session, int xy, int choice, List<Integer> cells, MessageTypeProto.MessageType messageType) throws Exception {
|
||||
Set<Integer> cellSet = new HashSet<>(cells);
|
||||
if (cells.size() != cellSet.size()) {
|
||||
LOGGER.info("cells has repeated");
|
||||
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "");
|
||||
return;
|
||||
}
|
||||
int uid = session.getUid();
|
||||
User user = UserManager.getUser(uid);
|
||||
MapManager mapManager = user.getMapManager();
|
||||
if (mapManager.getMapInfo() == null) {
|
||||
LOGGER.info("mapManager.getMapInfo() == null");
|
||||
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "");
|
||||
return;
|
||||
}
|
||||
Cell cell = mapManager.getMapInfo().get(xy);
|
||||
if (cell == null) {
|
||||
LOGGER.info("xy is wrong =>{}", xy);
|
||||
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "");
|
||||
return;
|
||||
}
|
||||
mapManager.setCurXY(xy);
|
||||
if (cell.getEventId() != bigEventId) {
|
||||
LOGGER.info("no this event eventId=>{}", bigEventId);
|
||||
return;
|
||||
}
|
||||
int bigEventId = cell.getEventId();
|
||||
int schedule = cell.getState();
|
||||
if (schedule == -1) {
|
||||
LOGGER.info("event is finished,bigEventId=>{} smallEventId=>{}", bigEventId, -1);
|
||||
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "");
|
||||
return;
|
||||
}
|
||||
SCMapEventsConfig scMapEvent = SCMapEventsConfig.scMapEventMap.get(bigEventId);
|
||||
SCMapEventsItemConfig scMapEventsItemConfig = SCMapEventsItemConfig.scMapEventsItemConfigs.get(bigEventId).get(schedule);
|
||||
Map<Integer, SCMapEventsItemConfig> integerSCMapEventsItemConfigMap = SCMapEventsItemConfig.scMapEventsItemConfigs.get(bigEventId);
|
||||
if (integerSCMapEventsItemConfigMap == null) {
|
||||
LOGGER.info("no this event=>{}", bigEventId);
|
||||
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "");
|
||||
return;
|
||||
}
|
||||
SCMapEventsItemConfig scMapEventsItemConfig = integerSCMapEventsItemConfigMap.get(schedule);
|
||||
if (scMapEventsItemConfig == null) {
|
||||
LOGGER.info("no scMapEventsItemConfig bigEventId=>{} smallEventId=>{}", bigEventId, schedule);
|
||||
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "");
|
||||
return;
|
||||
}
|
||||
int[][] contents = scMapEventsItemConfig.getContents();
|
||||
if (choice < contents.length - 1 || contents.length - 1 < choice) {
|
||||
if (choice < 0 || contents.length < choice) {
|
||||
LOGGER.info("no this choice =>{} scMapEventsItemConfig.getContents()=>{}", choice, scMapEventsItemConfig.getContents());
|
||||
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "");
|
||||
return;
|
||||
}
|
||||
int[] eventArr = contents[choice];
|
||||
int[] eventArr = contents[choice - 1];
|
||||
boolean isSuccess = false;
|
||||
switch (eventArr[0]) {
|
||||
case EventType.fight: {
|
||||
fightStart(uid, bigEventId);
|
||||
isSuccess = true;
|
||||
break;
|
||||
}
|
||||
case EventType.attribute: {
|
||||
|
||||
Map<String, Integer> heroHps = mapManager.getHeroHps();
|
||||
for (Map.Entry<String, Integer> entry : heroHps.entrySet()) {
|
||||
if (entry.getValue() == 0) {
|
||||
continue;
|
||||
}
|
||||
Hero hero = user.getHeroManager().getHero(entry.getKey());
|
||||
// eventArr[1]
|
||||
}
|
||||
isSuccess = true;
|
||||
break;
|
||||
}
|
||||
case EventType.eatBuff:
|
||||
|
@ -206,10 +225,14 @@ public class MapLogic {
|
|||
Map<Integer, Integer> useItems = new HashMap<>();
|
||||
useItems.put(eventArr[1], eventArr[2]);
|
||||
ItemUtil.useItem(user, useItems);
|
||||
isSuccess = true;
|
||||
break;
|
||||
}
|
||||
case EventType.leave: {
|
||||
|
||||
int randomInt = MathUtils.randomInt(100) + 1;
|
||||
if (randomInt <= eventArr[1]) {
|
||||
isSuccess = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case EventType.dialogue: {
|
||||
|
@ -224,19 +247,26 @@ public class MapLogic {
|
|||
return;
|
||||
}
|
||||
}
|
||||
MapInfoProto.MapUpdateEventResponse.Builder mapUpdateEventResponse = MapInfoProto.MapUpdateEventResponse.newBuilder();
|
||||
if (!isSuccess) {
|
||||
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "");
|
||||
return;
|
||||
}
|
||||
if (scMapEventsItemConfig.getJump() == null || scMapEventsItemConfig.getJump().length == 0) {
|
||||
cell.setState(schedule + 1);
|
||||
cell.setState(-1);
|
||||
} else {
|
||||
int[][] jumps = scMapEventsItemConfig.getJump();
|
||||
for (int i = 0; i < jumps.length; i++) {
|
||||
int[] jump = jumps[i];
|
||||
if (jump[0] == choice - 1) {
|
||||
if (jump[0] == choice) {
|
||||
cell.setState(jump[1]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
mapManager.addOrUpdateCell(xy, cell);
|
||||
int[][] reward = scMapEventsItemConfig.getReward();
|
||||
List<CommonProto.Item> rewards = new ArrayList<>();
|
||||
if (reward != null && reward.length > 0) {
|
||||
Map<Integer, Integer> itemMap = new HashMap<>();
|
||||
// ItemUtil.addItem(user, itemMap);
|
||||
|
@ -249,10 +279,15 @@ public class MapLogic {
|
|||
// }
|
||||
// crossMapInfos.get(cMap.getCurMapId()).addAll(cell.getEventIds());
|
||||
// }
|
||||
if (scMapEvent.getStyle() == EventType.portal) {
|
||||
user.getPlayerInfoManager().setMapId(user.getPlayerInfoManager().getMapId() + 1);
|
||||
return;
|
||||
}
|
||||
// if (scMapEvent.getStyle() == EventType.portal) {
|
||||
// user.getPlayerInfoManager().setMapId(user.getPlayerInfoManager().getMapId() + 1);
|
||||
// return;
|
||||
// }
|
||||
mapUpdateEventResponse.setCurXY(xy);
|
||||
mapUpdateEventResponse.setEventSchedule(cell.getState());
|
||||
mapUpdateEventResponse.addAllItems(rewards);
|
||||
LOGGER.info("updateEvent success xy=>{}, state=>{}", xy, cell.getState());
|
||||
MessageUtil.sendMessage(session, 1, messageType.getNumber(), mapUpdateEventResponse.build(), true);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -18,6 +18,6 @@ public class MapUpdateEventRequestHandler extends BaseHandler {
|
|||
public void process(ISession iSession, PacketNetData netData) throws Exception {
|
||||
byte[] message = netData.parseClientProtoNetData();
|
||||
MapInfoProto.MapUpdateEventRequest mapEnterRequest = MapInfoProto.MapUpdateEventRequest.parseFrom(message);
|
||||
MapLogic.getInstance().updateEvent(iSession, mapEnterRequest.getCurXY(), mapEnterRequest.getBigEventId(), mapEnterRequest.getChoice(), mapEnterRequest.getCellsList(), MessageTypeProto.MessageType.MAP_UDPATE_EVENT_RESPONSE);
|
||||
MapLogic.getInstance().updateEvent(iSession, mapEnterRequest.getCurXY(), mapEnterRequest.getChoice(), mapEnterRequest.getCellsList(), MessageTypeProto.MessageType.MAP_UDPATE_EVENT_RESPONSE);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -73,4 +73,13 @@ public class MapManager extends MongoBase {
|
|||
updateString( "typeEight", typeEight);
|
||||
this.typeEight = typeEight;
|
||||
}
|
||||
|
||||
public Map<String, Integer> getHeroHps() {
|
||||
return heroHps;
|
||||
}
|
||||
|
||||
public void setHeroHps(Map<String, Integer> heroHps) throws Exception {
|
||||
updateString( "heroHps", heroHps);
|
||||
this.heroHps = heroHps;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -324,6 +324,65 @@ public class HeroLogic {
|
|||
|
||||
}
|
||||
|
||||
//初始属性*(1+化境增长)*等级系数 + 初始属性*突破系数
|
||||
|
||||
public float calHeroAttribute(Hero hero,int type){
|
||||
int templateId = hero.getTemplateId();
|
||||
SCHero scHero = SCHero.getsCHero().get(templateId);
|
||||
float baseValue = getBaseValueByType(scHero,type);
|
||||
|
||||
float characterLevelPara = SHeroLevlConfig.getsCHero().get(hero.getLevel()).getCharacterLevelPara();
|
||||
//计算化境增长
|
||||
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByTypeOfStar = SCHeroRankUpConfig.getScHeroRankUpConfigByType(GlobalsDef.UP_STAR_TYPE);
|
||||
SCHeroRankUpConfig scHeroRankUpConfig = scHeroRankUpConfigByTypeOfStar.get(hero.getStar());
|
||||
float rankupPara =0.0f;
|
||||
if( scHeroRankUpConfig!=null ){
|
||||
rankupPara = scHeroRankUpConfig.getRankupPara();
|
||||
}
|
||||
//突破系数
|
||||
float breakPara = 0.0f;
|
||||
int heroLevel = hero.getLevel();
|
||||
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByTypOfBreak = SCHeroRankUpConfig.getScHeroRankUpConfigByType(GlobalsDef.BREAK_TYPE);
|
||||
for( SCHeroRankUpConfig scHeroRankUpConfigTmp :scHeroRankUpConfigByTypOfBreak.values()){
|
||||
if( heroLevel >= scHeroRankUpConfigTmp.getLimitLevel() ){
|
||||
breakPara = scHeroRankUpConfigTmp.getRankupPara();
|
||||
}
|
||||
if(heroLevel <= scHeroRankUpConfigTmp.getOpenLevel()){
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(type == GlobalsDef.SPEED_TYPE){
|
||||
return SGameSetting.getGameSetting().calSpeed(baseValue,heroLevel);
|
||||
}
|
||||
|
||||
return baseValue * ( 1 + rankupPara/10000.f) * characterLevelPara * breakPara;
|
||||
|
||||
}
|
||||
|
||||
private float getBaseValueByType(SCHero scHero,int type){
|
||||
float result = 0.0f;
|
||||
switch (type){
|
||||
case GlobalsDef.HP_TYPE:
|
||||
result = scHero.getHp();
|
||||
break;
|
||||
case GlobalsDef.ATTACK_TYPE:
|
||||
result = scHero.getAttack();
|
||||
break;
|
||||
case GlobalsDef.PhysicalDefence_TYPE:
|
||||
result = scHero.getPhysicalDefence();
|
||||
break;
|
||||
case GlobalsDef.MagicDefence_TYPE:
|
||||
result = scHero.getMagicDefence();
|
||||
break;
|
||||
case GlobalsDef.SPEED_TYPE:
|
||||
result = scHero.getSpeed();
|
||||
break;
|
||||
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue