Jump to content

Welcome to Rune Tips, the first ever RuneScape help site. We aim to offer skill guides, quest guides, maps, calculators, informative databases, tips, and much more to help you get the most from the Massive Online Adventure Game, RuneScape, by Jagex Ltd © 2009.

Report Ad

Welcome to Forum.Tip.It
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. If you already have an account, login here - otherwise create an account for free today!
Photo

RuneScape formulas revealed!


  • Please log in to reply
90 replies to this topic

#1
Jard_Y_Dooku
[ Display Name History ]

Jard_Y_Dooku

    Hobgoblin Killer

  • Members
  • 1,700 posts
  • Gender:Male
  • Joined:5 September 2006
  • RuneScape Status:P2P
  • RSN:Jard Y Dooku
As many of you may know, the release of summoning brought about a big change to RuneScape. The knowledge of RuneScape's real combat formula. This post is going to be an introduction to formulas in RuneScape, and what we as a community can do to discover them.



NOTE: There will be a lot of formulas and mathematics in this post. All computer code examples will be written in Java, as complete functions that can be used in any program. All formulas have been compiled and tested with the latest version of Java.



Let's start with...



~~ The Combat Formula ~~



Source: http://forum.runesca...23,466,33330028



| History of the Formula |

````````````````````````````````````

- In RuneScape Classic



Back in the RSC days, the game used a different combat formula than the one RS2 uses. A couple of smart people started working on finding out the secret. Jagex didn't release the formula, so they had to guess and make spreadsheets to get an idea of the accuracy. The accuracy would allow them to see how close they were and if changes would be actual improvements. They managed to find the exact formula and in the end (just before RS2 came), nearly every fansite used it.



- In RuneScape 2



When RS2 was released, Jagex told everyone there had been a change in the combat formula. Again, the original combat formula people set out on a quest to find the new formula. Unfortunately, this was a lot harder, firstly, because there was a lot more competition. Well established fansites all wanted to find out the formula on their own. Secondly, the formula itself was complex, as RuneScape 2 introduced a new combat class (Mage).



Shortly after, many people who were involved in finding the new formula gave up due to lack of interest by the community. This included the original group of people who found the RSC formula. This was the time when MaxWaterman stood up and decided to finish that quest of finding the combat formula. He gathered the available investigation data that others had left behind, and he started improving the existing version. He created a thread here on the RuneScape forum to gather data from players. Some intelligent players wanted to help the project, and so, The Combat Formula Crew was born. We kept improving the formula until it reached near-perfect accuracy ratings.



- Today



Today, our formula is used on most well known fansites. It is now displayed in this sticky thread, and recognised as an integral part of RuneScape's community. We continue to gather data and help players with calculating. The project is as old as RuneScape 2 is.




RuneScape classic's original combat formula was the following:



public static double combatFormulaRSC(int attack, int strength, int defence, int hitpoints, int prayer, int ranged, int magic)

	{

		double combatLevel = ((defence + hitpoints) * 0.25) + ((magic + prayer) * 0.125);

		

		double warrior = (attack + strength) * 0.25;

		double ranger = ranged * 0.375;

		

		return combatLevel + (((ranged * 1.5) > (attack + strength)) ? ranger : warrior);

	}



After RS2 it was changed to the following; this is the current, 100% accurate formula with summoning included, used today for calculating combat levels. Entering 0 or 1 in the summoning parameter will cause the formula to calculate your F2P combat level.



public static double combatFormula(int attack, int strength, int defence, int hitpoints, int prayer, int ranged, int magic, int summoning)

	{

		double combatLevel = (defence + hitpoints + Math.floor(prayer / 2) + Math.floor(summoning / 2)) * 0.25;

		

		double warrior = (attack + strength) * 0.325;

		double ranger = ranged * 0.4875;

		double mage = magic * 0.4875;

		

		return combatLevel + Math.max(warrior, Math.max(ranger, mage));

	}



Even before the release of summoning, when Tip.It claimed to have a 100% accurate formula, it still failed at times during ranged and magic combat level calculations. Until recently after the release of summoning, no one had entertained the notion that odd prayer/summoning levels were not counted. I'd like to thank Maxwaterman for his incredible efforts on providing the RuneScape community with the real, 100% accurate combat level formula. This formula is used by our very own Tip.It (you'll see Maxwaterman in the credits), and RuneHQ, another major fansite. It is also used on my fansite, the RuneScape Wikia, and possibly and probably others.



The next formula I will introduce is for calculating how many levels in a particular skill you need for the next combat level:



