Sorry for the beginner question but I can't figure out how to create a simple healing spell.
I have made a hero and I want him to have a spell that restores 100 hp to him and nearby units gradually (like a faster zerg regen). I'm not sure how to go with it.
I have created a button, an ability, and 2 effects (search area, modify unit), added the button to the hero's command card and ... I'm stuck. I don't know how to go further.
Hey. Making a whole new ability is not something "really easy". SC2 editor is so powerful that even "simple" things may turn real hard :(
First thing that come to my mind is how medic heal is created. Its effect is "Create healer" type.
I just tested that turning damage to a negative number does not heal :)
EDIT: Added a little test map. Medic has direct heal ability on it without area effect. It has no fancy models or anything else... hopefully it helps to understand how "modify unit" effect is linked to ability.
Yeah definitely, learning all this stuff can be quite challenging, but once you get he hang of how it all fits together it isn't too bad.
Well you've done the first part, and you've shown how you want to do it which is great so we can work off that. I'll keep it simple.
So you've set up the command, and required effects. Is your ability either Effect - Instant or Effect - Target? I'm assuming instant if you're using a search, so here is what you need to modify.
Modify Unit:
Effect: Vitals Field - Set Change to 100. (The second box, the first refers to modifying in percentages)
Search Area:
Search Filters Field- You can choose between Ally, Enemy, Neutral Player. I'd suggest Only having Ally and Player ticked. Then you can go through and select the specifications of who you want it to effect. I'd suggest Exluding: Dead, Destructible (if you allowed Neutral), and missile. While making Visible required/
Search Area Field - Set Arc to 360, this allows the abilitiy to hit all directions. Choose your modify effect in the effect field. Maximum Count refers to how many targets the search can acquire, setting it to -1 means infinite as long as they're in range. Radius refers to the distance of the search. 4 or 5 might be a good start.
Ability Tab:
Command - Select execute, and set the default button to your custom button. Be careful not to set any requirements, as that field can be a bit touchy. If your ability doesn't show up after all is done, you might of accidentally set it one.
Cost - Make sure you're looking in the Cooldown part and not the Charge part. Set the Time Use field to how long you want the cooldown, at least a minimum of 1 second so it doesn't glitch spam. In vitals you can choose how much energy you want it to cost, you may prefer it to not use energy and simply reply on the cooldown.
Effect - Set your search effect in this field, not the modify.
Flags - You might want the ability on autocast, if you do tick 'Autocast' and 'Autocast Initially on'.
Autocast Validators (If using autocast) - Select caster in combat
Now you want to go back to your units command card, select the ability button, and make sure ability command matches the ability box.
@FatCatTrap
wow, thanks for all those info. that's really helpful!
I had looked at how Astral Wind works so I kinda had a small idea about some of these fields but it's still useful to have explanations.
Now, I am facing another problem ... in the command card, after creating a new command for my button and setting the command type to ability command, in the ability field I do see my spell's name except it is written "(Unknown" next to it (the field is too small to show the whole message ... even if you resize the window). as a result I can't select the spell in ability command.
edit:
that was easy. I just had to delete the "unknown" ability and add a new one in the "Ability: Abilities - Ability" field. I had created another ability before posting on this forum, I guess it was leftovers from it I forgot to clean.
I guess my ability is created now. that was easier than I thought and not so different from creating a missile. I'll toy a little more (I want my ability to restore health gradually, similar to zerg regeneration but with more health). if I can't find how to do that by myself I'll bump my thread, else I'll set it as solved once I'm done.
Thanks a lot again man!
@all the others
thanks for the suggestion.
I have already taken a look at Astral Wind (I didn't know about Mend back then), but the problem is that there seem to be leftover parts for some spells and Astral Wind is one of those (for example, it has a unlinked(?) damage effect) and some unnecessary (not sure of course - they might be necessary) convoluted effects linked to it (AFAIK astral wind only restores 200hp/300 shield to caster and surrounding units, yet it has 3 apply behaviors, 2 search areas, 2 behaviors, 4 modify unit, etc... ).
as a result I am also not totally sure how all these parts go together, or if they're needed at all.
Hey. I inspected those abilities. So Astral Wind, Dehaka Mend and Kerrigan Mend work so that caster + units around it are healed. Are you going to do a targetable AoE Heal? Astral Wind is perfect root ability but I don't know yet how to change Astral Wind to targetable spell. So if data wizards of the forum know how to make targetable Astral Wind with area cursor it would be awesome!
No worries bud, I haven't really looked at that ability, but I have noticed there is a number of Blizzards abilities that have ambiguous additions. That's why it's a good idea to eventually learn how to make them from scratch, you end up with a lot less irrelevant clutter in all the fields, it just ends up feeling a lot neater.
Edit: I think Terhonator, if you wanted a targetable Astral Winds, you'd have to duplicate it because you can't modify certain parts of the core data. Once you duplicate it, double click on the name and change it from 'Effect - Instant' to 'Effect - Target'
Edit 2: For the area cursor, you want to look at making a 'Cursor Splat' actor. A good start for that would be to look at 'High Archon Psi Storm Cursor Splat', duplicate that and modify token abil field to your ability. Make sure the events field mirrored the change as well, it should automatically but sometimes doesn't. Then go back to your ability and change the field 'Effect: Cursor Effect' to the search effect you are using, the good thing about this is that it will automatically scale the size to the relevant radius.
I did it! ... almost, I'm still puzzled by a little thing.
My spell is supposed to do 2 things: buff the regeneration of allied units and stop the health regen of enemy units. I have added the apply behavior effect to my Search Area effect, and in second in the same Search Area, another effect Modify Unit that removes 200 energy (it's temporary - it's just to test things). the problem is, only the first effect is applied, not the second. (and if I switch the order so the Modify Unit that removes energy comes first, then the Apply Behavior effect is not applied anymore. In short, only the first effect is applied to units that match the SA criteria) Normally, if I am not wrong, all the effects listed in the Search Area should be applied to the units that qualify, right?
So, do I have to make, for each effect/buff/debuff/etc, a new Search Area? I can't use the same one to apply multiple effects to the same targets?
Thanks in advance.
Also here's how I did it, if it is of use for anybody (or as reference for myself later, if I forget :p)
Make a new ability, button, Search Area effect, Apply Behavior effect, Modify unit effect and a new Behavior. Follow those instructions :
Modify Unit: Effect: Vitals Field - Set Change to 100. (The second box, the first refers to modifying in percentages)
Search Area: Search Filters Field- You can choose between Ally, Enemy, Neutral Player. I'd suggest Only having Ally and Player ticked. Then you can go through and select the specifications of who you want it to effect. I'd suggest Exluding: Dead, Destructible (if you allowed Neutral), and missile. While making Visible required/
Search Area Field - Set Arc to 360, this allows the abilitiy to hit all directions. Choose your modify effect in the effect field. Maximum Count refers to how many targets the search can acquire, setting it to -1 means infinite as long as they're in range. Radius refers to the distance of the search. 4 or 5 might be a good start.
Ability Tab: Command - Select execute, and set the default button to your custom button. Be careful not to set any requirements, as that field can be a bit touchy. If your ability doesn't show up after all is done, you might of accidentally set it one. Cost - Make sure you're looking in the Cooldown part and not the Charge part. Set the Time Use field to how long you want the cooldown, at least a minimum of 1 second so it doesn't glitch spam. In vitals you can choose how much energy you want it to cost, you may prefer it to not use energy and simply reply on the cooldown. Effect - Set your search effect in this field, not the modify. Flags - You might want the ability on autocast, if you do tick 'Autocast' and 'Autocast Initially on'. Autocast Validators (If using autocast) - Select caster in combat
Now you want to go back to your units command card, select the ability button, and make sure ability command matches the ability box.
You just need to put Apply Behavior instead of the Modify effect in the Search area.
Then in the Apply Behavior Effect, in Effect: Behavior, select your behavior.
Then in the behavior, set a Behavior: Alignment (optional), Effect: Effect - Initial and Effect: Effect - Periodic (Effect that'll repeat every X period, we'll set it just after), Stats: Duration (optional - time the behavior will be applied to the unit(s)) and finally, Stats: Period (time X at which the effects we've set earlier will apply) and UI: Tooltip (optional).
Sets was what I was missing, my spell works as intended now!
Thanks a lot to everybody for the help!
Here's what I did, in case it ever is of use to someone:
Create a set, fill Effect: Effects with the Search Areas (for the buff and debuff), and in the ability tab, change the Effect: Effect to the set.
@Edhriano
thanks for the suggestion but I'm trying to make the ability using the data editor only since I will export my map into a mod, so I can reuse my hero on a mini campaign I am doing. this way I won't have to export/recreate the triggers.
So if data wizards of the forum know how to make targetable Astral Wind with area cursor it would be awesome!
I think this might work
<!-- Abilties Start Block --><CAbilEffectTargetid="TargetedAstralWind"><EditorCategoriesvalue="Race:Protoss,AbilityorEffectType:Units"/><Flagsindex="Transient"value="1"/><Cost><CooldownTimeUse="15"/></Cost><Rangevalue="10"/><CursorEffectvalue="TargetedAstralWind"/><CmdButtonArrayindex="Execute"DefaultButtonFace="TargetedAstralWind"/><TargetFiltersvalue="-;Enemy,Structure,Missile,Stasis,Dead,Hidden,Invulnerable"/></CAbilEffectInstant><!-- Abilties End Block --><!-- Effects Start Block --><CEffectModifyUnitid="TargetedAstralWindHeal"><EditorCategoriesvalue="Race:Protoss"/><VitalArrayindex="Life"Change="300"/><VitalArrayindex="Shields"Change="200"/></CEffectModifyUnit><CEffectEnumAreaid="TargetedAstralWind"><EditorCategoriesvalue="Race:Zerg"/><ImpactLocationValue="TargetUnit"/><SearchFiltersvalue="-;Enemy,Structure,Missile,Stasis,Dead,Hidden,Invulnerable"/><SearchFlagsindex="ExtendByUnitRadius"value="1"/><AreaArrayRadius="6"Effect="TargetedAstralWindHeal"/></CEffectEnumArea><!-- Button Block Start --><CButtonid="TargetedAstralWind"><Iconvalue="Assets\Textures\btn-ability-protoss-astralwind.dds"/></CButton><!-- Button Block End --><!-- Model Block Start --><CModelid="TargetedAstralWindCastModel"parent="OneShotSpellFX"><Modelvalue="Assets\Effects\Protoss\Artanis_AstralWinds\Artanis_AstralWinds.m3"/><EditorCategoriesvalue="Race:Protoss"/></CModel><CModelid="TargetedAstralWindImpactModel"parent="OneShotSpellFX"><Modelvalue="Assets\Effects\Protoss\Artanis_AstralWinds_Impact\Artanis_AstralWinds_Impact.m3"/><EditorCategoriesvalue="Race:Protoss"/></CModel><!-- Model Block End --><!-- Actor Block Start --><CActorSplatid="TargetedAstralWindCursorSplat"parent="ProtossCursorSplat"abil="TargetedAstralWind"/><CActorRangeid="TargetedAstralWindRange"><OnTerms="Abil.TargetedAstralWind.ButtonHoverOn"Send="Create"/><OnTerms="Abil.TargetedAstralWind.ButtonHoverOff"Send="Destroy"/><Flagsindex="SuppressSaveLoad"value="1"/><Rangevalue="6.000000"/></CActorRange><CActorModelid="TargetedAstralWindCastModel"parent="ModelAnimationStyleOneShot"><OnTerms="Effect.TargetedAstralWind.Start"Send="Create"/><HostSubject="_Selectable"/><Inheritsindex="CloakEffect"value="1"/><Inheritsindex="Visibility"value="1"/><HostSiteOpsOps="SOpAttachOrigin"HoldRotation="1"/></CActorModel><CActorModelid="TargetedAstralWindImpactModel"parent="ModelAnimationStyleOneShot"><OnTerms="Effect.TargetedAstralWindHeal.Start; At Target"Send="Create"/><HostSubject="_Selectable"/><Inheritsindex="CloakEffect"value="1"/><Inheritsindex="Visibility"value="1"/><HostSiteOpsOps="SOpAttachOrigin"HoldRotation="1"/></CActorModel><CActorSoundid="TargetedAstralWindSound"parent="SoundOneShot"><Soundvalue="Artanis_AstralWind"/><OnTerms="Effect.TargetedAstralWind.Start"Send="Create"/><HostSubject="_Selectable"/></CActorSound><!-- Actor Block End -->
Its standalone-ish from the regualr astral wind ability, so you can have the two living with each other just fine.
Sorry for the beginner question but I can't figure out how to create a simple healing spell.
I have made a hero and I want him to have a spell that restores 100 hp to him and nearby units gradually (like a faster zerg regen). I'm not sure how to go with it.
I have created a button, an ability, and 2 effects (search area, modify unit), added the button to the hero's command card and ... I'm stuck. I don't know how to go further.
help me please. thank you.
Hey. Making a whole new ability is not something "really easy". SC2 editor is so powerful that even "simple" things may turn real hard :(
First thing that come to my mind is how medic heal is created. Its effect is "Create healer" type.
I just tested that turning damage to a negative number does not heal :)
EDIT: Added a little test map. Medic has direct heal ability on it without area effect. It has no fancy models or anything else... hopefully it helps to understand how "modify unit" effect is linked to ability.
@Extrazorgy: Go
Just check how the Mend abilty of Kerrigan from Heart of the Swarm is done, as is the closest (if not the same) thing as you want to do.
Great! with LotV (Campaign) dependency there is also "Dehaka - Mend" ability.
Try to modify these abilities the way you want.
We can help you better when we are editing some old ability together :)
Yeah definitely, learning all this stuff can be quite challenging, but once you get he hang of how it all fits together it isn't too bad. Well you've done the first part, and you've shown how you want to do it which is great so we can work off that. I'll keep it simple.
So you've set up the command, and required effects. Is your ability either Effect - Instant or Effect - Target? I'm assuming instant if you're using a search, so here is what you need to modify.
Modify Unit: Effect: Vitals Field - Set Change to 100. (The second box, the first refers to modifying in percentages)
Search Area: Search Filters Field- You can choose between Ally, Enemy, Neutral Player. I'd suggest Only having Ally and Player ticked. Then you can go through and select the specifications of who you want it to effect. I'd suggest Exluding: Dead, Destructible (if you allowed Neutral), and missile. While making Visible required/
Search Area Field - Set Arc to 360, this allows the abilitiy to hit all directions. Choose your modify effect in the effect field. Maximum Count refers to how many targets the search can acquire, setting it to -1 means infinite as long as they're in range. Radius refers to the distance of the search. 4 or 5 might be a good start.
Ability Tab: Command - Select execute, and set the default button to your custom button. Be careful not to set any requirements, as that field can be a bit touchy. If your ability doesn't show up after all is done, you might of accidentally set it one. Cost - Make sure you're looking in the Cooldown part and not the Charge part. Set the Time Use field to how long you want the cooldown, at least a minimum of 1 second so it doesn't glitch spam. In vitals you can choose how much energy you want it to cost, you may prefer it to not use energy and simply reply on the cooldown. Effect - Set your search effect in this field, not the modify. Flags - You might want the ability on autocast, if you do tick 'Autocast' and 'Autocast Initially on'. Autocast Validators (If using autocast) - Select caster in combat
Now you want to go back to your units command card, select the ability button, and make sure ability command matches the ability box.
@FatCatTrap wow, thanks for all those info. that's really helpful! I had looked at how Astral Wind works so I kinda had a small idea about some of these fields but it's still useful to have explanations. Now, I am facing another problem ... in the command card, after creating a new command for my button and setting the command type to ability command, in the ability field I do see my spell's name except it is written "(Unknown" next to it (the field is too small to show the whole message ... even if you resize the window). as a result I can't select the spell in ability command.
edit: that was easy. I just had to delete the "unknown" ability and add a new one in the "Ability: Abilities - Ability" field. I had created another ability before posting on this forum, I guess it was leftovers from it I forgot to clean. I guess my ability is created now. that was easier than I thought and not so different from creating a missile. I'll toy a little more (I want my ability to restore health gradually, similar to zerg regeneration but with more health). if I can't find how to do that by myself I'll bump my thread, else I'll set it as solved once I'm done. Thanks a lot again man!
@all the others thanks for the suggestion. I have already taken a look at Astral Wind (I didn't know about Mend back then), but the problem is that there seem to be leftover parts for some spells and Astral Wind is one of those (for example, it has a unlinked(?) damage effect) and some unnecessary (not sure of course - they might be necessary) convoluted effects linked to it (AFAIK astral wind only restores 200hp/300 shield to caster and surrounding units, yet it has 3 apply behaviors, 2 search areas, 2 behaviors, 4 modify unit, etc... ). as a result I am also not totally sure how all these parts go together, or if they're needed at all.
Hey. I inspected those abilities. So Astral Wind, Dehaka Mend and Kerrigan Mend work so that caster + units around it are healed. Are you going to do a targetable AoE Heal? Astral Wind is perfect root ability but I don't know yet how to change Astral Wind to targetable spell. So if data wizards of the forum know how to make targetable Astral Wind with area cursor it would be awesome!
No worries bud, I haven't really looked at that ability, but I have noticed there is a number of Blizzards abilities that have ambiguous additions. That's why it's a good idea to eventually learn how to make them from scratch, you end up with a lot less irrelevant clutter in all the fields, it just ends up feeling a lot neater.
Edit: I think Terhonator, if you wanted a targetable Astral Winds, you'd have to duplicate it because you can't modify certain parts of the core data. Once you duplicate it, double click on the name and change it from 'Effect - Instant' to 'Effect - Target'
Edit 2: For the area cursor, you want to look at making a 'Cursor Splat' actor. A good start for that would be to look at 'High Archon Psi Storm Cursor Splat', duplicate that and modify token abil field to your ability. Make sure the events field mirrored the change as well, it should automatically but sometimes doesn't. Then go back to your ability and change the field 'Effect: Cursor Effect' to the search effect you are using, the good thing about this is that it will automatically scale the size to the relevant radius.
I did it! ... almost, I'm still puzzled by a little thing. My spell is supposed to do 2 things: buff the regeneration of allied units and stop the health regen of enemy units. I have added the apply behavior effect to my Search Area effect, and in second in the same Search Area, another effect Modify Unit that removes 200 energy (it's temporary - it's just to test things). the problem is, only the first effect is applied, not the second. (and if I switch the order so the Modify Unit that removes energy comes first, then the Apply Behavior effect is not applied anymore. In short, only the first effect is applied to units that match the SA criteria) Normally, if I am not wrong, all the effects listed in the Search Area should be applied to the units that qualify, right?
So, do I have to make, for each effect/buff/debuff/etc, a new Search Area? I can't use the same one to apply multiple effects to the same targets? Thanks in advance.
Also here's how I did it, if it is of use for anybody (or as reference for myself later, if I forget :p) Make a new ability, button, Search Area effect, Apply Behavior effect, Modify unit effect and a new Behavior. Follow those instructions :
You just need to put Apply Behavior instead of the Modify effect in the Search area. Then in the Apply Behavior Effect, in Effect: Behavior, select your behavior. Then in the behavior, set a Behavior: Alignment (optional), Effect: Effect - Initial and Effect: Effect - Periodic (Effect that'll repeat every X period, we'll set it just after), Stats: Duration (optional - time the behavior will be applied to the unit(s)) and finally, Stats: Period (time X at which the effects we've set earlier will apply) and UI: Tooltip (optional).
@Extrazorgy: Go
If you apply 2 or more effects you need to use a set ability to apply both of them.
The effects listed in the search area past the first one, are what the ability switches to as it levels.
Still alive and kicking, just busy.
My guide to the trigger editor (still a work in progress)
You can try using triggers
Condition :Unit "A" is using skill "X"
Triger unit : A
Target Unit : B
Action
My projects : The Hammer of Dawn, Noir : Automata, Noir : Evolution, Noir : Ascension, Hammer of Dawn Revamp
Many awesome projects : Custom Campaign Initiative
Something for the community : A Small Letter of Thanks, SC2mapster Classic Skin - Alevice
Sets was what I was missing, my spell works as intended now! Thanks a lot to everybody for the help!
Here's what I did, in case it ever is of use to someone: Create a set, fill Effect: Effects with the Search Areas (for the buff and debuff), and in the ability tab, change the Effect: Effect to the set.
@Edhriano thanks for the suggestion but I'm trying to make the ability using the data editor only since I will export my map into a mod, so I can reuse my hero on a mini campaign I am doing. this way I won't have to export/recreate the triggers.
@Terhonator: Go
I think this might work
Its standalone-ish from the regualr astral wind ability, so you can have the two living with each other just fine.
Go play Antioch Chronicles Remastered!
Also, coming soon, Antioch Episode 3: Thoughts in Chaos!
Dont like mapster's ugly white? Try Mapster's Classic Skin!