好感度脚本提交

back_recharge
yuanshuai 2021-09-24 14:10:02 +08:00
parent 8dc19f2d98
commit c900a018ec
8 changed files with 30 additions and 1 deletions

View File

@ -34,6 +34,7 @@ public interface GlobalItemType {
int SpecialMonsterItem=22; // 灵兽碎片
// 万能狗粮
int AllPowerful_DogFood = 25;
int LikableCostItem=27;//好感度功能消耗道具
//物品使用类型
int NO_USE = 0 ; //不使用
int RANDOM_USE = 1; // 随机使用

View File

@ -10,6 +10,7 @@ import com.ljsd.jieling.netty.cocdex.PacketNetData;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.util.ItemUtil;
import com.ljsd.jieling.util.MessageUtil;
import config.SSpecialConfig;
import org.springframework.stereotype.Component;
import rpc.protocols.CommonProto;
import rpc.protocols.HeroInfoProto;
@ -40,8 +41,10 @@ public class GetLikableDataRequestHandler extends BaseHandler {
.build();
_list.add(likaInfo);
}
int remainTime= SSpecialConfig.getIntegerValue(SSpecialConfig.LIKE_ABILITY)-user.getHeroManager().getLikableSendTime();
HeroInfoProto.GetLikableDataResponse response=HeroInfoProto.GetLikableDataResponse.newBuilder()
.addAllInfoList(_list)
.setLikableRemainTime(remainTime)
.build();
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.GET_LIKABLE_DATA_RESPONSE_VALUE,response,true);
}

View File

@ -13,6 +13,7 @@ import com.ljsd.jieling.util.MessageUtil;
import config.SCHero;
import config.SItem;
import config.SLikeAbilityConfig;
import config.SSpecialConfig;
import org.springframework.stereotype.Component;
import rpc.protocols.HeroInfoProto;
import rpc.protocols.MessageTypeProto;
@ -39,6 +40,11 @@ public class HeroUpLikableRequestHandler extends BaseHandler<HeroInfoProto.HeroU
User user = UserManager.getUser(uid);
HeroManager heroManager=user.getHeroManager();
if (itemNum+heroManager.getLikableSendTime()> SSpecialConfig.getIntegerValue(SSpecialConfig.LIKE_ABILITY)){
LOGGER.error("好感度赠送次数超出每日限制");
throw new ErrorCodeException(ErrorCode.REFRESH_WHEL_TIME_NOT);
}
int[][]costArr=new int[2][1];
costArr[0][0]=itemId;
costArr[0][1]=itemNum;
@ -58,7 +64,6 @@ public class HeroUpLikableRequestHandler extends BaseHandler<HeroInfoProto.HeroU
Map<Integer,Integer>curHeroPropAdd=GetHeroLikableAddPeop(curLv);
heroManager.putHeroLikablePropAddMap(heroStaticId,curHeroPropAdd);
}
int oldAllLikaLv=GetAllLikableLvByLikaNum(GetAllHeroLikableNum(heroManager.getHeroLikableMap()));
heroManager.putHeroLikableMap(heroStaticId,curHeroLikableNum);
int curAllLikaLv=GetAllLikableLvByLikaNum(GetAllHeroLikableNum(heroManager.getHeroLikableMap()));
@ -66,6 +71,8 @@ public class HeroUpLikableRequestHandler extends BaseHandler<HeroInfoProto.HeroU
Map<Integer,Integer>allHeroPropAdd=GetAllHeroLikableAddPeop(curAllLikaLv);
heroManager.putAllLikablePropAddMap(allHeroPropAdd);
}
int sendTime= heroManager.getLikableSendTime()+itemNum;
heroManager.UpdateLikableSendTime(sendTime);
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.HERO_UP_LIKABLE_RESPONSE_VALUE, null,true);
}else{
LOGGER.error("好感度提升材料不足");

View File

@ -454,6 +454,7 @@ public class GlobalDataManaager implements IManager {
}
}
fBuilder.setExpeditionLeve(user.getExpeditionManager().getExpeditionLeve());
HeroLogic.getInstance().ResetLikableSendTime(user,fBuilder);//重置好感度次数
if(session.getFiveReady() == 1){ //客户端准备好接受五点刷新请求
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.FIVE_PLAYER_REFLUSH_INDICATION_VALUE,fBuilder.build(),true);
}else{

View File

@ -7,6 +7,7 @@ import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.hero.HongMengAttributeEnum;
import config.SLikeAbilityConfig;
import config.SSpecialConfig;
import org.omg.CORBA.PUBLIC_MEMBER;
import java.util.*;
@ -133,7 +134,9 @@ public class HeroManager extends MongoBase {
return allLikablePropAddMap;
}
private int likableSendTime;//好感度已赠送次数
public int getLikableSendTime() { return likableSendTime; }
/**
*
*/
@ -196,6 +199,12 @@ public class HeroManager extends MongoBase {
updateString("allLikablePropAddMap", allLikablePropAddMap);
}
//刷新好感度赠送次数 参数传当日已赠送次数
public void UpdateLikableSendTime(int _sendTime) {
likableSendTime=_sendTime;
updateString("likableSendTime", _sendTime);
}
public void updateRandCount(int type, int count){
updateString("totalCount." + type, count);

View File

@ -5244,5 +5244,11 @@ public class HeroLogic{
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.PurpleMansionSealIndication_VALUE,build2,true);
}
///0点重置好感度赠送次数
public void ResetLikableSendTime(User user,PlayerInfoProto.FivePlayerUpdateIndication.Builder fBuilder){
user.getHeroManager().UpdateLikableSendTime(0);
int remainTime=SSpecialConfig.getIntegerValue(SSpecialConfig.LIKE_ABILITY)-user.getHeroManager().getLikableSendTime();
fBuilder.setLikableRemainTime(remainTime);
}
}

View File

@ -531,6 +531,7 @@ public class ItemUtil {
case GlobalItemType.SOUL_MARK:
case GlobalItemType.ITEM:
case GlobalItemType.EQUIP:
case GlobalItemType.LikableCostItem:
putCountLongMap(itemId,amount, itemObj.getItemMap());
break;
case GlobalItemType.CARD:

View File

@ -114,6 +114,7 @@ public class SSpecialConfig implements BaseConfig {
public static final String PRE_LOAD_REWARD = "PreLoadReward";
public static final String QIJIEHOLYCONFIG = "QIJIEHOLYCONFIG";//七界试炼遗物开启层数
public static final String LIKE_ABILITY = "LikeAbility";//好感度功能,每日赠予礼物次数上限
@Override
public void init() throws Exception {