• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

[Help]Oblivion like leveling and multiple spell trees

Status
Not open for further replies.
Level 3
Joined
Mar 12, 2008
Messages
35
I'm working on a mod/total conversion called Pyregrass. I want it to feature somewhat Oblivion like leveling system, where each character is the same at start, but develops apropriety as you play him. For example if you use the fireball spell, you will get XP in the Fire Magic skill.

This is a part of my bachelor degree thesis so i'm putting a lot of work into it together with a friend. For a more detailed description of the game design i'm linking you to the project forum thread, were we decide on the design, and a link to the Pyregrass official website, where we play a play-by-post rpg to develop the setting of the game.

One of the obstacles here is having characters with many many many abilites. We will have 6 ability trees, Fire Water Earth Air Health and Martial/Melee, and each of them is supposed to have at least 3 spells. To cast a spell, you will need to press a key kombination, much like in old fighting games such as Mortal Kombat. I'm also using a 'custom targeting system', with creating which i got help in this thread.

How i though of solving this:

Basicaly i had two ideas. Both use the concept of having all those spells and ability trees bound to the WSAD key area. After you are select your target, your hero is reselected automaticaly, and the target unit saved in a variable. Now you can press the key combination, activating 'empty' skills that likn you to new skill set, and the final one acctualy throws the spell

One way of doing it, the first one i came up with, is with helper object. After activating the first ability, which does nothing, a helper object is selected, containg abilities or links to further objects. There would be at least one helper object for each tree, probably more as i might want to make the player press up to 4 buttons to activate something. Then when the 'final' button is pressed, the appropriate spell is cast by the hero at his target. Is this possible? I've been told i'm supposed to use dummy objects.

Another way of doing it,
is with spellbooks. I'm looking at the tutorial by Diablo-DK, and it seems like it would be much better done this way, without the use of any external objects.

But i'm very new to modding w3, and i'm sure i don't know about all the things there. Please share some thoughts, i could really use the help :)
 
Level 7
Joined
Feb 25, 2007
Messages
286
Your idea is good. For the WASD key system it takes trackables (jass and I have no clue on how to do it) You could make it so that a dummy unit follows the hero Each a hero with 0 attack no abilitys. When ever you cast an ability equaled to something that hero gains experience. After the hero is like level 5 you can make it so that the heros ability gains a level or how ever you want it to work. The "you have to do a combination of different keys" part would be very diffucult and for that you would need a jasser.
 
Level 3
Joined
Mar 12, 2008
Messages
35
hmm what i don't get is why do i have to use dummy units. Can't i just make the unit cast the spells?
 
Level 8
Joined
Jul 23, 2005
Messages
329
Y'know, I created a *cough* flawless key-combo system in my RPG system for my submission against Donut. I can cut down the code and post it, if you like.

No dummy units involved, just dummy abilities.

EDIT: Or yeah, you could use diablo.dk's system. That might actually be better, because I think I used vJASS to create mine.
 
Level 3
Joined
Mar 12, 2008
Messages
35
Y'know, I created a *cough* flawless key-combo system in my RPG system for my submission against Donut. I can cut down the code and post it, if you like.

No dummy units involved, just dummy abilities.

I would very much like that, acctualy :) I need some examples to look at. Do you have any maps that acctualy use that system? I would be very interested in checking them out.
 
Level 3
Joined
Mar 12, 2008
Messages
35
I tried out having a spellbook within a spellbook, and unfortunatley it dosn't work, which is a shame. The mod compiles, but you result in having a spelbook with all the abilities contained in a spellbook.

I came up with another solution to the button combinations which just migh work.

If i could make an ability trigger the removal of all the abilities from a unit, and then grant them new ones with new specific short keys, it would enable me to do the key combinations i want... for example i have 6 buttons, reperesenting the spell trees, to start with. Fire Water Earth Air Health and Martial/Melee. I click Fire, taking away all of those abilities and granting fire spells , each with their own hotkey. Perhaps a spellbook should be used here in case i want to have really many spells. After i pick the spell i want to cast, the same thing happens again, all the spells are taken away and new ones are granted. One could do this over and over again untill one is satysfied with the amount of buttons pressed.

I'm going to try this out and tell you how it went.
 