public static int levelsToNextCombat(int attack, int strength, int defence, int hitpoints, int prayer, int ranged, int magic, int summoning, CombatSkills skill)

	{

		double currentCombat = Math.floor(combatFormula(attack, strength, defence, hitpoints, prayer, ranged, magic, summoning));

		

		// Array of number of skills to next level

		int[] next_level = new int[] { 0, 0, 0, 0, 0, 0, 0, 0 };

		

		// 1 to 8, since there's 8 combat skills

		for (int j = 1; j <= 8; j++)

		{

			// Efficiency <img src='http://forum.tip.it/ipbnew/public/style_emoticons/<#EMO_DIR#>/smile.gif' class='bbc_emoticon' alt=':)' />

			if (j != (skill.ordinal() + 1))

			{

				continue;

			}

			

			// Which skill are we working with?

			int[] add = new int[] { 0, 0, 0, 0, 0, 0, 0, 0 };

			

			// There's 8 prayer or summoning levels to a combat level, BUT note that magic or range can get very high so we'll check all the way to 99

			for (int i = 1; i <= MAX_LEVEL; i++)

			{

				// Increment the current skill we're adding to, by 1

				add[j - 1] = i;

				

				double cb = combatFormula(attack + add[0], strength + add[1], defence + add[2], hitpoints + add[3], prayer + add[4], ranged + add[5], magic + add[6], summoning + add[7]);

				

				if (Math.floor(cb) > Math.floor(currentCombat))

				{

					next_level[j - 1] = i;

					break;

				}

			}

		}

		

		// Make sure this won't say you need levels over 99...

		int[] skills = new int[] { attack, strength, defence, hitpoints, prayer, ranged, magic, summoning };

		for (int i = 0; i < next_level.length; i++)

		{

			if (skills[i] + next_level[i] > MAX_LEVEL)

			{

				next_level[i] = 0;

			}

		}

		

		return next_level[skill.ordinal()];

	}



I would highly recommend Tip.It use this in their calculator as their current method can be off sometimes; this will never be. It also counts attack/strength and defence/hitpoints separately as sometimes you can require 1 attack level until the next combat, or 2 strength... the word "OR" would not apply here.



I hope everyone's enjoyed this little thing about the combat formula and that it helps them. Now, it's time for the...



~~ Melee Max Hit Formula ~~



This formula is a tricky one. No website has yet gotten it correct. Some are more accurate on some things, others are better at others. The method I've written for calculating the melee max hit formula has a parameter allowing the programmer to specify which website's formula he wishes to use. Here is the code:



