skill_config.type增加 6 战场技能
stage_config 增加 stage_skill stage_skill_cd 字段 配置是否有战场技能呢
如果是公会战 且 战场技能的cd大于1个回合,会显示战场技能UI。
— 沈默 2019/03/26 18:45
STAGE_EXTRA 关卡特殊修正
stage_config 新增了 extra 字段 控制 初始种子/combo修正/颜色数量等
相关指令
PuzzleColor(4) | 设置最大颜色数 | (3~5) |
PuzzleSeed(3) | 设置初始种子 | 0表示按时间随机 |
PuzzleCombo(0.8) | 每次消除有额外80%的几率可以产生 combo | 0~1,如果设置为必定combo,最多到20次 |
颜色和combo修正,stage表格中的配置会覆盖debug的
item_battle_config 战斗道具 属于item_config子表
战斗道具系统主要沿用技能系统的框架,
由战斗道具表去引用skill_config表
然后进行战斗技能的一系列使用逻辑。
道具使用条件
如果技能有使用条件限制,需要先判断使用条件
item_battle_config.condition 字段
HeroTeamApply 设置战斗队伍的道具配置,采用(slot+道具原型)的字典
设置的时候服务器可以完全不关心道具的存量,直接保存到 hero_team_info.item_list
客户端也从这里读取到每个队伍最后的道具配置(数量根据 item_battle_config.limit 和 存量 比较最小值)
开始PVE战斗的时候,把hero_team_info.item_list 送入 player_battle_info.item_list
同时清空 player_battle_info.item_used
战斗如果使用道具,需要通知服务器
BattleItemUse 战斗道具使用
返回成功以后才可以使用。
需要判断 道具已使用上限和道具存量,失败就返回。 使用情况保存在 player_battle_info.item_used
其他
VipFlee 的时候,需要归还所有在player_battle_info.item_used的道具
VipUndo 的时候,需要归同步道具当前的使用情况(校验难度大)
- battle_restart_cost=75; 重新战斗需要的钻石数量
- battle_restart_skill=500099; 重新复活战斗的技能
- battle_restart_times=1; 重新复活战斗的次数
在 DialogBattleLose界面中,如果钻石和次数都够,可以点击FIGHT进行原地复活
在战斗逻辑中,其实是使用了了一个slot==9的特殊道具, 这个道具指向500099这个技能
他不会消耗实际道具,但可以使玩家复活。
使用之前需要调用BattleRestart 协议 向服务器确认,服务器会扣除钻石并增加次数。
回放也可以通过 player_battle_info.relive_count来判断是否合法进行了复活。
单张图片变灰可以直接采用 亮度公式 对贴图的 rgb进行 加权求和 0.299*R + 0.587*G + 0.114*B=y
在shader forge里面还可以用 RGB→HSV 的方法,把V输出就是亮度
需要每个材质都替换成灰度材质。
如果对一整个卡片进行处理,则可以使用SceneColor + ScreenPos
但是需要注意的是,到了UI的Canvas里面,UV会反,需要 one_minues对v进行操作
然后多个黑白滤镜一起描绘的时候,遇到了裁减问题,没有完美解决,最后通过把所有的GrayMask层级调高来解决
整个方法的原理是GrabPass把FrameBuffer保存成一张贴图,然后进行处理
高斯模糊的方法也可以参考这里
https://blog.csdn.net/winchyy/article/details/71440896
遇到上下反转的问题,注意camera MSAA的勾