• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

Problem - Casting continues while you are out of components

kaen01

I am not a complete idiot!..some parts are missing
Creator
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?
  1. Assist
  2. Tank
  3. PetTank
  4. PullerPetTank
  5. Puller
  6. PullerTank
  7. Hunter
  8. HunterPetTank
  9. Petassist
What class is having this issue?
  1. Bard
  2. Beastlord
  3. Berserker
  4. Cleric
  5. Druid
  6. Enchanter
  7. Magician
  8. Monk
  9. Necromancer
  10. Paladin
  11. Ranger
  12. Rogue
  13. Shadow Knight
  14. Shaman
  15. Warrior
  16. 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 Sub DoCastingEvents

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

1696851078964.png

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

1696851257557.png
 
Problem - Casting continues while you are out of components

Users who are viewing this thread

Back
Top
Cart