public static int meleeMaxHit(int strengthBase, int strengthCurrent, int strengthBonus, StrengthPrayers prayer, FightingStyles fightStyle, SpecialAttacks special, Effects effect, ItemSets itemSet, int hpBase, int hpCurrent, Websites website) throws Exception

	{

		// Check for invalid input

		if (itemSet == ItemSets.Dharok && special != SpecialAttacks.None)

		{

			throw new Exception("Dharok's set effect cannot be used in conjuction with a special attack as all special attacks require a weapon other than Dharok's greataxe to be wielded.");

		}

		

		if (itemSet != ItemSets.None && (effect == Effects.BlackMask || effect == Effects.SlayerHelmet))

		{

			throw new Exception("No item set can be used in conjuction with the black mask or slayer helmet as only one helmet can be worn at once and helmets cannot be worn in Castle Wars.");

		}

		

		if (itemSet == ItemSets.Dharok && hpCurrent == 0)

		{

			throw new Exception("Dharok's set effect cannot be used with a current hitpoints level of zero as you would be dead and could not attack.");

		}

		

		if (itemSet == ItemSets.Dharok && hpBase > MAX_LEVEL)

		{

			throw new Exception("You cannot have a base hitpoints level greater than " + MAX_LEVEL + ".");

		}

		

		if (special == SpecialAttacks.Keris && !(effect == Effects.None || effect == Effects.BlackMask || effect == Effects.SlayerHelmet))

		{

			throw new Exception("Keris can only be used with the black mask / slayer helmet effect. Keris can only be used on Kalphites, so the other effects are nonexistant.");

		}

		

		// Calculate according to each website's current formula...

		

		// Criticisms: Follows an unusual formula with no real background; very accurate in certain areas but far off in others.

		if (website == Websites.RuneUniverse)

		{

			double dharokMultiplier = ((1 - ((float)hpCurrent / (float)hpBase)) * 0.95) + 1;

			double baseStrength = ((strengthCurrent + fightStyle.getStrengthBoost()) * (1 + prayer.getBoost() + effect.getBoost()));

			double bonusMultiplier = (strengthBonus * 0.00175) + 0.1;

			double maxHit = (baseStrength * bonusMultiplier) + 1.3;

			

			if (itemSet == ItemSets.Dharok)

			{

				maxHit *= dharokMultiplier;

			}

			else if (itemSet == ItemSets.None)

			{

				maxHit *= special.getMultiplier();

			}

			else

			{

				maxHit *= itemSet.getMultiplier();

			}

			

			return (int)Math.floor(maxHit);

		}

		// Criticisms:

		//	Assumes special attacks increase strength bonus, whereas Jagex states they increase damage (e.g. max hit).

		//	Assumes that the Saradomin and Zamorak godsword special attacks increase max hit by 5% when there is NO evidence for this, plus the KB specifically says that the SGS "inflicts normal damage". No mention at all, of extra damage is made in the KB for the ZGS either.

		//	Uses potions as a multiplier (e.g. Super strength potion makes a multiplier of 1.2 whereas ALL potions do is increase your strength LEVEL by a set amount derived by a formula.

		// I've modified the formula so that potions are used correctly; sections changed are commented out.

		else if (website == Websites.TipIt)

		{

			/* Not needed because this is incorrect

			double potion = 0;

			1 = None

			1.125 = Strength

			1.2 = Super Strength

			1.15 = Zamorak

			*/

			

			double multiplier = 1;

			double maxHit = 0;

			double strengthBonus2 = strengthBonus;

			

			if (special == SpecialAttacks.DragonDagger)

			{

				strengthBonus += 20;

			}

			else if (special == SpecialAttacks.DragonLongsword)

			{

				strengthBonus += 30;

			}

			else if (special == SpecialAttacks.DragonMace)

			{

				strengthBonus += 60;

			}

			else if (special == SpecialAttacks.BandosGodsword)

			{

				multiplier += 0.1;

			}

			else if (special == SpecialAttacks.ArmadylGodsword)

			{

				multiplier += 0.25;

			}

			else if (special == SpecialAttacks.SaradominGodsword || special == SpecialAttacks.ZamorakGodsword)

			{

				multiplier += 0.05;

			}

			else if (itemSet == ItemSets.Dharok)

			{

				strengthBonus2 = (strengthBonus * (((float)(hpBase - hpCurrent) / 99) + 1));

			}

			else if (itemSet == ItemSets.VoidKnight)

			{

				multiplier += 0.1;

			}

			else if (special == SpecialAttacks.BerserkerNecklace)

			{

				multiplier += 0.2;

			}

			else

			{

				throw new Exception("Tip.It's formula does not support this special attack or item set.");

			}

			

			strengthCurrent += (int)Math.floor(strengthCurrent * effect.getBoost());



			/* Not needed because this is incorrect

		    if (special == SpecialAttacks.Rampage)

		    {

		    	potion = 1.2;      

		    }

		    */

		    

			// strengthCurrent was previously: Math.floor(strengthBase * potion)

		    maxHit = (((strengthCurrent + Math.floor(strengthCurrent * prayer.getBoost()) + fightStyle.getStrengthBoost()) * ((strengthBonus2 * 0.00175) + 0.1) + 1.05) * multiplier);

		    

		    if (maxHit < 1.5)

		    {

		    	maxHit = 1;

		    }

		    else

		    {

		    	maxHit = Math.ceil(maxHit);

		    }

		    

		    return (int)maxHit;

		}

		// Criticisms: Like most of the others, is horrible at calculating Dharok max hits. On a positive note, it almost handles potions correctly (it factors in the fight style strength addition before the potion, where the potion should be first).

		else if (website == Websites.RuneHQ)

		{

			// NOTE: Due to the way RuneHQ's formula uses potions, the following two lines MAY cause an inaccuracy of 1 strength level due to the way it had to be converted to be used in this system

			double postMultiplier = ((float)(strengthCurrent - strengthBase) / strengthBase) + 1;

			strengthCurrent = (int)Math.ceil((strengthBase + fightStyle.getStrengthBoost()) * postMultiplier);

			

			double dharokMultiplier = ((1 - ((float)hpCurrent / (float)hpBase)) * ((float)2 / (float)3)) + 1;

			double baseStrength = strengthCurrent * (1 + prayer.getBoost() + effect.getBoost());

			double maxHit = 1 + ((float)strengthBonus / 100) + (((float)strengthBonus / 925) * Math.log(baseStrength));

			double maxHit2 = ((baseStrength + 13) * maxHit) / 10;

			

			if (special == SpecialAttacks.DragonHalberd)

			{

				maxHit2 *= 1.1;

			}

			else if (itemSet == ItemSets.Dharok)

			{

				maxHit2 *= dharokMultiplier;

			}

			else if (special == SpecialAttacks.Keris)

			{

				maxHit2 = Math.floor(maxHit2) * special.getMultiplier();

			}

			else

			{

				maxHit2 *= special.getMultiplier();

			}

			

			return (int)Math.floor(maxHit2);

		}

		// Criticisms: Same as Tip.It's formula in terms of potions.

		// I've also modified this one to use potions properly.

		else if (website == Websites.RuneScapeWikia)

		{

			if (itemSet != ItemSets.None)

			{

				throw new Exception("RuneScape Wikia formula does not support item sets.");

			}

			

			if (special != SpecialAttacks.None)

			{

				throw new Exception("RuneScape Wikia formula does not support item sets.");

			}

			

			if (effect != Effects.None)

			{

				throw new Exception("RuneScape Wikia does not support special effects.");

			}

			

			// Was previously: (strengthBase * (1 + potion + prayer.getBoost()...

			double baseStrength = (strengthCurrent * (1 + prayer.getBoost())) + fightStyle.getStrengthBoost();

			double strengthMultiplier = (strengthBonus * 0.00175) + 0.1;

			double maxHit = (baseStrength * strengthMultiplier) + 1.05;

			

			return (int)Math.floor(maxHit);

		}

		// Criticisms: Outdated and same potion problem as Tip.It and RS Wikia, but seems very accurate and simple and is the most logical to use as a base for new formulas.

		// Corrected potion error here also.

		else if (website == Websites.OldRSCWebsites)

		{

			if (itemSet != ItemSets.None)

			{

				throw new Exception("Old RSC formula does not support item sets.");

			}

			

			if (special != SpecialAttacks.None)

			{

				throw new Exception("Old RSC formula does not support item sets.");

			}

			

			if (effect != Effects.None)

			{

				throw new Exception("Old RSC formula does not support special effects.");

			}

			

			// strengthCurrent was previously (strength * potion)

			return (int)Math.floor(((strengthCurrent + (strengthBase * (1 * prayer.getBoost())) + fightStyle.getStrengthBoost()) * ((strengthBonus * 0.00175) + 0.1)) + 1.05);

		}

		// This is our research formula, the one that is hoped to become 100% accurate

		else if (website == Websites.Experimental)

		{

			if (itemSet == ItemSets.Dharok)

			{

				strengthCurrent += (hpBase - hpCurrent);

			}

			

			double finalStrength = strengthCurrent + fightStyle.getStrengthBoost() + (strengthBase * prayer.getBoost()) + (strengthBase * effect.getBoost()) + (itemSet == ItemSets.Dharok ? (hpBase - hpCurrent) : 0);

			double strengthMultiplier = (strengthBonus * 0.00175) + 0.1;

			double maxHit = (int)Math.floor((finalStrength * strengthMultiplier) + 1.05);

			

			return (int)Math.floor(Math.floor(Math.floor(maxHit) * itemSet.getMultiplier()) * special.getMultiplier());

		}

		else

		{

			throw new Exception("Parameter 'website' must be a valid constant in the 'Websites' enumeration.");

		}

	}



