Bard fixes (against Shawn319's cvs)
Patches are against Shawn319's CVS from January 12th, 2004.
Line numbers might not match exactly, since I had applied the FreeBSD patch first, but patch(1) should be able to sort things out.. Patch is at http://cobblering.kicks-ass.net/~tim...s/bard.diff.gz Summary of Bard fixes: -Fixed/worked around Bard song refreshing problems. Details: Bard songs used to drop before refreshing. This rendered songs such as invisibility that relied on a continuous duration useless for any amount of time greater than 18 seconds, as when they refreshed they would drop before coming back up, leaving you open to aggro. The cause of this problem (bug?) is that when a buff is cast the pre-existing buff (at least) is faded, causing you to temporarily lose the effect before it is reapplied. I added a workaround to Mob::SpellEffect for Bards only that says if we are refreshing a buff only extend the timer and refresh the spell level, do not fade it first. Note, this change is only applied to Bard songs, so other casters shouldn't notice. ================================================== =========================== -Fixed Bard songs not stopping when required instrument was not being used, or when there was insufficient mana to continue singing. Details: Bards could begin singing a song that required an instrument, and as soon as it was going remove their instrument, and the song would never turn off, so long as they didn't stop it on their own. Similarly, a Bard could start a song that required mana (such as level 43 AE DD Denon's Desperate Dirge), and it would continue to refresh whether or not the Bard had enough mana. To fix this I changed it so that songs that are refreshing go through Mob::CastedSpellFinished() instead of Mob::SpellFinished(). Mob::CastedSpellFinished() contains a sequence of statements during the reagent check phase that will ensure a Bard has enough mana to continue singing, and is still using the appropriate instrument, if either of these are relevant. Additionally, I moved stuff around so that the only Bardic reagent check is made during Mob::CastedSpellFinished(). Other caster reagent checks were not changed. ================================================== =========================== -Bard songs will now detect when an instrument is required and actually check to see if you are using it. Details: Added a new function, Client::UsingInstrument(), which accepts as a parameter an item number. This number is designed to come from the reagent or focusitem fields of a spell. It returns true or false, based on whether you have an item equipped that satisfies the spell being queried. This is utilized in Mob::CastedSpellFinished() - see previous note. I added a commented for loop to Client::UsingInstrument() that would cut down drastically on search time when a bard has an instrument equipped in his primary or secondary hand, by checking those slots first. However, I left it commented for the devs to evaluate. ================================================== =========================== Outstanding Bard bugs: - When a song is interrupted using InterruptSpell the casting bar stays gray. This seems to happen with regular casters as well, so it's not Bard specific. - Group songs may or may not be working, I have not had time to check one way or the other. - Bardic instruments do not lend their modifiers to spells yet - maybe in a few more days. - I've encountered sporadic problems regarding PB AE detrimental songs, I have not had time to see if these are still malfunctioning. |
Where does this fix go?
Ephezian |
Variety of files - zone/spells.cpp, i think there is some in client_process.cpp, maybe a handful of others. You can apply the patch with unix's patch(1) utility, I'm unsure of what method windows people use. You can go through the patch manually, take out in the original file that has a - next to it, and add anything that has a plus, but I'd try to find a Windows patch program.
|
You can only have instruments in your primary and secondary to begin with? (And use them ofcourse) this code /might/ have gotten in without proper testing.. i'll need to look but i'm noticing instruments disappear when you use a song that would use them? even if in invenotyr, bumping until I look at it
|
There are various pieces of equipment that have bard song modifiers, so it isn't sufficient to only check primary and secondary slots for instruments. Additionally, instruments (or items with instrument effects), must be equipped, it isn't sufficient to have them in your inventory.
I never had any problems with components disappearing, since the Bard check doesn't actually decrement anything. |
Bard Update
Will this code be included in the next version?
|
All times are GMT -4. The time now is 03:16 PM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.