[Bug Fix] Misc Bard Song Fixes (#1317)

* Bards song with a mana cost shouldn't repulse

* Bard songs with SE_TemporaryPets shouldn't repulse

This is mostly just an issue with Vet AAs, the actually songs have a
recast, so are already handled

* SE_Familiar should be prevented as well
This commit is contained in:
Michael Cook (mackal) 2021-04-01 14:19:29 -04:00 committed by GitHub
parent d117ce0bf2
commit a9a83a2052
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1038,8 +1038,10 @@ void Mob::CastedSpellFinished(uint16 spell_id, uint32 target_id, CastingSlot slo
// So long recast bard songs need special bard logic, although the effects don't repulse like other songs
// This is basically a hack to get that effect
// You can hold down the long recast spells, but you only get the effects once
// Songs with mana cost also do not repulse
// AAs that use SE_TemporaryPets or SE_Familiar also do not repulse
// TODO fuck bards.
if (spells[spell_id].recast_time == 0) {
if (spells[spell_id].recast_time == 0 && spells[spell_id].mana == 0 && !IsEffectInSpell(spell_id, SE_TemporaryPets) && !IsEffectInSpell(spell_id, SE_Familiar)) {
bardsong = spell_id;
bardsong_slot = slot;
//NOTE: theres a lot more target types than this to think about...