I've never had much confidence in elsif statements, thats just me. I'll normally use if statements and/or contradicting if statements to make it work. Not sure how true this is, never tested it, but I found this on one of the quest wiki things.
Quote:
Also, when using elsif statements, you must end with an else statement. Not sure 100% why, but if you have a sequence of if and elsif statements and no else statement at the end, the quest will not function properly.
|
I also don't see where it checks for loss of the ring, where I see ("$client->BuffFadeBySpellID();"), or changing their guild membership to the designated guild ("quest::setguild(0,1);"). It isn't checking for anything but for buffs.
I could be wrong but I see this as:
Player zones in and it checks for item 13732
If player has item 13732 he/she gets aggro from a mob every 20 seconds until they leave the zone.
If they delete/lose item 13732 they still get aggro cause it only checks for the item when they zone in.
This timer repeats every 20 seconds
If player doesn't have item 13732 when they zone in
If checks for the global set by some other npc or script not listed here.
I'd use quest::setglobal("kingdomfaction", 1, 5, "F"); for this one (All zones, All NPC, This player only)
Depending on the value of the global it checks for factionlevel and player level
So to make it simple a player will get a different buff depending on the qglobal/faction>850/playerlevel
If the player's factionlevel is less than 850 it checks to see if they have the buff depending on qglobal setting
If the player has the buff it debuffs them and changes their guild only if the qglobal was set at 1
If the player doesn't have the buff it does nothing.
This timer repeats every one second