• 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.

units walking on very steep hills

Status
Not open for further replies.
Level 5
Joined
Jul 12, 2013
Messages
128
Hi, i'm new here. I've read some terraining tutorials out here and i haven't found any solution for my problem. The problem is when i create very steep hill(nearly 90 degrees) with raise tool and spawn some units, they can travel cross the hill and it looks unreal and ugly. Is there any way i could set that units couldn't walk on that steep hills ? Or I allways have to create that ugly blizzard cliffs. I would add screenshots if you didn't understand me but i don't know how to post them.

And i have one more question. How can i create 2 spells(i want to have Holy Light and Flash of Light) from one base spell(Holy Light) and put them in the same spellbook without creating another spellbooks for each spell because it sucks to click on spellbook and then another spellbook and then click on the spell.

Sorry for my english...
 
Level 5
Joined
Jul 12, 2013
Messages
128
What are path blockers ? Could you explain it to me how to create 2 spells from 1 or maybe the map and description will be the best.
 
What are path blockers ? Could you explain it to me how to create 2 spells from 1 or maybe the map and description will be the best.

You have the unit window in the right side of the screen right?
Click the drop-down window and chose pathing blockers. There are several kinds. Their names should be self explanatory.

Mya. Well, you should not base a spell on the same default spell. In this case Holy Light. The reason is that those two spells will use the same order string.
You can base ONE of the spells on Holy Light but the other you need to trigger.
You need:
A dummy unit
A dummy spell
And a trigger to do the actual healing

Since you are new you probably have no idea to what I am talking about. I suggest you take a look at this tutorial:
http://www.thehelper.net/threads/what-are-dummy-units-and-how-they-work.43940/
(I am sure Hive has equivalents).
 
Level 5
Joined
Jul 12, 2013
Messages
128
Thanks for help, Your reply appeard after i written the question about pathblockers :) I wasn't sure if it is a doodad.

EDIT: Ok so I created the dummy and what is the triggering for the Flash of Light ?
And is there a way to not only move the learned skills to spellbook but give them a special order ? For example the healing skills will be on the up row the buffs will be in the middle etc.
 
Last edited:
Level 8
Joined
Jul 8, 2013
Messages
249
Ok so I created the dummy and what is the triggering for the Flash of Light ?

Could you explain what you mean by this question exactly? If I understand you correctly, you're asking how to make a triggered spell work. In order to tell you that fully, we need to know what you want the triggered spell to do.

Since you initially wanted the Flash of Light spell to be based on Holy Light, I'm going to assume that you want it to have the effects of Holy Light but only targeting enemies for damage rather than also being able to heal allies. So here's the way that works:

1) Give your hero or unit or whatever both Holy Light (modified however you want Holy Light to work for that unit) and a dummy spell* called Flash of Light.
*If you don't know what a dummy spell is, here's an explanation: A dummy spell is essentially a trick we use to make players think their hero is casting a spell whose effects actually come from another unit or a trigger. A dummy spell costs mana, has an animation, has a cooldown, has an appropriate icon and tooltip, etc. but doesn't actually have all the effects it says it has. For example, I'm going to assume for the moment that you want Flash of Light to be like Holy Light except only for attacking undead and not for healing allies. In that case, you could create a new spell based on Channel (Which is a hero ability by default). First change Stats- Hero Ability to false. Change the Art- animation names to probably just 'spell' instead of 'spell, channel' or to whatever animation you want your unit to play when it casts the spell. Change the Art- button positions to wherever you want the icon to go. Delete Art- Caster and Art- Effect unless you want some kind of art to show up on the caster. Change Art- Target to Holy Light. Change Stats- Levels to however many levels you want the spell to have. Change Text- Name to Flash of Light. You might want to change Text- Editor Suffix to (dummy) or something like that to remind you that this is a dummy ability. Change Text- Hotkey- Normal to whatever you want the hotkey to be. For every level, change Data- Base Order ID to some kind of random ability you aren't using (Maybe forceboard, I don't even know what that is). Change Data- Follow Through Time to 0 for all levels. Change Data- Options to Visible for all levels. Change Data- Target Type to unit target for all levels. Change Stats- Cast range to whatever you want the spell to have at each level. Change Stats- Cooldown to whatever you want the spell to have at each level. Change Stats- Mana cost to whatever you want the spell to cost at each level. Change Stats- Targets Allowed to probably Air, Ground, Enemy. Maybe through in Organic or something if you want it to not be able to affect mechanicals. Change the various different tooltips at each level to whatever you want those to say. There, done! Just put this ability in the spellbook or give it to the unit or whatever.

