The World of Layonara  Forums

Author Topic: Whirlwind attack bug?  (Read 4900 times)

orth

Whirlwind attack bug?
« on: March 24, 2017, 05:09:30 pm »
Is there a trick to do whirlwind attack without it bugging out. After using it character will not attack or do anything else. its as if it has not finished that command.The only way to attack anything again is relog.
 

WarriorOfTheLance

Now that the server runs on
« Reply #1 on: September 10, 2015, 11:51:26 am »

Now that the server runs on linux whirlwind attack is bugged. There is no trick to it. Every NPC and player character and monster that uses whirlwind attack is subject to this bug.  In order to fix this bug you must call ClearAllActions(TRUE);  in the script related to whirlwind attack, after the attack finishes... Yes this leads to the player and NPC becoming temporarily flat footed, there aren't many other workarounds that will do the job, that's the best one can do.

I just lost my Ox and everything on the ox because of this bug.

 

silverblades

*shakes his fist at stupid
« Reply #2 on: September 10, 2015, 08:42:35 pm »

*shakes his fist at stupid penguin*

Ok,  so  basically dont use it (becuase i dont know how to execute said command)

There can be only One.
 

willhoff

I've never had this problem
« Reply #3 on: September 10, 2015, 10:54:13 pm »

I've never had this problem with my character Vrebel even after the switch to Linux.  I just tried today using whirlwind attack on gnolls in the ire mountains, bugbears on Dalanthar and the vampires in the same area in the sinister forest.   wiki says that this problem occurs if you are fighting exactly three creatures and running linux or mac.   I tried all three above creatures in sets of three and had no freeze ups.

It does take up a full round to perform whirlwind attack (and you have to wait for the creatures to get there attacks in) so there is a long wait inbetween attacks but I've never had a freeze.

Hope this helps, guess just watch out for groups of three!

 

mixafix

I am unable to use whirlwind.
« Reply #4 on: September 11, 2015, 03:58:57 am »

I am unable to use whirlwind. This has been the case since some time-  it prevents pc fighting. So not sure?

 

 

silverblades

Im running windows,  I did
« Reply #5 on: September 11, 2015, 04:18:09 am »

Im running windows,  I did get it to work on one ocassion did single click on WW and waited... after WW waited more.. till he targeted left over spawns this was how it worked for me once. Tried this again and it did not work. I think it has to do with if something  is targeted before you perform the WW. if the targeted spawn is killed by WW then its trying to attack something thats killed and cannot. It seems to want to complete the action. Hence the fix mentioned  (Clear all actions) I dont think WW is written as an attack I think its more like using an item.

it doesnt freeze on me at all, I'm able to move around after the WW but he cannot perform any other actions like use item, potion use and other attack like KD. He can go to sleep. but after sleep still does not work.. Only after I relog.

Just imagine first level where it takes forever to attack.. only he never does, so I run away so im not a punching bag where spawn follows me through a few transitions, or into town.

I dont have cleave or great cleave so started using on low lvl spawns 

There can be only One.
 

willhoff

Maybe Orth can create one of
« Reply #6 on: September 11, 2015, 11:06:51 am »

Maybe Orth can create one of his "=c fix" fixes for this problem!  Thats kind of a shame it doesnt work for you all its a fun feat and especially effective to prevent sneak attacks.

 

orth

Looking into this.
« Reply #7 on: October 30, 2015, 06:38:31 pm »

Looking into this.

 

WarriorOfTheLance

It doesn't matter what
« Reply #8 on: December 03, 2015, 10:20:44 am »

It doesn't matter what operating system you are running as the user (the client) the problem is in the linux server.

How to reproduce the bug? Easy... do a whirlwind attack, and just as you hit the ground count to 1, and do another attack... repeated attacks will lock your action queue.  I've helped trouble shoot this issue on other linux run servers.  Once locked the only way to unlock your queue is to log out and log back in. You will not be able to do anything (heal, attack, bandage, etc) if your action queue gets locked. There are a few methods for fixing this issue but most aren't pretty.  The one used most often just clears your action queue and if you're like me (probably because I know about the bug) it doesn't matter where you play you requeue your attacks after whirlwind attack... this is how i found the bug here.  The method I described above clears your action queue and leaves you flat footed if you don't re-attack or make another action... this is fine by me as I, by habbit requeue after whirlwind attack (problem being i usually queue up another whirlwind attack, which locks up the queue). 
Here is what you need to fix the problem, I'm assuming you're using nwnx2 because you couldn't use nwnx_names.nss without it.

http://nwnx.org/phpBB2/viewtopic.php?t=1498&highlight=whirlwind+attack

 

