Merge branch 'master' of 60.1.1.230:backend/jieling_server

back_recharge
wangyuan 2020-01-13 10:48:11 +08:00
commit 4ef3ca72c9
5 changed files with 32 additions and 8 deletions

View File

@ -1081,17 +1081,20 @@ local effectList = {
local count = Random.RangeInt(i1, i2)
local d = interval / count
for i=1, count do
BattleLogic.WaitForTrigger(d * (i-1), function ()
local delayDmgTrigger
delayDmgTrigger = function(less, d)
if less > 0 then
local role = target.isDead and BattleUtil.ChooseTarget(caster, 20110)[1] or target
if role then
caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, d, role)
BattleLogic.WaitForTrigger(d, function ()
BattleUtil.CalDamage(caster, role, dt, f1)
delayDmgTrigger(less-1, d)
end)
end
end)
end
end
delayDmgTrigger(count, d)
end,
--造成[a]%的[b]伤害,若造成击杀,[c]的概率立即发动一次上滑技。
--a[float],b[伤害类型],c[float]

View File

@ -108,6 +108,8 @@ public interface BIReason {
int SEND_LIKE_REWARD = 63;//红包榜点赞奖励
int RED_PACKAGE_REWARD = 64;//抢红包奖励
int ADVENTURE_UPLEVEL_CONSUME = 1000;//秘境升级
int SECRETBOX_CONSUME = 1001;//秘盒抽卡

View File

@ -122,7 +122,7 @@ public class LimitRandomCardActivity extends AbstractActivity {
//sendmail
String title = SErrorCodeEerverConfig.getI18NMessage("east_fairy_title", new Object[]{sGlobalActivity.getSesc()});
String content = SErrorCodeEerverConfig.getI18NMessage("east_fairy_txt", new Object[]{sGlobalActivity.getSesc(), rank++});
String content = SErrorCodeEerverConfig.getI18NMessage("east_fairy_txt", new Object[]{rank++});
String mailReward = ItemUtil.getMailReward(sActivityRankingReward1.getRankingReward());
MailLogic.getInstance().sendMail(uid, title, content, mailReward, nowTime, Global.MAIL_EFFECTIVE_TIME);
}

View File

@ -10,6 +10,7 @@ public class AcceptRedInfo {
public int count;
public int itemId;
public int time;
public int position;
public int getUid() {
return uid;
@ -43,10 +44,19 @@ public class AcceptRedInfo {
this.time = time;
}
public AcceptRedInfo(int uid, int itemId,int count, int time) {
public int getPosition() {
return position;
}
public void setPosition(int position) {
this.position = position;
}
public AcceptRedInfo(int uid, int itemId,int count, int time,int position) {
this.uid = uid;
this.itemId = itemId;
this.count = count;
this.time = time;
this.position = position;
}
}

View File

@ -1040,6 +1040,7 @@ public class GuildLogic {
redPackage.setRedId(Integer.parseInt(entry.getKey()));
redPackage.setUserName(UserManager.getUser(entry.getValue().getUid()).getPlayerInfoManager().getNickName());
redPackage.setRedType(entry.getValue().getTypeId());
redPackage.setSendTime(entry.getValue().getSendTime());
builder.addInfo(redPackage);
}
for(String id:removeId){
@ -1054,13 +1055,19 @@ public class GuildLogic {
*/
public static void robRedPackage(ISession session, int redId, MessageTypeProto.MessageType messageType) throws Exception{
int uid = session.getUid();
AcceptRedInfo isAlready = RedisUtil.getInstence().getMapValue("red_already_list", String.valueOf(redId), String.valueOf(uid), AcceptRedInfo.class);
if(isAlready!=null){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
Object redPackage = RedisUtil.getInstence().lPop(RedisKey.getKey("red_remain_list", String.valueOf(redId),false));
Family.RobRedPackageResponse.Builder builder = Family.RobRedPackageResponse.newBuilder();
if(redPackage!=null){
builder.setIsSuccess(1);
RedPackage packInfo = RedisUtil.getInstence().getMapValue(RedisKey.FAMILY_RED_PACKAGE, String.valueOf(UserManager.getUser(uid).getPlayerInfoManager().getGuildId()), String.valueOf(redId), RedPackage.class);
SGuildRedPackConfig config = SGuildRedPackConfig.sGuildRedPackConfigMap.get(packInfo.getTypeId());
RedisUtil.getInstence().putMapEntry("red_already_list", String.valueOf(redId),String.valueOf(uid),new AcceptRedInfo(uid,config.getTotalMoney()[0],Integer.parseInt(String.valueOf(redPackage)),(int)(TimeUtils.now()/1000)));
ItemUtil.drop(UserManager.getUser(uid),new int[][]{new int[]{config.getTotalMoney()[0],Integer.parseInt(String.valueOf(redPackage))}},BIReason.RED_PACKAGE_REWARD);
int position = getMemberType(uid, GuilidManager.guildInfoMap.get(UserManager.getUser(uid).getPlayerInfoManager().getGuildId()).getMembers());
RedisUtil.getInstence().putMapEntry("red_already_list", String.valueOf(redId),String.valueOf(uid),new AcceptRedInfo(uid,config.getTotalMoney()[0],Integer.parseInt(String.valueOf(redPackage)),(int)(TimeUtils.now()/1000),position));
}
MessageUtil.sendMessage(session,1,messageType.getNumber(),builder.build(),true);
}
@ -1073,6 +1080,7 @@ public class GuildLogic {
*/
public static void getRedPackageDetail(ISession session,int redId, MessageTypeProto.MessageType messageType) throws Exception {
Map<Integer, AcceptRedInfo> alreadyList = RedisUtil.getInstence().getMapValues("red_already_list", String.valueOf(redId), Integer.class, AcceptRedInfo.class);
int guildId = UserManager.getUser(session.getUid()).getPlayerInfoManager().getGuildId();
Family.RedPackageDetailResponse.Builder builder = Family.RedPackageDetailResponse.newBuilder();
if(!alreadyList.isEmpty()) {
for(Map.Entry<Integer, AcceptRedInfo> already:alreadyList.entrySet()){
@ -1084,11 +1092,12 @@ public class GuildLogic {
.setName(playerInfoManager.getNickName())
.setTime(already.getValue().getTime())
.setItemId(already.getValue().getItemId())
.setCount(already.getValue().getCount());
.setCount(already.getValue().getCount())
.setPosition(already.getValue().getPosition());
builder.addInfo(detail.build());
}
}
RedPackage packInfo = RedisUtil.getInstence().getMapValue(RedisKey.FAMILY_RED_PACKAGE, String.valueOf(UserManager.getUser(session.getUid()).getPlayerInfoManager().getGuildId()), String.valueOf(redId), RedPackage.class);
RedPackage packInfo = RedisUtil.getInstence().getMapValue(RedisKey.FAMILY_RED_PACKAGE, String.valueOf(guildId), String.valueOf(redId), RedPackage.class);
PlayerManager playerInfoManager = UserManager.getUser(packInfo.getUid()).getPlayerInfoManager();
builder.setSendName(playerInfoManager.getNickName())
.setHead(playerInfoManager.getHead())