Thread: Melee max hit & Range max hit - According to RuneScape Wikipedia

Page 1 of 3 123 LastLast
Results 1 to 10 of 23
  1. #1 Melee max hit & Range max hit - According to RuneScape Wikipedia 
    Respected Member


    George's Avatar
    Join Date
    Mar 2009
    Posts
    7,099
    Thanks given
    2,226
    Thanks received
    3,146
    Rep Power
    5000
    Code:
    	public static double getMaxHit(Player player) {
    		double maxHit = 0.0D;
    		int strengthLevel = player.getSkills().getLevel(Skills.STRENGTH);
    		double prayerMultiplier = 1.0D;
    		double itemMultiplier = 1.0D;
    		double specialMultiplier = 1.0D;
    		int optionBonus = 0;
    
    		if (player.getAttackOption().name().contains("AGGRESSIVE")) {
    			optionBonus = 3;
    		} else if (player.getAttackOption().name().contains("CONTROLLED")) {
    			optionBonus = 1;
    		}
    
    		if (player.isPrayerActive(PrayerConstants.BURST_OF_STRENGTH)) {
    			prayerMultiplier = 1.05D;
    		} else if (player.isPrayerActive(PrayerConstants.SUPERHUMAN_STRENGTH)) {
    			prayerMultiplier = 1.1D;
    		} else if (player.isPrayerActive(PrayerConstants.ULTIMATE_STRENGTH)) {
    			prayerMultiplier = 1.15D;
    		} else if (player.isPrayerActive(PrayerConstants.CHIVALRY)) {
    			prayerMultiplier = 1.18D;
    		} else if (player.isPrayerActive(PrayerConstants.PIETY)) {
    			prayerMultiplier = 1.23D;
    		}
    
    		if (usingVoidMelee(player)) {
    			itemMultiplier = 1.10D;
    		}
    
    		for (Item item : OBSIDIAN_WEAPONS) {
    			if (player.getEquipment().contains(11128) && player.getEquipment().contains(item.getId())) {
    				itemMultiplier = 1.20D;
    			}
    		}
    
    		double effectiveStrength = Math.floor(strengthLevel * prayerMultiplier * itemMultiplier) + optionBonus;
    
    		if (player.usingSpecial) {
    			switch (player.getEquipment().get(Equipment.SLOT_WEAPON).getId()) {
    			case 11802:
    				specialMultiplier = 1.375D;
    				break;
    
    			case 11804:
    				specialMultiplier = 1.21D;
    				break;
    
    			case 3204:
    			case 3101:
    			case 11806:
    			case 11808:
    				specialMultiplier = 1.10D;
    				break;
    
    			case 5698:
    			case 1215:
    			case 5680:
    			case 1305:
    				specialMultiplier = 1.15D;
    				break;
    
    			case 12809:
    				specialMultiplier = 1.25D;
    				break;
    
    			case 1434:
    				specialMultiplier = 1.45D;
    				break;
    
    			case 13265:
    			case 13267:
    			case 13269:
    			case 13271:
    				specialMultiplier = 0.85D;
    				break;
    			}
    		}
    
    		double baseDamage = (1.3 + ((effectiveStrength / 10) + (player.getBonus(Equipment.STRENGTH_BONUS) / 80) + (effectiveStrength
    				* player.getBonus(Equipment.STRENGTH_BONUS) / 640)));
    
    		maxHit = Math.floor(baseDamage * specialMultiplier);
    
    		if (usingDharoks(player)) {
    			int count = player.getSkills().getLevelForExperience(player.getSkills().getExperience(Skills.HITPOINTS))
    					- player.getSkills().getLevel(Skills.HITPOINTS);
    			for (int i = 0; i < count; i++) {
    				if (i < 98)
    					maxHit += maxHit * .01;
    			}
    		}
    
    		player.getActionSender().sendMessage("[max_hit= " + maxHit + "]");
    		return maxHit;
    	}


    Range:
    Code:
    	public static double getMaxHit(Player player) {
    		double maxHit;
    
    		int rangeLevel = player.getSkills().getLevel(Skills.RANGE);
    
    		double specialMultiplier = 1.0D;
    		double prayerMultiplier = 1.0D;
    		double itemMultiplier = 1.0D;
    		int optionBonus = 0;
    
    		if (player.isPrayerActive(PrayerConstants.SHARP_EYE)) {
    			prayerMultiplier = 1.05D;
    		} else if (player.isPrayerActive(PrayerConstants.HAWK_EYE)) {
    			prayerMultiplier = 1.10D;
    		} else if (player.isPrayerActive(PrayerConstants.EAGLE_EYE)) {
    			prayerMultiplier = 1.15D;
    		}
    
    		if (usingVoidRange(player)) {
    			itemMultiplier = 1.20D;
    		}
    
    		if (player.getAttackOption().name().contains("ACCURATE")) {
    			optionBonus = 3;
    		}
    
    		double effectiveStrength = Math.floor(rangeLevel * prayerMultiplier * itemMultiplier) + optionBonus;
    		double baseDamage = 1.3 + Math.floor((effectiveStrength / 10) + (player.getBonus(Equipment.RANGE_BONUS) / 80)
    				+ ((effectiveStrength * player.getBonus(Equipment.RANGE_BONUS)) / 640));
    
    		if (player.usingSpecial) {
    			if (player.getEquipment().contains(11235)) {
    				if (player.getEquipment().contains(11212)) {
    					specialMultiplier = 1.50D;
    				} else {
    					specialMultiplier = 1.30D;
    				}
    			}
    			switch (player.getEquipment().get(Equipment.SLOT_ARROWS).getId()) {
    			case 9243:
    			case 9245:
    				specialMultiplier = 1.15D;
    				break;
    
    			case 9236:
    				specialMultiplier = 1.25D;
    				break;
    
    			case 9244:
    				specialMultiplier = 1.45D;
    				break;
    
    			}
    		}
    
    		maxHit = Math.floor(baseDamage * specialMultiplier);
    
    		return Math.floor(maxHit);
    	}
    Attached image

    Spoiler for Spoilers!:
    Attached image
    Attached image
    Attached image
    Attached image
    Reply With Quote  
     


  2. #2  
    Banned
    Join Date
    Aug 2016
    Posts
    82
    Thanks given
    34
    Thanks received
    45
    Rep Power
    0
    Nice! pretty usefull. thanks for the release.
    Reply With Quote  
     

  3. #3  
    Registered Member
    Vippy's Avatar
    Join Date
    Oct 2014
    Age
    25
    Posts
    2,572
    Thanks given
    984
    Thanks received
    1,933
    Rep Power
    5000
    Cheers
    Reply With Quote  
     

  4. #4  
    Respected Member


    George's Avatar
    Join Date
    Mar 2009
    Posts
    7,099
    Thanks given
    2,226
    Thanks received
    3,146
    Rep Power
    5000
    Lol range is pretty much same concept.

    Code:
    	public static double getMaxHit(Player player) {
    		double maxHit;
    
    		int rangeLevel = player.getSkills().getLevel(Skills.RANGE);
    
    		double specialMultiplier = 1.0D;
    		double prayerMultiplier = 1.0D;
    		double itemMultiplier = 1.0D;
    		int optionBonus = 0;
    
    		if (player.isPrayerActive(PrayerConstants.SHARP_EYE)) {
    			prayerMultiplier = 1.05D;
    		} else if (player.isPrayerActive(PrayerConstants.HAWK_EYE)) {
    			prayerMultiplier = 1.10D;
    		} else if (player.isPrayerActive(PrayerConstants.EAGLE_EYE)) {
    			prayerMultiplier = 1.15D;
    		}
    
    		if (usingVoidRange(player)) {
    			itemMultiplier = 1.20D;
    		}
    
    		if (player.getAttackOption().name().contains("ACCURATE")) {
    			optionBonus = 3;
    		}
    
    		double effectiveStrength = Math.floor(rangeLevel * prayerMultiplier * itemMultiplier) + optionBonus;
    		double baseDamage = 1.3 + Math.floor((effectiveStrength / 10) + (player.getBonus(Equipment.RANGE_BONUS) / 80)
    				+ ((effectiveStrength * player.getBonus(Equipment.RANGE_BONUS)) / 640));
    
    		if (player.usingSpecial) {
    			if (player.getEquipment().contains(11235)) {
    				if (player.getEquipment().contains(11212)) {
    					specialMultiplier = 1.50D;
    				} else {
    					specialMultiplier = 1.30D;
    				}
    			}
    			switch (player.getEquipment().get(Equipment.SLOT_ARROWS).getId()) {
    			case 9243:
    			case 9245:
    				specialMultiplier = 1.15D;
    				break;
    
    			case 9236:
    				specialMultiplier = 1.25D;
    				break;
    
    			case 9244:
    				specialMultiplier = 1.45D;
    				break;
    
    			}
    		}
    
    		maxHit = Math.floor(baseDamage * specialMultiplier);
    
    		return Math.floor(maxHit);
    	}
    Attached image

    Spoiler for Spoilers!:
    Attached image
    Attached image
    Attached image
    Attached image
    Reply With Quote  
     

  5. #5  
    What is a Java?

    Leon.'s Avatar
    Join Date
    Oct 2013
    Posts
    1,919
    Thanks given
    173
    Thanks received
    802
    Rep Power
    5000
    Nice release.

    Attached image
    Attached image

    Reply With Quote  
     

  6. #6  
    Respected Member


    George's Avatar
    Join Date
    Mar 2009
    Posts
    7,099
    Thanks given
    2,226
    Thanks received
    3,146
    Rep Power
    5000
    Quote Originally Posted by Leon X D View Post
    Nice release.
    Thanks.

    Added range max hit formula as well.
    Attached image

    Spoiler for Spoilers!:
    Attached image
    Attached image
    Attached image
    Attached image
    Reply With Quote  
     

  7. #7  
    The One And Only

    01053's Avatar
    Join Date
    Apr 2011
    Age
    28
    Posts
    2,887
    Thanks given
    417
    Thanks received
    885
    Rep Power
    856
    Good job m8


    Reply With Quote  
     

  8. #8  
    Banned
    Join Date
    Jun 2012
    Posts
    125
    Thanks given
    1
    Thanks received
    2
    Rep Power
    0
    Thanks for this...Don't have playerflick code by any chance?
    Reply With Quote  
     

  9. #9  
    Respected Member


    George's Avatar
    Join Date
    Mar 2009
    Posts
    7,099
    Thanks given
    2,226
    Thanks received
    3,146
    Rep Power
    5000
    Quote Originally Posted by Owner Jason View Post
    Thanks for this...Don't have playerflick code by any chance?
    Playerflick?
    Attached image

    Spoiler for Spoilers!:
    Attached image
    Attached image
    Attached image
    Attached image
    Reply With Quote  
     

  10. #10  
    Banned
    Join Date
    Jun 2012
    Posts
    125
    Thanks given
    1
    Thanks received
    2
    Rep Power
    0
    Prayerflick my bad* I'm trying to make an amazing pk server... any idea of what would be needed? I'm unforutunately using PI
    Reply With Quote  
     

Page 1 of 3 123 LastLast

Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. Melee Max Hit
    By S a n t a Pk in forum Snippets
    Replies: 10
    Last Post: 09-27-2010, 02:44 PM
  2. Melee Max Hit
    By tucybro in forum Configuration
    Replies: 7
    Last Post: 08-21-2010, 05:44 PM
  3. Melee Max Hit
    By Shinto-Ken in forum Snippets
    Replies: 13
    Last Post: 10-22-2009, 06:29 AM
  4. Accurate melee max-hit formula
    By w::v::d in forum Requests
    Replies: 2
    Last Post: 06-01-2009, 06:22 PM
  5. Melee Max Hit
    By coolasianguy in forum Tutorials
    Replies: 2
    Last Post: 08-08-2008, 04:28 PM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •