Fenrir plasma storm formula

Results 1 to 4 of 4
  1. #1
    Enthusiast taka056 is offline
    MemberRank
    Feb 2006 Join Date
    44Posts

    Fenrir plasma storm formula

    Does anybody knows the damage formula for the Plasma Storm skill when yo use a fenrir?


  2. #2

    Re: Fenrir plasma storm formula

    i dunno but i would check on monster.txt or somewhere else on files

  3. #3
    Everything is a joke. duracel is offline
    MemberRank
    Sep 2005 Join Date
    442Posts

    Re: Fenrir plasma storm formula

    The formulas are in the CObjAttack::Attack function, you can find it in the sources of gs.18.

    Code:
    else if ( skill == 76 )	// pluzzmanton
    		{
    			int iFenrirAttackDmg = 0;
    
    			if ( lpObj->Class == CLASS_KNIGHT || lpObj->Class == CLASS_MAGUMSA )
    			{
    				iFenrirAttackDmg = lpObj->Strength / 3 + lpObj->Dexterity / 5 + lpObj->Vitality / 5 + lpObj->Energy / 7;	// #formula
    			}
    			else if ( lpObj->Class == CLASS_WIZARD )
    			{
    				iFenrirAttackDmg = lpObj->Strength / 5 + lpObj->Dexterity / 5 + lpObj->Vitality / 7 + lpObj->Energy / 3;	// #formula
    			}
    			else if ( lpObj->Class == CLASS_ELF )
    			{
    				iFenrirAttackDmg = lpObj->Strength / 5 + lpObj->Dexterity / 3 + lpObj->Vitality / 7 + lpObj->Energy / 5;	// #formula
    			}
    			else	// Dark Lord
    			{
    				iFenrirAttackDmg = lpObj->Strength / 5 + lpObj->Dexterity / 5 + lpObj->Vitality / 7 + lpObj->Energy / 3 + lpObj->Leadership / 3;	// #formula
    			}
    
    			if ( iFenrirAttackDmg < 0 )
    				iFenrirAttackDmg = 0;
    
    			if ( lpObj->m_CriticalDamage > 0 )
    			{
    				if ( (rand()%100) < lpObj->m_CriticalDamage )
    				{
    					MsgDamage = 3;
    				}
    			}
    
    			if ( lpObj->m_ExcelentDamage > 0 )
    			{
    				if ( (rand()%100) < lpObj->m_ExcelentDamage )
    				{
    					MsgDamage = 2;
    				}
    			}
    
    			if ( MsgDamage == 3 )	// Critical Damage
    			{
    				AttackDamage =  iFenrirAttackDmg + lpMagic->m_DamageMax;
    				AttackDamage += lpObj->SetOpAddCriticalDamage;
    				AttackDamage += lpObj->SkillAddCriticalDamage;
    				AttackDamage += lpObj->m_JewelOfHarmonyEffect.HJOpAddCriticalDamage;
    				AttackDamage -= targetdefense;
    			}
    			else if ( MsgDamage == 2 )	// Excellent
    			{
    				AttackDamage = iFenrirAttackDmg + lpMagic->m_DamageMax;
    				AttackDamage += AttackDamage * 20 / 100;
    				AttackDamage += lpObj->SetOpAddExDamage;
    				AttackDamage -= targetdefense;
    			}
    			else
    			{
    				AttackDamage = (iFenrirAttackDmg + lpMagic->m_DamageMin) + (rand()%(lpMagic->m_DamageMax - lpMagic->m_DamageMin + 1));
    				AttackDamage -= targetdefense;
    			}
    		}

  4. #4
    Enthusiast taka056 is offline
    MemberRank
    Feb 2006 Join Date
    44Posts

    Re: Fenrir plasma storm formula

    Quote Originally Posted by duracel View Post
    The formulas are in the CObjAttack::Attack function, you can find it in the sources of gs.18.

    Code:
    else if ( skill == 76 )	// pluzzmanton
    		{
    			int iFenrirAttackDmg = 0;
    
    			if ( lpObj->Class == CLASS_KNIGHT || lpObj->Class == CLASS_MAGUMSA )
    			{
    				iFenrirAttackDmg = lpObj->Strength / 3 + lpObj->Dexterity / 5 + lpObj->Vitality / 5 + lpObj->Energy / 7;	// #formula
    			}
    			else if ( lpObj->Class == CLASS_WIZARD )
    			{
    				iFenrirAttackDmg = lpObj->Strength / 5 + lpObj->Dexterity / 5 + lpObj->Vitality / 7 + lpObj->Energy / 3;	// #formula
    			}
    			else if ( lpObj->Class == CLASS_ELF )
    			{
    				iFenrirAttackDmg = lpObj->Strength / 5 + lpObj->Dexterity / 3 + lpObj->Vitality / 7 + lpObj->Energy / 5;	// #formula
    			}
    			else	// Dark Lord
    			{
    				iFenrirAttackDmg = lpObj->Strength / 5 + lpObj->Dexterity / 5 + lpObj->Vitality / 7 + lpObj->Energy / 3 + lpObj->Leadership / 3;	// #formula
    			}
    
    			if ( iFenrirAttackDmg < 0 )
    				iFenrirAttackDmg = 0;
    
    			if ( lpObj->m_CriticalDamage > 0 )
    			{
    				if ( (rand()%100) < lpObj->m_CriticalDamage )
    				{
    					MsgDamage = 3;
    				}
    			}
    
    			if ( lpObj->m_ExcelentDamage > 0 )
    			{
    				if ( (rand()%100) < lpObj->m_ExcelentDamage )
    				{
    					MsgDamage = 2;
    				}
    			}
    
    			if ( MsgDamage == 3 )	// Critical Damage
    			{
    				AttackDamage =  iFenrirAttackDmg + lpMagic->m_DamageMax;
    				AttackDamage += lpObj->SetOpAddCriticalDamage;
    				AttackDamage += lpObj->SkillAddCriticalDamage;
    				AttackDamage += lpObj->m_JewelOfHarmonyEffect.HJOpAddCriticalDamage;
    				AttackDamage -= targetdefense;
    			}
    			else if ( MsgDamage == 2 )	// Excellent
    			{
    				AttackDamage = iFenrirAttackDmg + lpMagic->m_DamageMax;
    				AttackDamage += AttackDamage * 20 / 100;
    				AttackDamage += lpObj->SetOpAddExDamage;
    				AttackDamage -= targetdefense;
    			}
    			else
    			{
    				AttackDamage = (iFenrirAttackDmg + lpMagic->m_DamageMin) + (rand()%(lpMagic->m_DamageMax - lpMagic->m_DamageMin + 1));
    				AttackDamage -= targetdefense;
    			}
    		}
    And where can i find that function? it's inside GameServer? what you mean with gs.18?
    Last edited by taka056; 28-02-12 at 08:29 AM.



Advertisement