Level 8
Joined
Jul 23, 2005
Messages
329
Spellbooks within spellbooks should definitely work. Are you sure you edited the [Data - Spell List] to include the necessary spells?
 
Level 3
Joined
Mar 12, 2008
Messages
35
I think i did everything right. I create two spellbooks, Fire Tree and Fire Balls ;), and one ability, Fireball. I give my hero the spellbook Fire Tree. Inside the Fire Tree spellbook, in it's spell list, i place the Fire Balls spellbook. Insside the Fire Balls i placve the Fireball ability. And that's all i change.

When in game, the effect this has is: The Hero has a spellbook Fire Tree, and inside this spellbook is an icon Fire Balls which does nothing, and the Ability Fireball which works as supposed to.

So i assumed it donsn't work, but from what you're saying it's supposed to?

I'm attaching a link so that you can download the map i worked on and see for yourself.
 
Level 3
Joined
Mar 12, 2008
Messages
35
No, but i was reminded :)

Now it works pretty much as i want it to. Going to sit down and try tu build a playable version asap.
 
Level 3
Joined
Mar 12, 2008
Messages
35
Update!

Ok so this is where i am right now. I have 6 spell books, one for each ability tree. In each spellbook, there is one triggering ability. I also added 3 more players, so the map can already be played by up to 4, altho it has no gameplay as of yet.

I got stuck when trying to do triggers for an ability. What i figured i'd do was to have a hidden spellbook (disabled) with all the abilities i wanted, or dummy units. But unfortunatley i can't find the trigger ordering a unit to cast a specific custom ability. Is there a way to do this?

Another solutions for this is to make totaly trigger based abilities, which seems really hard. I looked at some examples, like this one, and most of them seem to be done in jass. I don't know JASS, so i was wondering if it's possible using GUI?

I would be very greateful if someone could point me to tutorials/posts about making abilities with visual representations, such as a fireball or anything.
 
Level 21
Joined
Aug 3, 2004
Messages
710
Usually, depending on what you need, you could just modify an existing ability to your needs. For a fireball that doesn't stun, you could use Acid Bomb with a new art.

If you want to trigger an ability from scratch, take something like Channel, modify it to what type of ability you need, and make a trigger with the event, "Unit - A unit Starts the effect of an ability" and in the conditions you compare using "(Ability being cast) Equal to Channel".
 
Level 3
Joined
Mar 12, 2008
Messages
35
Thanks, MindWorX, but i know that already... my problem is with triggering a unit to cast a modified ability which he has in a spell book, i don't know how to do it.

For my tribbering abilities i usualy use either Channel or Berserk.
 
Level 3
Joined
Mar 12, 2008
Messages
35
Yeah the targetting system works pretty much as i want it to right now. I'm expecting some bugs to pop up later on in development, becasue they allways do ;) But i'm pretty satysfied now. There's a post on this forum about how it's done with code examples: http://www.hiveworkshop.com/forums/showthread.php?t=63521

Ok so since it seems i can't order units to use spells from spellbooks... I think i will have to go back to the dummy unit idea... How do i create a dummy unit and order it to cast a specific abilities? There should be some threads about this...
 
Level 29
Joined
Jul 29, 2007
Messages
5,174
There are.
I also made a bit of explenation-tutorial, just a small thingy lol.
Luckily I also put it in notepad, tell me if this helps you.

Ordering units to cast abilities

Ok, probably everyone heard about problems, or had problems, with ordering units to cast their own custom abilities.

Reading the next paragraphs will gain you the knowledge of
  • Order IDs
  • The ' Channel ' ability

Now lets start.

First we will create a ability. Lets say we will base it off the Roar ability.
Now you will notice the lines saying
Code:
Text - Order String - Activate
Text - Order String - Deactivate
Text - Order String - Turn Off
Text - Order String - Use/Turn On

This are (most spells will use the 'Use/Turn On' box) the abilities Order IDs.
A Order ID is a string (text) that tells the game to do something.

If you will look at our custom Roar ability, its Order ID is "roar".

Ok we have our custom ability, now we will go to the trigger editor and create a trigger similiar to this:
  • Untitled Trigger 001
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Footman
    • Actions
      • Unit - Order (Triggering unit) to Night Elf Druid Of The Claw - Roar