Yes, that took a while to write.



Now, for the programmers of Tip.It, or those who can understand Java easily enough to see it in mathematical terms, I'd like to point out a few things that most sites do incorrectly in their formulas.



[*:33nsra4c]Potions are calculated incorrectly by every formula I've ever come across. RuneHQ's is the only one that even comes close at all. A lot of sites calculate potions as strengthLevel * 1.2 for a Super strength potion, etc. This is NOT correct. ALL a potion does it raise your strength level. Potions don't belong in the max hit formula AT ALL; they are to be pre-calculated and passed in AS the strength level itself, not added to it. For example, I'm 99 strength. Drinking a super strength potion gives me 19 strength levels putting me at level 118. I don't tell the formula to calculate 99 strength + a super strength potion - I tell it to calculate with 118 strength.

[*:33nsra4c]Jagex differentiates between things that raise your strength and those that raise your max hit. For example, the description of Dharok's special attack is "The lower your Hitpoints, the higher your Strength". The higher your STRENGTH, not max hit. Therefore, in the formula, Dharok's effect should be calculated and added to strength level BEFORE other calculations. Same idea for things like Keris, which triples your MAX HIT, not your strength. That should be calculated near the END of the formula, after other calculations have already been made.

[*:33nsra4c]Pay attention to the knowledge base. Tip.It's max hit calculator actually factors in the Saradomin and Zamorak godswords as having a 5% max hit bonus! This is wrong. ONLY the Armadyl (+25%) and Bandos (+10%) godsword special attacks affect max hit. RuneHQ also claims the name of Keris' special attack / effect is "Scabaras Slayer" and that the Berserker Necklace's effect is "Obsidian Synergy". Neither of these are found anywhere else, and especially not on the KB.

[*:33nsra4c]All the special attacks raise MAX HIT, according to the KB - not strength. Let's remember to factor it in correctly. Also, don't take the special attack multipliers used in my class as correct. I used the same ones as Tip.It and RuneHQ - they are experimental only, just like the formula itself!


And the questions we have to answer...



[*:33nsra4c]Are prayers and other bonuses cumulative? E.G., do you calculate that 99 strength * 1.23 for piety is 121.77, then 121.77 * 1.15 for Black mask? Or are they based on your BASE level, e.g. 99 * (1 + 0.23 + 0.15)? I am considering removing the base strength and current strength parameters from the formula and just using one strength variable. It'd make more sense, because I think Jagex considers "level" in their code to be your actual level, and your XP to be your base level.