WarriorOfTheLance

how to fix whirlwind attack,
« Reply #9 on: December 03, 2015, 10:39:15 am »

how to fix whirlwind attack, courtesy of an old friend.

note the fix is at the bottom and commented out in case you forget to test before release.

also note that the speak string command there is for debugging and you'd have to set oAttackTarget to use that line... 
the clear all actions is all you really need, if you don't want the player to have to re-target then you can use the last line.

//::///////////////////////////////////////////////
//:: x2_s2_whirl.nss
//:: Copyright (c) 2003 Bioware Corp.
//:://////////////////////////////////////////////
/*
    Performs a whirlwind or improved whirlwind
    attack.
 
*/
//:://////////////////////////////////////////////
//:: Created By: Georg Zoeller
//:: Created On: 2003-08-20
//:://////////////////////////////////////////////
//:: Updated By: GZ, Sept 09, 2003
 
 
void main()
{
    object oSelf = OBJECT_SELF;
 
    int bImproved = (GetSpellId() == 645);// improved whirlwind
 
    /* Play random battle cry */
    int nSwitch = d10();
    switch (nSwitch)
    {
        case 1: PlayVoiceChat(VOICE_CHAT_BATTLECRY1); break;
        case 2: PlayVoiceChat(VOICE_CHAT_BATTLECRY2); break;
        case 3: PlayVoiceChat(VOICE_CHAT_BATTLECRY3); break;
    }
 
    // * GZ, Sept 09, 2003 - Added dust cloud to improved whirlwind
    if (bImproved)
    {
      effect eVis = EffectVisualEffect(460);
      DelayCommand(1.0f,ApplyEffectToObject(DURATION_TYPE_INSTANT,eVis,OBJECT_SELF));
    }
 
    DoWhirlwindAttack(TRUE,bImproved);
    // * make me resume combat
    //DelayCommand(3.8, ClearAllActions(TRUE));
    //SpeakString(GetName(oAttackTarget));
    //DelayCommand(4.0, AssignCommand(oSelf,ActionAttack(oAttackTarget, FALSE)));
 
}
 

 

 

orth

WarriorOfTheLance wrote:how
« Reply #10 on: December 03, 2015, 10:41:30 am »

Quote from: "WarriorOfTheLance"&cid="2759231"

how to fix whirlwind attack, courtesy of an old friend.

note the fix is at the bottom and commented out in case you forget to test before release.

also note that the speak string command there is for debugging and you'd have to set oAttackTarget to use that line... 
the clear all actions is all you really need, if you don't want the player to have to re-target then you can use the last line.

I've already implemented a fix like this that works better than using delaycommands (we use a custom time library). It requires a hak update to the feat.2da though so I'm just waiting for when I have the time to get that all uploaded and released.

 

WarriorOfTheLance

ah so using the fix from
« Reply #11 on: December 03, 2015, 10:44:08 am »

ah so using the fix from nwnx.org then

i'll see if i can break that one.

 

orth

WarriorOfTheLance wrote:ah so
« Reply #12 on: December 03, 2015, 10:45:28 am »

Quote from: "WarriorOfTheLance"&cid="2759233"

ah so using the fix from nwnx.org then

i'll see if i can break that one.

That's the spirit!

 

WarriorOfTheLance

I lost my pack ox and
« Reply #13 on: December 03, 2015, 01:54:36 pm »

I lost my pack ox and contents fighting the lions outside krandor... only got off one ww attack and couldn't even drink a potion or throw one on my pack ox.  I've seen it fighting all kinds of creatures.

 

orth

Fixed in next update.
« Reply #14 on: March 24, 2017, 05:09:17 pm »

Fixed in next update.

 

orth

Re: Whirlwind attack bug?
« Reply #15 on: February 08, 2019, 11:19:33 pm »
Apparently this still isn't working. Got to look into it.
 
The following users thanked this post: willhoff

orth

Re: Whirlwind attack bug?
« Reply #16 on: February 09, 2019, 08:23:31 pm »
Should be fixed now, script was updated dynamically. After the whirlwind you will need to re-engage an enemy.
 
The following users thanked this post: Chazzler, davidhoff, willhoff

WarriorOfTheLance

Re: Whirlwind attack bug?
« Reply #17 on: February 10, 2019, 10:48:07 pm »
Should be fixed now, script was updated dynamically. After the whirlwind you will need to re-engage an enemy.

Thanks Orth, this is fixed.
On a side note it might need a bit of timing tweeking for layo... or I could just be lagging.
I'll let you know after far more use cases.
 
The following users thanked this post: orth, Hellblazer

 

anything