Every time a Footman is attacked he will cast Roar (if he can).
Now this won't have any problem with.
But, what will we do if the custom spell we made isn't written in one of the orders given to us in the trigger ???
If for example we made a custom c00l pwnzor ability that is based on something not on the list what will we do ?

So, what we will do is change the custom ability's Order ID to any ID that IS in the list and then just use it.
For example, if the spell targets a unit, change the Order ID to 'firebolt' and then order your unit to cast 'firebolt'.

WARNING! If a unit has more then 1 abilities based on the same Order ID they will bug each other ! NEVER stack abilities with the same IDs !


Now in theory all this is right. But in truth it isn't.
You can say "then why the hell did we need to read all this", but its better if you understand all I said untill now.
People checked this tons of times and proved it doesn't work a lot of times with the normal WC3 abilities.
However ! with the Channel ability it does work !

The Channel ability is a ability that does absoluthly nothing. It was meant to help us map creators to make triggerd spells.
Since there is already a tutorial on it, I won't be repeating it and ill just give you this link to it.

If you want to know what abilities work with it and which don't, just try them.
Hope this helped.
 
Level 3
Joined
Mar 12, 2008
Messages
35
Thanks! That actually helps me a lot and is exactly what i needed to know. Now i have created a dummy unit with the help of a tutorial on the helper, and Need_O2, and also set up the abilities so that it should work....

Very unfortunatley, my mapped crashed. For some reason when i try to run it, War3 just closes. I get a little bit more than half way in loading, and then the bar acctualy takes a step back and closes.

I Removed EVERYTHING i made in the map but it unfortunatley didn't help. On the bright side it should not take me so long to remake the thing from start with testing it at every step to figure out what went wrong.

I'm also in desperate need to reformat my laptop as it's become turtle slow... It'll take me the rest of the day but hopefully tommorow i will be finaly done with my first playable version :)

Thanks again, GhostWolf
 
Level 3
Joined
Mar 12, 2008
Messages
35
Ok, so now i have everything restored... i think the problem was caused by placing units on top o a starting location, could that cause game client crashes?

I've decided to leave the spellbooks behind an will be using helper units instead, so that the key combinations will be possible. It's pretty obvious i won't make my playable build today as i only have 3 more left, but i'll try to up it before the end of the week... should be interesting :) Leveling or the combo system will come next i guess
 
Level 36
Joined
Jul 1, 2007
Messages
6,677
Hmm, if you do eventually get this, I could help maybe although I am not too great with jass (I say use a struct for a hero, with each prim. attribute, and when the total primaries gets to a certain number, set the levelup boolean to true and when they sleep or w/e force a levelup). Anyways, could myself and the TES:WC3 team use it? I would give you +rep.
 
Level 3
Joined
Mar 12, 2008
Messages
35
Void, sure i'm very 'open source' about my project.
Cake, that's pretty much how i'd figued i'll do it ^^ I'm very close to having the mechanics in place, it's just taking a while because i've fallen ill.
 
Level 3
Joined
Mar 12, 2008
Messages
35
Ok i'm finaly back to working with this project, i've to the hospital and what know... don't get chicken pox in my age, kids :p It's very annoying. I'll post a version of the game soon.
 
Level 3
Joined
Mar 12, 2008
Messages
35
First build :)

Ok so my first build is up :) If you follow the link you can download it and read more about what is implemented and what dosn't work yet.

Pyregrass forum - download build 0.01

It's a long ways to go yet but it's going to go much quicker now that i have most of it figured out ^^ hope to post a more interesting version soon.
 
Level 3
Joined
Mar 12, 2008
Messages
35
Pyregrass 0.02

Pyregrass 0.02 released :) Get it here
http://www.aatk-design.com/download.php?id=37

Changes from the latest version, as far as i remember:

- Added a leveling system! It's has terrible player notification, but after you throw 5 fireballs you should get notfied of your fire skill leveling up and notice that your fireball is a little bit more powerfull :) currently the ability has 10 levels, it will take quite a few dune worms to get there tho ;)

- Changed some stuff about the dummy caster and the power of his fire ability.

- Added an indicator for which unit is selected right now

Unfortunatley only the red player is playable, still. Tommorow (16 april) i will try to add at least one ability to every tree, and make them levlable and what not as well... Directly after that it's adding the multiplayer functionality :) So with a little luck we will upload a playable version on thursday evening ^^
 
Status
Not open for further replies.
Top