extra drop

back_recharge
wangyuan 2019-10-14 19:59:00 +08:00
parent c87de8e301
commit 539c43c50e
4 changed files with 24 additions and 1 deletions

View File

@ -92,6 +92,7 @@ public interface BIReason {
int SYSTERM_OPEN_REWARD = 56; //系统开放奖励
int HERO_BACK_REWARD = 57; // 英雄回溯返回东西
int EXTRA_DROP_REWARD = 58; // 额外赠送
//道具消耗原因 1000开头
int ADVENTURE_UPLEVEL_CONSUME = 1000; //秘境升级

View File

@ -23,6 +23,7 @@ public interface GlobalItemType {
int CHANGE_NAME_CARD = 12;//改名道具卡
int SOUL_MARK =13;// 魂印
int ESPECIAL_EQUIP = 14;//法宝
int HEAD = 15;//法宝
//物品使用类型

View File

@ -58,7 +58,7 @@ public class DefaultEmptyActivity extends AbstractActivity{
}else if(sGlobalActivity.getType() == ActivityType.EXCHANGEANDDROP){
int shopId = sGlobalActivity.getShopId();
SStoreConfig sStoreConfig = SStoreConfig.getSstoreConfigBuyStore().get(shopId).get(0);
int removeItemId = sStoreConfig.getCost()[0][1];
int removeItemId = sStoreConfig.getCost()[0][0];
Item item = user.getItemManager().getItem(removeItemId);
if(item!=null){
int[][] cost= new int[1][];

View File

@ -444,6 +444,7 @@ public class ItemUtil {
case GlobalItemType.HEAD_FRAME:
case GlobalItemType.SecretBox:
case GlobalItemType.CHANGE_NAME_CARD:
case GlobalItemType.HEAD:
itemType = GlobalItemType.ITEM;
break;
case GlobalItemType.RANDOM_ITME:
@ -518,6 +519,7 @@ public class ItemUtil {
if(sItem.getId() == Global.TREASURE_SCORE){
treasureLevelUp(user);
}
extraDropAop(user,dropBuilder,sItem);
sendToFront.add(CBean2Proto.getItem(item,-1));
}
if (dropBuilder != null) {
@ -1063,6 +1065,8 @@ public class ItemUtil {
continue;
}
addCard(user, entry.getKey(),heroList,reason);
SItem sItem = SItem.getsItemMap().get(entry.getKey());
extraDropAop(user,dropBuilder,sItem);
}
}
if (reward.length() > 0) {
@ -1073,6 +1077,23 @@ public class ItemUtil {
dropBuilder.addAllHero(heroList);
}
private static void extraDropAop(User user,CommonProto.Drop.Builder dropBuilder,SItem sItem) throws Exception {
if(sItem.getExtraReward()!=null && sItem.getExtraReward().length>1){
int[] drops = sItem.getExtraReward()[1];
if(user.getItemManager().getItem(drops[0]) == null){
int[][] extraDrops = new int[1][2];
extraDrops[0] = new int[2];
extraDrops[0][0] = drops[0];
extraDrops[0][1] =1;
if(sItem.getExtraReward()[0][0] == 0){
drop(user,extraDrops,BIReason.EXTRA_DROP_REWARD);
}else{
drop(user,extraDrops,dropBuilder,BIReason.EXTRA_DROP_REWARD);
}
}
}
}
public static void addCard(User user,int cardId,List<CommonProto.Hero> heroList,int reason) throws Exception {
HeroManager heroManager = user.getHeroManager();
PlayerManager playerInfoManager = user.getPlayerInfoManager();