• 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

Snippet - Rez Script

FelisMalum

Well-known member
Joined
Mar 7, 2022
RedCents
439¢
Pronouns
She/Her
For clarity just restarting the thread. Going to call this the beta version. At this point I'm going to put it into use, only GH tested and not field. Could use some polish and options but atm I think it fixes all of the previous issues. Will modify for dru/sha soon, they should be easy with the base done, just some spell name changes and ability/combat checks. Issues to address (please feel free to suggest more):
1) Will still cast normal rez after divine rez.
2) Multi-corpse support.
3) Fix the precondition of the script call so it doesn't always evaluate to true and run the script just to be kicked back.
4) It does not appear as if any of the announce entries actually trigger. Guessing due to how MB processes the script.

Will need to add a line to modheal.inc in the declare section: /declare AHRezTimer timer outer

Remaining 3 entries needed:
Code:
|Handles the checking and targeting of corpse, adjust the timer (C8) as necessary for delays between rez attempts:
[Script-RezScript]
Commands=9
C1=/if (!{Spawn[pccorpse radius 80].ID} || {AHRezTimer}) /return
C2=/varset AHTargetName {NearestSpawn[1,pccorpse radius 80].ID}
C3=/target id {NearestSpawn[1,pccorpse radius 80].ID}
C4=/delay 5 {Target.Type.Equal[pccorpse]}
C5=/corpse
C6=/if ({Spawn[id {AHTargetName}].CleanName.Find[${Group.MainTank.Name}]} && {Me.AltAbilityReady[Divine Resurrection]}) /call CastCall {Me.CleanName} ''cast divinerez {Spawn[pccorpse].ID}''
C7=/if ({Me.AltAbilityReady[Blessing of Resurrection]}) /call CastCall {Me.CleanName} ''cast rez {Spawn[pccorpse].ID}''
C8=/varset AHRezTimer 10s
C9=/return

|Triggers and calls the rez script:
[AB1]
Gem=script
Spell=RezScript
SpellFoci=
DurMod=0
SpellAlias=rezcheck
Announce=/bc Found PC corpse
SpellMinMana=0
TarCnt=1
TarType=self cbt idle
Recast=FALSE
SpellIcon=
PreCondition=TRUE

|The actuall rez entries called by script:
[AB12]
Gem=alt
Spell=Blessing of Resurrection
SpellFoci=
DurMod=0
SpellAlias=rez
Announce=/bc Resing %t
SpellMinMana=0
TarCnt=0
TarType=clr
Recast=FALSE
SpellIcon=
PreCondition=TRUE
[AB13]
Gem=alt
Spell=Divine Resurrection
SpellFoci=
DurMod=0
SpellAlias=divinerez
Announce=/bc Divine Rez to %t
SpellMinMana=0
TarCnt=0
TarType=clr
Recast=FALSE
SpellIcon=
PreCondition=TRUE
 
Last edited:
Thank you for taking this on. I cant wait to give this a shot. To clarify - if I remove cbt from tartype will rez only occur for self and in idle state?
 
Thank you for taking this on. I cant wait to give this a shot. To clarify - if I remove cbt from tartype will rez only occur for self and in idle state?
Id imagine in this context the "self" is fairly irrelevant. Its generally used for self buffs and believe it either doesn't change target or targets self. Since the targeting is handled by the script 🤷‍♀️

But yes, remove "cbt" and it will only res once ooc, not sure how any mobs within range will affect it as this will often stop my toons from buffing. I know ADAggroOnly=# has something to do with this. Or remove "idle" and will only rez during combat.
 
Got to test this tonight. Made some modifications because on my EMU I dont have Divine yet or Rez AA.

Initial testing showed that changing Rezcheck to only rez in cbt or idle did not work but I will test more.

Code:
[AB6]
Gem=script
Spell=RezScript
SpellFoci=
DurMod=0
SpellAlias=rezcheck
Announce=/bc Found PC corpse
SpellMinMana=0
TarCnt=1
TarType=self cbt idle
Recast=FALSE
SpellIcon=
PreCondition=TRUE

[AB7]
Gem=item
Spell=water sprinkler of nem ankh
SpellFoci=
DurMod=0
SpellAlias=rez
Announce=/rs Rezzing << %t >>
SpellMinMana=0
TarCnt=0
TarType=clr
Recast=FALSE
SpellIcon=
PreCondition=TRUE

[Script-RezScript]
Commands=8
C1=/if (!{Spawn[pccorpse radius 80].ID} || {AHRezTimer}) /return
C2=/varset AHTargetName {NearestSpawn[1,pccorpse radius 80].ID}
C3=/target id {NearestSpawn[1,pccorpse radius 80].ID}
C4=/delay 5 {Target.Type.Equal[pccorpse]}
C5=/corpse
C6=/call CastCall {Me.CleanName} ''cast rez {Spawn[pccorpse].ID}''
C7=/varset AHRezTimer 10s
C8=/return
 
The TarType controls when the spell will run. "self idle" for only in down time or "self cbt" for only during combat. I think in this scenario the "self" is needed. Have to do a deep dive into the mobbuff.ini to see exactly how its working but dont have that type of time atm. I do think there is a little somethign funky going on when it calls scripts. Like I know on a script call it wont execute the announce part.
 
might be more practical for the divine rez to occur before before the corpse command incase the cleric is outside of the warriors leash radius and keeps him from reengaging a target.
Just my 2c on it tho. Havent tested if it fires the Divine rez in combat either.
 
Also might be more practical to limit it to raid/guild/party. Noted it was trying to summon and rez nearby corpses of other players probably not ideal.

Anyway to have the cleric scan after final for tank corpses before other corpses?

Was thinking in case of multiple clerics also a larger delay to stagger the clerics on the divine res to avoid double cd usage.
 
Last edited:
If you rez b4 /corpse then the player will spawn at the pre-/corpse location. If that is a concern its best to just remove the command.

Filtering for group ect would probably be useful. Will look into that. As to priority to corpse would have to look to see how much info MQ has on corpses. Perty sure it can only sort by name which would require somehow having the code compare names to say a raid roster and thinking that is beyond the scope of a MB script.

As to having multiple clerics compare for priority to rez, can probably be done in a script but is going to most likely require querying EQBC for ability status which will probably be allot of code.
 
gotcha. ya, was just some thoughts based on what I saw when reading over the expected functionality. I think the delay function could offer some form of stagger but it would have to be a very rudimentary solution and could cause unwanted delay.

Honestly looks great.
 
Snippet - Rez Script

Users who are viewing this thread

Back
Top
Cart