SC To Put In Ja Before Spell Starts ?

言語: JP EN DE FR
2010-06-21
New Items
users online
フォーラム » Windower » Spellcast Scripting » White Mage » SC to put in ja before spell starts ?
SC to put in ja before spell starts ?
 Phoenix.Gaiarorshack
Offline
サーバ: Phoenix
Game: FFXI
user: MiavPigen
Posts: 1245
By Phoenix.Gaiarorshack 2013-08-22 01:44:34  
is it possible to make Spellcast activate a ja before a spell starts to cast

e.g. i want spellcast to do divine carrese before stona everytime i use stona spell
 Fenrir.Jinjo
VIP
Offline
サーバ: Fenrir
Game: FFXI
user: Minjo
Posts: 2269
By Fenrir.Jinjo 2013-08-22 03:11:05  
You can changespell and command, but that's incredibly inefficient and I have no idea why you wouldn't want to use Divine Caress on your own.
 Asura.Izilder
Offline
サーバ: Asura
Game: FFXI
user: Izildur
Posts: 670
By Asura.Izilder 2013-08-22 03:46:17  
why not just put it in a macro with a wait then stona after? or you wish to type stona??
 Cerberus.Keeo
Offline
サーバ: Cerberus
Game: FFXI
Posts: 118
By Cerberus.Keeo 2013-08-22 03:52:22  
Code xml
<elseif Spell="Esuna" notBuffActive="Afflatus*"> 
           <changespell Spell="Afflatus Misery" /> 
           <command when="aftercast">pause 1;input /ma "Esuna" <me></command
</elseif>


you can change this to suit what you need
[+]
 Phoenix.Warusha
Offline
サーバ: Phoenix
Game: FFXI
user: Serithus
Posts: 62
By Phoenix.Warusha 2013-08-22 04:29:13  
Fenrir.Jinjo said: »
You can changespell and command, but that's incredibly inefficient and I have no idea why you wouldn't want to use Divine Caress on your own.

He's using Yagrush mule.
 Fenrir.Jinjo
VIP
Offline
サーバ: Fenrir
Game: FFXI
user: Minjo
Posts: 2269
By Fenrir.Jinjo 2013-08-22 07:22:39  
I have a Yagrush mule, I don't see your point. It's still terrible.
[+]
 Leviathan.Comeatmebro
Online
サーバ: Leviathan
Game: FFXI
user: Rairin
Posts: 6052
By Leviathan.Comeatmebro 2013-08-22 07:33:16  
He's probably one of those people who doesn't actually play their mule at all. I never really understood the point of that though, WHM bots are all terrible.

If actually playing it, there's no reason you shouldn't be using it yourself: there are very specific situations where you will want divine caress and having timer down when unnecessary is idiotic. Nothing really spams petrify enough to justify using it on stona in the first place..
[+]
 Ragnarok.Ghishlain
Offline
サーバ: Ragnarok
Game: FFXI
user: Ghishlain
Posts: 1079
By Ragnarok.Ghishlain 2013-08-22 08:07:23  
Leviathan.Comeatmebro said: »
If actually playing it, there's no reason you shouldn't be using it yourself: there are very specific situations where you will want divine caress and having timer down when unnecessary is idiotic. Nothing really spams petrify enough to justify using it on stona in the first place..

This is also why I feel having Divine Caress on auto cast is pretty silly. There are instances where you want to have Divine Caress waiting to go such as the T4 Peiste in Morimar. Divine Caress does nothing to stop the gradual petrification from Calcifying Mist yet you want to have Caress ready in case you need to remove Paralyze from either Parlyzga or Torpefying Charge. You want to be able to control your Divine Caresses for instances like that.
[+]
 Bismarck.Tragedie
Offline
サーバ: Bismarck
Game: FFXI
Posts: 322
By Bismarck.Tragedie 2013-08-22 09:01:29  
I believe it was more of a question on how to do it and not why...
Pulled this from my mule's spellcast. I didn't write it... I got it off of a post on the old Windower forum.

First, define a variable so Spellcast will only try to use Divine Caress when it's actually ready:
Code
<variables>
   <var name="DivineCaressReady">1</var>
</variables>