[*:33nsra4c]Where did the numbers 0.00175, 0.1 and 1.05, from the RSC formula, originate? And should we use them?

[*:33nsra4c]The max hit rounded down before Keris is calculated? Is it rounded down before the Void Knight set is counted and what order are these calculations done in? In our experimental formula I have: floor(floor(floor(maxHit) * itemSet.getMultiplier()) * special.getMultiplier()) at the moment. It makes sense to round down before raising your "max hit" by X percent.

[*:33nsra4c]Does the Void Knight set stack with special attacks? Pretty sure it does...


Please take a look at the full source code of this in the Downloads and Links section. Hopefully we can work together to come up with an extremely accurate formula! Posting screenshots and/or videos of max hits detailing all conditions at the time would be helpful to our project.



If you have any thoughts or ideas about the math in these formulas, please post them! I'd love to hear it.



I'm also thinking of adding a function to grab player stats from the highscores to my class but as I currently have other work, I probably won't have the time for a while. I actually had this post ready as a draft for a while now so I figured I'd post it. I hope you enjoy this topic and hopefully we'll come up with something good!



~~ Downloads and Links ~~



This is an open source project, as such, the source code is available for you to view and edit!



Click here to download the source code of RuneScapeFormulas.java



I also made a little max hit calculator with a GUI (I wrote it in about an hour last night and didn't really bother to follow good coding guidelines so excuse me if the code's a bit messy). It uses my RuneScapeFormulas class, so be sure to download RuneScapeFormulas.java above if you want to compile it!



Click here to download the source code of MaxHitCalculator.java

Click here to download a JAR file of my Max Hit Calculator

Click here to download an EXE file of my Max Hit Calculator



Jard Y Dooku's members combat: 136.1

Jard Y Dooku's free combat level: 126.1

Jard Y Dooku's RSC combat level: 123.125

Jard Y Dooku's remaining summoning levels to advance a combat level: 8

Jard Y Dooku's melee max hit with Dharok and best setup and conditions (Experimental): 118

Jard Y Dooku's melee max hit with Dharok and best setup and conditions (Rune HQ): 93

Jard Y Dooku's melee max hit with Dharok and best setup and conditions (Rune Universe): 111

Jard Y Dooku's melee max hit with Dharok and best setup and conditions (Tip.It): 98

Jard Y Dooku's melee max hit with Keris and best setup and conditions (Experimental): 114

Jard Y Dooku's melee max hit with Keris and best setup and conditions (Rune HQ): 117

Jard Y Dooku's melee max hit with Keris and best setup and conditions (Rune Universe): 121

Jard Y Dooku's Pest Control points reward for ranged skill: 448

Jard Y Dooku's amount of levels boosted in the hitpoints skill, using a Saradomin Brew: 16


  • Never trust anyone. You are always alone, and betrayal is inevitable.
  • Nothing is safe from the jaws of the decompiler.

#2
The_Avatar
[ Display Name History ]

The_Avatar

    Varrock Guard

  • Members
  • 1,325 posts
  • Gender:Male
  • Location:Runescape
  • Joined:8 October 2005
  • RuneScape Status:Retired
  • RSN:The Avatar
  • RSN2:Monkeybeast0
Great job. Thats quite a bit of work.
Previously known as Monkeybeast0.
Posted Image

#3
Rocked
[ Display Name History ]

Rocked

    Retired Crew

  • Members
  • 2,939 posts
  • Gender:Male
  • Joined:12 October 2004
  • RuneScape Status:P2P
  • RSN:Rocked
  • RSN '07:Mtn Dew Dew
Amazing research there. The programming is basic but perfect for the job. I absolutely love java myself, so I may copy this class and tinker with it, if you don't mind.

lalalasig2.png


#4
Jard_Y_Dooku
[ Display Name History ]

Jard_Y_Dooku

    Hobgoblin Killer

  • Members
  • 1,700 posts
  • Gender:Male
  • Joined:5 September 2006
  • RuneScape Status:P2P
  • RSN:Jard Y Dooku

Amazing research there. The programming is basic but perfect for the job. I absolutely love java myself, so I may copy this class and tinker with it, if you don't mind.




Open source; MIT license. Go ahead! Also, I may update it at a later time so be sure to watch this page. And if you come up with any good improvements, please don't hesitate to post the code so I can add it in. ;)
  • Never trust anyone. You are always alone, and betrayal is inevitable.
  • Nothing is safe from the jaws of the decompiler.

#5
TheAncient
[ Display Name History ]