2) So now your unit has both Holy Light and a spell that pretends to be Flash of Light and has the cost, cooldown, etc. of Flash of Light but actually does nothing. To make it do something, you'll probably want a hidden ability that has the real effects. If you want the effects of holy light cast offensively, then you might as well base the hidden ability on holy light. So make a new ability based on holy light. Call it hidden flash of light or something. First, go to Stats- Hero Ability and make it not a hero ability. Set the levels to however many levels you want Flash of Light to have probably. Get rid of the art- target since your dummy covers that. For every level, change the Data- Damage to be 2x however much you want the spell to do. Set the cast range to 99999 or something. Set the mana cost to 0. There, that's done.

3) Now make a dummy unit** which will cast that spell and give the spell to it.
**A dummy unit if you don't know is a hidden unit which works behind the scenes to make abilities work. To create a dummy unit, just create a new unit based on, say, a footman and change some things about it. Change abilities- Normal to Locust and whatever spells you want it to cast. Change Animation- Cast Backswing and Animation- Cast point to 0. Change the Art- Model to .mdl . Change the Art- Shadow Image to None and all the other shadow data to 0. Scroll down to Combat- Attacks Enabled and set that to None. Change Movement- Turn Rate to 3. Change Sound- Unit Soundset to None. Just in case, change STats- Mana Initial Amount and Stats- Mana Maximum to 100000 or something. And then Change the name to Dummy Caster or whatever you want and you're done.

4) Now we have to make this dummy unit cast the spell in question. We do that via triggers. Open up the trigger editor and click the folder icon for new category. Name that whatever you want. Maybe Spellbook Spells or something. In that category, click the paper icon for new trigger. Rename that to Flash of Light. Ok, now the important stuff. Click the red flag button (Or control + E) for new event. In the list find Unit- Generic Unit Event. Click where it says 'Dies' in blue. In the new list find Starts the Effect of an Ability and click that. Ok out of those menus. Ok now click the button with a paper and a green arrow (Or control +D) for a new condition. In that list find Ability Comparison at the top. Change Animate Dead. In the Value section change Hero to Unit and All to Custom and then find the DUMMY SPELL. Make sure you choose the DUMMY SPELL that your hero or whatever has rather than the real spell that the dummy unit will cast. Ok out of those menus.

Let's review what we have so far. First, your hero has two spells. One is called Holy Light and is directly based on Holy Light. The other is called Flash of Light. This spell will be like Holy Light but can only be cast on enemies. The spell he has, called Flash of Light is secretly a dummy spell that doesn't do anything but cost mana and limit who he can target. You also have a hidden unit which knows another spell which has the real effects of Flash of Light. However, currently that dummy unit doesn't exist on your map and will never cast that spell. We do, however, have a trigger now which will successfully detect when your hero casts the dummy spell Flash of Light. That's what the events and conditions so far do. Now you need to finish the trigger so that it makes the dummy unit cast its hidden spell that has the real effects of Flash of Light.

5) Click the X button (Or Control + B) to create a new variable. In that menu, click the green X with a + to actually add the variable. Change the name to maybe TemporaryPoint and the variable type to point and then ok out of those menus.

6) Click the New Action button next to the new condition button (Or Control + R). Go to Set Variable near the top. Change Variable to Temporary Point. Then change Value to Unit- Position of Unit under the function list. Ok out of those menus.

7) Go down to Unit- Create Unit facing angle. Change Footman to Dummy Unit. Change Player 1 (Red) to probably neutral passive. Change Center of Playable Map Area to Temporary Point. Ok out of those menus.

8 ) Click the New Action button next to the new condition button (Or Control + R). Go down to Unit- Issue Order targeting a Unit. Change the first Unit to Last Created Unit near the top of the function list. Change Attack to Human Paladin Holy Light. Change the second Unit to Event Response- target unit of ability being cast. Ok out of those menus.

9) Click the New Action button next to the new condition button (Or Control + R). Go down to unit- add expiration timer. Change 60 to 1 or 2 or something. Change Triggering Unit to Last Created Unit. Ok out of those menus.

10) Click New Action button next to the new condition button (Or Control + R). Go to Custom Script near the top. Change Script code to "call RemoveLocation (udg_TemporaryPoint)". You need to get that code exactly right (Without the ""s obviously for it to work. Change the TemporaryPoint to whatever your variable was named if you chose for it to be named something different. Capitalization matters. Ok out of that menu.

11) That's it! You now have a trigger which, when the FLash of Light dummy spell is cast, will cause a hidden unit to be come into existence, cast a spell that generates the real effects of FLash of Light and then be deleted.

Your trigger should look a bit like this (Though my ability is named Battle Trance (E) and my unit is Dummy Unit and so on):

  • Flash of Light
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Battle Trance (E)
    • Actions
      • Set TempPoint = (Position of (Triggering unit))
      • Unit - Create 1 Dummy Caster for Neutral Passive at TempPoint facing Default building facing degrees
      • Unit - Order (Last created unit) to Human Paladin - Holy Light (Target unit of ability being cast)
      • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
      • Custom script: call RemoveLocation (udg_TempPoint)
