HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

New upgrades, abilities

11-26-2002, 04:33 PM#1
MartinezTG
Well... I was going to post it to the Campaign Discussion Forum but since it's an issue related to all maps I've decided that I shall post it here.
OK - the problem is about creating new upgrades and new abilities which their availability depends on the state of an upgrade. I'm talking here about spellcaster upgrades (like bloodlust depends on whether you upgraded the shaman's Master Training). I've made a whole bunch of new abilities (read - abilities based on the old ones cuz nobody's ever made totally new abilities from what I know). Then I made new upgrades for my spellcaster unit. First it didn't even upgrade his strength but then i found out that my unit was based on Medivh and maybe that's why couldn't upgrade. Then I renewed my unit (in WE i selected the shaman when I was to select NEW CUSTOM UNIT base) and that really did help - the upgrade worked (his HP and damage increased which was just as I planned :D ).
Finally I come to the REAL problem that I don't know how to solve - whilst his HP and damage increased per upgrades, his abilities were always available. When I tried to make the abilities depend on a custom upgrade - it didn't work. Has anybody made his own custom spells and upgrades which's research depends on the spell availability?
I know that it can be quite a long post comparing to how big the problem is but it can also be twice as big as the post (for example if it can't be solved)
Is there any hope? emote_confused

Martinez

P.S.
By reading this post you can learn not to make your spellcasters based on Medivh :nono:
11-26-2002, 07:20 PM#2
Guest
You need to edit the <Race>UpgradeFunc.txt to edit what an upgrade requires (in terms of buildings, etc.), I believe.
11-26-2002, 07:31 PM#3
MartinezTG
I was talking about how to make (or is it even possible) to make a custom ability depend on a custom upgrade. When I make'em require a Blizzard-made upgrade to be researched - it works fine BUT when I try to make it depend on a custom upgrade (which I made in both .txt files - ...Func.txt and ...Strings.txt and in the UpgradeData.slk) it doesn't work and the ability is always available. Has anyone even tried to make new spellcaster upgrades???? HELP!

Martinez
11-27-2002, 07:34 PM#4
Guest
You need to add "Requires=" for in the <Race>UpgradeFunc.txt under your custom upgrade. Take a look at other upgrades for examples - like the Undead's "Ghoul Frenzy" for instance. In fact, you might want to use one of these upgrades as a template.

Note that in the UpgradeData.slk, the "Race" must be assigned to one of the four races (unless you're doing even more complex MPQ editing) and your custom unit MUST be a member of that race (IE, under Custom Units for that Race in WE).
11-27-2002, 08:57 PM#5
MartinezTG
This is so f*cked!
OK so for those who want to make NEW upgrades READ THIS (and if there are many who want to - Sticky this!!!)
(This time i'm not going to tell how I got to this point)

You CAN make NEW abilities depend on a NEW upgrade all you have to do is:

YOU MUST:
-Make the ability on which your new ability is based on require the Upgrade For Example:
You want to give your NEW spellcaster a NEW type of WindWalk and make it available only when he's at least at Adept stage then you have to write Requires=(Your Upgrade) to the original WindWalk of the Blademaster
-Make the original ability (on which the NEW ability is based on) have the CheckDep in the AbilityData.slk set to 0 otherwise for example your Blademaster's WindWalk will not be available until the research is complete.
-Your new ability must have the Requires=(Your Upgrade) too because that is what shows up during gameplay when you scroll on the ability when it is unavailable.

Well that's it (until I don't find more obstacles on the way of upgrade making).
I hope this will help you and you won't have to sit around for hours wondering why your upgrades don't work like they are supposed to.

Martinez
11-30-2002, 11:15 AM#6
MartinezTG
I think this would rather fit into the Campaign Discussion Forum because it can be usefull with new races and stuff like that. So how about moving it? emote_confused

Martinez
12-02-2002, 02:05 PM#7
Guest
Hmm..

I have checked Inner fire and Dispel Magic and they dont have requires in their name.

But then I get to the second prob.

Let's say there are 2 steps, like Priest training. You need to be master to get one spell and adept to get the other. How can U configure that?! Since both Adapt and master have the same ID ([Rhpt])
12-02-2002, 02:49 PM#8
MartinezTG
Quote:
Originally posted by [=X=]MrNiceguy
Hmm..

I have checked Inner fire and Dispel Magic and they dont have requires in their name.

But then I get to the second prob.

Let's say there are 2 steps, like Priest training. You need to be master to get one spell and adept to get the other. How can U configure that?! Since both Adapt and master have the same ID ([Rhpt])

"// Inner Fire
[Ainf]
Art=ReplaceableTextures\CommandButtons\BTNInnerFireOn.blp
Unart=ReplaceableTextures\CommandButtons\BTNInnerFireOff.blp
Buttonpos=2,2
Unbuttonpos=2,2
Casterart=
Requires=Rhpt
Requiresamount=2
Effectsound=InnerFireCast
Order=innerfire
Orderon=innerfireon
Orderoff=innerfireoff"
What you see above is the "Func" of the Inner Fire spell. It requires Rhpt which stands for the Priest Training (Adept or Master). If you want it to be available at Master then it should have a

Requiresamount=2

If at Adept then give it only Requires=Rhpt (without the Requiresamount=2).

Martinez
12-02-2002, 02:53 PM#9
MartinezTG
IMPORTANT!!!
2 different spellcasters in one map (from what I know) cannot have the same ability if in both cases the ability requires an Upgrade.

Martinez

[edit] A different upgrade that is
12-02-2002, 07:46 PM#10
Guest
k, I see. Stupid. Wasn't thinking ;)

WIll use it :)
12-03-2002, 04:54 AM#11
Guest
Quote:
2 different spellcasters in one map (from what I know) cannot have the same ability if in both cases the ability requires an Upgrade.


Hmmm, that is unfortunate. I wanted to make a new, upgradable ability based off of Unholy Frenzy. But even when I upgrade using my custom upgrade, the new ability isn't available. All my other custom upgrades work fine, which leads me to believe it is the problem you are refering to. Perhaps I'll just remove the dependency check for Unholy Frenzy and give Undead a little bit of an advantage (it isn't that great a spell).
12-03-2002, 02:58 PM#12
MartinezTG
generalmx - is it a campaign that you're working on and you want the upgradeable ability to take part in it?
-or-
shall it also take part in multiplayer games?

Cuz when it's only a campaign then that isn't much of a prob because you can disable and then enable an ability for the Computer when you want with a trigger.

Martinez
12-04-2002, 05:01 PM#13
Silent K
-Unit HAS to be based on an existing spellcaster(true in all cases?)

-Base upgrade has to affect base unit(Is this true at all?)

-Spell must be based on a spell that needs the upgrade you want the new spell to need.

So, what happens If I base a spell on an ability that's based on another ability? Say I want to use Creep Inner Fire. Do I have to make Creep IF require the upgrade, or regular IF, or both? emote_sweat

ugh. Well anyway, how far out do I have to go to get a new ability/upgrade pair? I'm guessing:

Abilitydata.slk
Upgradedata.slk
raceabilityfunc
raceabilitystrings
raceupgradefunc
raceabilitystrings

Did I miss anything?
12-04-2002, 05:25 PM#14
Guest
Quote:
Originally posted by MartinezTG
generalmx - is it a campaign that you're working on and you want the upgradeable ability to take part in it?
-or-
shall it also take part in multiplayer games?

Cuz when it's only a campaign then that isn't much of a prob because you can disable and then enable an ability for the Computer when you want with a trigger.

Martinez


No, its a multiplayer (melee) map with four new races to replace the old ones. But I still want a singler player solution, which would only be possible with either giving the computer one of the original races, or changing its AI. While I might do the latter eventually, the amount of AI editing I would have to do would be a pain.
12-04-2002, 07:18 PM#15
MartinezTG
Quote:
Originally posted by Silent K
-Unit HAS to be based on an existing spellcaster(true in all cases?)

-Base upgrade has to affect base unit(Is this true at all?)

-Spell must be based on a spell that needs the upgrade you want the new spell to need.

So, what happens If I base a spell on an ability that's based on another ability? Say I want to use Creep Inner Fire. Do I have to make Creep IF require the upgrade, or regular IF, or both? emote_sweat

ugh. Well anyway, how far out do I have to go to get a new ability/upgrade pair? I'm guessing:

Abilitydata.slk
Upgradedata.slk
raceabilityfunc
raceabilitystrings
raceupgradefunc
raceabilitystrings

Did I miss anything?



1) Base unit has to probably be a spellcaster [I don't know really because so far i've only made a not working properly (not affected by the new upgrade) unit based on Medivh and a working properly (affected by the new upgrade) unit based on an orc Shaman.

2) "Base upgrade" - there are no base upgrades. An upgrade isn't based on another upgrade. (so this is false)

3) "Spell..." <- this is true

4) Creep inner fire is based on the regular inner fire BUT creep inner fire doesn't need any upgrade because the dependency check of Creep Inner Fire (in AbilityData.slk) is disabled.

You cannot base your new ability (based on inner fire) of Creep Inner Fire but you must base it of the regular.

"Abilitydata.slk
Upgradedata.slk
raceabilityfunc
raceabilitystrings
raceupgradefunc
raceabilitystrings"

if the second "raceabilitystrings" was ment to be "raceupgradestrings" then - yes that is what you'll need.

Martinez