Then define the rule in your rules section. You can modify the spell= section to suit your needs (I keep cursna out of it, for example). I also have mine set to throw on WHM AF +2 hands.
Code
<elseif spell="Poisona|Paralyna|Blindna|Silena|Viruna|Stona">
  <if notbuffactive="Divine Caress" advanced='"$DivineCaressReady" == "1"'>
    <command when="precast">input /equip hands "Orison Mitts +2"</command>
    <command>wait 1.5; %spell %spelltarget</command>
    <changespell spell="Divine Caress"/>
    <changetarget target="<me>"/>
    <var cmd="set DivineCaressReady 0"/>
    <command>wait 60;sc var set DivineCaressReady 1;input /echo Divine Caress Ready.</command>
    <equip when="precast" set="FastCast" />
    <equip when="midcast" set="Na" />
  </if>
  <else>
    <equip when="precast" set="FastCast" />
    <equip when="midcast" set="Na" />
  </else>
</elseif>


With this code, if you already have Divine Caress active, or if the DivineCaressReady variable is 0, your -na spells will just fire off regularly without waiting the 1.5 seconds for the ability attempt. You can try less than 1.5 seconds depending on your system... I don't really have lag issues but I found setting it to 1 was too short at times. If you wanted to disable the rule from kicking in, you can manually set the DivineCaressReady var to 0, as the rule only sets it to 1 after the 60 second wait when it triggers:
Code
sc var set DivineCaressReady 0


Another note... (Edit) Becaues of the forum formatting, the changetarget line above (line 6) does not show correctly. If using this code, please make sure you change line 6 as follows:
Without all the extra spaces, it should look like:
Code
<changetarget target=" & l t ; me & g t ; "/>


Usage: I used to try to divine caress manually when dual boxing, but most of the time I would forget about it. This way it'll try to fire off when it's ready each time... sometimes I don't need it, but most of the time it comes in handy. For monsters where I really don't want that 1.5 second delay I'll disable the variable (but the delay only happens when Divine Caress is ready anyway).


Hope this helps.
[+]
 Phoenix.Gaiarorshack
Offline
サーバ: Phoenix
Game: FFXI
user: MiavPigen
Posts: 1245
By Phoenix.Gaiarorshack 2013-08-22 10:37:37  
Ragnarok.Ghishlain said: »
Leviathan.Comeatmebro said: »
If actually playing it, there's no reason you shouldn't be using it yourself: there are very specific situations where you will want divine caress and having timer down when unnecessary is idiotic. Nothing really spams petrify enough to justify using it on stona in the first place..

This is also why I feel having Divine Caress on auto cast is pretty silly. There are instances where you want to have Divine Caress waiting to go such as the T4 Peiste in Morimar. Divine Caress does nothing to stop the gradual petrification from Calcifying Mist yet you want to have Caress ready in case you need to remove Paralyze from either Parlyzga or Torpefying Charge. You want to be able to control your Divine Caresses for instances like that.


you are right its not optimal.

but its better than not using divine caress at all which is my current situations. and nobody said the will be a permanent thing
i just like to experience and learn to improve my gameplay.
putting this in auto is a step up once i get a feel about if its really useful or not ima change the behavior again.
 Phoenix.Gaiarorshack
Offline
サーバ: Phoenix
Game: FFXI
user: MiavPigen
Posts: 1245
By Phoenix.Gaiarorshack 2013-08-22 11:31:30  
quick question just being curios

since this line
<command>wait 1.5; %spell %spelltarget</command>
activates a new spellcasting
would it go through the rules once again on this call of the spell?

i know the if/elseif makes it branch to the bottom section in case of this so there is no circular flow. Im just curios as how SC handles a new spell call within a spellcall. if it does a new run through rules or not.

also

at precast you put in commadn to swap to orison hands
then call me na set however my na set have a hand item in it.

it seams to me that would overwrite the orison hand +2 equipment
or am i missing something ?
could i not just use

<equip when="precast">
<hands lock="t"> Orison Mitts +2</hands>
</equip>

?
 Sylph.Hitetsu
Offline
サーバ: Sylph
Game: FFXI
user: Hitetsu
Posts: 2617
By Sylph.Hitetsu 2013-08-22 11:39:29  
Yes, when that line executes Spellcast will go through your rules again.
 Phoenix.Gaiarorshack
