Перейти к содержанию

Chet

Пользователи
  • Публикаций

    7
  • Зарегистрирован

  • Посещение

  • Отзывы

    0%

Репутация

0

Информация о Chet

  • Звание
    Только пришел
  1. Да, это выход и к ему я думал прийти если что то накосячено в ядре. Провел эксперименты, все же это все с пвп бонусом связано if ((isPvP) && ( (!skill.isItemSkill()) || (!Config.ALT_ITEM_SKILLS_NOT_INFLUENCED))) { if (skill.isMagic()) { damage *= attacker.calcStat(Stats.PVP_MAGICAL_DMG, 1.0D, null, null); damage /= target.calcStat(Stats.PVP_MAGICAL_DEF, 1.0D, null, null); } else { damage *= attacker.calcStat(Stats.PVP_PHYS_SKILL_DMG, 1.0D, null, null); damage /= target.calcStat(Stats.PVP_PHYS_SKILL_DEF, 1.0D, null, null); } } Подскажите как правильно работает просчет ПВП режима и его бонусы. Куда лезть что копать?
  2. делал, но по мобам урон тоже удваивается. Все ТОП локации становятся легкие для фарма магов
  3. ПВП защита это ответ. Согласен. Но когда у персонажа 900 м дефа, а ему маг бьет по 370-400 урона... Как то странно.
  4. if ((isPvP) && ( (!skill.isItemSkill()) || (!Config.ALT_ITEM_SKILLS_NOT_INFLUENCED))) { if (skill.isMagic()) { damage *= attacker.calcStat(Stats.PVP_MAGICAL_DMG, 1.0D, null, null); damage /= target.calcStat(Stats.PVP_MAGICAL_DEF, 1.0D, null, null); } else { damage *= attacker.calcStat(Stats.PVP_PHYS_SKILL_DMG, 1.0D, null, null); damage /= target.calcStat(Stats.PVP_PHYS_SKILL_DEF, 1.0D, null, null); } } Я думаю что связано с выше указанным кодом.Не могу понять откудава берется (Stats.PVP_MAGICAL_DMG, 1.0D, null, null) искал по всему ядру по ключнвым словам и ничего походего.... У персонажа нету резиста , только м деф. Разброс тоже минимальный, я бил не 1 раз.
  5. Все конфиги стоят на 1.0В том то и проблема(
  6. Всем привет. Сборка Lucera 1.7. При нанесении урон по мобам формула работает корректно и наносит правильный урон. Если бить по персонажу, то урон режится в несколько раз, я что то не могу понять что так сильно изменяет урон? Урон наносил без резистов, без понижений чисто задействовал м атаку и м деф! Как исправить что бы было верно 91*повер скила*sqrt(м.атк)/м.деф public static final double calcMagicDam(L2Character attacker, L2Character target, L2Skill skill, boolean ss, boolean bss, boolean mcrit) { if (skill == null) { return 1.0D; } double mAtk = attacker.getMAtk(target, skill); double mDef = target.getMDef(attacker, skill); boolean isPvP = ((attacker instanceof L2PlayableInstance)) && ((target instanceof L2PlayableInstance)); if (bss) { mAtk *= 4.0D; } else if (ss) { mAtk *= 2.0D; } double power = skill.getPower(attacker); if (skill.getSkillType() == L2SkillType.DEATHLINK) { double part = attacker.getStatus().getCurrentHp() / attacker.getMaxHp(); power *= Math.pow(1.7165D - part, 2.0D) * 0.577D; } double damage = 91.0D * Math.sqrt(mAtk) / mDef * power * calcSkillVulnerability(target, skill); if (((attacker instanceof L2Summon)) && ((target instanceof L2PcInstance))) { damage *= 0.9D; } if ((Config.USE_LEVEL_PENALTY) && (skill != null) && (!skill.isItemSkill()) && (skill.getMagicLvl() > 40) && ((attacker instanceof L2PlayableInstance))) { int lvl = attacker.getActingPlayer().getLevel(); int sklvl = skill.getLevel() > 100 ? 76 : skill.getMagicLvl(); if (lvl - sklvl < -2) { damage *= 1 / (skill.getMagicLvl() - lvl); } } if ((Config.ALT_GAME_MAGICFAILURES) && (!calcMagicSuccess(attacker, target, skill))) { if ((attacker instanceof L2PcInstance)) { L2PcInstance attOwner = attacker.getActingPlayer(); if ((calcMagicSuccess(attacker, target, skill)) && (target.getLevel() - attacker.getLevel() <= 9)) { SystemMessage sm = new SystemMessage(SystemMessageId.S1); sm.addString(target.getName() + " успешно сопротивляется магии " + skill.getName()); attOwner.sendPacket(sm); damage /= 2.0D; } else { SystemMessage sm = new SystemMessage(SystemMessageId.S1); sm.addString(target.getName() + " успешно сопротивляется магии " + skill.getName()); attOwner.sendPacket(sm); if (mcrit) { damage = 1.0D; } else { damage = Rnd.nextBoolean() ? 1.0D : 0.0D; } return damage; } } if ((target instanceof L2PcInstance)) { SystemMessage sm = new SystemMessage(SystemMessageId.S1); sm.addString(target.getName() + " успешно сопротивляется магии " + skill.getName()); target.getActingPlayer().sendPacket(sm); } } if ((!Config.USE_CHAR_LEVEL_MOD) && ((attacker instanceof L2PlayableInstance)) && ((target instanceof L2PlayableInstance))) { damage /= 2.0D; } if (mcrit) { if (attacker.isL2Summon()) { damage *= 2.0D; } else { damage *= Config.MCRIT_RATE; } } damage += Rnd.nextDouble() * attacker.getRandomDamage(target); if ((isPvP) && ( (!skill.isItemSkill()) || (!Config.ALT_ITEM_SKILLS_NOT_INFLUENCED))) { if (skill.isMagic()) { damage *= attacker.calcStat(Stats.PVP_MAGICAL_DMG, 1.0D, null, null); damage /= target.calcStat(Stats.PVP_MAGICAL_DEF, 1.0D, null, null); } else { damage *= attacker.calcStat(Stats.PVP_PHYS_SKILL_DMG, 1.0D, null, null); damage /= target.calcStat(Stats.PVP_PHYS_SKILL_DEF, 1.0D, null, null); } } if ((attacker instanceof L2PcInstance)) { if (((L2PcInstance)attacker).getClassId().isMage()) { damage *= Config.ALT_MAGES_MAGICAL_DAMAGE_MULTI; } else { damage *= Config.ALT_FIGHTERS_MAGICAL_DAMAGE_MULTI; } } else if ((attacker instanceof L2Summon)) { damage *= Config.ALT_PETS_MAGICAL_DAMAGE_MULTI; } else if ((attacker instanceof L2NpcInstance)) { damage *= Config.ALT_NPC_MAGICAL_DAMAGE_MULTI; } if (((attacker instanceof L2PcInstance)) && (attacker.getLevel() > 40) && (skill != null) && (attacker.getLevel() - skill.getMagicLvl() > 20)) { damage /= 50.0D; if (damage < 1.0D) { damage = 1.0D; } } return damage; }
×
×
  • Создать...