Page 1 of 1

L2Skill, couldn't vulns be more simple ?

Posted: Sun Feb 27, 2011 3:56 pm
by Tryskell
Heya,

doing an IL skills engine refactor using current Freya, I asked to myself :

What are for all the base templates for bleed, aggression, and such, when all are put to 0 ?

I talk about that code :

Code: Select all

             // first, get the natural template vulnerability values for the target            Stats stat = skill.getStat();            if (stat != null)            {                switch (stat)                {                    case AGGRESSION:                        multiplier = target.getTemplate().baseAggressionVuln;                        break;                    case BLEED:                        multiplier = target.getTemplate().baseBleedVuln;                        break;                    case POISON:                        multiplier = target.getTemplate().basePoisonVuln;                        break;                    case STUN:                        multiplier = target.getTemplate().baseStunVuln;                        break;                    case ROOT:                        multiplier = target.getTemplate().baseRootVuln;                        break;                    case MOVEMENT:                        multiplier = target.getTemplate().baseMovementVuln;                        break;                    case CONFUSION:                        multiplier = target.getTemplate().baseConfusionVuln;                        break;                    case SLEEP:                        multiplier = target.getTemplate().baseSleepVuln;                        break;                }            } 
Base templates can be seen in L2CharTemplate.

So if I don't say shits, you are searching the base template of the skill, which is basically 0 for all. Isn't it useless, as templates are all values-equals and there is no change from race/class ?

If I'm wrong, show me the good path. I don't find any ways core/dp modify those values, so basically they stay to 0, and could be deleted.

If we talk about vulnerabilities / proficiencies, they're calculated AFTER that initialization. And it's the only way to "mod" the multiplier.

PS : In IL, it's 1*1 lol.