交流论坛首页 » 阅读帖子

[求助] 物理攻击伤害计算公式的设计与实现方案

最近排查服务端的内存泄露,用jmap导出了堆内存快照进行分析(jmap -dump:format=b,file=heap.hprof )。导入MAT工具后,发现主要的泄露点在 `L1CharBook` (角色坐标和动作记录)的对象实例上。因为玩家在断开连接时,对应的Book没有从全局的监听器列表中注销,导致虽然玩家离线了,其内存对象依然被垃圾回收器判断为可达,无法被释放。建议大家在 `L1World.getInstance().removeObject(pc)` 方法中加入强制注销逻辑。 关于技能“圣结界”在Java端的伤害减免算法,默认的开源版本是将受到的伤害直接除以2。但在高难度PK版本中,建议加入魔法防御力(MR)的抗性因子,使伤害减免比例随MR动态变化(比如减免比例 = 30% + MR/500),这样可以让高魔防的法师或王族在打团时作用更明显,避免物理职业一边倒。修改文件位于 `L1Attack.java` 中计算魔法伤害的逻辑。
💬 全部互动回帖 (4)
沙发 🛋️
支持原创!天堂1模拟器现在能有这样高质量的技术文章实在难得,顶起!
板凳 🪑
这个 SQL 批量爆率修改脚本非常实用,亲测对 `droplist` 表操作毫无报错!
地板 🧱
感谢分享,已在本地 CentOS 7 + Docker 下测试成功!
第 4 楼
学到了,之前合服时主键冲突一直手工清理,用楼主的 SQL 几秒钟搞定!
🔒 社区需要注册用户才能发表回复或发帖
立即登录 免费注册