2013年5月15日 星期三
【Java教學】幻術師-疼痛的歡愉的研究
疼痛的歡愉效果:犧牲自己1/3的體力來攻擊敵人。
一般玩家使用這技能感覺好像無效.
實際上這技能有點類似騎士的反擊屏障,不過只能反彈傷害給單一玩家.
反彈傷害公式=(幻術師最大血量 - 幻術師剩餘血量)/5
假設:幻術師最大血量=6000 幻術師剩餘血量=1000 , 反彈傷害=(6000-1000)/5=1000
如果玩家被放到此技能,又跑去打施法者.就會受到 1000的傷害.(如果不打就沒事)
這技能如果在非變態服可能還好,如果在變態服反彈的傷害就很恐怖了....
以下是 疼痛歡愉 在L1PcInstance.java的程式碼: 改好的
if(attacker.hasSkillEffect(JOY_OF_PAIN) && getId() != attacker.getId())
{
int nowDamage = getMaxHp() - getCurrentHp();
if (nowDamage > 0) {
//限制疼痛歡愉最大傷害
if ((nowDamage/5) > Config.JOY_OF_PAIN_DMG){
nowDamage = Config.JOY_OF_PAIN_DMG * 5 ;
}
//
if (attacker instanceof L1PcInstance) {
L1PcInstance attackPc = (L1PcInstance) attacker;
attackPc.sendPackets(new S_DoActionGFX(attackPc
.getId(), ActionCodes.ACTION_Damage));
attackPc.broadcastPacket(new S_DoActionGFX(attackPc
.getId(), ActionCodes.ACTION_Damage));
attackPc.receiveDamage(this, (int) (nowDamage / 5));
attackPc.removeSkillEffect(JOY_OF_PAIN);//限定反彈一次傷害
} else if (attacker instanceof L1NpcInstance) {
L1NpcInstance attackNpc = (L1NpcInstance) attacker;
attackNpc.broadcastPacket(new S_DoActionGFX(attackNpc
.getId(), ActionCodes.ACTION_Damage));
attackNpc.receiveDamage(this, (int) (nowDamage / 5));
attackNpc.removeSkillEffect(JOY_OF_PAIN);//限定反彈一次傷害
}
}
}
====================================================================
Config.java
找到:
public static int LV99_EXP;
在下面添加:
public static int JOY_OF_PAIN_DMG;//限制疼痛歡愉傷害
找到:
GLOBAL_CHAT_LEVEL = Short.parseShort(altSettings.getProperty("GlobalChatLevel", "30"));
在上面添加:
JOY_OF_PAIN_DMG = Integer.parseInt(altSettings.getProperty("JOY_OF_PAIN_DMG", "10"));//限制疼痛歡愉傷害
模擬器 \ config \ altsettings.properties
新增
#限制疼痛的歡愉最大傷害
JOY_OF_PAIN_DMG = 50
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言