2014年6月24日 星期二

【Java教學】集體起死回生術

集體起死回生術

現在開始修改....

l1j\server\server\model\skill\L1SkillId.java

找到這一段

public static final int ADDITIONAL_FIRE = 176;

public static final int SKILLS_END = 176;

改成這樣

public static final int ADDITIONAL_FIRE = 176;

public static final int SUPER_TURN_UNDEAD = 177;//集體起死回生術

public static final int SKILLS_END = 177;

完畢

l1j\server\server\model\skill\L1SkillUse.java

找到這一段

case TURN_UNDEAD: { // 起死回生術
if (undeadType == 1 || undeadType == 3) {
dmg = cha.getCurrentHp();
}else {
dmg = 0;
}
}
break;

往下插入這一段,先設定這個魔法的效果

case SUPER_TURN_UNDEAD: { // 集體起死回生術
    if (undeadType == 1 || undeadType == 3) {      
      dmg = cha.getCurrentHp();
      _player.sendPackets(new S_SkillSound(cha.getId(), 754));
      _player.broadcastPacket(new S_SkillSound(cha.getId(), 754)); // 魔法效果送出
      } else {
      dmg = 0;
      }
    }
    break;

再往下找到這一段

if ((_skillId == TURN_UNDEAD && (undeadType == 0 || undeadType == 2))
    || (_skillId == TURN_UNDEAD && isTU == false)
    || ((_skillId == ERASE_MAGIC || _skillId == SLOW || _skillId == MANA_DRAIN || _skillId == MASS_SLOW || _skillId == ENTANGLE
    || _skillId == CURSE_PARALYZE || _skillId == SILENCE || _skillId == CURSE_BLIND || _skillId == DARKNESS
                                || _skillId == DARK_BLIND || _skillId == FOG_OF_SLEEPING || _skillId == SHOCK_STUN) && isErase == false) // 新增木乃伊 CURSE_PARALYZE、魔封無效 SILENCE
    || (_skillId == MANA_DRAIN && isManaDrain == false)) { //新增闇盲咒術 CURSE_BLIND、
                                // 黑暗之影 DARKNESS、暗黑盲咒(黑妖的) DARK_BLIND、沉睡之霧無效 FOG_OF_SLEEPING by 9001183ex  增加衝暈 SHOCK_STUN by mca 20081223
  return true;
  }
  return false;
}
}

改成這樣

if ((_skillId == TURN_UNDEAD && (undeadType == 0 || undeadType == 2))
    || (_skillId == TURN_UNDEAD && isTU == false)
    || (_skillId == SUPER_TURN_UNDEAD && (undeadType == 0 || undeadType == 2)) //增加集體起死回生術 
    || (_skillId == SUPER_TURN_UNDEAD && isTU == false)  //增加集體起死回生術 
    || ((_skillId == ERASE_MAGIC || _skillId == SLOW || _skillId == MANA_DRAIN || _skillId == MASS_SLOW || _skillId == ENTANGLE
    || _skillId == CURSE_PARALYZE || _skillId == SILENCE || _skillId == CURSE_BLIND || _skillId == DARKNESS
                                || _skillId == DARK_BLIND || _skillId == FOG_OF_SLEEPING || _skillId == SHOCK_STUN) && isErase == false) // 新增木乃伊 CURSE_PARALYZE、魔封無效 SILENCE
    || (_skillId == MANA_DRAIN && isManaDrain == false)) { //新增闇盲咒術 CURSE_BLIND、
                                // 黑暗之影 DARKNESS、暗黑盲咒(黑妖的) DARK_BLIND、沉睡之霧無效 FOG_OF_SLEEPING by 9001183ex  增加衝暈 SHOCK_STUN by mca 20081223
  return true;
  }
  return false;
}
}

完畢



l1j\server\server\model\L1Magic.java

設定這個魔法的成功率限制,找到這一段

// 起死回生機率限制
  if (skillId == TURN_UNDEAD && _calcType == PC_NPC) {
    if (_pc.isWizard() && probability > 70) { // 法師
    probability = 70;
    } else if (_pc.isElf()) { // 妖精
    if (probability > 70) {
      probability = 55;
    } else {
      probability /= 2;
    }
    }
  }
  // 起死回生機率限制  end

改成這樣

// 起死回生機率限制 
  if ((skillId == TURN_UNDEAD || skillId == SUPER_TURN_UNDEAD) && _calcType == PC_NPC) {
    if (_pc.isWizard() && probability > 70) { // 法師
    probability = 70;
    } else if (_pc.isElf()) { // 妖精
    if (probability > 70) {
      probability = 55;
    } else {
      probability /= 2;
    }
    }
  }
  // 起死回生機率限制  end

核心修改完畢,接著開始修改DB的部份。

skills

新增一筆資料:

177 集體起死回生術 0 0 45 20 40318 1 3000 0 none 2 0 0 0 0 7 1 19 4 0 0 5 0 0  761 0 0 280 0  0 0

etcitem

新增一筆資料:

9000 究極起死回生術 究極起死回生術 other normal none 0 3095 776 0 0 0 0 0 0 0 0 0 0 1 1 5 5000 0 0 1

william_item_magic

新增一筆資料:

9000 0 0 177 0

完畢

沒有留言:

張貼留言