So I guess that's my mini guide to how to make a dummy spell work assuming the spell you want is holy light. I shall answer your other question in a little while.
 
Level 8
Joined
Jul 8, 2013
Messages
249
And is there a way to not only move the learned skills to spellbook but give them a special order ? For example the healing skills will be on the up row the buffs will be in the middle etc.

Yes. So ordinarily of course you can choose button positions on the screen by altering an Ability's Art- Button Positions. As you've probably noticed, this doesn't work inside a spellbook though. Spells completely ignore button positions in a spellbook. Here's what they don't ignore though: order in the spellbook list. So if you have 4 heal spells then it will be easy to get heal spells on the top and buff spells in the middle. Go to your spellbook and go to data- spell list and put the spells in the order Heal 1, Heal 2, Heal 3, Heal 4, Buff 1, Buff 2, etc.

If you don't have 4 heal spells though then this won't be quite so simple. Your heal spells won't fill the first row and thus your buff spells will start somewhere on the first row and presumably continue onto the second row. Here is a workaround though. Basically what you need is to create filler abilities that do nothing but take up space in the first row of the book (after your heal spells) so that the buff spells are pushed on to the second row. But of course, having a bunch of useless abilities cluttering up your spellbook would be ugly. You'll want blank spaces instead. So here's what you do:

1) Create however many new abilities you need to fill in the first row based on maybe Abolish Magic from near the top of the unit abilities list. If you have 2 heal spells say then make 2 spells based on abolish magic.
2) Name them filler 1 and filler 2 or something.
3) Go to your spellbook's spell list and add those spells to the list. Get them in the order Heal 1, Heal 2, Filler 1, Filler 2, Buff 1, Buff 2, Buff 3.
4) Open up the trigger editor. Make a new trigger.
5) Add the event Map Initialization to the trigger.
6) Add the action Player Group- pick every player in group and do multiple actions action. Leave the default player group of All players and ok out of the menu.
7) Click the Loop- Actions line that appeared and then click the new action button. Select the Player- Enable/Disable Ability action. Change Ability to Filler 1. Change Player 1 (Red) to Picked Player. Ok out of those menus.
8 ) Copy/paste that action for every other filler ability you have.

Save and test the map. You should see your icons in their proper place in the book and no disabled abilities visible in it. Hooray! For reference, here's what the trigger looks like:

  • Spellbook Filler
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Player Group - Pick every player in (All players) and do (Actions)
        • Loop - Actions
          • Player - Disable Filler 1 for (Picked player)
          • Player - Disable Filler 2 for (Picked player)
 
Level 5
Joined
Jul 12, 2013
Messages
128
I have a problem i can't find all fields wich i have to change so I will post you a map and you can look on the spells and tell me what i did wrong because when i try to use Flash of Light on my hero while i've learned holy light it allways use holy light instead of flash of light. Only when holy light is in cooldown then it uses Flash of Light. Flash of Light won't be usable for damaging undead units. It will be the first healning spell and after you level up there will be holy light available wich could damage undead and heal your self and allies. In my test map i didn't used spellbook yet because it's a lot of work i will try it when i will finish the spells.
 

Attachments

  • test2.w3x
    46.9 KB · Views: 58
Level 8
Joined
Jul 8, 2013
Messages
249
The problem was that you didn't base the dummy ability on channel as I said. Instead you based it on holy light. That meant it didn't have the kinds of data I was saying to change.

I made a spellbook and made a spellbook version of holy light and made a new dummy of flash of light that does what you want. You'll have to change the heal values in Flash of Light (Hidden, real) to whatever you actually want them to be of course. Anyway, I tested the map and the spells seem to work as you wanted.

Two notes:
1) I noticed your cooldown progression for flash of light dummy actually went 6, 5, 4, 4.5, 3. I assumed that was a mistake and that you meant for it to be 6, 5, 4, 3.5, 3.
2) In my opinion, your tooltips should probably be more detailed so that players know exactly what their abilities do and what their cooldowns are and so on. In the abilities I made (Holy Light (Spellbook), Paladin Spellbook, Flash of Light (new dummy), and also this spell Analyze I just copied in from one of my own games to make sure I'd changed all the fields I needed to) I used my own favorite tooltip format. If you don't like it, go ahead and change that. If you do like it, feel free to copy and paste my tooltips and change them for your future abilities.

Good luck!
 

Attachments

  • New Test2.w3x
    51.4 KB · Views: 47
Level 5
Joined
Jul 12, 2013
Messages
128
Thanks everyone for help. The map was only for testing so I din't bother about tooltips I just tried to change all tooltips and colors and I didn't have enough time to finish it. When i will have another problem could I post it here or i should create new topic?
 
Level 14
Joined
Nov 17, 2010
Messages
1,266
You would probably get a better response if you posted it as another topic. This way you can say exactly what your problem is in the title.
 
Status
Not open for further replies.
Top