|
|
@@ -145,7 +145,7 @@ public class ComCharactersDiscoveryServiceImpl extends CommonServiceImpl<ComChar
|
|
|
List<ComCharactersClientVo> comCharactersClientVos = characters.stream().map(e -> {
|
|
|
ComCharactersClientVo comCharactersClientVo = new ComCharactersClientVo();
|
|
|
comCharactersClientVo = CopyUtil.copy(e, ComCharactersClientVo.class);
|
|
|
- comCharactersClientVo = comCharactersService.addSubResourcesClientListToVO(comCharactersClientVo, e.getModelId(),e.getModelColor());
|
|
|
+ comCharactersClientVo = comCharactersService.addSubResourcesClientListToVO(comCharactersClientVo, e.getModelId(), e.getModelColor());
|
|
|
//Integer[] _modelIdArray = Convert.toIntArray(e.getModelId().split("\\|"));
|
|
|
////查询position
|
|
|
//List<ExcelCharacterCreate> _genList = excelCharacterCreateService.findByModelIn(_modelIdArray);
|
|
|
@@ -168,7 +168,7 @@ public class ComCharactersDiscoveryServiceImpl extends CommonServiceImpl<ComChar
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 添加角色
|
|
|
+ * 添加角色,根据当前位置,设置工作类型,就是当前professional(1,2,3,4)
|
|
|
*
|
|
|
* @param charactersVo
|
|
|
* @param sceneId
|
|
|
@@ -240,6 +240,9 @@ public class ComCharactersDiscoveryServiceImpl extends CommonServiceImpl<ComChar
|
|
|
}
|
|
|
comCharacterDiscovery.setUpdateTime(DateUtil.date());
|
|
|
}
|
|
|
+ //保存一次用户修改的当前职业工作标签,工作结算时候,重置一次为零
|
|
|
+ comCharactersService.save(charactersVo);
|
|
|
+
|
|
|
ComCharactersDiscoveryVo comCharacterDiscoveryVo = CopyUtil.copy(comCharacterDiscovery, ComCharactersDiscoveryVo.class);
|
|
|
super.save(comCharacterDiscoveryVo);
|
|
|
ComCharactersDiscoveryClientVo comCharacterDiscoveryClientVo = CopyUtil.copy(comCharacterDiscoveryVo, ComCharactersDiscoveryClientVo.class);
|
|
|
@@ -427,7 +430,8 @@ public class ComCharactersDiscoveryServiceImpl extends CommonServiceImpl<ComChar
|
|
|
ComCharactersVo comCharactersVo = CopyUtil.copy(characters.get(i), ComCharactersVo.class); //comCharactersService.getVo(Integer.parseInt(roleId[i]));
|
|
|
//根据当前角色的职业计算
|
|
|
Integer _professional = comCharactersVo.getProfessional();
|
|
|
- if (_professional.equals(GameEnum.PRO_SKIlLS.getValue())) {
|
|
|
+ if (_professional.equals(GameEnum.PRO_WORK_TRANSPORT.getValue())) {
|
|
|
+ //_professional.equals(GameEnum.PRO_SKIlLS.getValue()
|
|
|
//运输工
|
|
|
skillChar = comCharactersVo;
|
|
|
//计算当前运输格数,即获取到物品的上限
|
|
|
@@ -436,10 +440,13 @@ public class ComCharactersDiscoveryServiceImpl extends CommonServiceImpl<ComChar
|
|
|
if (_selfLimit > outTransUpperLimit) {
|
|
|
outTransUpperLimit = _selfLimit;
|
|
|
}
|
|
|
- } else if (_professional.equals(GameEnum.PRO_POWER.getValue())) {
|
|
|
+ } else if (_professional.equals(GameEnum.PRO_WORK_MINING.getValue()) ||
|
|
|
+ _professional.equals(GameEnum.PRO_WORK_LUMBERING.getValue())) {
|
|
|
+ //_professional.equals(GameEnum.PRO_POWER.getValue())
|
|
|
//矿工
|
|
|
powerChar = comCharactersVo;
|
|
|
- } else if (_professional.equals(GameEnum.PRO_INTELLIGENCE.getValue())) {
|
|
|
+ } else if (_professional.equals(GameEnum.PRO_WORK_PROSPECT.getValue())) {
|
|
|
+ //_professional.equals(GameEnum.PRO_INTELLIGENCE.getValue())
|
|
|
//勘测地形
|
|
|
intelliChar = comCharactersVo;
|
|
|
}
|
|
|
@@ -518,8 +525,8 @@ public class ComCharactersDiscoveryServiceImpl extends CommonServiceImpl<ComChar
|
|
|
log.info("增加货币");
|
|
|
//todo 货币数据未给出,暂定100
|
|
|
ExcelParameterVo _currency = excelParameterService.getVo(8);
|
|
|
- int _num =(int) Math.round(_currency.getValue());
|
|
|
- discoveryVo.setRewardCurrency(discoveryVo.getRewardCurrency() == null ? _num: discoveryVo.getRewardCurrency() + _num);
|
|
|
+ int _num = (int) Math.round(_currency.getValue());
|
|
|
+ discoveryVo.setRewardCurrency(discoveryVo.getRewardCurrency() == null ? _num : discoveryVo.getRewardCurrency() + _num);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -529,7 +536,7 @@ public class ComCharactersDiscoveryServiceImpl extends CommonServiceImpl<ComChar
|
|
|
//完结后三个分别增加经验
|
|
|
//收获经验 todo 处理人物升级等
|
|
|
ComCharactersClientVo comCharactersClientVo = upgradeComCharactersVo(powerChar, excelCharacterLevelVo, outExp);
|
|
|
- comCharactersClientVo = comCharactersService.addSubResourcesClientListToVO(comCharactersClientVo, powerChar.getModelId(),powerChar.getModelColor());
|
|
|
+ comCharactersClientVo = comCharactersService.addSubResourcesClientListToVO(comCharactersClientVo, powerChar.getModelId(), powerChar.getModelColor());
|
|
|
comCharactersClientVos.add(comCharactersClientVo);
|
|
|
}
|
|
|
if (intelliChar != null) {
|
|
|
@@ -566,14 +573,14 @@ public class ComCharactersDiscoveryServiceImpl extends CommonServiceImpl<ComChar
|
|
|
//完结后三个分别增加经验
|
|
|
//收获经验 todo 处理人物升级等
|
|
|
ComCharactersClientVo comCharactersClientVo = upgradeComCharactersVo(intelliChar, excelCharacterLevelVo, outExp);
|
|
|
- comCharactersClientVo = comCharactersService.addSubResourcesClientListToVO(comCharactersClientVo, intelliChar.getModelId(),intelliChar.getModelColor());
|
|
|
+ comCharactersClientVo = comCharactersService.addSubResourcesClientListToVO(comCharactersClientVo, intelliChar.getModelId(), intelliChar.getModelColor());
|
|
|
comCharactersClientVos.add(comCharactersClientVo);
|
|
|
}
|
|
|
if (skillChar != null) {
|
|
|
//完结后三个分别增加经验
|
|
|
//收获经验 todo 处理人物升级等
|
|
|
ComCharactersClientVo comCharactersClientVo = upgradeComCharactersVo(skillChar, excelCharacterLevelVo, outExp);
|
|
|
- comCharactersClientVo = comCharactersService.addSubResourcesClientListToVO(comCharactersClientVo, skillChar.getModelId(),skillChar.getModelColor());
|
|
|
+ comCharactersClientVo = comCharactersService.addSubResourcesClientListToVO(comCharactersClientVo, skillChar.getModelId(), skillChar.getModelColor());
|
|
|
comCharactersClientVos.add(comCharactersClientVo);
|
|
|
}
|
|
|
ComCharactersDiscoveryClientVo discoveryClientVo = CopyUtil.copy(discoveryVo, ComCharactersDiscoveryClientVo.class);
|
|
|
@@ -595,6 +602,19 @@ public class ComCharactersDiscoveryServiceImpl extends CommonServiceImpl<ComChar
|
|
|
discoveryVo.setUpdateTime(DateUtil.date());
|
|
|
//todo 工作完成后,isStop
|
|
|
if (discoveryVo.getIsWork().equals(GameEnum.WORK_COMPLETE.getValue()) && isStop) {
|
|
|
+ //重置人物角色职业工作状态
|
|
|
+ if(powerChar!=null){
|
|
|
+ powerChar.setProfessional(GameEnum.PRO_WORK_NORMAL.getValue());
|
|
|
+ comCharactersService.save(powerChar);
|
|
|
+ }
|
|
|
+ if(intelliChar!=null){
|
|
|
+ intelliChar.setProfessional(GameEnum.PRO_WORK_NORMAL.getValue());
|
|
|
+ comCharactersService.save(intelliChar);
|
|
|
+ }
|
|
|
+ if(skillChar!=null){
|
|
|
+ skillChar.setProfessional(GameEnum.PRO_WORK_NORMAL.getValue());
|
|
|
+ comCharactersService.save(skillChar);
|
|
|
+ }
|
|
|
super.delete(discoveryVo.getId());
|
|
|
} else {
|
|
|
//todo 后续优化,不用每次都存储
|
|
|
@@ -682,7 +702,8 @@ public class ComCharactersDiscoveryServiceImpl extends CommonServiceImpl<ComChar
|
|
|
for (int i = 0; i < clientVo.getSubCharacters().size(); i++) {
|
|
|
ComCharactersClientVo charactersClientVo = voList.get(i);
|
|
|
Integer _professional = charactersClientVo.getProfessional();
|
|
|
- if (_professional.equals(GameEnum.PRO_SKIlLS.getValue())) {
|
|
|
+ if (_professional.equals(GameEnum.PRO_WORK_TRANSPORT.getValue())) {
|
|
|
+ //_professional.equals(GameEnum.PRO_SKIlLS.getValue())
|
|
|
//运输工
|
|
|
//计算当前运输格数,即获取到物品的上限
|
|
|
//场景的最低运输数量
|
|
|
@@ -690,12 +711,15 @@ public class ComCharactersDiscoveryServiceImpl extends CommonServiceImpl<ComChar
|
|
|
if (_selfLimit > outTransUpperLimit) {
|
|
|
clientVo.setTransQuantity(_selfLimit);
|
|
|
}
|
|
|
- } else if (_professional.equals(GameEnum.PRO_POWER.getValue())) {
|
|
|
+ } else if (_professional.equals(GameEnum.PRO_WORK_MINING.getValue()) ||
|
|
|
+ _professional.equals(GameEnum.PRO_WORK_LUMBERING.getValue())) {
|
|
|
+ //_professional.equals(GameEnum.PRO_POWER.getValue())
|
|
|
//矿工
|
|
|
ExcelWorkPro excelWorkPro = getRatioByPowerAndSceneIdAndList(charactersClientVo.getPower(), clientVo.getSceneId(), workProList);
|
|
|
//todo 这个概率可能还要计算
|
|
|
clientVo.setPowerPro(excelWorkPro.getProbability());
|
|
|
- } else if (_professional.equals(GameEnum.PRO_INTELLIGENCE.getValue())) {
|
|
|
+ } else if (_professional.equals(GameEnum.PRO_WORK_PROSPECT.getValue())) {
|
|
|
+ //_professional.equals(GameEnum.PRO_INTELLIGENCE.getValue())
|
|
|
//勘测地形
|
|
|
clientVo.setIntelliPro(gotoNextSceneRatioAndList(clientVo.getDiscoverLevel(), charactersClientVo.getIntelligence(), workProList));
|
|
|
}
|