TheAncient

    Black Knight Trainer

  • Members
  • 3,267 posts
  • Gender:Not Telling
  • Joined:27 January 2006
  • RuneScape Status:None
  • RSN:The Ancient
Very nice, belongs in some kind of archive

I don't think RHQ's calculator does a multiplier for pots because it displays how potting affects a level
Posted Image
Ever wanted to find street prices of RS items? Check out the SPOLI Index

Nex Drops: Pernix Cowl, Pernix Chaps, Torva Helm, Torva Platebody, Zaryte Bow, Pernix Chaps, Virtus Robe Legs, Virtus Robe Top, Torva Platelegs, Zaryte Bow, Pernix Chaps, Virtus Robe Legs, Zaryte Bow, Virtus Mask, Torva Legs, Virtus Robe Legs, Virtus Robe Top, Virtus Robe Top, Zaryte Bow, Virtus Robe Legs, Virtus Robe Top, Virtus Robe Top, Torva Platelegs, Zaryte Bow, Pernix Body, Torva Platelegs, Torva Platelegs, Virtus Robe Top

#6
Pinkbullet3
[ Display Name History ]

Pinkbullet3

    Bite Me!

  • Members
  • 3,878 posts
  • Gender:Male
  • Joined:29 January 2006
  • RuneScape Status:None
*wakes up in the middle of Lumbridge courtyard*



Ugh... wha...? The last thing I remember seeing was a huge wall of text... *falls back on the ground*



No, jk.



But this find is amazing. I would never believe how these people managed the time to find all this stuff. :shock:
Posted Image
^ Blog.

Posted Image


#7
Jard_Y_Dooku
[ Display Name History ]

Jard_Y_Dooku

    Hobgoblin Killer

  • Members
  • 1,700 posts
  • Gender:Male
  • Joined:5 September 2006
  • RuneScape Status:P2P
  • RSN:Jard Y Dooku

Very nice, belongs in some kind of archive

I don't think RHQ's calculator does a multiplier for pots because it displays how potting affects a level




Well, you know how using aggressive adds 3 strength levels and controlled adds 1? Well, RuneHQ adds the 3 levels before calculating the amount of levels you get for drinking a potion. There's a formula to determine how many levels you get from drinking a particular potion, e.g. at level 1 a super strength potion gives 5 levels, at 99 it gives 19. The point is that RuneHQ adds the 3 from the aggressive style before calculating the potion raise, instead of after... making it incorrect. Do you see what I'm saying?



Here's an example; RuneHQ does:



int strength = 99;

strength += 3;

strength += getPotionRaise(strength);



The last two lines should be reversed.
  • Never trust anyone. You are always alone, and betrayal is inevitable.
  • Nothing is safe from the jaws of the decompiler.

#8
Jard_Y_Dooku
[ Display Name History ]

Jard_Y_Dooku

    Hobgoblin Killer

  • Members
  • 1,700 posts
  • Gender:Male
  • Joined:5 September 2006
  • RuneScape Status:P2P
  • RSN:Jard Y Dooku
Friday, September 05 - Made a small error correction to the max hit calculator.
  • Never trust anyone. You are always alone, and betrayal is inevitable.
  • Nothing is safe from the jaws of the decompiler.

#9
brunokiller
[ Display Name History ]

brunokiller

    Dragon Slayer

  • Members
  • 5,598 posts
  • Gender:Male
  • Location:Haxville
  • Joined:3 March 2007
  • RSN:Curoch
Jard Y Dooku's melee max hit with Keris and best setup and conditions (Rune Universe): 121



