How to: Make Spellbooks

Discussion in 'Tutorial Repository' started by Andrewgosu, Jul 14, 2006.

  1. Andrewgosu

    Andrewgosu The Silent Pandaren Helper Staff Member

    Ratings:
    +711 / 0 / -0
    SPELLBOOK TUTORIAL


    The purpose of this tutorial is to introduce spellbooks and teach how to create and manipulate them.

    REQUIREMENTS:
    - An authentic copy of Warcraft 3: The Frozen Throne

    TABLE OF CONTENTS
    Chapter one – What's a spellbook&how to create one
    Frequently Asked Questions
    - How to add spells to a spellbook with triggers
    - How to order a unit to open a spellbook
    - How to cast spells inside a spellbook with triggers
    - How to add passive spells to a unit without an icon showing up
    - Why do the spells „jump around“ in my spellbook after casting/learning them
    - Why do my spells disappear from the spellbook after transformation/metamorphism etc
    - How can I detect if the spellbook is open or closed?

    CHAPTER ONE – WHAT'S A SPELLBOOK&HOW TO CREATE ONE​


    A spellbook is quite simply what it states, a book containing magic spells, which allows a hero to bypass the limit of 5 hero spell.

    There have been a lot of myths about creating a spellbook, for example, one has to know JASS in order to create a spellbook. That's not true.

    Spellbook is actually an ability, accessible from Object Editor without the help of any triggering. Now, lets create our own spellbook.

    Open Object Editor (F6) and go to the „Abilities“ tab. Next, search for the abilities folder „Special“ and open the „Items“ sub-folder. Scroll almost to the very bottom until you see the ability „Spell Book“. Select the ability and copy&paste it.

    [​IMG]

    The first thing you want to do, is to make the spellbook a unit ability (or a hero ability). Change the field „Item Ability – true“ to false. This allows you do add tooltips for your spellbook.

    Next, you have to change the „Data – Base Order ID“ field to something different than „spellbook“. By changing this option, you remove the possibility of colliding two or more spellbooks with the same ID (when they collide, things will get buggy and they will inherit each others spells). It's wise to choose those abilities from the list, which are rarely or not at all used in your map.

    After that, you need to modify the „Data – Shared Spell Cooldown“ field and change it to false. This allows you to open the spellbook and cast other spells, when some spells are in their cooldown state.

    Proceed by locating the „Data – Spell List“ field. This is here where the magic happens. Choose your spells and add them all there.

    NOTE #1: You can add a maximum of 11 spells, which show up in the spellbook, nevertheless the UI has 12 slots. One slot is reserved by the game for the „Cancel“ ability which allows you to exit the spellbook.​

    Lastly, if you've added all the needed spells, count them and change the „Data – Maximum Spells“ field to that number. This ensures all the added spells actually show up when you open the spellbook. You can change the „Data – Minimum Spells“ to 1.

    NOTE #2: The value entered to the minimum field cannot be greater than the one entered to the maximum field. The number of spells shown in the spellbook will be still equal to the value entered to the maximum field.​

    Now, you've set up your very own spellbook! You might want to do some finishing touches, like changing the icon, adding tooltips or even make the spellbook level-able.


    FREQUENTLY ASKED QUESTIONS​


    HOW TO ADD SPELLS TO A SPELLBOOK WITH TRIGGERS

    You need two spellbooks and the actual spell for that.

    Firstly, create the spellbooks and name one of them „dummy“ and the other one the way you want it to display on the unit. Make sure the „Data – Base Order ID“ field is the same for both of them. Next, add the spell you want to give to the unit to the „dummy“ spellbook and add the real spellbook the unit.

    [​IMG]

    After that, go the the Trigger Editor and make a trigger where you disable the „dummy“ spellbook.

    [​IMG]

    This ensures the „dummy“ spellbook icon will not show up on the hero when you add the spell.

    Now, you've done the setup process and the only thing left to do is to learn how to add the spell to the right spellbook.

    The trick lies in the bug I wrote about earlier – spellbooks with the same ID will collide and inherit spells. Meaning, if you add the disabled „dummy“ spellbook to the unit with the real spellbook, the real spellbook will inherit the spell(s) inside the „dummy“ book. The same goes for removing: if you remove the „dummy“ spellbook ability, the real spellbook will lose all the inherited abilities.

    TIP #1: Check out this thread to see a system which makes this process easier and enables spell levelling inside a spellbook.

    http://www.thehelper.net/forums/showthread.php?t=110468


    HOW TO ORDER A UNIT TO OPEN A SPELLBOOK

    There is no way to do that.​


    HOW TO CAST SPELLS INSIDE A SPELLBOOK WITH TRIGGERS

    There is no way to do that because there is no way to open the spellbook with triggers.​


    HOW TO ADD PASSIVE SPELLS TO A UNIT WITHOUT AN ICON SHOWING UP

    The progress is simple:

    Create a spellbook, add all the needed passive abilities to the spellbook and disable the book to remove the icon.

    You can add/remove the spellbook as you like to add/remove the effects gained by the spells inside the book.​


    WHY DO THE SPELLS „JUMP AROUND“ IN MY SPELLBOOK AFTER CASTING/LEARNING THEM

    The spells ignore tooltip position inside a spellbook.

    The only way to fix this issue is to use add spells with triggers into a spellbook in an ordered fashion.

    WHY DO MY SPELLS DISAPPEAR FROM THE SPELLBOOK AFTER TRANSFORMATION/METAMORPHISM ETC.

    This is because the abilities inside the spellbook are not permanent; they are gained via a spellbook.

    To fix this issue, you must make the ability permanent. The only way is to use a piece of custom script because the action is not accessible via GUI:

    „call UnitMakeAbilityPermanent(whichUnit, true, abilCode)“

    Replace whichUnit with the unit who has the ability and abilCode with the raw code of the ability.​


    HOW CAN I DETECT IF THE SPELLBOOK IS OPEN OR CLOSED?

    There is no way to detect that.​



    This concludes this little tutorial about spellbooks.

    Hope you liked and learned something out of it.

    As always, feedback is appreciated!

    Happy mapping,

    Your favourite Pandaren!


    Andrewgosu

     
    • Like Like x 35
  2. stavious

    stavious New Member

    Ratings:
    +25 / 0 / -0
    Good tuotrial :) . I always wondered what spell books were... :rolleyes: and now I know for sure.
     
  3. Andrewgosu

    Andrewgosu The Silent Pandaren Helper Staff Member

    Ratings:
    +711 / 0 / -0
    This is a fairly simple tutorial for people who always ask how to do them. :)
     
    • Like Like x 1
  4. stavious

    stavious New Member

    Ratings:
    +25 / 0 / -0
    Yeah, simple, but it sure helps a lot :D .
     
    • Agree Agree x 1
  5. unstable

    unstable Guest

    Ratings:
    +0 / 0 / -0
    How do you add levels to the abilities inside the spell book respectively?
    I created a new spellbook and put devotion and command aura inside (both edited having 5 levels each), then I made the spell book have 5 levels.

    I want it so when the hero learns the spell book, the level of that will correspond with the abilities inside. EG level 2 spell book means having a level 2 command aura and level 2 devotion aura inside.
     
  6. Mullit

    Mullit New Member

    Ratings:
    +51 / 0 / -0
    good tut, thanks for posting, i need to use spellbooks for my RPG.
     
  7. Rikkator

    Rikkator Guest

    Ratings:
    +0 / 0 / -0

    Plenty of ways :p
    first of all you could level all the spells together simply by making 1 spell of each level and changing the spell list of the spellbook every level
    (Thus a level 2 spell book would have a level 2 aura of doom and destruction for example :p)

    OR you could make it trigger based, making the spellbook a unit ability and making it so that each level the hero gets he gets a text box with buttons allowing him to choose which ability he pleases to increase and then simply adding +1 to that ability (I reckon it should work, but I never tried to do it within a spellbook)
     
  8. Kenito

    Kenito I Helps Most Goodly

    Ratings:
    +42 / 0 / -0
    Great tutorial, though many maps use several spellbooks per hero. You'd best mention how the base order IDs would screw up, and you should thusly, if you have more than one spellbook, change the others so that their ID is some sort of non-targetable spell. I use channel...other examples would be thunder clap, slam, berserk, roar.
     
  9. Prometheus

    Prometheus Everything is mutable; nothing is sacred Staff Member

    Ratings:
    +592 / 0 / -0
    I would +rep ya but if you get 2nd or 3rd place in the contest......
     
    • Like Like x 1
  10. Outbreak191

    Outbreak191 New Member

    Ratings:
    +17 / 0 / -0
    Thats levelling part is hugely unnecisary. If you use a trigger and level up an ability that a unit has in a spellbook for the unit with the spellbook, the ability will level up inside the spellbook.
     
  11. Andrewgosu

    Andrewgosu The Silent Pandaren Helper Staff Member

    Ratings:
    +711 / 0 / -0
    That way, you can make several abilites level up without triggers. Anyway, ill post the other option soon, too.:p Thanks for input.
     
    • Like Like x 1
  12. fratleyslaye

    fratleyslaye Guest

    Ratings:
    +0 / 0 / -0
    kc102, spread the joy around a bit more then =D
     
  13. Prometheus

    Prometheus Everything is mutable; nothing is sacred Staff Member

    Ratings:
    +592 / 0 / -0
    thats called circle jerking I think, if you make a tut and its useful i would +rep ya or you could enter my hero contest.
     
    • Like Like x 1
  14. Unregister

    Unregister Guest

    Ratings:
    +0 / 0 / -0
    Is it possible to make a spellbook unopenable? (I still want the icon there..)
     
  15. Unregister

    Unregister Guest

    Ratings:
    +0 / 0 / -0
    best i can do is make a null-bash skill and then upon acquiring that, add spellbook and then disable spellbook.

    I'm making it contain passive skills only - and really don't wanna use the disable spellbook thingy while still having the icon but not clickable.
     
  16. Pwnages

    Pwnages Guest

    Ratings:
    +0 / 0 / -0
    Andrewgosu, you are the best at tutorials, i think you are doin good with them. Nice tutorial by the way.




    For you, Pwnages
     
  17. Drakethos

    Drakethos Preordered Sc2 ftw!

    Ratings:
    +56 / 0 / -0
    TO unregerster

    well you can disable the spell book, then make a dummy passive ability that does absalutly nothing except have an icon and a tooltip to look at. if you know what i meen. so basicly the spell book will be invisable, but the fake useless one wont, and it will tell you(if you want) all the spells with in it if you put your cruser over it THat easy. :) hope it works
     
  18. Unregistered

    Unregistered Guest

    Ratings:
    +0 / 0 / -0
    read 2 replies up lol....still trying to disable the opening of the spellbook, i tried putting the mana cost of opening it to some insane number lol.
     
  19. Andrewgosu

    Andrewgosu The Silent Pandaren Helper Staff Member

    Ratings:
    +711 / 0 / -0
    But why dont you want to open the spellbook? Anyway, if you dont want to, teh dummy icon is the best solution.
     
  20. Badozz

    Badozz New Member

    Ratings:
    +2 / 0 / -0
    there is a trigger which adds a simple unit ability, but how can you make that trigger to add the ability into your spellbook? :confused:
     

Share This Page