- Joined
- Jun 12, 2015
- RedCents
- 58,244¢
- Version of KissAssist.mac?
- 12.002
- When did your problem start?
- a couple weeks ago the issue was talked about on discord.
- Character Role?
- Assist
- Tank
- PetTank
- PullerPetTank
- Puller
- PullerTank
- Hunter
- HunterPetTank
- Petassist
- What class is having this issue?
- Bard
- Beastlord
- Berserker
- Cleric
- Druid
- Enchanter
- Magician
- Monk
- Necromancer
- Paladin
- Ranger
- Rogue
- Shadow Knight
- Shaman
- Warrior
- Wizard
- How often does this issue occur?
- Always
when you have a spell and it needs a component it should stop that buff from casting, but it does not.
the issue is the order of events checked in
cast_component event is checked early, which used to be fine, but along the way dpg added another line to the missing component failure message

so the cast_compoents gets fired, but then imediately gets replaced with CAST_INTERRUPTED event, and now its not telling the subs to stop casting it.
the fix would be to make cast_component the last event to be checked like so:
this is test where i was running to interupt the cast, which it did, and then i stopped to let it cast, which it did, and found missing components correctly

the issue is the order of events checked in
Sub DoCastingEventscast_component event is checked early, which used to be fine, but along the way dpg added another line to the missing component failure message

so the cast_compoents gets fired, but then imediately gets replaced with CAST_INTERRUPTED event, and now its not telling the subs to stop casting it.
the fix would be to make cast_component the last event to be checked like so:
Code:
Sub DoCastingEvents(int CastTimer, int actionFlag)
DEBUGCAST DoCastingEvents \awEnter
/declare CastCalcTimer timer local 10
/declare castHold string local ${castReturn}
/if (${CastTimer}) /varset CastCalcTimer ${CastTimer}
/while (${CastCalcTimer} && ${castHold.Equal[${castReturn}]}) {
/doevents CAST_BEGIN
/doevents CAST_CANNOTSEE
/doevents CAST_COLLAPSE
/doevents CAST_DISTRACTED
/doevents CAST_FDFAIL
/doevents CAST_FIZZLE
/doevents CAST_IMMUNE
/doevents CAST_INTERRUPTED
/doevents CAST_NOMOUNT
/doevents CAST_NOTARGET
/doevents CAST_NOTREADY
/doevents CAST_OUTDOORS
/doevents CAST_OUTOFMANA
/doevents CAST_OUTOFRANGE
/doevents CAST_RECOVER
/varset CheckResisted 1
/doevents CAST_RESISTED
/varset CheckResisted 0
/doevents CAST_RESISTEDYOU
/doevents CAST_STANDING
/doevents CAST_STUNNED
/doevents CAST_TAKEHOLD
/doevents CAST_FAILED
/doevents CAST_COMPONENTS
/if (${actionFlag}) /break
}
DEBUGCAST DoCastingEvents \awLeave ${CastCalcTimer} ${castHold} ${castReturn} ${Me.Casting.ID} ${Window[CastingWindow].Open}
/return
this is test where i was running to interupt the cast, which it did, and then i stopped to let it cast, which it did, and found missing components correctly


