Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Новый стат
#1
Интересует вопрос, где лопатить, чтобы создать новый стат аля "pDefSpec"
и т.д.
копал в L2Character, Formulas, Stats, куда еще мои кривые руки должны залезть?
Ответ
#2
в Stats и туда, где вы будете его использовать.
Ответ
#3
Семпай, а вот наприме элементарный стат pDef, который мы используем в .xml, где он прописывается? как ява понимает, что pDef увеличивает именно pDef персонажа, т.е. это.. я немогу выразить правильно свою мысль =(.

Как персонаж получает защиту от простой грубо говоря строчки вписанной в .xml? как эта строчка. скажем:
<mul order="0x50" stat="pDef" val="1.1">
она увеличит защиту на 10% от той, которую мы имеем. А вот как где прпоисывается это высчитывание?, лазил в формулах, нашел там фанк PDEF, является ли он "родоначальником" нашего стата котоырй мы пишем в .xml...

Я создаю стат, который увеличивал бы мне физ. защиту на n% от физ. атаки. например создаю скил увеличивающий физ. деф на 30% от 100% физ. атаки.
<mul order="0x50" stat="pDefSpec" val="30"/>
следовательно если в строчке вал будет число 150, значит физ. деф увеличится на 150% от физ атаки.

Вроде бы и расчеты приготовил, что как делится, ан что умножается, чтобы получить проценты, но не понимаю как правильно и куда вписать pDefSpec, в статы внес, а дальше тупик.

извените за такой конченный текст, я не знаю как более доступно можно охарактеризовать "это"

Т_Т
Ответ
#4
в формулу рассчета физзащиты вписывайте.
Ответ
#5
Чтобы приступить к работе, я все таки удостоверюсь точно:

Код:
    static class FuncPDefMod extends Func
    {
        static final FuncPDefMod _fmm_instance = new FuncPDefMod();
        
        static Func getInstance()
        {
            return _fmm_instance;
        }

        private FuncPDefMod()
        {
            super(Stats.POWER_DEFENCE, 0x20, null);
                
        }
        
        @Override
        public void calc(Env env)
        {
            if(env.player instanceof L2PcInstance)
            {
                L2PcInstance p = (L2PcInstance) env.player;
                boolean hasMagePDef = (p.getClassId().isMage() || p.getClassId().getId() == 0x31); // orc mystics are a special case
                if (p.getInventory().getPaperdollItem(Inventory.PAPERDOLL_HEAD) != null)
                    env.value -= 12;
                L2ItemInstance chest = p.getInventory().getPaperdollItem(Inventory.PAPERDOLL_CHEST);
                if (chest != null)
                    env.value -= hasMagePDef ? 15 : 31;
                if (p.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LEGS) != null || (chest != null && chest.getItem().getBodyPart() == L2Item.SLOT_FULL_ARMOR))
                    env.value -= hasMagePDef ? 8 : 18;
                if (p.getInventory().getPaperdollItem(Inventory.PAPERDOLL_GLOVES) != null)
                    env.value -= 8;
                if (p.getInventory().getPaperdollItem(Inventory.PAPERDOLL_FEET) != null)
                    env.value -= 7;
            }
            if(env.player instanceof L2PcInstance)
            {
            
            }
            env.value *= env.player.getLevelMod();
        }
    }

В эту формулу необходимо вносить?
Ответ
#6
в формулу вносить ничего не надо. А вот в алгоритм вычисления - да.
ищем метод getPDef() в CharStats
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  новый SkillType TorBenLino 22 5,107 07-29-2016, 06:43 AM
Последний пост: finfan
  новый моб cool235 11 3,339 04-10-2013, 02:40 PM
Последний пост: smeli
  Perfect Block (Идеальная блокировка атаки) - как стат. finfan 12 3,447 08-23-2012, 12:59 AM
Последний пост: finfan
  Новый таргет тип: TARGET_CORPSE_MOB_PET finfan 1 1,420 08-06-2012, 07:27 PM
Последний пост: Visor
  [Новый Скилл] Что сделал не так? finfan 11 3,263 02-14-2012, 11:58 AM
Последний пост: finfan
  Новый эффект FaintSmile 12 3,587 08-15-2011, 04:06 AM
Последний пост: FaintSmile
  Новый класс MROBAR 10 2,877 07-25-2011, 09:11 AM
Последний пост: ANZO
  Повышение стат от заточки [STIGMATED] 2 2,790 05-17-2010, 03:28 AM
Последний пост: AngelOfDeth
  Новый Гм шоп skil 5 3,587 10-17-2009, 09:45 PM
Последний пост: FXAntiXrist

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)