等級傷害加成
設想:攻擊方與目標方等級差距,會有傷害加成,無論是物理攻擊還是魔法攻擊。
一、打開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 遺忘島主