Bs. The keris ALWAYS hits a multiple of 3(unless it's the killing hit) so according to you it would be 123.



Btw, the max with 91 str and keris(minus dfs and fire cape with slay mask is 105. Runehq is very accurate with the keris hits.



And I've hit a 96 with dharoks on another player with 2/99 hp and 98 strength(potted too).

#10
Jard_Y_Dooku
[ Display Name History ]

Jard_Y_Dooku

    Hobgoblin Killer

  • Members
  • 1,700 posts
  • Gender:Male
  • Joined:5 September 2006
  • RuneScape Status:P2P
  • RSN:Jard Y Dooku

Jard Y Dooku's melee max hit with Keris and best setup and conditions (Rune Universe): 121



Bs. The keris ALWAYS hits a multiple of 3(unless it's the killing hit) so according to you it would be 123. Yes, I know... my website's formula is lacking a few floors() but I'm not going to fix it at the moment as our main concern is getting the experimental formula correct.



Btw, the max with 91 str and keris(minus dfs and fire cape with slay mask is 105. Runehq is very accurate with the keris hits. Thanks.



And I've hit a 96 with dharoks on another player with 2/99 hp and 98 strength(potted too). Were you using prayer? What was your strength bonus?


  • Never trust anyone. You are always alone, and betrayal is inevitable.
  • Nothing is safe from the jaws of the decompiler.

#11
tryto
[ Display Name History ]

tryto

    Your Silence Will Not Protect You

  • Members
  • 3,078 posts
  • Gender:Not Telling
  • Location:Ontari-Airy-Airy-Oh!
  • Joined:4 August 2007
  • RuneScape Status:None
  • RSN:Zemblan
  • RSN2:Mountain_Jam

Pay attention to the knowledge base. Tip.It's max hit calculator actually factors in the Saradomin and Zamorak godswords as having a 5% max hit bonus! This is wrong. ONLY the Armadyl (+25%) and Bandos (+10%) godsword special attacks affect max hit. RuneHQ also claims the name of Keris' special attack / effect is "Scabaras Slayer" and that the Berserker Necklace's effect is "Obsidian Synergy". Neither of these are found anywhere else, and especially not on the KB.






The Kb is not all-knowing. Well, tbh, they should be all-knowing, but aren't. There are numerous mistakes, inaccuracies, generalities, and important information left unmentioned.



I remember when the 5% was added- I weighed in in favour of it, that despite there being no kb evidence, both zamorak/saradomin godswords had reported max hits higher than what should have been - about 5%. These reports were given by, among others, people whom I know and respect highly. An accuracy increase wa also represented, but did not have enough information relayed.



Any further info on this will be appreciated; I just wanted to make the point that the KB isn't an end-all, be-all.
Posted Image
When a true genius appears in the world, you may know him by this sign, that the dunces are all in confederacy against him. ~Jonathan Swift
Posted Image
Website Updates/Corrections here. WE APPRECIATE YOUR INPUT! Crewbie's Missions!Contributor of the Day!
Thanks to artists: Destro3979, Guthix121, Shivers21, and Unoalexi.

#12
brunokiller
[ Display Name History ]

brunokiller

    Dragon Slayer

  • Members
  • 5,598 posts
  • Gender:Male
  • Location:Haxville
  • Joined:3 March 2007
  • RSN:Curoch

Jard Y Dooku's melee max hit with Keris and best setup and conditions (Rune Universe): 121



Bs. The keris ALWAYS hits a multiple of 3(unless it's the killing hit) so according to you it would be 123. Yes, I know... my website's formula is lacking a few floors() but I'm not going to fix it at the moment as our main concern is getting the experimental formula correct.



Btw, the max with 91 str and keris(minus dfs and fire cape with slay mask is 105. Runehq is very accurate with the keris hits. Thanks.



And I've hit a 96 with dharoks on another player with 2/99 hp and 98 strength(potted too). Were you using prayer? What was your strength bonus?


Keris setup(the 105 hit one)



Posted Image

With better gear and higher str, This is NOT the max hit, my str potted is a bit down too.

Posted Image





Dharok hit.



Posted Image

Str ammy, fire cape, zerker ring, dragon boots, dharoks. I d baxe specced 1 second earlier.









All of those were done with piety.

#13
Blizaga57
[ Display Name History ]

Blizaga57

    Bear Fur

  • Members
  • 338 posts
  • Joined:27 October 2004
Wow, this looks amazing.



I read everything except the code for the max hit.



I love knowing mechanics, but rarely have the patience to test them myself.
Posted Image

#14
Jard_Y_Dooku
[ Display Name History ]

Jard_Y_Dooku

    Hobgoblin Killer

  • Members
  • 1,700 posts
  • Gender:Male
  • Joined:5 September 2006
  • RuneScape Status:P2P
  • RSN:Jard Y Dooku

Pay attention to the knowledge base. Tip.It's max hit calculator actually factors in the Saradomin and Zamorak godswords as having a 5% max hit bonus! This is wrong. ONLY the Armadyl (+25%) and Bandos (+10%) godsword special attacks affect max hit. RuneHQ also claims the name of Keris' special attack / effect is "Scabaras Slayer" and that the Berserker Necklace's effect is "Obsidian Synergy". Neither of these are found anywhere else, and especially not on the KB.






The Kb is not all-knowing. Well, tbh, they should be all-knowing, but aren't. There are numerous mistakes, inaccuracies, generalities, and important information left unmentioned.



I remember when the 5% was added- I weighed in in favour of it, that despite there being no kb evidence, both zamorak/saradomin godswords had reported max hits higher than what should have been - about 5%. These reports were given by, among others, people whom I know and respect highly. An accuracy increase wa also represented, but did not have enough information relayed.



Any further info on this will be appreciated; I just wanted to make the point that the KB isn't an end-all, be-all.




I understand there are inaccuracies, but special attacks don't necessarily have to raise your max hit to hit higher. Just because I hit a 50 with Zamorak godsword and then a 51 with the special attack doesn't mean the special hits higher.



Also, a 5% increase seems a bit odd for Jagex to leave out. Secondly, a 5% increase is kind of worthless on a weapon as powerful as a godsword. Third, the Saradomin godsword's special is quite useful - I doubt they were much inclined to make it any better, the same with the Zamorak godsword, even though its special isn't that great.



We should attempt intensive testing before concluding things like this, and I'm not adding 5% to the Saradomin and Zamorak godswords on the experimental formula, as priority is to get the base formula working accurately first.



Thanks for your input though, I'll talk to some Jagex mods about this.



Also, thanks for those pics, brunokiller.



Also I forgot to mention: Level to XP and XP to level methods are now in the RuneScapeFormulas class.
  • Never trust anyone. You are always alone, and betrayal is inevitable.
  • Nothing is safe from the jaws of the decompiler.

#15
brunokiller
[ Display Name History ]

brunokiller

    Dragon Slayer

  • Members
  • 5,598 posts
  • Gender:Male
  • Location:Haxville
  • Joined:3 March 2007
  • RSN:Curoch
When I had a zgs the special always seemed to be able to hit a little bit higher than it did without spec :P



Might just be a 4 or 5%

#16
Atom Smash40
[ Display Name History ]

Atom Smash40

    Demon Vanquisher

  • Members
  • 2,215 posts
now that is amazing....



im taking a programming class, and were working with Pascal :wall: i wanna learn java....



OT: can sum1 explain the greatness of keris and how it can hit 111 on a kalhpite?

modmarkl.jpg
~ 3,072nd to 99 Mining on August 30th, 2009 ~
~ 112,084th to 99 Magic on April 16th, 2011 ~

Pocono Raceway - North Course | Pocono Raceway - Long Course | Carolina Motorsports Park | New Jersey Motorsports Park - Lightning | Lime Rock Park | Pocono Raceway - Tri-Oval | New Jersey Motorsports Park - Thunderbolt | Mid-Ohio Sports Car Course | Pocono Raceway - Double Infield | Road America


#17
Deathmath
[ Display Name History ]

Deathmath

    Hobgoblin Killer

  • Members
  • 1,608 posts
Nice, but shouldn't this go in website corrections and recommendations or w/e :geek:



NO but really your java and the math it took was fairly complicated even by my standards. :ugeek:
Thoroughly retired, may still write now and again

#18
Jard_Y_Dooku
[ Display Name History ]

Jard_Y_Dooku

    Hobgoblin Killer

  • Members
  • 1,700 posts
  • Gender:Male
  • Joined:5 September 2006
  • RuneScape Status:P2P
  • RSN:Jard Y Dooku

now that is amazing....



im taking a programming class, and were working with Pascal :wall: i wanna learn java....



OT: can sum1 explain the greatness of keris and how it can hit 111 on a kalhpite?




Thanks for the compliments you guys.



And the reason Keris can hit so high is because the special attack triples your max hit. For example if you would have hit 42, you'd hit 126 with the special attack/effect.
  • Never trust anyone. You are always alone, and betrayal is inevitable.
  • Nothing is safe from the jaws of the decompiler.

#19
Atroxide
[ Display Name History ]

Atroxide

    Scorpion Pit

  • Members
  • 573 posts
Here is the current combat formula in PHP.


<?php

function calculateCombat($attack, $strength, $defence, $hitpoints, $prayer, $ranged, $magic, $summoning)

{

     $combatLevel = ($defence + $hitpoints + floor($prayer / 2) + floor($summoning / 2)) * 0.25;

      

      $warrior = ($attack + $strength) * 0.325;

      $ranger = $ranged * 0.4875;

      $mage = $magic * 0.4875;

      

      return $combatLevel + max($warrior, max($ranger, $mage));

}

?>




EDIT: I didn't test it, just quickly changed a few things to make it PHP.

#20
Jard_Y_Dooku
[ Display Name History ]

Jard_Y_Dooku

    Hobgoblin Killer

  • Members
  • 1,700 posts
  • Gender:Male
  • Joined:5 September 2006
  • RuneScape Status:P2P
  • RSN:Jard Y Dooku

Here is the current combat formula in PHP.


<?php

function calculateCombat($attack, $strength, $defence, $hitpoints, $prayer, $ranged, $magic, $summoning)

{

     $combatLevel = ($defence + $hitpoints + floor($prayer / 2) + floor($summoning / 2)) * 0.25;

      

      $warrior = ($attack + $strength) * 0.325;

      $ranger = $ranged * 0.4875;

      $mage = $magic * 0.4875;

      

      return $combatLevel + max($warrior, max($ranger, $mage));

}

?>




EDIT: I didn't test it, just quickly changed a few things to make it PHP.




Yeah php's easy... just change all the data types to dollar signs, pretty much. :D
  • Never trust anyone. You are always alone, and betrayal is inevitable.
  • Nothing is safe from the jaws of the decompiler.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users