Aller au contenu

Photo

True Name scroll casting time


  • Veuillez vous connecter pour répondre
Aucune réponse à ce sujet

#1
WRFan

WRFan
  • Members
  • 114 messages
The casting of the True Name is supposed to take exactly 30 seconds, however, it actually takes over 36 seconds to cast the True Name. This is due to the fact that Zhajave doesn't cast the spell right away, but activates the scroll item first, which is a full-round action and takes 6 seconds to perform, or more exactly, 6.250 milliseconds. This time obviously has to be taken into account and subtracted from the overall casting time so that the overall casting time doesn't exceed 30.000 milliseconds. Here's a screenshot:

http://i467.photobuc...0110_234050.jpg

See this generic icon in the action queue? That's the scroll item being activated, while the ACTUAL recitation is QUEUED in the action queue, insted of being executed immediately. I ran an external script to check the in-game time when I click on the scroll and then checked the time when the spell-like ability is actually cast on the Reaver and it takes over 36.000 milliseconds to cast it!

A second problem concerns queuing further action on Zhajave, she and Ammon often get stuck when casting the True Name and any further actions you add to their action queues (like spells or Turn Undead or whatever) just sit there and won't be executed. This is due to the CastTime being set to 1500 in spells.2da, it doesn't work with this item and just breaks the game.

So in order to fix these bugs, open spells.2da in the toolset, navigate to row 932 and change the following column entries:

ConjTime column: 23750
CastTime column: 0

This will set the casting time to 0, eliminating the second bug and will set the conjuration time to 23.750 milliseconds, which, combined with the activation of the scroll item (see screenshot above) is exactly 30.000 ,milliseconds (30 seconds) as it should be:

http://i467.photobuc...0110_234637.jpg

As you can see in this screenshot, the True Name scroll item was activated at 26.78 milliseconds and the spell was cast at 56.77 (56 seconds 77 milliseconds), which is exactly 30 seconds plus minus a millisecond.

However, all this is only a half-hearted solution, the proper way to fix these bugs would be to implement the True Name scroll as a  a real spell, which would eliminate the problems right away. To prevent players from using the spell until they get the True Name scroll from Sydney, use the spell script nwn2_s1_truename to check if the caster is in possession of the scroll:

if(GetItemPossessedBy(OBJECT_SELF,"nwn2_it_plot_truename")==OBJECT_INVALID)
{
SendMessageToPC(GetFirstPC(FALSE),"This spell cannot be cast as long as you don't possess the scroll");
return;
}

The spell must be implemented as a Cleric 0 / Warlock 1 spell, let's say Divination school. Here's the result:

http://i467.photobuc...0210_102602.jpg

As you can see in the screenshot, the recitation begins right away if it's implemented as a spell, no time is wasted to activate an item. If implemented this way, the CastTime should still be left at 0, while the ConjTime column value should be set to 29450 or 29470 or something like that, this results in an overall casting time of 30.000 milliseconds plus minus 10 milliseconds.