Thread: Miscellaneous: Nerf Bowquest 99
View Single Post
  #229  
Old 08-31-2023, 03:52 PM
Ezpk Ezpk is offline
Kobold

Ezpk's Avatar

Join Date: Aug 2013
Posts: 148
Exclamation

I agree bowquest is busted to a certain extent and should be addressed, however - until people put in the leg work and figure out the actual formula and run tests with logs similar to how Lovely would provide extensive feedback at launch, there won't be any updates outside of dev input. I remember getting smacked around here n there all the time to test #s. If we want to fix bowquest, we'll have to figure out a fix for the coding and why it is the way it is.

Quoting most previous post relating to the actual code below -
Quote:
Originally Posted by Botten [You must be logged in to view images. Log in or Register.]
Changing a persons quote is really frowned on by these forums. Especially rewriting it.

I don't get it Imago. You are playing on an emulator of a game hosted for free.

Demanding an immediate fix that only affects a small population of players and characters who have this limited race/class who exploit this in PvP.

Have some humbleness they acknowledge it and are trying to fix it but it doesn't warrant a hot fix and drop all resources to fix NOW.

Hell want fix the code yourself and part of the solution:

https://github.com/EQEmu/Server/blob...one/attack.cpp

Code:
if (hit.skill == EQ::skills::SkillArchery ||
		(hit.skill == EQ::skills::SkillThrowing && GetClass() != BERSERKER))
		hit.damage_done /= 2;

	if (hit.damage_done < 1)
		hit.damage_done = 1;

	if (hit.skill == EQ::skills::SkillArchery) {
		int bonus = aabonuses.ArcheryDamageModifier + itembonuses.ArcheryDamageModifier + spellbonuses.ArcheryDamageModifier;
		hit.damage_done += hit.damage_done * bonus / 100;
		int headshot = TryHeadShot(defender, hit.skill);
		if (headshot > 0) {
			hit.damage_done = headshot;
		}
		else if (GetClass() == RANGER && GetLevel() > 50) { // no double dmg on headshot
			if ((defender->IsNPC() && !defender->IsMoving() && !defender->IsRooted()) || !RuleB(Combat, ArcheryBonusRequiresStationary)) {
				hit.damage_done *= 2;
				MessageString(Chat::MeleeCrit, BOW_DOUBLE_DAMAGE);
			}
		}
	}
--------------------------------------------------------------------------------------------------

This is where we need to pickup from if we want real results going forward.
__________________
Reply With Quote