1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

[LE] NeoQuest II Speed Walkthrough

Discussion in 'Neopets Guides' started by Anfan, Aug 18, 2010.

  1. Anfan

    Anfan Level IV

    Feb 12, 2009
    Likes Received:
    The following is a legit introduction to the game. For my tl;dr speed guide, skip to my next post.

    <<Click here to play!>>

    Part 1, About the Game
    In NeoQuest II you play the part of Rohane, a white Blumaroo from the village of Trestin in Meridell. NQII is basically a browser-based, refresh-to-play RPG themed around Neopets. As you progress throughout the game you'll pick up other party members (mage, archer, and healer - paired with Rohane, who's your basic swordie/tank, you've got the makings of the basic party of any game). If you're used to playing RPGs NQII's format shouldn't be at all a problem; the most annoying thing for you to adjust to will probably just be how lame it seems at first to be playing an RPG, on Neopets, that you refresh in order to play. (How DID I get over that? Hud...) If you haven't, NQII may seem a bit boring, but hey - what else is this guide for than to alleviate that? =P

    On another note, NeoQuest II is divided into sections by Chapter; there are 5 Chapters total in the game. You start out in Chapter 1 (duh), Meridell, where you're a naive little Blumaroo who's setting out to make your name in the world. This is one of the chapters you'll spend the most time in, as it's the starting chapter and you'll need to be around level 20 by the end. (After that you'll be leveling 10 levels per chapter, as opposed to 20.) Next up is Terror Mountain, which is fairly quick and painless. Chapter 3 is the Lost Desert, the longest chapter in the game (do you know how much walking it takes just to get to the various NPCs and dungeons? x.x), which is followed by the Haunted Woods, equally short as Terror Mountain. (Though actually, a lot of people hate the Haunted Woods and consider it a long chapter, but that's because there's a boss in a 9-level dungeon [Hubrid Nox] to fight, but he's skip-able. And if you skip him, which I recommend doing, Haunted Woods goes by very quickly.) The final Chapter of the game is Faerieland, where you get to go do excessive walking around in clouds with very few cities, ending the game with rampaging around Faerie City and battling King Terask in the Palace.

    Part 2, Interface and Gameplay


    Gameplay in NeoQuest II is fairly straightforward. The most obvious thing you'll notice is your map; your character (always denoted as a little sprite of Rohane) will always be in the center of the map with the rest of the world moving relative to you. You can't walk through NPCs (non-player characters, a.k.a. the other "people" in the game, such as Rohane's mother in the screenshot above), walls, tables (you can walk on chairs), or trees inside of towns. (Feel free to stomp on all the trees you'd like outside of towns, though.) Outside of towns, the only things you can't walk through are mountains, boulders, stone pillars/statues...basically anything made of rock. Just use your common sense, except for the whole stomp-through-trees thing. (Or you could always just sit there trying to get Rohane to walk through these things and getting rejected repeatedly.)

    At the top are the names of your party members (only Rohane in my screenshot; this is a screenie of the very beginning of the game), their level, skills (you'll read more about that later), health, and experience. All self-explanatory.

    Below the experience bar are arrows, blue with a gold border, pointing in both the cardinal and ordinal directions. You click these arrows to move. (And yes, you really do have to refresh every single time you want to move. Instead of whining/groaning, why not be enthusiastic about how many lab map pieces you'll be getting from REs? ;D)

    Below that are choices for travel modes. On Normal, you'll be attacked (random encounters) every 6-8 steps. On Hunting mode, you'll be attacked pretty much every other step. (One step being one click of the arrows to move.) It gets tedious, but you'll be spending the majority of your time in Hunting mode, as you really can't level up effectively on Normal.

    Underneath that is a link that takes you to your inventory+party info.

    Items you buy or find will be in your inventory; you need to go there to manually equip them. (Same goes for skill points you acquire from leveling up; again you'll read about that later.) Here you can also heal your party members outside of battles, as well as resurrect any that might be KO'd, so long as you have at least one member of your party still standing. (There are resurrection potions that you'll pick up later in the game.) You can also go here to check on how many and which kinds of potions you have in stock.

    And looking back at the original screen, you'll see below that how much gold you have. Gold is the currency of the NeoQuest II world; you pick it up as loot when you defeat monsters. (Quel surprise!)

    Part 3, Game Modes

    In NeoQuest II there are 3 modes you can play on - Normal, Evil, and InSaNe. To be able to play Evil mode, you have to have defeated Normal mode. To play on InSaNe, you have to have defeated Evil mode. They build on each other.

    Normal mode is what you start on. Monster hitpoints, cost of items in shops, etc., is at the lowest they'll ever be. Once you get to Evil mode, monsters from random encounter battles have 1.5 times the hitpoints as on Normal, and bosses have 1.25 times the hitpoints. Shops also suffer from 20% higher costs. On InSaNe, random encouter monsters have twice the hitpoints and bosses 1.5 times, and the shops are 50% more expensive. (x.x)

    Also, in Evil and InSaNe modes you'll sometimes get equipment as loot from random encounter battles. w00t! (Seriously, the equipment you pick up randomly during these modes is often a lot better than the ones you could buy from NPCs, saving you quite a bit of money while also being, of course, awesome equips.)

    Part 4, Battling, Experience, and KOs

    The majority of any RPG (unless it's one of those ones with epic storylines and not much battling) is just grinding for experience points. NQII really isn't much different. Random encounter battles are, as I mentioned above and the name suggests, monsters that you randomly encounter as you're moving around. When you defeat these battles, you'll receive some gold (always), experience, potions (sometimes), and possibly equipment (rarely, and only when playing on Evil and InSaNe modes). You'll fight anywhere between 1 and 4 monsters at a time, though usually you won't fight more monsters than you have party members. (You'll only very rarely see 2 enemies at once when fighting with only Rohane, but once you get Mipsy almost all battles will have at least 2. Etc.)

    Boss battles are the battles that you walk to (in a totally non suicidal manner); you'll see their sprite before you battle them. You'll receive potions, equipment, gold, experience (and a lot more of it than you do from random encounter battles), as well as a Neopoint prize.

    Battling is another of the many things about NQII that are pretty straightforward, or maybe I've just played it too many times. In NQII, battling is turn-based. First, you get attacked by a monster. Then you can either attack (straightforward melee), use a potion (either heal yourself or use a damage potion on your enemy), cast a spell (your mage character, Mipsy, uses magic to do damage, as does your healer, Velm, when you don't need him to cast a healing spell), do nothing (not recommended =P), or flee. Fleeing may or may not work; it's semi random (if your opponents are all at full health, you have a less likely chance of successfully fleeing than if they're weakened) whether or not it will be successful, except in the final boss battle of the game. That boss battle is un-flee-able (which is totally a word) from; the rest of the boss battles in the game ARE possible to flee from.

    You'll receive experience points as you defeat monsters. You get more exp based on the difficulty of the battle (e.g. defeating a plains lupe at level 1 gets you 100 exp points; defeating one at level 2 gets you 85 exp; defeating one at level 3 only gets you 70 exp, etc. If your character is "too strong" for the battle, you won't receive any exp.), which includes how many monsters you're up against. (You'll get more experience for defeating two monsters in one battle than two monsters in two separate encounters.)

    When you have enough experience points, you'll level up, as per usual. When you get a level up you'll receive increased maximum hitpoints, a full heal (hitpoints restored to their max), and a skill point. So, you get stronger. w00t!

    Also, all your characters receive the same amount of experience for each battle, unless they're KO'd during the course of the battle. If that happens they won't receive experience, and you'll need to resurrect them. (Preferably as soon as possible; you really don't want to level the rest of your characters will ignoring one, as that one will be considerably weaker than the others. Also, this usually happens to Mipsy, who has the least hitpoints out of all your characters anyways.) To resurrect a party member you need to either go visit a resting spot (usually an inn, which you'll have to pay gold for, though there ARE some free resting spots scattered throughout the game), which fully restores the hitpoints of all your party members, as well as serves as a save point. (If your entire party is defeated, you'll lose half your gold and "find yourself awakening elsewhere..." back at your last resting spot.) Your other option is to use a resurrection potion, so long as you have at least one party member not KO'd. Resurrection potions can be purchased from NPCs throughout the game, but they started out expensive and get more and more so as you progress further in the game.

    Part 5, Characters and Skills

    **NOTE** - If you're playing on InSaNe mode, disregard this section entirely unless you just need the basic info on what each skill does. (Though honestly, if you still need that when about to tackle InSaNe mode you're probably screwed.) Use the skills guide found here, and the skill build recommended in that and the NQII Survival Guide Part I to start with. (And before anyone questions the right to link/use the NT article in that clicky, I wrote it. =D And my account I submitted that article from got frozen, anyways, so it doesn't matter anymore.) After that you can either use the recommendations found here, or more likely (considering you're playing on InSaNe now, you should theoretically have a pretty good knowledge of the game) just use your own custom-made build.

    Meet Rohane!
    He's your trusty swordsman-type character! He deals out massive amount of damage through melee, has the most hitpoints out of all your characters, and is the character that you start out with. He's basically your tank, and has skills as such.​
    Critical Attacks - Increases the likelihood of a critical attack, one that does a lot more damage than normal attacks. This is where Rohane's massive damage dealing comes from.
    Damage Increase - This is your basic skill that increases Rohane's max damage.
    Combat Focus - Increases defense at the cost of offense. Rohane'll take less hits, but do less damage. Quite frankly, he's your freaking tank character. He has the most hitpoints out of everyone! If you want to be conservative and use this, go for it, but as I see it it's really not worth it simply due to how much longer it'll take you to get through the game.
    Stunning Strikes - Self-explanatory. Increases the likelihood your attack will stun your opponent, meaning their turn'll be later - more turns for you, less for them, you kill them faster without taking as much damage. w00t.
    Battle Taunt - Annoys enemies and has them target Rohane rather than a weaker character with less hitpoints, e.g. Mipsy. Useful in tight situations.
    Innate Magic Resistance - Increases Rohane's magic defense. Not as important early in the game when most monsters just do melee, but vital later.
    Innate Melee Haste - Decreases the amount of time between Rohane's turns, a.k.a. "speeds up" his attacking.

    What I generally shoot for to end with BEFORE the final battle is 11 points apiece in Critical Attacks, Damage Increase, Stunning Strikes, and Innate Melee Defense. 2 points in Battle Taunt is also helpful, along with 6 in Innate Magic Resistance. Prioritize Damage Increase a little bit above Stunning Strikes and Critical Attacks; prioritize those about the same. Try to throw 2 points apiece Innate Magic Resistance and Battle Taunt before the end of Meridell, though you can go without Battle Taunt if you'd like. Innate Melee Haste is, of course, also important, as I'm sure you'll be sick and tired of waiting for it to be Rohane's turn - you can probably wait to add points to that until Damage Increase is at 9 ish and Stunning Strikes+Critical Hits are at 7 points apiece, unless you're on InSaNe mode.

    ***NOTE*** - Never train any skill to its max (15) until the end of the game. THIS RULE APPLIES TO ALL YOUR CHARACTERS. At the very end of the game, right before you fight King Terask II, you'll be equipping your characters with their final equipment. Equipment often comes with skill point bonuses, and by the end of the game you'll be getting +4 skill point bonuses. (Hence why you should never train anything above 11 before then.) At the very end, right before the battle, use up all of your leftover skill points, but not before then.

    Meet Mipsy!
    She's your mage extraordinaire. She can deal out massive amounts of damage, either focused at one or at an entire group of monsters, and also buff your team. (Boost your speed, cast damage shields, etc.) Unfortunately, she also happens to be your weakest character as far as hitpoints go; nevertheless, her skills are still a vital asset to your party.​
    Direct Damage - Powerful magic attack that targets one monster at a time.
    Group Direct Damage - Strong magic attack that targets every monster you're fighting at once; however, does less damage per monster than Direct Damage.
    Group Haste - Speeds up the attack speed of all members in your party by a particular %, depending on the level of the skill, i.e. reduces the delay in seconds between your attacks (since NQII is turn-based, who attacks when is based on delays between attacks, measured in "seconds").
    Slowing - Slows down (increases the delay in seconds between) your enemies' attacks. Essentially an offensive version of Group Haste, but keep in mind that you can only target one monster at once.
    Damage Shields - When enemies attack you with melee (non magic) attacks, they'll take some damage, as well, with how much damage taken proportionate to how much damage they do to your character.
    Innate Melee Defence - Increases Mipsy's melee defense. This is vital for Mipsy, as (I repeat) she has the least hitpoints out of your entire party. Monsters know this, and many bosses will try to destroy her.
    Innate Casting Haste - Decreases the amount of time between Mipsy's turns when using magic, a.k.a. "speeds up" her spellcasting.

    With Mipsy, you have quite a variety of choices, so pick your skill build based on your playing style. (Of course, there are some skills more necessary than others.) The most major choice you'll have to make, though, is between Direct Damage and Group Direct damage - would you rather Obliterate (seriously, that's what level 15 Direct Damage is called; you do 100 HP damage per hit with that) one enemy at a time, or blast a group of enemies with a Solar Furnace (level 15 Group Direct Damage; 60 HP to each monster, assuming you get a perfect hit [monsters have magic resistance, too, and will sometimes resist your attacks either fully or partially])? In Normal and Evil modes you often have enough skill points to do both (GDD for random encounters; DD for battling bosses), but in InSaNe mode you'll have to be pretty thrifty with skill points. (Innate Melee Defence is a lot more important in InSaNe mode than the other two.) If it's your first time playing through the game (i.e. on Normal mode), I'd just go with both, leveling up GDD first and picking up DD later in the game for the bosses. (Who, of course, get progressively tougher as the game progresses.)

    Group Haste is an important skill for your troupe both in random encounters and boss battles; level it up to 11 is a pretty good idea once you have some of the other skills under your belt. Slowing, in my experience, has been an unnecessary skill in comparison; why bother slowing one monster (who you'll probably kill soon anyways) when you can speed up your whole party? Oh, right, boss battles - except that most bosses are immune to slowing anywho. I've never used slowing, and I've playing through NQII too many times to count.

    Damage shields are another personal preference thing. It's kind of helpful in annoying enemies, but that's about it - when enemies take 20 some damage for doing over 3 times as much to you, it seems (at least to me) like it'd be better to just invest points that could go here in offensive spells for Mipsy. (e.g. getting both GDD and DD.) Melee Defence is pretty important and should be leveled up to 6 once you have enough points in GDD to plow through enemies (you will level so much faster when you receive Mipsy it's not even funny, to use a colloquialism); the same goes for Innate Casting Haste (Mipsy's turns take forever otherwise, as magic delays are longer than melee), except that you'll want Innate Casting Haste to hit 11.

    Meet Talinia!
    Your ranged attacker, a.k.a. that one archer that can do some decent melee (group damage with arrows, anyone?), and is an awesome character to use for chucking potions.
    Talinia is a very useful character with her own little niche to fill.​
    Increased Bow Damage - This is your basic skill to increase Talinia's damage; it's her version of Rohane's Damage Increase.
    Multiple Targets - Yay, an advantage Talinia has over Rohane that makes her unique! You can shoot multiple Rampaging Grundonoils at once now. :eek:
    Ranged Attacks - This skill is a tad hard to explain, and a little odd in its concept. It works like a passive stunning strike - when enemies target Talinia, regardless of whether they hit her or not, their next turn will be delayed. Alternate this (inverse variation! [lulz]) with Shockwave.
    Shockwave - This skill is also a little weird. It goes like this - Talinia attacks like normal with melee damage. Suddenly, Talinia's strike has caused a Shockwave! All your enemies (except immune bosses, of course) suddenly have their turns delayed. Compared to Ranged, Shockwave causes a less severe delay, but it targets multiple enemies, and you actually get to know when it's happening, so it seems more prominent. =P
    Slowing Strike - Self-explanatory. Talinia hits her target; they get slowed somewhere between 1-5%. This slowing can stack up on top of potions or other slowing stuff, but its effects are really negligible.
    Innate Magic Resistance - Increases Talinia's magic defense. (Same as Rohane. Of course, by the time you pick up Talinia [Chapter 2], you'll actually have monsters casting spells at you, unlike when you're first dealing with Rohane.)
    Innate Melee Haste - Decreases the amount of time between Talinia's turns, a.k.a. "speeds up" her attacking.

    Your goal (pre-Terask II) for Increased Bow Damage should be 10-11. For Multiple Targets, you again have a choice to make, although this one, at least, isn't as major as GDD vs. DD or Ranged vs. Shockwave. Anyways. You can take Multiple Targets to level 10, which is the fastest 3 arrows. (Yes, using Multiple Targets delays Talinia's attacks more than regular Melee. Higher levels of the skill=lower delay, with the delay increasing again each time the skill gets high enough to add another arrow to Talina's arsenal.) Or, you can take Multiple Targets to Level 5, the fastest 2 arrows. When I first started off I'd go with fastest 3, but as time progressed I've gradually dropped to using fastest 2 in order to spend the other 5 skill points elsewhere. Either way it's your choice; to experiment you could try going fastest 2, invest points in other skills, and come back to upgrade Multiple Targets to level 10 later.

    The biggest decision to make with Talinia, though, is with Shockwave vs. Ranged. You should probably only spend around 15-16 points, total, on both skills pre-Terask II, and that doesn't mean 7-8 points in each. If you'd prefer Shockwave (better for random encounters), go with 10 points of that and 5 of Ranged. If you'd prefer Ranged (better for boss battles, and still fairly useful [though not as much, and certainly not as ostentatiously, as Shockwave]), go 11 points of that and 5 of Shockwave. This is your choice; I've played through NQII on multiple modes with both and both skill set work fine.

    Slowing Strike is useless. End of story; kthxbai. Innate Magic Resistance stick at least 2 points in (just like Rohane), though you should upgrade to 6 or so later. Innate Melee Haste is probably one of Talinia's most useful skills; since she's not weighed down by points that need to be spent in Critical and Stunning Strikes like Rohane is, she's going to be significantly faster for quite a large portion of the game. (Until the last chapter or two.) **NOTE** - Use Talinia's fast turns to your advantage in boss battles; use her to chuck damage potions at the bosses!
    (Damage potions do more damage than her melee most of the time, anyways.)

    Meet Velm!
    Ahh, Velm. Your white mage - for those who don't (MMO)RPG much, that's your healer. You will never have to buy another healing potion once you get Velm, think of all the gold you're saving! (Though that doesn't mean you should sell all your healing potions. I mean, in Normal+Evil modes you probably could do that for everything but the Jhudora's Lifeforce Potion [last/strongest potion in the game], and walk into fighting Terask with just 20 of those [the max # you can carry of any type potion is 20] for backup to Velm, but meh...better safe than sorry. Anyways.)​
    Healing - Heals one target at a time.
    Group Healing - Heals everybody, up to a certain amount at each level.
    Group Shielding - Increases magic and physical resistance.
    Mesmerization - Mesmerizes opponents (keeps them from attacking for a certain # of seconds)
    Celestial Hammer - Does some damage to opponents and has a chance to stun them
    Innate Melee Defense - Increases melee defense
    Innate Casting Haste - Speeds up time between turns

    When you get Velm, put 11 points each in Group Shielding, Group Healing, and Innate Casting Haste. Then put 6 points in Innate Melee Defense. That's about it for points to spend until the end, although you have enough leftover points to max out either Celestial Hammer or Mesmerization. (Your choice of which.)

    Part 6, Avaturds and Prizes

    There are 3 avatars available in the game:

    Lose to a plains lupe.
    Easiest avatar to obtain in the game; this is one you should go get even if you don't intend on every really playing NeoQuest II. Just start a game, and battle plains lupes until you get KO'd. (Just stay in the green/grassy area around Trestin, the starting village, as you'll only encounter Plains Lupes in this area.)

    Defeat the Devilpuss.
    The Devilpuss is a boss found late in Chapter 5; you'll have to pretty much defeat the game to get this avatar.

    Defeat a Bionic Cybunny.
    These can be found as random encounters shortly after defeating the Devilpuss.

    There are also trophies available for this game; bronze, silver, and gold like always. In NQII, though, you don't score points, and thus obtaining the trophies have nothing to do with a leader board, or even other players. (Except for the NQII race trophies, which were only available when the game was first released - the first players who defeated the game the fastest way back then received race trophies based on how quickly they defeated the game versus others.) In NQII, you receive trophies after defeating the game. You receive the bronze trophy for defeating Normal mode, silver for defeating Evil, and gold for defeating InSaNe.

    [​IMG] [​IMG] [​IMG]
    Aren't we shiny?

    There are also Neopoint and item prizes for defeating the game.

    For defeating Normal mode, you receive 10k Neopoints as well as one of the following:
    [​IMG] [​IMG] [​IMG] [​IMG]
    Rohanes Armor Polish | Mipsys Charm Bracelet | Velms Healing Potion | Talinias Whittling Knife
    (These items can all be purchased off the Shop Wizard for less than 10k; Normal mode really isn't worth defeating for the prizes, just the trophy+avatars.)

    For defeating Evil, you receive 30k NPs and one of the following:
    [​IMG] [​IMG] [​IMG] [​IMG]
    Ramtors Spellbook | Halo of Devilpuss | Tooth of Terask | Scuzzys Comb
    (These items are worth about 150k, 10k, 12k, and 95k each, respectively.)

    For defeating InSaNe, you receive 50k NPs and one of the following:
    [​IMG] [​IMG] [​IMG] [​IMG]
    Staff of Righteous Fury | Sword of Apocalypse | Wand of Reality | Bow of Destiny
    (Here's where you hope for the Wand of Reality or Bow of Destiny, which are worth 2.5mil and 2mil, respectively. Sword of Apocalypse and Staff of Righteous Fury are worth ~450-500k each.)

    You can defeat Normal and Evil mode and receive prizes as many times as you'd like, but you can only receive an item prize for InSaNe mode once. Which prize you receive seems to be random, though there are, of course, rumors/theories about ways to receive a particular prize. There's also a rumor as to whether or not using Fathers Sword, the sword you start out the game with, to defeat the final boss results in a worse prize or not. (When you use Fathers Sword against King Terask II, it'll say "The spirit of Rohane's father lashes out against King Terask!" and do more damage than the Sword of Kings - the "best" sword in the game.) If you want statistics on that you can check out Winnie_1964's petpage, but meh, it doesn't really matter either way. If you believe the rumor just use a different sword; it's not that big a deal.​
    Lightning and Junior like this.
  2. Anfan

    Anfan Level IV

    Feb 12, 2009
    Likes Received:
    Re: [Semi-Legit] NeoQuest II Speed Walkthrough

    Alright, first things first. If you don't already have them, get Firefox and Greasemonkey, as well as the NQII Trainer and Buddy scripts. Leave the Buddy on at all times, all it does is automatically press Next for you. Then, install this script:

    Code (Text):
    1. // ==UserScript==
    2. // @name           Neopets - NeoQuest II Trainer V2.0
    3. // @namespace      Steinn
    4. // @description    Automatically Plays Neoquest II. Custom select actions.
    5. // @include        http://www.neopets.com/games/nq2/nq2.phtml*
    6. // @include        *nqiitrainer.6te.net/*
    7. // @include       *nqiitrainer.freevar.com*
    8. // @include       *stive.knoxx.net/neopets*
    9. // @require        http://userscripts.org/scripts/source/63808.user.js
    10. // @require        http://userscripts.org/scripts/source/54389.user.js
    11. // @require        http://userscripts.org/scripts/source/54987.user.js
    12. // @cfu:url        http://userscripts.org/scripts/source/52339.user.js
    13. // @cfu:version
    14. // ==/UserScript==
    16. unsafeWindow.confirm=function(){return true;} //Coment this lines to remove auto-confirm
    18. // set defaluts value if it´s your first acess
    19. try
    20. {
    21.     if (GM_getValue("onoff")==undefined)
    22.     {
    23.         GM_setValue("onoff", true);
    24.         var hi = confirm("This its your first visit on Neoquest Trainer. For read the instrucions, click ok. If you wanna skip instructions, click cancel.")
    25.         if(hi)
    26.         {
    27.             alert('In older version, you usted see a right bar in the right side of the page and a remote control page with your all configuration. For that, i have to change the layout, if i do that you can got iced.');
    28.             alert('For fix that, you will configure all your settings on a external page');
    29.             alert('You can add the configuration page in your bookmarks, for easy open that. Or click right button in GM icon,go to User Script Commands, and click open configuration page.');
    30.             alert('To enable |  disabled th script, click in tools >User Script Commands.');
    31.             alert('Thanks for read this.');
    32.             GM_openInTab('nqiitrainer.freevar.com');
    33.             GM_openInTab('nqiitrainer.6te.net');
    34.         }
    35.         GM_setValue("healingitem", 30011);
    36.         GM_setValue("mipsyact", 1);
    37.         GM_setValue("Path", 2);
    38.         GM_setValue("selectids", '1|1');
    39.         GM_setValue("pathIndex", 0);
    40.         GM_setValue("Velmhast", false);
    41.         GM_setValue("remote", true);
    42.         GM_setValue("flee", true);
    43.         GM_setValue("from", "1500");
    44.         GM_setValue("to", "2500");
    45.         GM_setValue("damage", false);
    46.         GM_setValue("damageid", 30103);
    47.     }
    48. }
    49. catch (ex) { }
    50. if((GM_getValue("selectids")==undefined) || (GM_getValue("selectids")==null)){
    51.     GM_setValue("selectids", '1|1');
    52. }
    53. if((location.href.match('nqiitrainer.freevar.com')) || (location.href.match('stive.knoxx.net/neopets') || (location.href.match('http://nqiitrainer.6te.net/'))))
    54. {
    55.     function getid(id){
    56.         ids = GM_getValue('selectids').split('|');
    57.         switch(id){            
    58.             case '1':
    59.                 return ids[0];
    60.             break;
    61.             case '2':
    62.                 return ids[1];
    63.             break;
    64.         }
    65.     }
    67.     // Set defalut value to Boxes
    68.     document.getElementById('directions').value = GM_getValue('Path');
    69.     function setDeFaultBox()
    70.     {
    71.             if(GM_getValue("onoff")==true){
    72.                 document.getElementById('links').getElementsByTagName('a')[0].style.color="black";
    73.                 document.getElementById('links').getElementsByTagName('a')[1].style.color="red";
    74.             }
    75.             if(GM_getValue("onoff")==false)    {
    76.                 document.getElementById('links').getElementsByTagName('a')[0].style.color="green";
    77.                 document.getElementById('links').getElementsByTagName('a')[1].style.color="black";
    78.             }
    79.             if(GM_getValue("remote")==true){
    80.                 document.getElementsByName('remote')[0].parentNode.style.color="black";
    81.                 document.getElementsByName('remote')[1].parentNode.style.color="red";
    82.                 document.getElementsByName('remote')[1].checked=true;
    83.             }
    84.             if(GM_getValue("remote")==false){
    85.                 document.getElementsByName('remote')[0].parentNode.style.color="green";
    86.                 document.getElementsByName('remote')[1].parentNode.style.color="black";
    87.                 document.getElementsByName('remote')[0].checked=true;
    88.             }
    89.             if(GM_getValue("flee")==true){
    90.                 document.getElementsByName('flee')[0].parentNode.style.color="black";
    91.                 document.getElementsByName('flee')[1].parentNode.style.color="red";
    92.                 document.getElementsByName('flee')[1].checked=true;
    93.             }
    94.             if(GM_getValue("flee")==false){
    95.                 document.getElementsByName('flee')[0].parentNode.style.color="green";
    96.                 document.getElementsByName('flee')[1].parentNode.style.color="black";
    97.                 document.getElementsByName('flee')[0].checked=true;
    98.             }
    99.             document.getElementsByTagName("select")[0].selectedIndex = getid('1');
    100.             document.getElementsByTagName("select")[1].selectedIndex = getid('2');        
    101.             document.getElementById('damage').value = GM_getValue('damageid');
    102.             if ((GM_getValue("damage")==false)) document.getElementById('checkdamage').checked=true;
    103.             if ((GM_getValue("damage")==true)) document.getElementById('checkdamage').checked=false;                
    104.             document.getElementById('pathindex').value = GM_getValue('pathIndex');
    105.             document.getElementById("heal").value = GM_getValue('healingitem');
    106.             document.getElementById("to").value = GM_getValue('to');
    107.             document.getElementById("from").value = GM_getValue('from');
    108.             switch(GM_getValue('mipsyact')){
    109.                 case 1:
    110.                 case 2:
    111.                     document.getElementById('mipsyact').value = "9201";
    112.                     document.getElementsByTagName("select")[2].selectedIndex = 1;                
    113.                     document.getElementById('mipsyact').value = "9201";
    114.                     document.getElementsByTagName("select")[2].selectedIndex = 1;
    115.                 break;
    116.                 case 3:
    117.                 case 4:
    118.                     document.getElementById('mipsyact').value = "9202";
    119.                     document.getElementsByTagName("select")[2].selectedIndex = 2;
    120.                     document.getElementById('mipsyact').value = "9202";
    121.                     document.getElementsByTagName("select")[2].selectedIndex = 2;
    122.                 break;
    123.             }
    124.             if(((GM_getValue('mipsyact')==1)) || ((GM_getValue('mipsyact')==3))) document.getElementById('opcao').checked=true;
    125.             if(((GM_getValue('mipsyact')==2)) || ((GM_getValue('mipsyact')==4))) document.getElementById('opcao').checked=false;
    126.     }    
    127.         setDeFaultBox();
    128.         document.getElementById("autoupdate").addEventListener('click', function() {setDeFaultBox();}, false);
    130.         //Add functions to selects, like fill in the boxs the values, selectindex
    131.         document.getElementsByTagName("select")[0].selectedIndex = getid('1');
    132.         document.getElementsByTagName("select")[1].selectedIndex = getid('2');        
    133.         document.getElementById("autoupdate").addEventListener('click', function() {setDeFaultBox();}, false);
    135.         // Add function to links Enabled, disabled
    136.         document.getElementById('links').getElementsByTagName('a')[0].addEventListener('click', function() {GM_setValue('onoff', false); this.style.color="green"; document.getElementById('links').getElementsByTagName('a')[1].style.color="black"}, false);            
    137.         document.getElementById('links').getElementsByTagName('a')[1].addEventListener('click', function() {GM_setValue('onoff', true); clearTimeout(timeout); this.style.color="red"; document.getElementById('links').getElementsByTagName('a')[0].style.color="black"}, false);
    139.         document.getElementsByName('remote')[0].addEventListener('click', function() {GM_setValue('remote', false); document.getElementsByName('remote')[0].parentNode.style.color="green"; document.getElementsByName('remote')[1].parentNode.style.color="black"}, false);
    140.         document.getElementsByName('remote')[1].addEventListener('click', function() {GM_setValue('remote', true); document.getElementsByName('remote')[1].parentNode.style.color="red"; document.getElementsByName('remote')[0].parentNode.style.color="black"}, false);            
    141.         document.getElementsByName('flee')[0].addEventListener('click', function() {GM_setValue('flee', false); document.getElementsByName('flee')[0].parentNode.style.color="green"; document.getElementsByName('flee')[1].parentNode.style.color="black"}, false);
    142.         document.getElementsByName('flee')[1].addEventListener('click', function() {GM_setValue('flee', true); document.getElementsByName('flee')[1].parentNode.style.color="red"; document.getElementsByName('flee')[0].parentNode.style.color="black"}, false);                
    144.         // Funtion to save configurations on right bar
    145.         function saveconfig() {
    146.             var pass = true;
    147.             if((document.getElementById('heal').value=="") || (document.getElementById('damage').value=="") || (parseFloat(document.getElementById('to').value)-parseFloat((document.getElementById('from').value)<700)) || (document.getElementById('from').value<700) || (document.getElementById('from').value==document.getElementById('to').value) || (document.getElementById('to').value=="")|| (document.getElementById('from').value=="") || (document.getElementById('mipsyact').value==""))
    148.             {
    149.                 pass = false;
    150.             }
    151.             if((document.getElementById('heal').value=="")) alert('Please select a valid value for heal item'); else GM_setValue('healingitem', document.getElementById('heal').value);
    152.             if((document.getElementById('damage').value=="")) alert("Plase select a valid damage item"); else GM_setValue('damageid', document.getElementById('damage').value);
    153.             if((document.getElementById('checkdamage').checked==true)) GM_setValue('damage', false);
    154.             if((document.getElementById('checkdamage').checked==false)) GM_setValue('damage', true);    
    155.             if((document.getElementById('mipsyact').value=="")) alert('Please select a valid item for mipsy action');
    156.             else
    157.             {
    158.                 if(document.getElementById('mipsyact').value==9201)
    159.                 {
    160.                     if((document.getElementById('opcao').checked==true)) GM_setValue("mipsyact", 1);
    161.                     if((document.getElementById('opcao').checked==false)) GM_setValue("mipsyact", 2);
    162.                 }
    163.                 if(document.getElementById('mipsyact').value==9202)
    164.                 {
    165.                     if((document.getElementById('opcao').checked==true)) GM_setValue("mipsyact", 3);
    166.                     if((document.getElementById('opcao').checked==false)) GM_setValue("mipsyact", 4);
    167.                 }
    168.             }
    169.             if (pass) {
    170.                     alert('Settings saved sucessfully!');
    171.                     var kkk = [document.getElementsByTagName('select')[0].selectedIndex, document.getElementsByTagName('select')[1].selectedIndex];
    172.                     GM_setValue('selectids', kkk.join('|'));
    173.                     GM_setValue("from", document.getElementById("from").value);
    174.                     GM_setValue("to", document.getElementById("to").value);
    175.                 }
    176.             else{
    177.                 alert("Plase select a valid Refresh time. OBS.: i will not let you use values less than 700 mileseconds");
    178.             }
    179.         }
    181.             //Function to start remote control
    182.             function start()
    183.             {
    184.                 GM_setValue("Path", document.getElementById('directions').value);
    185.                 GM_setValue("pathIndex", document.getElementById('pathindex').value);
    186.                 GM_setValue("remote", false);
    187.                 GM_setValue("onoff", false);
    188.                 document.getElementsByName('remote')[0].checked=true;
    189.                 document.getElementById('links').getElementsByTagName('a')[0].style.color="green";
    190.                 document.getElementById('links').getElementsByTagName('a')[1].style.color="black";
    191.                 document.getElementsByName('remote')[0].parentNode.style.color="green";
    192.                 document.getElementsByName('remote')[1].parentNode.style.color="black";                
    193.                 alert("\t\tSettings saved.\nTo changes take effect refresh neoquest page;")
    194.             }
    196.             // Add events to start | save settings
    197.             document.getElementById("formclick").addEventListener("click", saveconfig, true);
    198.             document.getElementById("formsubmit").addEventListener("keydown", function(e){
    199.                 if (e.keyCode == 13){
    200.                     saveconfig();
    201.                 }
    202.             }, true);
    203.             document.getElementById("startremoteclick").addEventListener("click", start, true);
    204.             document.getElementById("startremote").addEventListener("keydown", function(e){
    205.                 if (e.keyCode == 13){
    206.                 start();
    207.                 }
    208.             }, true);            
    209. }
    210. //Finish configuration region
    212. //Now if´s not configuration page, start the functions
    213. if(location.href.match('nq2/nq2.phtml')){    
    214. function selectitem()
    215. {
    216.     switch(GM_getValue("healingitem"))
    217.     {
    218.         case "30011":
    219.         GM_setValue("healingitem", '30012');
    220.         break;
    221.         case "30012":
    222.         GM_setValue("healingitem", '30013');
    223.         break;
    224.         case "30013":
    225.         GM_setValue("healingitem", '30014');
    226.         break;        
    227.         case "30014":
    228.         GM_setValue("healingitem", '30021');
    229.         break;    
    230.         case "30021":
    231.         GM_setValue("healingitem", '30022');
    232.         break;
    233.         case "30022":
    234.         GM_setValue("healingitem", '30023');
    235.         break;
    236.         case "30023":
    237.         GM_setValue("healingitem", '30031');
    238.         break;
    239.         case "30031":
    240.         GM_setValue("healingitem", '30032');
    241.         break;
    242.         case "30032":
    243.         GM_setValue("healingitem", '30033');
    244.         break;
    245.         case "30033":
    246.         GM_setValue("healingitem", '30041');
    247.         break;
    248.         case "30041":
    249.         GM_setValue("healingitem", '30042');
    250.         break;
    251.         case "30042":
    252.         GM_setValue("healingitem", '30043');
    253.         break;
    254.         case "30043":
    255.         GM_setValue("healingitem", '30051');
    256.         break;        
    257.         case "30051":
    258.         GM_setValue("healingitem", '30052');
    259.         break;
    260.         case "30052":
    261.         GM_setValue("healingitem", '30053');
    262.         break;
    263.         case "30053":
    264.         GM_setValue("healingitem", '30011');
    265.         break;
    267.     }
    268. }
    271. var REFRESHS = Math.floor(Math.random() * parseFloat((GM_getValue("to")-GM_getValue("from")))) + parseFloat(GM_getValue("from"));
    272. var scriptonoff = GM_getValue("onoff"); //Check if script ts enabled
    273. if (GM_getValue("remote")==true)
    274. {
    275.     if (new RegExp(/http\:\/\/w{3}\.neopets\.(com|com\.br)\/games\/nq2\/nq2\.phtml\?act=/i).test(location.href)) // alows you to enter inventory, shops without return to map.
    276.     {
    277.         scriptonoff = true;
    278.     }
    279. }
    280. if ((new RegExp(/http\:\/\/w{3}\.neopets\.(com|com\.br)\/games\/nq2\/nq2\.phtml\?act=move&dir=/i).test(location.href)) || (new RegExp(/http\:\/\/w{3}\.neopets\.(com|com\.br)\/games\/nq2\/nq2\.phtml\?act=travel&mode=/i).test(location.href)) || (GM_getValue("remote")==false))
    281. {
    282.  scriptonoff = GM_getValue("onoff");
    283. }
    284. if (!scriptonoff){
    285.     ff = xpath("//form[contains(@name, 'ff')]")[0];
    286.     if(xpath("boolean(//img[contains(@src, '/nq2/x/com_begin.gif')])")){
    287.         GM_setValue("hitTarget",5);
    288.         GM_setValue("isHasted",false);
    289.         GM_setValue("Velmhast",false);
    290.         var timeout = setTimeout(function(){ location.href="http://www.neopets.com/games/nq2/nq2.phtml?start=1";}, REFRESHS-150);    
    291.     }    
    292.     if(xpath("boolean(//img[contains(@src, '/nq2/x/com_next.gif')])")){
    293.         var timeout = setTimeout(function(){ unsafeWindow.setaction(1); ff.submit();}, REFRESHS-300);    
    294.     }    
    295.     if(xpath("boolean(//img[contains(@src, '/nq2/x/com_end.gif')])")){
    296.         var timeout = setTimeout(function(){unsafeWindow.setaction(2); ff.submit();}, REFRESHS-150);
    297.     }    
    298.     if(xpath("boolean(//img[contains(@src, '/indexbak_oops_pt.png')])")){
    299.         var timeout = setTimeout(function(){ location.href="http://www.neopets.com/games/nq2/nq2.phtml";}, 200);    
    300.     }    
    301.     if(xpath("boolean(//img[contains(@src, '/nq2/x/cont.gif')])")){    
    302.         if(xpath("boolean(//a[contains(@href, 'nq2.phtml?finish=1')])")){
    303.             setTimeout(function(){ location.href="http://www.neopets.com/games/nq2/nq2.phtml?finish=1";}, 800);    
    304.         }
    305.         else{
    306.             var timeout = setTimeout(function(){ location.href="http://www.neopets.com/games/nq2/nq2.phtml";}, 800);        
    307.             img = xpath("//img[contains(@src,'http://images.neopets.com/nq2/x/cont.gif')]");
    308.             url = img.parentNode.href;
    309.             if(!url.match("javascript"))
    310.             {
    311.                 var timeout = setTimeout(function(){location.href=url;}, REFRESHS);
    312.             }    
    313.         }
    314.     }    
    315.     if(xpath("boolean(//img[contains(@src, '/nq2/x/tomap.gif')])")){    
    316.         GM_setValue("hitTarget",5);
    317.         GM_setValue("isHasted",false);
    318.         GM_setValue("Velmhast",true);
    319.         var timeout = setTimeout(function(){ location.href="http://www.neopets.com/games/nq2/nq2.phtml?finish=1";    }, REFRESHS-300);    
    320.     }    
    321.     if(xpath("boolean(//img[contains(@src, '/nq2/x/nav.gif')])")){    
    322.     pathIndex = GM_getValue("pathIndex");
    323.             if((GM_getValue("Path").length) != GM_getValue("pathIndex")){
    324.                 var timeout = setTimeout(function(){ unsafeWindow.dosub(GM_getValue('Path')[pathIndex]);  GM_setValue("pathIndex",parseFloat(GM_getValue("pathIndex"))+1); }, REFRESHS);
    325.             }
    326.             else{
    327.                 var open = confirm("You have arrived at your destination.\nOpen the configuration page?");
    328.                 if(open)
    329.                 {
    330.                     GM_openInTab('http://stive.knoxx.net/neopets/');
    331.                 }
    332.                 GM_setValue("pathIndex",0)
    333.                 GM_setValue("toleft",0)
    334.                 GM_setValue("remote", true)
    335.                 GM_setValue("onoff", true)
    336.             }
    337.     }
    338.     if(xpath("boolean(//img[contains(@src, '/nq2/x/com_atk.gif')])")){
    339.         var haste = true;
    340.         if(((GM_getValue('mipsyact')==1) || (GM_getValue('mipsyact')==3)))  haste = false;
    341.         if(((GM_getValue('mipsyact')==1) || (GM_getValue('mipsyact')==2)))  mipsyfact = "9201";
    342.         if(((GM_getValue('mipsyact')==3) || (GM_getValue('mipsyact')==4)))  mipsyfact = "9202";    
    343.         var useid=-1;
    344.         var nxactor=1;
    345.         var fact=3;
    346.         var hitTarget = GM_getValue("hitTarget",5);
    347.         function checkhit(){
    348.             if(!document.getElementsByName("ch"+GM_getValue("hitTarget",5))[0]){
    349.                 var enemytarget = document.getElementsByClassName("ch")[0].name;
    350.                 if((a=document.getElementsByClassName('ch200')[0])) enemytarget = a.name;
    351.                 if((enemytarget!="ch1") && (enemytarget!="ch2") && (enemytarget!="ch3") && (enemytarget!="ch4"))
    352.                 {
    353.                     enemytarget = enemytarget.match(/ch([^&]+)/)[1];
    354.                     GM_setValue("hitTarget", enemytarget);
    355.                 }
    356.             }
    357.         }
    358.         checkhit();
    359.         checkhit();
    360.             if(!xpath("id('content')//td/table/tbody/tr/td/a[@onclick='setaction(5); setitem(" + GM_getValue('healingitem') +"); document.ff.submit(); return false;;']", document, Boolean)){
    361.                 selectitem();
    362.                 if(!xpath("id('content')//td/table/tbody/tr/td/a[@onclick='setaction(5); setitem(" + GM_getValue('healingitem') +"); document.ff.submit(); return false;;']", document, Boolean)){
    363.                     selectitem();
    364.                     if(!xpath("id('content')//td/table/tbody/tr/td/a[@onclick='setaction(5); setitem(" + GM_getValue('healingitem') +"); document.ff.submit(); return false;;']", document, Boolean)){
    365.                         selectitem();
    366.                     }        
    367.                 }            
    368.             }            
    370.             var texts = document.getElementsByClassName('frame')[0].getElementsByTagName("font");
    371.             var doMultipleTargets = 0;
    372.             var j=0;
    373.             var fleepss = true;
    374.             for(j=0;j<texts.length;j++)
    375.             {
    376.                 //Check if you have the damage item
    377.                 if(!xpath("id('content')//td/table/tbody/tr/td/a[@onclick='setaction(5); setitem(" + GM_getValue("damageid") +"); document.ff.submit(); return false;;']", document, Boolean)){
    378.                     GM_setValue("damage", true); // you don´t have, disable this option.
    379.                 }
    380.                 switch(texts[j].innerHTML)
    381.                 {
    382.                 case "<b>Rohane</b>":
    383.                     if(GM_getValue("damage")==false){
    384.                         fact=5;
    385.                         useid = GM_getValue("damageid");
    386.                     }
    387.                     if((texts[j+1].color=="#d0d000") || (texts[j+1].color=="red")){
    388.                         fact=5;
    389.                         useid = GM_getValue("healingitem");
    390.                         var fleepss = false;
    391.                     }
    392.                 break;
    393.                 case "<b>Mipsy</b>":
    394.                     nxactor=2;
    395.                     fact= mipsyfact;
    396.                     if(!haste){
    397.                         if(!GM_getValue("isHasted")){
    398.                             fact=9203;
    399.                             GM_setValue("isHasted",true);
    400.                         }
    401.                     }
    402.                     if((texts[j+1].color=="#d0d000") || (texts[j+1].color=="red"))
    403.                     {
    404.                         fact=5;
    405.                         useid = GM_getValue("healingitem");
    406.                         var fleepss = false;
    407.                     }
    408.                     break;
    409.                 case "<b>Talinia</b>":
    410.                     if(GM_getValue("damage")==false)
    411.                     {
    412.                         fact=5;
    413.                         useid = GM_getValue("damageid");
    414.                     }    
    415.                     if(xpath("//a[contains(@onclick, 'setaction(9302)')]", document, Boolean)){
    416.                         fact = 9302;
    417.                     }
    418.                     nxactor=3;
    419.                     if((texts[j+1].color=="#d0d000") || (texts[j+1].color=="red"))
    420.                     {
    421.                         fact=5;
    422.                         useid = GM_getValue("healingitem");
    423.                         var fleepss = false;
    424.                     }
    425.                     break;
    426.             case "<b>Velm</b>":
    427.                 var l=0;
    428.                 var fullhp = 0;
    429.                 var allies = false;
    430.                 var fleepss = false;
    431.                 elements = xpath("//img[contains(@src, '/nq2/x/exp_green.gif')]");
    432.                 for (l = 0; l < elements.length; l++) {
    433.                     if(xpath("boolean(//img[contains(@src, '/nq2/x/donothing.gif')])")){
    434.                         allies = true;
    435.                     }
    436.                     if (allies) {
    437.                         if (elements[l].src == "http://images.neopets.com/nq2/x/exp_green.gif") {
    438.                             if (elements[l].width == 45) //45 is full health
    439.                             {
    440.                                 fullhp++;
    441.                             }
    442.                         }
    443.                     }
    444.                 }
    445.                 nxactor=4;
    446.                 fact=9402;
    447.                 if(fullhp == 4){
    448.                     if(GM_getValue("Velmhast"))
    449.                     {
    450.                         fact=3;
    451.                         if(GM_getValue("damage")==false)
    452.                         {
    453.                             fact=5;
    454.                             useid = GM_getValue("damageid");
    455.                         }    
    456.                     }
    457.                     else{
    458.                         fact = 9403; //shielding
    459.                         GM_setValue("Velmhast",true);
    460.                     }
    461.                 }
    462.                 if((texts[j+1].color=="#d0d000") || (texts[j+1].color=="red"))
    463.                 {
    464.                     fact=5;
    465.                     useid = GM_getValue("healingitem");
    466.                     var fleepss = false;
    467.                 }
    468.                 break;
    469.             }
    470.         }
    471.         function attack(){
    472.                 var timeout = setTimeout(function(){
    473.                     with(unsafeWindow){
    474.                         settarget(GM_getValue("hitTarget",5));
    475.                         setaction(fact);
    476.                         setitem(useid);
    477.                     }
    478.                     ff.submit();
    479.                 }, REFRESHS);
    480.             }    
    481.             if (GM_getValue("flee")==true){    
    482.                 attack();
    483.             }
    484.             if (GM_getValue("flee")==false){
    485.                 if(fleepss){
    486.                     var timeout = setTimeout(function(){ unsafeWindow.setaction(4); ff.submit(); }, REFRESHS);
    487.                 }
    488.                 else{
    489.                     attack();
    490.                 }
    491.             }
    493.     }
    494. }
    496. //AUTO TALKS
    497. switch(location.href){
    498.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10718':
    499.         setTimeout(function(){ location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10718&say=city';},  REFRESHS);
    500.     break;
    501.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10718&say=city':
    502.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10718&say=yes';},  REFRESHS);
    503.     break;
    504.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10718&say=yes':
    505.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10718&say=about';},  REFRESHS);
    506.     break;
    507.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10718&say=about':
    508.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10718&say=east';},  REFRESHS);
    509.     break;
    510.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10718&say=east':
    511.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10718&say=enter';},  REFRESHS);
    512.     break;
    513.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10801':
    514.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10801&say=key';},  REFRESHS);
    515.     break;
    516.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=11201':
    517.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=11201&say=town';},  REFRESHS);
    518.     break;
    519.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=11201&say=town':
    520.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=11201&say=troubles';},  REFRESHS);
    521.     break;
    522.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=11205':
    523.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=11205&say=troubles';},  REFRESHS);
    524.     break;
    525.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=11205&say=troubles':
    526.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=11205&say=yes';},  REFRESHS);
    527.     break;
    528.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=11205&say=yes':
    529.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=11205&say=sympathize';},  REFRESHS);
    530.     break;
    531.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=11204':
    532.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=11204&say=rest';},  REFRESHS);
    533.     break;
    534.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=11001':
    535.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=11001&say=rest';},  REFRESHS);
    536.     break;
    537.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=20510':
    538.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=20510&say=join';},  REFRESHS);
    539.     break;    
    540.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=20701':
    541.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=20701&say=top';},  REFRESHS);
    542.     break;        
    543.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=20701&say=top':
    544.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=20701&say=rest';},  REFRESHS);
    545.     break;    
    546.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=30504':
    547.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=30504&say=who';},  REFRESHS);
    548.     break;    
    549.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=30504&say=who':
    550.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=30504&say=join';},  REFRESHS);
    551.     break;
    552.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=30504&say=join':
    553.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=skills&show_char=4';},  REFRESHS);
    554.     break;    
    555.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=30510&say=calm':
    556.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=30510&say=home';},  REFRESHS);
    557.     break;
    558.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=30510&say=curious':
    559.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=30510&say=purpose';},  REFRESHS);
    560.     break;    
    561.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=30510&say=purpose':
    562.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=30510&say=find';},  REFRESHS);
    563.     break;        
    564.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=30510&say=find':
    565.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=30510&say=fates';},  REFRESHS);
    566.     break;        
    567.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=30101':
    568.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=30101&say=code';},  REFRESHS);
    569.     break;            
    570.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=30101&say=code':
    571.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=30101&say=medallion';},  REFRESHS);
    572.     break;        
    573.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40301':
    574.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40301&say=town';},  REFRESHS);
    575.     break;
    576.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40301&say=town':
    577.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40301&say=impossible';},  REFRESHS);
    578.     break;    
    579.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40301&say=impossible':
    580.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40301&say=find';},  REFRESHS);
    581.     break;
    582.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40401':
    583.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40401&say=we';},  REFRESHS);
    584.     break;    
    585.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40401&say=we':
    586.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40401&say=vonroo';},  REFRESHS);
    587.     break;    
    588.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40401&say=vonroo':
    589.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40401&say=sun';},  REFRESHS);
    590.     break;
    591.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40401&say=sun':
    592.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40401&say=ghosts';},  REFRESHS);
    593.     break;
    594.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40101':
    595.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40101&say=okay';},  REFRESHS);
    596.     break;
    597.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40101&say=okay':
    598.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40101&say=hate';},  REFRESHS);
    599.     break;    
    600.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40501':
    601.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40501&say=adventurers';},  REFRESHS);
    602.     break;    
    603.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40501&say=adventurers':
    604.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40501&say=yes';},  REFRESHS);
    605.     break;        
    606.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40501&say=yes':
    607.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40501&say=how';},  REFRESHS);
    608.     break;
    609.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40501&say=how':
    610.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=40501&say=anything';},  REFRESHS);
    611.     break;
    612.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50701':
    613.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50701&say=rest';},  REFRESHS);
    614.     break;    
    615.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50501&say=who':
    616.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50501&say=what';},  REFRESHS);
    617.     break;        
    618.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50501&say=what':
    619.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50501&say=faerie';},  REFRESHS);
    620.     break;        
    621.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50602':
    622.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50602&say=who';},  REFRESHS);
    623.     break;    
    624.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50602&say=who':
    625.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50602&say=you';},  REFRESHS);
    626.     break;    
    627.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50605&say=problem':
    628.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50605&say=key';},  REFRESHS);
    629.     break;
    630.      case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10408':
    631.      setTimeout(function(){ location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10408&say=do';}, REFRESHS);
    632.      break;
    633.      case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10408&say=do':
    634.      setTimeout(function(){ location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10408&say=join';}, REFRESHS);
    635.      break;
    636.      case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10701':
    637.      setTimeout(function(){ location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10701&say=rest';}, REFRESHS);
    638.      break;
    639.      case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10708':
    640.      setTimeout(function(){ location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10708&say=city';}, REFRESHS);
    641.      break;
    642.      case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10708&say=city':
    643.      setTimeout(function(){ location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10708&say=how';}, REFRESHS);
    644.      break;    
    645.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50605&say=key':
    646.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50605&say=terask';},  REFRESHS);
    647.     break;    
    648.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50605&say=terask':
    649.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50605&say=what';},  REFRESHS);
    650.     break;
    651.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50605&say=what':
    652.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50605&say=where';},  REFRESHS);
    653.     break;
    654.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50605&say=where':
    655.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50605&say=catch';},  REFRESHS);
    656.     break;
    657.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50605&say=catch':
    658.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=50605&say=devils';},  REFRESHS);
    659.     break;
    660.     case 'http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10201':
    661.         setTimeout(function(){location.href='http://www.neopets.com/games/nq2/nq2.phtml?act=talk&targ=10201&say=rest';},  REFRESHS);
    662.     break;    
    663. }
    665. (function () {
    666.     if(document.documentURI.substr(0,14)=="about:neterror")
    667.     {
    668.         location.href="http://www.neopets.com/games/nq2/nq2.phtml";
    669.     }
    670. })();
    671. }
    672. /** Memory release **/
    673. window.addEventListener("unload",
    674.     function ()
    675.     {
    676.         flee = null;
    677.         useid = null;
    678.         fact = null;
    679.         nxactor = null;
    680.         imagehelp = null;
    681.         pass = null;
    682.         REFRESHS = null;
    683.         scriptonoff = null;
    684.         img = null;
    685.         url = null;
    686.         pathIndex = null;
    687.         walk = null;
    688.         open = null;
    689.         haste = null;
    690.         useid = null;
    691.         walk = null;
    692.         nxactor = null;
    693.         fact = null;
    694.         hitTarget = null;
    695.         doMultipleTargets = null;
    696.         texts = null;
    697.         item2 = null;
    698.     }, false);
    I'd recommend bookmarking NQII, as well as this page. That page is where you'll be going to edit the above script when necessary.

    Skills (the tl;dr version)
    Spend your points in this order:

    Normal Mode
    9 points in Damage Increase
    2 points in Innate Magic Resistance
    2 points in Damage Increase
    11 points in Critical Attacks
    11 points in Stunning Strikes
    11 points in Innate Melee Haste
    *Don't put anything in Combat Focus or Battle Taunt, although I guess you could put 1-2 points in Battle Taunt if you really wanted to

    11 points in Group Direct Damage
    6 points in Innate Melee Defence
    11 points in Innate Casting Haste
    11 points in Group Haste
    11 points in Direct Damage
    *You can also use the above build for Evil mode, or on Evil mode you can switch to the build you'd be using for InSaNe - 11 points in Direct Damage instead of Group Direct Damage

    11 points in Increase Bow Damage
    10 points in Multiple Targets
    11 points in Innate Melee Haste
    2 points in Innate Magic Resistance
    5 points in Shockwave
    5 points in Ranged
    5 points in either Shockwave or Ranged (personally I prefer Shockwave)

    11 points in Group Healing
    11 points in Group Shielding
    6 points in Innate Melee Defence
    11 points in Innate Casting Haste

    And remember to, before your final boss battle and after you have your final equips, finish spending all the points that you haven't already spent. (e.g. if Rohane has 11 points in Innate Melee Haste but has a +4 bonus from one of his equips, don't spend any points there. Up his Innate Magic Resistance [example, although you really should up this before fighting Terask II] instead.)


    This is where you start the game. Your mother=free healing.
    -Walk west to get out of the town, then switch to Hunting mode and enable the Trainer.
    -Whenever you need to heal don't use any of your Healing Vials. Turn off Greasemonkey (click on the little monkey head logo at the bottom right corner of your screen), switch to normal mode, and walk back into town. Talk to mother for a heal.
    -Stay on the plains until level 3 or so, then migrate northward a tad so you're battling on the hills. Fight here until level 5.

    (You'll have to bear with me and do this a lot at the beginning of the game, but as the game progresses you'll be able to automate more and more, and it really isn't that bad.)

    Notes - don't forget to spend your skill points, and remember to let a plains lupe kill you at the very beginning of the game so you can get the avatar. (Killing you makes you lose half your gold and go back to your last resting place, though, so do this at the beginning of the game so you don't lose too much gold.)

    Miner Foreman
    First boss. This guy is actually skippable, but you should fight him for the exp and armor.
    -On the remote control page, select "Chpt 1", then select "Trestrin to miner foreman." Hit "Enabled" under "Remote Control System" and make sure auto flee fights is disabled. Switch to hunting mode, and hit go.

    The script will alert you when you reach the Miner Foreman. Fight him, and make sure to go to your inventory and equip the armor he drops. Then walk onto that little blue orb; it's a teleporter that'll take you outside the caves. Then select the next thing under the drop down menu, "Dark caves to river city."

    White River City
    -Go rest at the Inn; this sets your savepoint to there if you die.
    -Buy a new sword for Rohane. Buy 5 Blast Potions from the potions store. Restock potions if necessary.
    -Leave town, head northeast. Walk into the cave, and turn on your autotrainer. Return to town and restock potions when necessary; do this until level 9 minimum. Then when you're ready, restock potions one last time then go outside White River City and select "White river to zombom."
    -When you make it to Zombon fight him manually. Caution: He can use Decimate, which does 31 damage to Rohane. Make sure Rohane is healed up. Also, use those Blast Potions against him - they do more damage that Rohane's sword.
    -Take the teleporter, and select "Underground Cave to mipsy"

    Mipsy and White River City Part 2
    Talk to Mipsy and she'll join your party! w00t! Talk to the merchant across the street from Mipsy if you need to restock healing potions. Don't buy anything else from him.

    Go outside and use that autotrainer for a while. Mipsy can deal quite a lot of damage, and this is great for exp. Do this til level 12 ish, then use that script and head towards Lakeside. (You're starting to get the hang of this, eh?)

    When you get to the town of Lakeside, walk north and slightly to the right (just follow the brick path and you won't get lost). Restock healing potions at the potion shop if necessary, then walk straight north of their for the armoury. The Zafara on the left sells weapons, on the right sells armor. Talk to both and upgrade if necessary.

    Note - NEVER BUY A WAND FOR MIPSY. The ones you get as loot have skill bonuses, and that's what you need. (You'll never be using Mipsy to whack stuff melee for damage.)

    Then walk north out of that shop and west. Walk over to the fountain until you find the Kyrii. Talk to her, then use that script to go Kijandri to Potraddo. The script is a tad buggy here; use the map to manually walk to the hermit if necessary. Talk to him, then select Potraddo to Phorofor and go.

    Phorofor and Tower On A Hill
    Talk to the Withered Ghost and say the key to open access to Phorofor. Then use the "Phorofor to Sand grundo" script. Battle the Sand grundo and walk through that teleporter.

    Set up the "tower on a hill to seaside" script and go do something productive for a while.

    Walk into the town (east) and then north into the first shop - the potions shop. Don't buy anything yet. Talk to the shopkeeper and ask about the troubles at sea, then walk (or use the script) to get to his brother over by the dock on the far east. Talk to the brother and offer to help with the troubles, then go back to the first shopkeeper and talk to him. Congratulations - you just earned a massive discount.

    Buy 5 Awakening Potions from Uthare. Go to the armor shop and upgrade Rohane's sword and both Rohane+Mipsy's armor, if necessary. (I say if necessary b/c on Evil and InSaNe modes, monsters drop equips as loot that is often better than the NPC-available stuff. Also, you have to decide for yourself if it's worth it to buy something with defense 10 over something with defense 9 and +1 to Innate Melee Defense. [Personally in that situation I wouldn't buy the NPC equipment.])

    Ramtor (End of Chapter 1)
    By now you should know how to use that script to your advantage. Finish up the game, battle Ramtor manually.

    You should be at the very minimum level 20 by the end of Chapter 1. (Then you should be level 30 by the end of Chapter 2, level 40 by the end of Chapter 3, level 50 at the end of Chapter 4.) Personally I prefer over-leveling as it's safer (less chance of your entire party being KO'd and having to respawn), so I'm at 3-4 levels higher than those recommendations at the end of each chapter. (And it's not that I autotrain at the end of each chapter, but rather, by traveling on hunting mode everywhere that's just where I wind up.)
  3. Anfan

    Anfan Level IV

    Feb 12, 2009
    Likes Received:
    Re: [Semi-Legit] NeoQuest II Speed Walkthrough

  4. Anfan

    Anfan Level IV

    Feb 12, 2009
    Likes Received:
    Re: [Semi-Legit] NeoQuest II Speed Walkthrough

  5. Anfan

    Anfan Level IV

    Feb 12, 2009
    Likes Received:
    Re: [Semi-Legit] NeoQuest II Speed Walkthrough

  6. Anfan

    Anfan Level IV

    Feb 12, 2009
    Likes Received:
    Re: [Semi-Legit] NeoQuest II Speed Walkthrough

  7. Lightning

    Lightning Administrator
    Staff Member

    Nov 8, 2008
    Likes Received:
    Florida, USA
    Holy shit! This is amazing Anfan!

    Will sticky if that is okay with you. Can't wait for the final product!
  8. joltally

    joltally Level I

    Aug 25, 2009
    Likes Received:
    Good start NQ2 soon so this is a big help! Thanks!
  9. thedup

    thedup Level IV

    Nov 3, 2006
    Likes Received:
    after grinding neoquest 1 this seems promising. I've recently become very anxious about losing my account though, what do you think the chance of being caught cheating in this are? I'm so paranoid I'm not even willing to install that buddy script without someone giving the thumbs up. I'm a shell of my former self, it's depressing lol
  10. NorkLaw

    NorkLaw Level I

    Feb 28, 2013
    Likes Received:
    Well i have been playing it on hard for a while im in chapter 5 almost about to end it, but meh, im too lazy :v
  11. akatsukibug

    akatsukibug Level I

    Jul 10, 2013
    Likes Received:
    Brilliant guide! Thanks! I'm currently playing through normal :D
  12. wazzy

    wazzy Newbie

    Jun 19, 2013
    Likes Received:
    Already knew about the game but its a really nice put togeather guide thanks. Learned a couple things too.
  13. raven_24

    raven_24 Newbie

    Jun 27, 2013
    Likes Received:
    thanks thanks neoquest is very slow to complete :cc
  14. Platypus

    Platypus Level I

    May 11, 2013
    Likes Received:
    Thanks, I've only made it to getting the first avatar. Hopefully I can get the other two now!
  15. fail

    fail Level IV

    Aug 31, 2007
    Likes Received:
    Looking at a guide that was abandoned.
  16. blingblangblaow

    Mar 23, 2013
    Likes Received:
    Nice guide, thanks!
  17. Ajua

    Ajua Level I

    Jun 24, 2013
    Likes Received:
    nice guide ty very much