Offline
サーバ: Phoenix
Game: FFXI
user: MiavPigen
Posts: 1245
By Phoenix.Gaiarorshack 2013-08-30 00:35:03  
just quick feedback.
this is actually pretty nice for plasma famring (fodder) when duo boxing. might be placebo but i feels likes i need to do less stona now
 Bismarck.Tragedie
Offline
サーバ: Bismarck
Game: FFXI
Posts: 322
By Bismarck.Tragedie 2013-08-30 10:21:10  
Phoenix.Gaiarorshack said: »
quick question just being curios

since this line
<command>wait 1.5; %spell %spelltarget</command>
activates a new spellcasting
would it go through the rules once again on this call of the spell?
As Hitetsu mentioned, it will go through your rule again (unless you add a raw variable to the command function... I forget how that works). The reason this line is there is to allow spellcast to change target and change spell (to use the JA on yourself) while still maintaining the original spell and target (probably an obvious note, just clarifying).

Phoenix.Gaiarorshack said: »
at precast you put in commadn to swap to orison hands
then call me na set however my na set have a hand item in it.

it seams to me that would overwrite the orison hand +2 equipment
or am i missing something ?
could i not just use

<equip when="precast">
<hands lock="t"> Orison Mitts +2</hands>
</equip>

?
You're right. I think I was originally under the impression that the bonus from Divine Caress applied when the JA was used, but after trying to find out which it is, the only thing I've found says that it needs to be on when the spell fires off (credit - awesome guide btw). The mitts do not need to be on on job activation.

The best way to handle this would be to take the mitts out of the rule for Divine Caress JA use, and use a buffactive rule to make sure the mitts are on whenever you cast a -na spell with Divine Caress active:
Code
<elseif spell="Poisona|Paralyna|Blindna|Silena|Viruna|Stona">
  <if notbuffactive="Divine Caress" advanced='"$DivineCaressReady" == "1"'>
    <command>wait 1.5; %spell %spelltarget</command>
    <changespell spell="Divine Caress"/>
    <changetarget target="& l t ;me& g t ;"/>
    <var cmd="set DivineCaressReady 0"/>
    <command>wait 60;sc var set DivineCaressReady 1;input /echo Divine Caress Ready.</command>
  </if>
  <else>
    <if buffactive="Divine Caress">
      <equip when="precast">
      <hands lock="yes">Orison Mitts +2</hands>
      </equip>
    </if>
    <equip when="precast" set="FastCast" />
    <equip when="midcast" set="Na" />
  </else>
</elseif>

Again, don't forget to take the extra spaces out of line 5.

I also took out the commands to equip fastcast and -na sets in the divine caress part of the rule, as it should be handled by the 2nd part. This should also allow the mitts to be equiped even when using the JA manually; as long as the Divine Caress buff is on your WHM, it will lock the mitts on precast (you could set to midcast but a lot of the spells fire off quickly anyway... helps to accomodate quickmagic procs also).

Please note I haven't tested this yet (at work atm).

I should also point out my first line in case anyone is copying/pasting, because I use a separate rule for cursna. If you do want the Divine Caress rule with cursna (to each their own... I prefer not having the 1.5 second wait for a spell I wanna spam), you'll need to add it in the first line. You could also add the buffactive gearswap rule in case you wanted the mitts on for cursna if Divine Caress was already active (used manually, etc.):
Code
<elseif spell="Cursna">
  <if buffactive="Divine Caress">
    <equip when="precast">
    <hands lock="yes">Orison Mitts +2</hands>
    </equip>
  </if>
  <equip when="precast" set="FastCast" />
  <equip when="midcast" set="Cursna" />
</equip>
</elseif>

(You may or may not want to skip adding mitts if you use hieros mittens.)

On another note, I may test changing my first line to
Code
<if notbuffactive="Divine Caress|Amnesia" advanced='"$DivineCaressReady" == "1"'>

to bypass the 1.5 second wait in the event that my WHM is amnesia'd and casting a -na spell (rare situation I'm sure, but if I'm coding anyway, why not).
Log in to post.