|
@@ -19,8 +19,10 @@
|
|
package com.iohao.mmo.equip.service;
|
|
package com.iohao.mmo.equip.service;
|
|
|
|
|
|
import com.iohao.mmo.common.config.GameCode;
|
|
import com.iohao.mmo.common.config.GameCode;
|
|
|
|
+import com.iohao.mmo.equip.entity.EquipEntry;
|
|
import com.iohao.mmo.equip.entity.EquipPropertyElse;
|
|
import com.iohao.mmo.equip.entity.EquipPropertyElse;
|
|
import com.iohao.mmo.equip.entity.Equip;
|
|
import com.iohao.mmo.equip.entity.Equip;
|
|
|
|
+import com.iohao.mmo.equip.entity.EquipTemplate;
|
|
import com.iohao.mmo.equip.kit.EquipRandomKit;
|
|
import com.iohao.mmo.equip.kit.EquipRandomKit;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
import org.springframework.data.mongodb.core.MongoTemplate;
|
|
import org.springframework.data.mongodb.core.MongoTemplate;
|
|
@@ -42,6 +44,7 @@ import java.util.List;
|
|
@AllArgsConstructor
|
|
@AllArgsConstructor
|
|
public class EquipService {
|
|
public class EquipService {
|
|
final MongoTemplate mongoTemplate;
|
|
final MongoTemplate mongoTemplate;
|
|
|
|
+ final EquipTemplateService equipTemplateService;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 通过装备id查询装备
|
|
* 通过装备id查询装备
|
|
@@ -51,7 +54,13 @@ public class EquipService {
|
|
public Equip findById(String id) {
|
|
public Equip findById(String id) {
|
|
return mongoTemplate.findById(id, Equip.class);
|
|
return mongoTemplate.findById(id, Equip.class);
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 保存装备
|
|
|
|
+ * @param equip 装备
|
|
|
|
+ */
|
|
|
|
+ public void save(Equip equip) {
|
|
|
|
+ mongoTemplate.save(equip);
|
|
|
|
+ }
|
|
/**
|
|
/**
|
|
* 根据用户查找所有装备
|
|
* 根据用户查找所有装备
|
|
* @param userId 用户id
|
|
* @param userId 用户id
|
|
@@ -76,25 +85,27 @@ public class EquipService {
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
- * 重新随机总属性点(鉴定装备)
|
|
|
|
|
|
+ * 重新随机词条
|
|
* @param id 装备id
|
|
* @param id 装备id
|
|
* @param excellentRate 增加的极品率
|
|
* @param excellentRate 增加的极品率
|
|
*/
|
|
*/
|
|
public Equip resetEquip(String id, BigDecimal excellentRate){
|
|
public Equip resetEquip(String id, BigDecimal excellentRate){
|
|
-// Equip equip = findById(id);
|
|
|
|
-// GameCode.objNotFound.assertTrue(equip!=null);
|
|
|
|
-//
|
|
|
|
-// int randomMin = equip.getTotalAttrMin();
|
|
|
|
-// int randomMax = equip.getTotalAttrMax();
|
|
|
|
-// //本次是否生成极品
|
|
|
|
-// boolean excellentFlag = EquipRandomKit.isExcellent(excellentRate);
|
|
|
|
-// //品质
|
|
|
|
-// equip.setQuality(excellentFlag?2:1);
|
|
|
|
-// //额外属性值
|
|
|
|
-// int newAttrTotal = EquipRandomKit.randomFromExcellent(randomMin,randomMax,excellentFlag);
|
|
|
|
-// // 直接替换掉原装备的属性值
|
|
|
|
-// return replaceEquipAttr(equip,newAttrTotal);
|
|
|
|
- return null;
|
|
|
|
|
|
+ Equip equip = findById(id);
|
|
|
|
+ GameCode.objNotFound.assertTrue(equip!=null);
|
|
|
|
+ //重新随机固定属性的具体值
|
|
|
|
+ equipTemplateService.resetFixedEntryValue(
|
|
|
|
+ equip.getLevel(),equip.getEquipPropertyFixedList());
|
|
|
|
+ //重新生成随机属性
|
|
|
|
+ List<EquipEntry> equipRandomEntryList =
|
|
|
|
+ equipTemplateService.resetRandomEntryList(
|
|
|
|
+ equip.getEquipPropertyRandomMin(),
|
|
|
|
+ equip.getEquipPropertyRandomMax(),
|
|
|
|
+ equip.getLevel(),
|
|
|
|
+ equip.getPosition()
|
|
|
|
+ );
|
|
|
|
+ equip.setEquipPropertyRandomList(equipRandomEntryList);
|
|
|
|
+ save(equip);
|
|
|
|
+ return equip;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|