Tiered Refuge Token System Proposal

DodoBot

Dalayan Elder
The problem of tome progression as one moves into end-game content is an oft-discussed topic on these forums and one which has no easy solution. One of the most frequently discussed options is a trade in system of some sort. Thinking about this, I realized that there is already a proxy of this type of system in play with refuge tokens. I would propose is a modification to this existing system based on progression in the main quest. I want to sketch out a few ideas for this here but keep things general and open to any modifications people might see fit for the system.

The key to this would be expanding availability of tome purchases to Opuses at the 4th and 3rd seeker augment levels. At this point, a player would have gained access to Spires or Tu`Ruj, and it is presumable that agents of the rebellion would be able to occasionally sneak a tome out of those zones to support the ongoing war effort. I would propose upon getting spires access (4th seeker) that a system be made available to obtain general first rank opuses and expand this to rank 3 class tomes upon getting to Tu`Ruj.

Before we say this is going to wreck the economy, I'm going to offer some possibilities to limit the system's immediate economic impact. These are only ideas. Feel free to offer other suggestions.
  1. Create a new rank of Greater Rebel Acquisition Token which can only be obtained by turning in Opuses instead of regular tomes. Use these to purchase the higher level ranks.
  2. Offer only one randomly selected tome for purchase per game day. This keeps the idea of rarity in play as it is a precious item which was smuggled out of enemy territory (and not something which the rebellion suddenly has a stockpile of).
  3. Prices which scale based on the number of previous opuses purchased. This idea has been floated in the past, but I'm actually not a fan, as I think this is going to drive up the price of existing (junk) tomes to an unsustainable level for anyone who is not a SOD 1%er.
  4. Create a pseudo-random vendor inventory which is modified by the number of mobs (or bosses) killed in Spires/Tu`Ruj. More kills by the player means more chance of getting high value tomes. This would probably be difficult to code.
  5. Any combination of the above. Personally, I'm a fan of 2 with existing tokens as fuel.
Anyone have an opinion on this? Is it a reasonable solution to a bottleneck or an economic crisis waiting to happen?
 
"Hail stalwart traveler, I am Dickledink Dikdillington the collector of rare books. During my time here in the Refuge on Ikisith I have accumulated many rare book, but am always looking for more. Will you aid me by bringing me more of the rare books known as Opuses? For every [two/three] Opusi you bring me I will gladly give you another book of your choosing from my collection."
 
Last edited:
One big problem with this is that Opuses (and Class3/4 tomes) come in NODROP only, thus nothing would stop you from turning in completed tomes. While I can see it as doable ro find a workaround for class tomes (Can't turn in those of your own class...), such a workaround for regular opus sounds ratger painfull.



STAFF CAVEAT -- THIS IS NOT MY DEPARTMENT AND ITS BALANCE, CODING, IMPLEMENTATION, RESTRICTIONS, OR DENIAL ALL PROBABLY WOULD INVOLVE ME INDIRECTLY ONLY, IF AT ALL.
 
One big problem with this is that Opuses (and Class3/4 tomes) come in NODROP only, thus nothing would stop you from turning in completed tomes. While I can see it as doable ro find a workaround for class tomes (Can't turn in those of your own class...), such a workaround for regular opus sounds ratger painfull.
Hmm. Could you the NPC's behavior on turnin be based on player flags then? I would imagine the check to see if one has completed a tome or not is already in game because tomes have to check completed ranks for prerequisites on starting higher level ones. Not sure if that's something that is easily accessible in the quest system or not, but I know that means the ability to check is in game in some form... still, I don't think any of these solutions would be easy to code; that much is true.
 
Many different versions of this have been suggested in the past. Its a horrible design flaw IMO, where a massive and irreplaceable part of character progression is on a RNG this big. It's sadly a normal occurrence that players spend YEARS raiding this content without obtaining all their core tomes. My own character has been raiding opus/class tome content for 4+ years and I am still missing a class tome, I'm just glad its a near-useless tome, other classes (mages, etc) rely on their class tomes to remain relevant at the end game, and they are enough to make the difference deciding if it is worth bringing that character on a raid, or just making them play some retired box who will do 2x more dps.

Unfortunately, the official stance, as far as I know/understand, is that there never will be a "certain" way to obtain these books. One player even went so far as to attempt to do all the leg work in writing a script for a class tome trade-in system, it seems this is just something we will have to learn to accept. As more content is released, there will be more opportunities to find class tomes, and hopefully at least zones with LESS RNG, but at this point, it sounds like there will always be SOME RNG.
 
One big problem with this is that Opuses (and Class3/4 tomes) come in NODROP only, thus nothing would stop you from turning in completed tomes. While I can see it as doable ro find a workaround for class tomes (Can't turn in those of your own class...), such a workaround for regular opus sounds ratger painfull.



STAFF CAVEAT -- THIS IS NOT MY DEPARTMENT AND ITS BALANCE, CODING, IMPLEMENTATION, RESTRICTIONS, OR DENIAL ALL PROBABLY WOULD INVOLVE ME INDIRECTLY ONLY, IF AT ALL.

1. Take the lore tag off opus and class 3/4 books as it would be a hindrance to this new proposed system. (My guess is that it is 1 short create script in the DB as seen similar to #4.)

1.5. Update all item drop tables to use the new nonlore items instead of the lore items. This is 1 update statement in the DB with a lot of CASE...

2. Once translated, flip the opus/class3/class4 item tag to lore and no drop the same way tomes 1-2 goes to no drop. (My guess is by the dude deleting the old item and handing out a new item.)

3. Create your quest guy and his scripting. Very very close scripting copy of the existing token aystem.

4. Have the turn in guy you create and scrip only accept the following:
-where tome lore tag = false
-and tome no drop tag = true
-and tome name like opus% or tome name like %III or tome name like %IV
-and tome name not like %resist III

5. Win

***I don't know the DB structure and exact tables, but this can't be that hard to figure out. This fix would help at least half of the current nightly playerbase...
 
Last edited:
One player even went so far as to attempt to do all the leg work in writing a script for a class tome trade-in system, it seems this is just something we will have to learn to accept. As more content is released, there will be more opportunities to find class tomes, and hopefully at least zones with LESS RNG, but at this point, it sounds like there will always be SOME RNG.

Here it is for good measure. Not exactly the same idea, but very similar (a token system for class Opus trades inside Tur`Ruj). I personally like a slightly more flexible system which is tied into the Refuge faction, but that's just me. Massive code-credit to @Vitali for this one...

This thread kinda died, but after reading it and some of the responses people had I thought to myself that the best way to get something most people want is if we at least try to take it upon ourselves to get the process moving. I've spent the last few day (3-5 maybe?) between my classes making this script.

In a nutshell this script works like this:

Urango Bladefist is an Orc (or some race) in Tur'Ruj. He can be spawned, stay spawned as a permanent NPC, or whatever in Tur'Ruj or maybe in Tears by the table. He functions similarly to the Logistician Zi'zi in Murk and Dreadlands. You will take your class tome 3 and 4's and turn them in to him. He will return some sort of Dull Rujik Coins. You can then turn those coins back in to him to get credit. You can hail him to see how much credit you have with him at any time after.

With that credit you can purchase your own class tome 3 and 4's ONLY. No other Opus(es?) Opii or whatever can be bought or traded. Currently it is set at trading in 2 tome for your own class 3 tome, and you need 4 other tomes in order to buy your class 4.

I feel this pricing is pretty fair, because the only way to get class 3 and 4 books are in Tur'Ruj and sometimes Spires. The each spawn once per week, meaning a possibility of MAYBE a dozen class tome drops, but usually far far less. This means at a most, if no tomes can be used from any of the mobs killed, three people could get a class 4.

Right now this script will not work. What I need in order to make this script truly work is this:

  • An NPC ID that is currently empty (To replace urango.qst with the proper NPC ID) [urango.qst is urango.txt in attached file because the .qst ending wasn't allowed]
  • The proper item IDs for Class 3 and Class 4 tomes (to replace the text names I currently have in)
  • A new item ID for item : A Dull Rujik Coin (I used 10001 in the script)
  • Two blank quest flags (If they are actually used in a way like item IDs and NPC IDs). One for the flag for actually speaking to Urango Bladefist, and one to act as the currency calculator. I just used flag 100 and 101 for this.
And that is it. I would certainly like some feedback from people, especially those in my situation that are raiding Spires and Tur'Ruj for tomes but never getting them for years now. Those who have some criticism on the script are also welcome to voice them, the only way to get better is to learn and hear what people have to say.

If I can get the information I need (listed above) I would gladly fill in the areas required with proper information, saving staff time to work on 2.5 and other things. Maybe in a PM or something, or an email. While the information itself wouldn't really be sensitive, I would take care only to put it in the script and send it to whomever I would need to. Knowing Tool of the Divine is actually item ID 352794 probably won't affect anything, but I will take care not to divulge the info to others if requested.


Code:
EVENT_SAY {
    ## Intro speech

    if($1- =~ "hail"){
        say(I Urango Bladefist, best Orc. I slay and collect.);
        dialog(What have you collected from this place?);
    }
    if($1- =~ "What have you collected"){
        say(Weapons, armor, books... A strange coin stash. Slay many, take all.);
        dialog(Books? You mean tomes? Are you willing to sell or trade them?);
    }
    if($1- =~ "sell or trade them"){
        say(Your money is worthless to me. I will not take your shiny coins. What you trade?);
        dialog(I have tomes I do not need. Maybe we could trade.);
    }
    if($1- =~ "Maybe we could trade"){
        say(Me like books. Make Urango smart AND deadly. Yes, for each book I will give you dull coin from stash.);
    setflag(100,1);
    setflag(101,0);
        dialog(I would like to trade these tomes.);
    }
    if($1- =~ "trade these tomes" && $flag(100) == 1){
        say(Me will trade any your class specific books rank three or four, trade you one coin.);
        dialog(I want to buy books from you with these coins.);
    }
    if($1- =~ "buy books from you" && $flag(100) == 1){
        say(Me trade you one rank three book for three coins. Trade one rank four book for six coins.);
    }

    ## Post Intro Hails

    if($1- =~ "hail" && $flag(100) == 1){
        say(You want book or coin?);
    dialog(I want to buy books from you with these coins.);
    dialog(I want to give you books for coins.);
    dialog(How many credits do I have?);
    }
    if($1- =~ "buy books from you" && $flag(100) == 1){
        say(Me trade you one rank three book for two coins. Trade one rank four book for four coins.);
        dialog(Tell me what you have.);
    }
    if($1- =~ "give you books for coins" && $flag(100) == 1){
        say(Me will trade any your class specific books rank three or four, trade you one coin.);
    }
    if($1- =~ "How many credits do I have" && $flag(100) == 1){
        say(You have $calc($flag(101)) credits.);
    }

    ## Turn In Coins

    if($flag(100) == 1 && $itemcount(10001) > 0){
        keepitem(10001,1);
        increaseflag(101,1);
        emote(puts the coins back into a satchel. 'Good good, yous now has $calc($flag(101) + 1) credits.');
        continue();
    }

    ## Turn In Tomes
    ## Bard Tomes

    if($flag(100) == 1 && $itemcount(Blade Master 3) > 0{
        keepitem(Blade Master 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Blade Master 4) > 0{
        keepitem(Blade Master 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Crescendo 3) > 0{
        keepitem(Crescendo 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Crescendo 4) > 0{
        keepitem(Crescendo 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Quiet Reflection 3) > 0{
        keepitem(Quiet Reflection 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Quiet Reflection 4) > 0{
        keepitem(Quiet Reflection 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }

    ## Beastlord Tomes

    if($flag(100) == 1 && $itemcount(Frenzied Companion 3) > 0{
        keepitem(Frenzied Companion 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Frenzied Companion 4) > 0{
        keepitem(Frenzied Companion 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Empathic Warder 3) > 0{
        keepitem(Empathic Warder 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Empathic Warder 4) > 0{
        keepitem(Empathic Warder 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Third Beastlord Tome 3) > 0{
        keepitem(Third Beastlord Tome 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Third Beastlord Tome 4) > 0{
        keepitem(Third Beastlord Tome 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }

    ## Cleric Tomes

    if($flag(100) == 1 && $itemcount(Tool of the Divine 3) > 0{
        keepitem(Tool of the Divine 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Tool of the Divine 4) > 0{
        keepitem(Tool of the Divine 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Manual of Condemnation 3) > 0{
        keepitem(Manual of Condemnation 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Manual of Condemnation 4) > 0{
        keepitem(Manual of Condemnation 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Third Cleric Tome 3) > 0{
        keepitem(Third Cleric Tome 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Third Cleric Tome 4) > 0{
        keepitem(Third Cleric Tome 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }

    ## Druid Tomes

    if($flag(100) == 1 && $itemcount(Euphorbium Mastery 3) > 0{
        keepitem(Euphorbium Mastery 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Euphorbium Mastery 4) > 0{
        keepitem(Euphorbium Mastery 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Advanced Apiculture 3) > 0{
        keepitem(Advanced Apiculture 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Advanced Apiculture 4) > 0{
        keepitem(Advanced Apiculture 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Third Druid Tome 3) > 0{
        keepitem(Third Druid Tome 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Third Druid Tome 4) > 0{
        keepitem(Third Druid Tome 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }

    ## Enchanter Tomes

    if($flag(100) == 1 && $itemcount(Overpowering Calm 3) > 0{
        keepitem(Overpowering Calm 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Overpowering Calm 4) > 0{
        keepitem(Overpowering Calm 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Cascading Bond 3) > 0{
        keepitem(Cascading Bond 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Cascading Bond 4) > 0{
        keepitem(Cascading Bond 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Third Enchanter Tome 3) > 0{
        keepitem(Third Enchanter Tome 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Third Enchanter Tome 4) > 0{
        keepitem(Third Enchanter Tome 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }

    ## Magician Tomes

    if($flag(100) == 1 && $itemcount(Elemental Embodiment 3) > 0{
        keepitem(Elemental Embodiment 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Elemental Embodiment 4) > 0{
        keepitem(Elemental Embodiment 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Empowered Storm 3) > 0{
        keepitem(Empowered Storm 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Empowered Storm 4) > 0{
        keepitem(Empowered Storm 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Word of Power 3) > 0{
        keepitem(Word of Power 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Word of Power 4) > 0{
        keepitem(Word of Power 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }

    ## Monk Tomes

    if($flag(100) == 1 && $itemcount(Force of Body 3) > 0{
        keepitem(Force of Body 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Force of Body 4) > 0{
        keepitem(Force of Body 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Elemental Fists 3) > 0{
        keepitem(Elemental Fists 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Elemental Fists 4) > 0{
        keepitem(Elemental Fists 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Third Monk Tome 3) > 0{
        keepitem(Third Monk Tome 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Third Monk Tome 4) > 0{
        keepitem(Third Monk Tome 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }

    ## Necromancer Tomes

    if($flag(100) == 1 && $itemcount(Insidious Elements 3) > 0{
        keepitem(Insidious Elements 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Insidious Elements 4) > 0{
        keepitem(Insidious Elements 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Leeching Servant 3) > 0{
        keepitem(Leeching Servant 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Leeching Servant 4) > 0{
        keepitem(Leeching Servant 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Strands of Life 3) > 0{
        keepitem(Strands of Life 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Strands of Life 4) > 0{
        keepitem(Strands of Life 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }

    ## Paladin Tomes

    if($flag(100) == 1 && $itemcount(Holy Constitution 3) > 0{
        keepitem(Holy Constitution 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }   
    if($flag(100) == 1 && $itemcount(Holy Constitution 4) > 0{
        keepitem(Holy Constitution 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Tears of the Crusader 3) > 0{
        keepitem(Tears of the Crusader 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Tears of the Crusader 4) > 0{
        keepitem(Tears of the Crusader 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Divine Radiance 3) > 0{
        keepitem(Divine Radiance 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Divine Radiance 4) > 0{
        keepitem(Divine Radiance 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }

    ## Ranger Tomes

    if($flag(100) == 1 && $itemcount(Crippling Shot 3) > 0{
        keepitem(Crippling Shot 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }   
    if($flag(100) == 1 && $itemcount(Crippling Shot 4) > 0{
        keepitem(Crippling Shot 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Splitting Arrow 3) > 0{
        keepitem(Splitting Arrow 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Splitting Arrow 4) > 0{
        keepitem(Splitting Arrow 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Third Ranger Tome 3) > 0{
        keepitem(Third Ranger Tome 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Third Ranger Tome 4) > 0{
        keepitem(Third Ranger Tome 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }

    ## Rogue Tomes

    if($flag(100) == 1 && $itemcount(Insidious Stab 3) > 0{
        keepitem(Insidious Stab 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }   
    if($flag(100) == 1 && $itemcount(Insidious Stab 4) > 0{
        keepitem(Insidious Stab 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Periphery Dodging 3) > 0{
        keepitem(Periphery Dodging 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Periphery Dodging 4) > 0{
        keepitem(Periphery Dodging 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Sinister Revenge 3) > 0{
        keepitem(Sinister Revenge 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Sinister Revenge 4) > 0{
        keepitem(Sinister Revenge 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }

    ## Shadowknight Tomes

    if($flag(100) == 1 && $itemcount(Focused Hate 3) > 0{
        keepitem(Focused Hate 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }   
    if($flag(100) == 1 && $itemcount(Focused Hate 4) > 0{
        keepitem(Focused Hate 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Servant Training 3) > 0{
        keepitem(Servant Training 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Servant Training 4) > 0{
        keepitem(Servant Training 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Third Shadowknight Tome 3) > 0{
        keepitem(Third Shadowknight Tome 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Third Shadowknight Tome 4) > 0{
        keepitem(Third Shadowknight Tome 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }

    ## Shaman Tomes

    if($flag(100) == 1 && $itemcount(Tastes Like Chicken 3) > 0{
        keepitem(Tastes Like Chicken 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }   
    if($flag(100) == 1 && $itemcount(Tastes Like Chicken 4) > 0{
        keepitem(Tastes Like Chicken 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Blood Feast 3) > 0{
        keepitem(Blood Feast 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Blood Feast 4) > 0{
        keepitem(Blood Feast 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Blood Ritual 3) > 0{
        keepitem(Blood Ritual 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Blood Ritual 4) > 0{
        keepitem(Blood Ritual 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }

    ## Warrior Tomes

    if($flag(100) == 1 && $itemcount(Berserk 3) > 0{
        keepitem(Berserk 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }   
    if($flag(100) == 1 && $itemcount(Berserk 4) > 0{
        keepitem(Berserk 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Crippler 3) > 0{
        keepitem(Crippler 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Crippler 4) > 0{
        keepitem(Crippler 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Third Warrior Tome 3) > 0{
        keepitem(Third Warrior Tome 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Third Warrior Tome 4) > 0{
        keepitem(Third Warrior Tome 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }

    ## Wizard Tomes

    if($flag(100) == 1 && $itemcount(Forbidden Harvest 3) > 0{
        keepitem(Forbidden Harvest 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }   
    if($flag(100) == 1 && $itemcount(Forbidden Harvest 4) > 0{
        keepitem(Forbidden Harvest 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Elementary Evocation 3) > 0{
        keepitem(Elementary Evocation 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Elementary Evocation 4) > 0{
        keepitem(Elementary Evocation 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Ley Line Mastery 3) > 0{
        keepitem(Ley Line Mastery 3,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }
    if($flag(100) == 1 && $itemcount(Ley Line Mastery 4) > 0{
        keepitem(Ley Line Mastery 4,1);
        summonitem(10001,1);
        emote(throws the book into his stash, and tosses you a dull metal coin. 'Here you go.');
    }

    ## Buy Tomes
    ## Bard Tomes
    if($1- =~ "Tell me what you have" && $flag(100) == 1 && $uclass == 8){
        say(For $class I have books of Blade Master's Rythem, Crescendo, and Quiet Reflection.);
        dialog(I want Blade Master's Rythem.);
        dialog(I want Crescendo.);
        dialog(I want Quiet Reflection.);
    }
    if($1- =~ "I want Blade Master's Rythem" && $flag(100) == 1 && $uclass == 8){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Blade Master's Rythem III.);
        dialog(Blade Master's Rythem IV.);
    }
    if($1- =~ "Blade Master's Rythem III" && $flag(100) == 1 && $uclass == 8) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Blade Master's Rythem 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Blade Master's Rythem IV" && $flag(100) == 1 && $uclass == 8) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Blade Master's Rythem 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Blade Master's Rythem III" && $flag(100) == 1 && $uclass == 8) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Blade Master's Rythem IV" && $flag(100) == 1 && $uclass == 8) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Crescendo" && $flag(100) == 1 && $uclass == 8){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Crescendo III.);
        dialog(Crescendo IV.);
    }
    if($1- =~ "Crescendo III" && $flag(100) == 1 && $uclass == 8) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Crescendo 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Crescendo IV" && $flag(100) == 1 && $uclass == 8) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Crescendo 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Crescendo III" && $flag(100) == 1 && $uclass == 8) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Crescendo IV" && $flag(100) == 1 && $uclass == 8) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Quiet Reflection" && $flag(100) == 1 && $uclass == 8){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Quiet Reflection III.);
        dialog(Quiet Reflection IV.);
    }
    if($1- =~ "Quiet Reflection III" && $flag(100) == 1 && $uclass == 8) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Quiet Reflection 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Quiet Reflection IV" && $flag(100) == 1 && $uclass == 8) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Quiet Reflection 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Quiet Reflection III" && $flag(100) == 1 && $uclass == 8) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Quiet Reflection IV" && $flag(100) == 1 && $uclass == 8) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }

    ## Beastlord Tomes
    if($1- =~ "Tell me what you have" && $flag(100) == 1 && $uclass == 15){
        say(For $class I have books of Frenzied Companion, Empathic Warder, and Third Beastlord Tome.);
        dialog(I want Frenzied Companion.);
        dialog(I want Empathic Warder.);
        dialog(I want Third Beastlord Tome.);
    }
    if($1- =~ "I want Frenzied Companion" && $flag(100) == 1 && $uclass == 15){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Frenzied Companion III.);
        dialog(Frenzied Companion IV.);
    }
    if($1- =~ "Frenzied Companion III" && $flag(100) == 1 && $uclass == 15) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Frenzied Companion 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Frenzied Companion IV" && $flag(100) == 1 && $uclass == 15) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Frenzied Companion 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Frenzied Companion III" && $flag(100) == 1 && $uclass == 15) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Frenzied Companion IV" && $flag(100) == 1 && $uclass == 15) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Empathic Warder" && $flag(100) == 1 && $uclass == 15){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Empathic Warder III.);
        dialog(Empathic Warder IV.);
    }
    if($1- =~ "Empathic Warder III" && $flag(100) == 1 && $uclass == 15) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Empathic Warder 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Empathic Warder IV" && $flag(100) == 1 && $uclass == 15) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Empathic Warder 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Empathic Warder III" && $flag(100) == 1 && $uclass == 15) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Empathic Warder IV" && $flag(100) == 1 && $uclass == 15) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Third Beastlord Tome" && $flag(100) == 1 && $uclass == 15){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Third Beastlord Tome III.);
        dialog(Third Beastlord Tome IV.);
    }
    if($1- =~ "Third Beastlord Tome III" && $flag(100) == 1 && $uclass == 15) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Third Beastlord Tome 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Third Beastlord Tome IV" && $flag(100) == 1 && $uclass == 15) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Third Beastlord Tome 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Third Beastlord Tome III" && $flag(100) == 1 && $uclass == 15) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Third Beastlord Tome IV" && $flag(100) == 1 && $uclass == 15) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }

    ## Cleric Tomes
    if($1- =~ "Tell me what you have" && $flag(100) == 1 && $uclass == 2){
        say(For $class I have books of Tool of the Divine, Manual of Condemnation, and Third Cleric Tome.);
        dialog(I want Tool of the Divine.);
        dialog(I want Manual of Condemnation.);
        dialog(I want Third Cleric Tome.);
    }
    if($1- =~ "I want Tool of the Divine" && $flag(100) == 1 && $uclass == 2){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Tool of the Divine III.);
        dialog(Tool of the Divine IV.);
    }
    if($1- =~ "Tool of the Divine III" && $flag(100) == 1 && $uclass == 2) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Tool of the Divine 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Tool of the Divine IV" && $flag(100) == 1 && $uclass == 2) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Tool of the Divine 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Tool of the Divine III" && $flag(100) == 1 && $uclass == 2) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Tool of the Divine IV" && $flag(100) == 1 && $uclass == 2) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Manual of Condemnation" && $flag(100) == 1 && $uclass == 2){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Manual of Condemnation III.);
        dialog(Manual of Condemnation IV.);
    }
    if($1- =~ "Manual of Condemnation III" && $flag(100) == 1 && $uclass == 2) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Manual of Condemnation 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Manual of Condemnation IV" && $flag(100) == 1 && $uclass == 2) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Manual of Condemnation 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Manual of Condemnation III" && $flag(100) == 1 && $uclass == 2) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Manual of Condemnation IV" && $flag(100) == 1 && $uclass == 2) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Third Cleric Tome" && $flag(100) == 1 && $uclass == 2){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Ley Line Mastery III.);
        dialog(Ley Line Mastery IV.);
    }
    if($1- =~ "Third Cleric Tome III" && $flag(100) == 1 && $uclass == 2) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Third Cleric Tome 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Third Cleric Tome IV" && $flag(100) == 1 && $uclass == 2) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Third Cleric Tome 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Third Cleric Tome III" && $flag(100) == 1 && $uclass == 2) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Third Cleric Tome IV" && $flag(100) == 1 && $uclass == 2) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }

    ## Druid Tomes
    if($1- =~ "Tell me what you have" && $flag(100) == 1 && $uclass == 6){
        say(For $class I have books of Euphorbium Mastery, Advanced Apiculture, and Third Druid Tome.);
        dialog(I want Euphorbium Mastery.);
        dialog(I want Advanced Apiculture.);
        dialog(I want Third Druid Tome.);
    }
    if($1- =~ "I want Euphorbium Mastery" && $flag(100) == 1 && $uclass == 6){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Euphorbium Mastery III.);
        dialog(Euphorbium Mastery IV.);
    }
    if($1- =~ "Euphorbium Mastery III" && $flag(100) == 1 && $uclass == 6) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Euphorbium Mastery 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Euphorbium Mastery IV" && $flag(100) == 1 && $uclass == 6) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Euphorbium Mastery 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Euphorbium Mastery III" && $flag(100) == 1 && $uclass == 6) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Euphorbium Mastery IV" && $flag(100) == 1 && $uclass == 6) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Advanced Apiculture" && $flag(100) == 1 && $uclass == 6){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Advanced Apiculture III.);
        dialog(Advanced Apiculture IV.);
    }
    if($1- =~ "Advanced Apiculture III" && $flag(100) == 1 && $uclass == 6) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Advanced Apiculture 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Advanced Apiculture IV" && $flag(100) == 1 && $uclass == 6) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Advanced Apiculture 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Advanced Apiculture III" && $flag(100) == 1 && $uclass == 6) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Advanced Apiculture IV" && $flag(100) == 1 && $uclass == 6) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Third Druid Tome" && $flag(100) == 1 && $uclass == 6){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Third Druid Tome III.);
        dialog(Third Druid Tome IV.);
    }
    if($1- =~ "Third Druid Tome III" && $flag(100) == 1 && $uclass == 6) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Third Druid Tome 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Third Druid Tome IV" && $flag(100) == 1 && $uclass == 6) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Third Druid Tome 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Third Druid Tome III" && $flag(100) == 1 && $uclass == 6) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Third Druid Tome IV" && $flag(100) == 1 && $uclass == 6) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }

    ## Enchanter Tomes
    if($1- =~ "Tell me what you have" && $flag(100) == 1 && $uclass == 14){
        say(For $class I have books of Overpowering Calm, Cascading Bond, and Third Enchanter Tome.);
        dialog(I want Overpowering Calm.);
        dialog(I want Cascading Bond.);
        dialog(I want Ley Line Mastery.);
    }
    if($1- =~ "I want Overpowering Calm" && $flag(100) == 1 && $uclass == 14){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Overpowering Calm III.);
        dialog(Overpowering Calm IV.);
    }
    if($1- =~ "Overpowering Calm III" && $flag(100) == 1 && $uclass == 14) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Overpowering Calm 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Overpowering Calm IV" && $flag(100) == 1 && $uclass == 14) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Overpowering Calm 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Overpowering Calm III" && $flag(100) == 1 && $uclass == 14) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Overpowering Calm IV" && $flag(100) == 1 && $uclass == 14) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Cascading Bond" && $flag(100) == 1 && $uclass == 14){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Cascading Bond III.);
        dialog(Cascading Bond IV.);
    }
    if($1- =~ "Cascading Bond III" && $flag(100) == 1 && $uclass == 14) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Cascading Bond 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Cascading Bond IV" && $flag(100) == 1 && $uclass == 14) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Cascading Bond 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Cascading Bond III" && $flag(100) == 1 && $uclass == 14) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Cascading Bond IV" && $flag(100) == 1 && $uclass == 14) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Third Enchanter Tome" && $flag(100) == 1 && $uclass == 14){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Third Enchanter Tome III.);
        dialog(Third Enchanter Tome IV.);
    }
    if($1- =~ "Third Enchanter Tome III" && $flag(100) == 1 && $uclass == 14) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Third Enchanter Tome 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Third Enchanter Tome IV" && $flag(100) == 1 && $uclass == 14) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Third Enchanter Tome 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Third Enchanter Tome III" && $flag(100) == 1 && $uclass == 14) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Third Enchanter Tome IV" && $flag(100) == 1 && $uclass == 14) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }

    ## Magician Tomes
    if($1- =~ "Tell me what you have" && $flag(100) == 1 && $uclass == 13){
        say(For $class I have books of Elemental Embodiment, Empowered Storm, and Word of Power.);
        dialog(I want Elemental Embodiment.);
        dialog(I want Empowered Storm.);
        dialog(I want Ley Line Mastery.);
    }
    if($1- =~ "I want Elemental Embodiment" && $flag(100) == 1 && $uclass == 13){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Elemental Embodiment III.);
        dialog(Elemental Embodiment IV.);
    }
    if($1- =~ "Elemental Embodiment III" && $flag(100) == 1 && $uclass == 13) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Elemental Embodiment 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Elemental Embodiment IV" && $flag(100) == 1 && $uclass == 13) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Elemental Embodiment 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Elemental Embodiment III" && $flag(100) == 1 && $uclass == 13) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Elemental Embodiment IV" && $flag(100) == 1 && $uclass == 13) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Empowered Storm" && $flag(100) == 1 && $uclass == 13){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Empowered Storm III.);
        dialog(Empowered Storm IV.);
    }
    if($1- =~ "Empowered Storm III" && $flag(100) == 1 && $uclass == 13) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Empowered Storm 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Empowered Storm IV" && $flag(100) == 1 && $uclass == 13) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Empowered Storm 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Empowered Storm III" && $flag(100) == 1 && $uclass == 13) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Empowered Storm IV" && $flag(100) == 1 && $uclass == 13) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Word of Power" && $flag(100) == 1 && $uclass == 13){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Word of Power III.);
        dialog(Word of Power IV.);
    }
    if($1- =~ "Word of Power III" && $flag(100) == 1 && $uclass == 13) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Word of Power 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Word of Power IV" && $flag(100) == 1 && $uclass == 13) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Word of Power 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Word of Power III" && $flag(100) == 1 && $uclass == 13) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Word of Power IV" && $flag(100) == 1 && $uclass == 13) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }

    ## Monk Tomes
    if($1- =~ "Tell me what you have" && $flag(100) == 1 && $uclass == 7){
        say(For $class I have books of Force of Body, Elemental Fists, and Third Monk Tome.);
        dialog(I want Force of Body.);
        dialog(I want Elementary Evocation.);
        dialog(I want Ley Line Mastery.);
    }
    if($1- =~ "I want Force of Body" && $flag(100) == 1 && $uclass == 7){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Force of Body III.);
        dialog(Force of Body IV.);
    }
    if($1- =~ "Force of Body III" && $flag(100) == 1 && $uclass == 7) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Force of Body 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Force of Body IV" && $flag(100) == 1 && $uclass == 7) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Force of Body 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Force of Body III" && $flag(100) == 1 && $uclass == 7) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Force of Body IV" && $flag(100) == 1 && $uclass == 7) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Elemental Fists" && $flag(100) == 1 && $uclass == 7){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Elemental Fists III.);
        dialog(Elemental Fists IV.);
    }
    if($1- =~ "Elemental Fists III" && $flag(100) == 1 && $uclass == 7) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Elemental Fists 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Elemental Fists IV" && $flag(100) == 1 && $uclass == 7) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Elemental Fists 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Elemental Fists III" && $flag(100) == 1 && $uclass == 7) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Elemental Fists IV" && $flag(100) == 1 && $uclass == 7) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Third Monk Tome" && $flag(100) == 1 && $uclass == 7){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Third Monk Tome III.);
        dialog(Third Monk Tome IV.);
    }
    if($1- =~ "Third Monk Tome III" && $flag(100) == 1 && $uclass == 7) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Third Monk Tome 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Third Monk Tome IV" && $flag(100) == 1 && $uclass == 7) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Third Monk Tome 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Third Monk Tome III" && $flag(100) == 1 && $uclass == 7) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Third Monk Tome IV" && $flag(100) == 1 && $uclass == 7) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }

    ## Necromancer Tomes
    if($1- =~ "Tell me what you have" && $flag(100) == 1 && $uclass == 11){
        say(For $class I have books of Insidious Elements, Leeching Servant, and Strands of Life.);
        dialog(I want Insidious Elements.);
        dialog(I want Leeching Servant.);
        dialog(I want Strands of Life.);
    }
    if($1- =~ "I want Insidious Elements" && $flag(100) == 1 && $uclass == 11){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Insidious Elements III.);
        dialog(Insidious Elements IV.);
    }
    if($1- =~ "Insidious Elements III" && $flag(100) == 1 && $uclass == 11) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Insidious Elements 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Insidious Elements IV" && $flag(100) == 1 && $uclass == 11) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Insidious Elements 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Insidious Elements III" && $flag(100) == 1 && $uclass == 11) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Insidious Elements IV" && $flag(100) == 1 && $uclass == 11) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Leeching Servant" && $flag(100) == 1 && $uclass == 11){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Leeching Servant III.);
        dialog(Leeching Servant IV.);
    }
    if($1- =~ "Leeching Servant III" && $flag(100) == 1 && $uclass == 11) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Leeching Servant 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Leeching Servant IV" && $flag(100) == 1 && $uclass == 11) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Leeching Servant 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Leeching Servant III" && $flag(100) == 1 && $uclass == 11) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Leeching Servant IV" && $flag(100) == 1 && $uclass == 11) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Strands of Life" && $flag(100) == 1 && $uclass == 11){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Strands of Life III.);
        dialog(Strands of Life IV.);
    }
    if($1- =~ "Strands of Life III" && $flag(100) == 1 && $uclass == 11) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Strands of Life 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Strands of Life IV" && $flag(100) == 1 && $uclass == 11) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Strands of Life 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Strands of Life III" && $flag(100) == 1 && $uclass == 11) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Strands of Life IV" && $flag(100) == 1 && $uclass == 11) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }

    ## Paladin Tomes
    if($1- =~ "Tell me what you have" && $flag(100) == 1 && $uclass == 3){
        say(For $class I have books of Holy Constitution, Tears of the Crusader, and Divine Radiance.);
        dialog(I want Holy Constitution.);
        dialog(I want Tears of the Crusader.);
        dialog(I want Divine Radiance.);
    }
    if($1- =~ "I want Holy Constitution" && $flag(100) == 1 && $uclass == 3){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Holy Constitution III.);
        dialog(Holy Constitution IV.);
    }
    if($1- =~ "Holy Constitution III" && $flag(100) == 1 && $uclass == 3) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Holy Constitution 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Holy Constitution IV" && $flag(100) == 1 && $uclass == 3) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Holy Constitution 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Holy Constitution III" && $flag(100) == 1 && $uclass == 3) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Holy Constitution IV" && $flag(100) == 1 && $uclass == 3) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Tears of the Crusader" && $flag(100) == 1 && $uclass == 3){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Tears of the Crusader III.);
        dialog(Tears of the Crusader IV.);
    }
    if($1- =~ "Tears of the Crusader III" && $flag(100) == 1 && $uclass == 3) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Tears of the Crusader 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Tears of the Crusader IV" && $flag(100) == 1 && $uclass == 3) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Tears of the Crusader 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Tears of the Crusader III" && $flag(100) == 1 && $uclass == 3) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Tears of the Crusader IV" && $flag(100) == 1 && $uclass == 3) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Divine Radiance" && $flag(100) == 1 && $uclass == 3){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Divine Radiance III.);
        dialog(Divine Radiance IV.);
    }
    if($1- =~ "Divine Radiance III" && $flag(100) == 1 && $uclass == 3) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Divine Radiance 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Divine Radiance IV" && $flag(100) == 1 && $uclass == 3) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Divine Radiance 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Divine Radiance III" && $flag(100) == 1 && $uclass == 3) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Divine Radiance IV" && $flag(100) == 1 && $uclass == 3) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }

    ## Ranger Tomes
    if($1- =~ "Tell me what you have" && $flag(100) == 1 && $uclass == 4){
        say(For $class I have books of Crippling Shot, Splitting Arrow, and Third Ranger Tome.);
        dialog(I want Crippling Shot.);
        dialog(I want Elementary Evocation.);
        dialog(I want Ley Line Mastery.);
    }
    if($1- =~ "I want Crippling Shot" && $flag(100) == 1 && $uclass == 4){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Crippling Shot III.);
        dialog(Crippling Shot IV.);
    }
    if($1- =~ "Crippling Shot III" && $flag(100) == 1 && $uclass == 4) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Crippling Shot 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Crippling Shot IV" && $flag(100) == 1 && $uclass == 4) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Crippling Shot 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Crippling Shot III" && $flag(100) == 1 && $uclass == 4) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Crippling Shot IV" && $flag(100) == 1 && $uclass == 4) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Splitting Arrow" && $flag(100) == 1 && $uclass == 4){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Splitting Arrow III.);
        dialog(Splitting Arrow IV.);
    }
    if($1- =~ "Splitting Arrow III" && $flag(100) == 1 && $uclass == 4) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Splitting Arrow 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Splitting Arrow IV" && $flag(100) == 1 && $uclass == 4) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Splitting Arrow 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Splitting Arrow III" && $flag(100) == 1 && $uclass == 4) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Splitting Arrow IV" && $flag(100) == 1 && $uclass == 4) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Third Ranger Tome" && $flag(100) == 1 && $uclass == 4){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Third Ranger Tome III.);
        dialog(Third Ranger Tome IV.);
    }
    if($1- =~ "Third Ranger Tome III" && $flag(100) == 1 && $uclass == 4) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Third Ranger Tome 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Third Ranger Tome IV" && $flag(100) == 1 && $uclass == 4) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Third Ranger Tome 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Third Ranger Tome III" && $flag(100) == 1 && $uclass == 4) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Third Ranger Tome IV" && $flag(100) == 1 && $uclass == 4) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }

    ## Rogue Tomes
    if($1- =~ "Tell me what you have" && $flag(100) == 1 && $uclass == 9){
        say(For $class I have books of Insidious Stab, Periphery Dodging, and Sinister Revenge.);
        dialog(I want Insidious Stab.);
        dialog(I want Elementary Evocation.);
        dialog(I want Ley Line Mastery.);
    }
    if($1- =~ "I want Insidious Stab" && $flag(100) == 1 && $uclass == 9){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Insidious Stab III.);
        dialog(Insidious Stab IV.);
    }
    if($1- =~ "Insidious Stab III" && $flag(100) == 1 && $uclass == 9) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Insidious Stab 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Insidious Stab IV" && $flag(100) == 1 && $uclass == 9) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Insidious Stab 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Insidious Stab III" && $flag(100) == 1 && $uclass == 9) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Insidious Stab IV" && $flag(100) == 1 && $uclass == 9) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Periphery Dodging" && $flag(100) == 1 && $uclass == 9){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Periphery Dodging III.);
        dialog(Periphery Dodging IV.);
    }
    if($1- =~ "Periphery Dodging III" && $flag(100) == 1 && $uclass == 9) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Periphery Dodging 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Periphery Dodging IV" && $flag(100) == 1 && $uclass == 9) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Periphery Dodging 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Periphery Dodging III" && $flag(100) == 1 && $uclass == 9) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Periphery Dodging IV" && $flag(100) == 1 && $uclass == 9) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Sinister Revenge" && $flag(100) == 1 && $uclass == 9){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Sinister Revenge III.);
        dialog(Sinister Revenge IV.);
    }
    if($1- =~ "Sinister Revenge III" && $flag(100) == 1 && $uclass == 9) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Sinister Revenge 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Sinister Revenge IV" && $flag(100) == 1 && $uclass == 9) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Sinister Revenge 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Sinister Revenge III" && $flag(100) == 1 && $uclass == 9) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Sinister Revenge IV" && $flag(100) == 1 && $uclass == 9) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }

    ## Shadowknight Tomes
    if($1- =~ "Tell me what you have" && $flag(100) == 1 && $uclass == 5){
        say(For $class I have books of Focused Hate, Servant Training, and Third Shadowknight Tome.);
        dialog(I want Focused Hate.);
        dialog(I want Elementary Evocation.);
        dialog(I want Ley Line Mastery.);
    }
    if($1- =~ "I want Focused Hate" && $flag(100) == 1 && $uclass == 5){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Focused Hate III.);
        dialog(Focused Hate IV.);
    }
    if($1- =~ "Focused Hate III" && $flag(100) == 1 && $uclass == 5) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Focused Hate 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Focused Hate IV" && $flag(100) == 1 && $uclass == 5) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Focused Hate 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Focused Hate III" && $flag(100) == 1 && $uclass == 5) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Focused Hate IV" && $flag(100) == 1 && $uclass == 5) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Servant Training" && $flag(100) == 1 && $uclass == 5){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Servant Training III.);
        dialog(Servant Training IV.);
    }
    if($1- =~ "Servant Training III" && $flag(100) == 1 && $uclass == 5) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Servant Training 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Servant Training IV" && $flag(100) == 1 && $uclass == 5) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Servant Training 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Servant Training III" && $flag(100) == 1 && $uclass == 5) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Servant Training IV" && $flag(100) == 1 && $uclass == 5) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Third Shadowknight Tome" && $flag(100) == 1 && $uclass == 5){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Third Shadowknight Tome III.);
        dialog(Third Shadowknight Tome IV.);
    }
    if($1- =~ "Third Shadowknight Tome III" && $flag(100) == 1 && $uclass == 5) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Third Shadowknight Tome 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Third Shadowknight Tome IV" && $flag(100) == 1 && $uclass == 5) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Third Shadowknight Tome 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Third Shadowknight Tome III" && $flag(100) == 1 && $uclass == 5) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Third Shadowknight Tome IV" && $flag(100) == 1 && $uclass == 5) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }

    ## Shaman
    if($1- =~ "Tell me what you have" && $flag(100) == 1 && $uclass == 10){
        say(For $class I have books of Tastes Like Chicken, Blood Feast, and Blood Ritual.);
        dialog(I want Tastes Like Chicken.);
        dialog(I want Elementary Evocation.);
        dialog(I want Ley Line Mastery.);
    }
    if($1- =~ "I want Tastes Like Chicken" && $flag(100) == 1 && $uclass == 10){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Tastes Like Chicken III.);
        dialog(Tastes Like Chicken IV.);
    }
    if($1- =~ "Tastes Like Chicken III" && $flag(100) == 1 && $uclass == 10) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Tastes Like Chicken 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Tastes Like Chicken IV" && $flag(100) == 1 && $uclass == 10) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Tastes Like Chicken 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Tastes Like Chicken III" && $flag(100) == 1 && $uclass == 10) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Tastes Like Chicken IV" && $flag(100) == 1 && $uclass == 10) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Blood Feast" && $flag(100) == 1 && $uclass == 10){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Blood Feast III.);
        dialog(Blood Feast IV.);
    }
    if($1- =~ "Blood Feast III" && $flag(100) == 1 && $uclass == 10) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Blood Feast 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Blood Feast IV" && $flag(100) == 1 && $uclass == 10) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Blood Feast 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Blood Feast III" && $flag(100) == 1 && $uclass == 10) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Blood Feast IV" && $flag(100) == 1 && $uclass == 10) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Blood Ritual" && $flag(100) == 1 && $uclass == 10){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Blood Ritual III.);
        dialog(Blood Ritual IV.);
    }
    if($1- =~ "Blood Ritual III" && $flag(100) == 1 && $uclass == 10) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Blood Ritual 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Blood Ritual IV" && $flag(100) == 1 && $uclass == 10) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Blood Ritual 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Blood Ritual III" && $flag(100) == 1 && $uclass == 10) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Blood Ritual IV" && $flag(100) == 1 && $uclass == 10) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }

    ## Warrior
    if($1- =~ "Tell me what you have" && $flag(100) == 1 && $uclass == 1){
        say(For $class I have books of Berserk, Crippler, and Third Warrior Tome.);
        dialog(I want Berserk.);
        dialog(I want Crippler.);
        dialog(I want Ley Line Mastery.);
    }
    if($1- =~ "I want Berserk" && $flag(100) == 1 && $uclass == 1){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Berserk III.);
        dialog(Berserk IV.);
    }
    if($1- =~ "Berserk III" && $flag(100) == 1 && $uclass == 1) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Berserk 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Berserk IV" && $flag(100) == 1 && $uclass == 1) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Berserk 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Berserk III" && $flag(100) == 1 && $uclass == 1) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Berserk IV" && $flag(100) == 1 && $uclass == 1) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Crippler" && $flag(100) == 1 && $uclass == 1){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Crippler III.);
        dialog(Crippler IV.);
    }
    if($1- =~ "Crippler III" && $flag(100) == 1 && $uclass == 1) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Crippler 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Crippler IV" && $flag(100) == 1 && $uclass == 1) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Crippler 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Crippler III" && $flag(100) == 1 && $uclass == 1) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Crippler IV" && $flag(100) == 1 && $uclass == 1) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Third Warrior Tome" && $flag(100) == 1 && $uclass == 1){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Third Warrior Tome III.);
        dialog(Third Warrior Tome IV.);
    }
    if($1- =~ "Third Warrior Tome III" && $flag(100) == 1 && $uclass == 1) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Third Warrior Tome 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Third Warrior Tome IV" && $flag(100) == 1 && $uclass == 1) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Third Warrior Tome 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Third Warrior Tome III" && $flag(100) == 1 && $uclass == 1) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Third Warrior Tome IV" && $flag(100) == 1 && $uclass == 1) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }

    ## Wizard Tomes
    if($1- =~ "Tell me what you have" && $flag(100) == 1 && $uclass == 12){
        say(For $class I have books of Forbidden Harvest, Elementary Evocation, and Ley Line Mastery.);
        dialog(I want Forbidden Harvest.);
        dialog(I want Elementary Evocation.);
        dialog(I want Ley Line Mastery.);
    }
    if($1- =~ "I want Forbidden Harvest" && $flag(100) == 1 && $uclass == 12){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Forbidden Harvest III.);
        dialog(Forbidden Harvest IV.);
    }
    if($1- =~ "Forbidden Harvest III" && $flag(100) == 1 && $uclass == 12) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Forbidden Harvest 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Forbidden Harvest IV" && $flag(100) == 1 && $uclass == 12) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Forbidden Harvest 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Forbidden Harvest III" && $flag(100) == 1 && $uclass == 12) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Forbidden Harvest IV" && $flag(100) == 1 && $uclass == 12) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Elementary Evocation" && $flag(100) == 1 && $uclass == 12){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Elementary Evocation III.);
        dialog(Elementary Evocation IV.);
    }
    if($1- =~ "Elementary Evocation III" && $flag(100) == 1 && $uclass == 12) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Elementary Evocation 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Elementary Evocation IV" && $flag(100) == 1 && $uclass == 12) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Elementary Evocation 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Elementary Evocation III" && $flag(100) == 1 && $uclass == 12) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Elementary Evocation IV" && $flag(100) == 1 && $uclass == 12) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "I want Ley Line Mastery" && $flag(100) == 1 && $uclass == 12){
        say(I has volumes three and four. Which do yous wants?);
        dialog(Ley Line Mastery III.);
        dialog(Ley Line Mastery IV.);
    }
    if($1- =~ "Ley Line Mastery III" && $flag(100) == 1 && $uclass == 12) && $flag(101) > 1{
        say(Here yous goes?);
        summonitem(Ley Line Mastery 3,1);
        decreaseflag(101,2);
    }
    if($1- =~ "Ley Line Mastery IV" && $flag(100) == 1 && $uclass == 12) && $flag(101) > 3{
        say(Here yous goes?);
        summonitem(Ley Line Mastery 4,1);
        decreaseflag(101,4);
    }
    if($1- =~ "Ley Line Mastery III" && $flag(100) == 1 && $uclass == 12) && $flag(101) < 1{
        say(You don't have 'nough dull coins.);
    }
    if($1- =~ "Ley Line Mastery IV" && $flag(100) == 1 && $uclass == 12) && $flag(101) < 3{
        say(You don't have 'nough dull coins.);
    }
 
So people don't have to go looking, here is the most recent reply I can find from a dev on this specific topic... (@Marza) in March of this year.

Since a lot of questions are around content that I had made in the past (honestly it has been awhile at this point) I feel like I should at least try to shed some light in to what I was thinking at the time.

Trade in was a neat idea and it was kind of ambitious of me at the time to claim that I was going to have some turn in system created. Honestly I am not even sure if the rest of the dev team knew or was on board with the idea from the get go. I just felt like it was a reasonable solution to the fact that tomes are an important thing and having them rot with no way to make use of them seemed like an awful waste, because as I am sure people who raid this tier know, there are far too many tomes to effectively farm a specific one.

The problem was I honestly did not want to devote the time in creating a script that handled the turn in with points and etc. The script its self would not be hard to make by any means, just long and tedious. It looks like someone spent some time creating a pseudo script of sorts to help out if ever a thing was wanted by the dev team (again not sure on this), but even from what I saw it would still take some effort on one of the devs to make it functional. Honestly it would be easier to have some kind of indicator on the actual item itself that recognized it as a tome (that flexed by tome type ikkisith, emberflow, etc), but off the top of my head that would probably require a source change. It would be much more flexible and would definitely clean up such a script.

Anyway, the bottom line on the tome change is that it was a thing I did on my own and there is a chance the rest of the dev team was not a fan.
 
Unfortunately, the official stance, as far as I know/understand, is that there never will be a "certain" way to obtain these books. One player even went so far as to attempt to do all the leg work in writing a script for a class tome trade-in system, it seems this is just something we will have to learn to accept.

Maybe I just have a crazy concept of what a game should be, but why do we have to "learn to accept" something that is fixable? Forget games, why is that mentality present in anything ever? Just fix it. From the looks of it the only thing holding up this fix is some old fartery "back in my day we farmed for opus for 4 years and we liked it that way!". Why?
 
Maybe I just have a crazy concept of what a game should be, but why do we have to "learn to accept" something that is fixable? Forget games, why is that mentality present in anything ever? Just fix it. From the looks of it the only thing holding up this fix is some old fartery "back in my day we farmed for opus for 4 years and we liked it that way!". Why?

The problem with that statement is that the people that have farmed it for 4+ years are the ones advocating the change in the system.
 
Maybe I just have a crazy concept of what a game should be, but why do we have to "learn to accept" something that is fixable? Forget games, why is that mentality present in anything ever? Just fix it. From the looks of it the only thing holding up this fix is some old fartery "back in my day we farmed for opus for 4 years and we liked it that way!". Why?

From what I understand, tomes are considered extras/bonuses, and opuses are supposed to be rare, and something you are never guaranteed...

IMO the amount of power they provide, their linear nature (can't get opus 2 without completing opus 1), and their irreplaceable nature (if you skip an item, you will find a better item, if you skip a tome, you are just forever that much weaker than others who did it) makes that theory pretty silly, but as far as I understand it, that is the reasoning behind wanting opuses to always be random.

If its any consolation, I am hoping to use a system that will have much less RNG than the old systems in a raid zone I'm working on, but it will still have a RNG factor, and that won't be available until Iksith Phase 2 releases, whenever that is...
 
Back
Top Bottom