Project 1999

Go Back   Project 1999 > Blue Community > Blue Server Chat

Closed Thread
 
Thread Tools Display Modes
  #1  
Old 05-16-2011, 01:55 PM
Kika Maslyaka Kika Maslyaka is offline
Planar Protector

Kika Maslyaka's Avatar

Join Date: Apr 2011
Posts: 1,055
Default Skill to % chance?

Does anyone knows an aproximate formula how does my skill in Double Attack and Dual Wield translate into actual chance to hit?

So I have DW skill at 100 - what is the actual chance?
150? 200?
DA of a 100?
DA on off hand?

thanks!
  #2  
Old 05-16-2011, 02:30 PM
Nagash Nagash is offline
Sarnak

Nagash's Avatar

Join Date: Feb 2010
Posts: 478
Default

That's a very good question [You must be logged in to view images. Log in or Register.] The closest I could find is the last post here, not sure how true it is though.
  #3  
Old 05-16-2011, 02:35 PM
naez naez is offline
Banned


Join Date: Mar 2011
Location: s0cal
Posts: 629
Send a message via ICQ to naez Send a message via AIM to naez Send a message via MSN to naez Send a message via Yahoo to naez
Default

PHP Code:
bool Client::CheckDoubleAttack(bool tripleAttack) {

    
// If you don't have the double attack skill, return
    
if(!HasSkill(DOUBLE_ATTACK) && !(GetClass() == BARD || GetClass() == BEASTLORD))
        return 
false;
    
    
// You start with no chance of double attacking
    
int chance 0;
    
    
// Used for maxSkill and triple attack calcs
    
int8 classtype GetClass();
    
    
// The current skill level
    
uint16 skill GetSkill(DOUBLE_ATTACK);

    
// Discipline bonuses give you 100% chance to double attack
    
sint16 buffs spellbonuses.DoubleAttackChance itembonuses.DoubleAttackChance;
    
    
// The maximum value for the Class based on the server rule of MaxLevel
    
int16 maxSkill MaxSkill(DOUBLE_ATTACKclasstypeRuleI(CharacterMaxLevel));

    
// AA bonuses for the melee classes
    
int32 aaBonus =
        
GetAA(aaBestialFrenzy) +
        
GetAA(aaHarmoniousAttack) +
        
GetAA(aaKnightsAdvantage)*10 +
        
GetAA(aaFerocity)*10;
    
    
// Bard Dance of Blades Double Attack bonus is not cumulative
    
if(GetAA(aaDanceofBlades)) {
        
aaBonus += 500;
    }
    
    
// Half of Double Attack Skill used to check chance for Triple Attack
    
if(tripleAttack) {
        
// Only some Double Attack classes get Triple Attack
        
if((classtype == MONK) || (classtype == WARRIOR) || (classtype == RANGER) || (classtype == BERSERKER)) {
            
// We only get half the skill, but should get all the bonuses
            
chance = (skill/2) + buffs aaBonus;
        }
        else {
            return 
false;
        }
    }
    else {
        
// This is the actual Double Attack chance
        
chance skill buffs aaBonus;
    }
    
    
// If your chance is greater than the RNG you are successful! Always have a 5% chance to fail at max skills+bonuses.
    
if(chance MakeRandomInt(0, (maxSkill itembonuses.DoubleAttackChance aaBonus)*1.05)) {
        return 
true;
    }

    return 
false;

  #4  
Old 05-16-2011, 03:07 PM
Kika Maslyaka Kika Maslyaka is offline
Planar Protector

Kika Maslyaka's Avatar

Join Date: Apr 2011
Posts: 1,055
Default

Ok, to complite the calculations then, I need to know what is the maxskill?
is that per class or universal for all?
  #5  
Old 05-16-2011, 03:07 PM
Extunarian Extunarian is offline
Planar Protector

Extunarian's Avatar

Join Date: May 2010
Location: MN
Posts: 1,186
Default

If the public emu snippied naez posted hasn't been changed for this server, it looks like the calculation is simply

% chance to double attack = (your skill) / [(max skill for your class at max level)*1.05]

right?
__________________
Jorg Shaman
  #6  
Old 05-16-2011, 03:09 PM
Kika Maslyaka Kika Maslyaka is offline
Planar Protector

Kika Maslyaka's Avatar

Join Date: Apr 2011
Posts: 1,055
Default

yeah but we need to know where maxskill comes from and what its set for
  #7  
Old 05-16-2011, 03:14 PM
naez naez is offline
Banned


Join Date: Mar 2011
Location: s0cal
Posts: 629
Send a message via ICQ to naez Send a message via AIM to naez Send a message via MSN to naez Send a message via Yahoo to naez
Default

Can't recall the max skill for level 60, and dual wield is more complicated to find the calculation for (i.e. can only find HAND==14 (secondary) in attack.cpp and I don't have Visual Studio installed, +lazy)
  #8  
Old 05-16-2011, 03:16 PM
Extunarian Extunarian is offline
Planar Protector

Extunarian's Avatar

Join Date: May 2010
Location: MN
Posts: 1,186
Default

Quote:
Originally Posted by Kika Maslyaka [You must be logged in to view images. Log in or Register.]
yeah but we need to know where maxskill comes from and what its set for
The code says it's the max your class can get to given the server's max level:

Code:
    // The maximum value for the Class based on the server rule of MaxLevel
    int16 maxSkill = MaxSkill(DOUBLE_ATTACK, classtype, RuleI(Character, MaxLevel));
Doesn't really make sense to me though...if it went by your class' max skill then classes with a lower maximum skill would be at an advantage until it was maxed out, and then they would just have the same 95% chance as those with a higher max skill...
__________________
Jorg Shaman
  #9  
Old 05-16-2011, 03:18 PM
Kika Maslyaka Kika Maslyaka is offline
Planar Protector

Kika Maslyaka's Avatar

Join Date: Apr 2011
Posts: 1,055
Default

yeah exactly. would be no point for say warrior to have higher skill than a ranger

maxskill must be universal for all classes, or it doesn't make sence
  #10  
Old 05-16-2011, 03:18 PM
Doors Doors is offline
Planar Protector

Doors's Avatar

Join Date: Apr 2011
Location: Pittsburgh
Posts: 2,933
Default

All hail naez master of java
__________________
Quote:
Originally Posted by Drakaris View Post
You can be my squire once you can bench half of what I can.
Closed Thread


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 10:03 PM.


Everquest is a registered trademark of Daybreak Game Company LLC.
Project 1999 is not associated or affiliated in any way with Daybreak Game Company LLC.
Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.