底比斯天堂
瘋天堂私服發佈網站廣告欄位!
害怕天堂私服倒閉嗎?快使用天堂分析師!
天堂私服抽獎扭蛋物品及機率測試器
天堂私服稱號顏色製造器
瘋天堂私服發佈網站教您註冊推文收藏私服!
天堂私服血量魔力計算器
瘋天堂私服發布網站廣告贊助及爆料私服客服
教您如何不用註冊也可以推文天堂私服!
天堂私服270怪物查詢掉落資料庫
天堂私服盟徽製造器
test0428
2009-02-21 17:13

天堂等級傷害加成系統的java教學!

等級傷害加成

設想:攻擊方與目標方等級差距,會有傷害加成,無論是物理攻擊還是魔法攻擊。

一、打開src/l1j/server/server/model/L1Attack.java

加入宣告

import l1j.server.server.serverpackets.S_SystemMessage;

复制代码

找到

private int calcPcPcDamage()

在該節的

return (int) dmg;

前加入

//等級差距傷害加成或減免 BY 遺忘島主
int pcLevel=_pc.getLevel();
int targetLevel=_targetPc.getLevel();
//等級超過30級以上的拒絕PVP
if (Math.abs(pcLevel-targetLevel)>30 && _pc.getMapId() == 4){
dmg=0;
_pc.sendPackets(new S_SystemMessage("在和平的亞丁大陸上,等級差距超過30級的玩家不能互相PK!!!"));
_targetPc.sendPackets(new S_SystemMessage("在和平的亞丁大陸上,等級差距超過30級的玩家不能互相PK!!!"));}
else
dmg = Math.floor(dmg * pcLevel / targetLevel);

//等級差距傷害加成或減免 BY 遺忘島主

复制代码

找到

private int calcPcNpcDamage()

在該節的

return (int) dmg;

前加入

//等級差距傷害加成或減免 BY 遺忘島主
int pcLevel=_pc.getLevel();
int targetLevel=_targetNpc.getLevel();
dmg = Math.floor(dmg * pcLevel / targetLevel);

//等級差距傷害加成或減免 BY 遺忘島主

复制代码

找到

private int calcNpcPcDamage()

在該節的

return (int) dmg;

前加入

//等級差距傷害加成或減免 BY 遺忘島主
int npcLevel=_npc.getLevel();
int targetLevel=_targetPc.getLevel();
dmg = Math.floor(dmg * npcLevel / targetLevel);

//等級差距傷害加成或減免 BY 遺忘島主

复制代码 找到

private int calcNpcNpcDamage()

在該節的

return (int) dmg;

前加入

//等級差距傷害加成或減免 BY 遺忘島主
int npcLevel=_npc.getLevel();
int targetLevel=_targetNpc.getLevel();
dmg = Math.floor(dmg * npcLevel / targetLevel);

//等級差距傷害加成或減免 BY 遺忘島主

复制代码

二、打開/rev2021/src/l1j/server/server/model/L1Magic.java

在下面的節中

public int calcMagicDamage(int skillId)

查找

damage = calcMrDefense(damage);

在其上加入

//等級差距傷害加成或減免 BY 遺忘島主
if (_calcType==PC_PC){
int pcLevel = _pc.getLevel();
int targetpcLevel=_targetPc.getLevel();
if (Math.abs(pcLevel-targetpcLevel)>30 && _pc.getMapId()==4){
damage=0;
_pc.sendPackets(new S_SystemMessage("在和平的亞丁大陸上,等級差距超過30級的玩家不能互相PK!!!"));
_targetPc.sendPackets(new S_SystemMessage("在和平的亞丁大陸上,等級差距超過30級的玩家不能互相PK!!!"));
}
else
damage=(int)Math.floor(damage*pcLevel/targetpcLevel);
}else if(_calcType==PC_NPC) {
int pcLevel = _pc.getLevel();
int targetnpcLevel=_targetNpc.getLevel();
damage=(int)Math.floor(damage*pcLevel/targetnpcLevel);
}else if(_calcType==NPC_NPC){
int npcLevel=_npc.getLevel();
int targetnpcLevel=_targetNpc.getLevel();
damage=(int)Math.floor(damage*npcLevel/targetnpcLevel);
}else if(_calcType==NPC_PC){
int npcLevel=_npc.getLevel();
int targetpcLevel=_targetPc.getLevel();
damage=(int)Math.floor(damage*npcLevel/targetpcLevel);
}

//等級差距傷害加成或減免 BY 遺忘島主



上一篇文章:天堂轉生系統的java教學!
下一篇文章:天堂判斷某個怪物出現公告的java教學!

分享文章:分享到微博! 分享到臉書! 分享到噗浪! 分享到維特! 分享到Google+! 分享到LINE!