• 0

    posted a message on [Data] Introduction to Ability Creation
    Quote from Forge_User_44640877: Go

    Thanks a lot - Ive no idea how that wa set to 0 :)

    On the first ability, on the buff behavior, I can't find this line Quote:

    Edit Behavior - Modification - Modify Flags. Set the following flags to Enabled: Disable Abilities, Suppress Movement, Suppress Turning.

    Mofification opens a new window, and there are no Modify Flags option there. I twas changed in the patch, right? Do I have to specify every ability, etc that I need to disable/supress?

    EDIT: Ah I found Modify Flags in the Behaviours tab, so nvm unless you want to make your tutorial up to date.

    This didn't change in the patch. It sounds like you have Combine Structure Values turned on.

    Posted in: Tutorials
  • 0

    posted a message on [Data] Introduction to Ability Creation
    Quote from Forge_User_44640877: Go

    Thanks for the tutorial.

    Im trying to make the Time Warp ability that does persistent damage and stuns - i.e. a merge of the two abilities. Ive got the same problem - the buff does not apply.

    Please see the map attached.

    Thanks

    On your Search effect, you have Search - Maximum Count set to 0. This makes your Search effect find a maximum of 0 units. Set it to -1 to allow it to find an unlimited number of units (or a positive number to limit it to that many units).

    Posted in: Tutorials
  • 0

    posted a message on [Data] Protoss powered buildings without pylon + zerg builds off creep no damage
    Quote from xeonsam: Go

    need some help.

    1. i want my building power by pylon but i want it buildable out side pylon power range. any idea how to do that?

    2. is it posible to make an upgrade to upgrade the pylon power range?

    thanks for the help.

    1. Make an effect that applies the Power User behavior to a unit. Then make a hidden behavior with that effect as its initial effect. Give the new behavior to your building. That way, your building will get the Power User behavior as soon as it's built, but the behavior won't restrict where you can build it.

    2. It doesn't appear to be possible to increase the range directly using upgrades, but you can fake it with multiple Power Source behaviors and requirements.

    Posted in: Tutorials
  • 0

    posted a message on [Data] Introduction to Ability Creation
    Quote from kakalxlax: Go

    @LaVacaMorada: Go

    im trying to link a custom attack to a unit, how can i do that?

    If you want to make a weapon, go to the Weapons tab and create a new weapon. You will need to give it an effect, which works just like making an effect for an ability.

    Posted in: Tutorials
  • 0

    posted a message on [Data] Introduction to Ability Creation
    Quote from ChaoSXDemon: Go

    @LaVacaMorada: Go

    The search behavior is set correctly: Player and Ally are CHECKED, with Visible - Required, Dead, Missile, Structure, Stasis - Excluded. All others are set to Allowed.

    As for the applying behavior, I do have the movement modification at times 2. Is there a way to use trigger to find out which units the search function selected? Maybe also a trigger that prints out and debugs the applying behavior?

    Your first ability works perfectly :) (Probably lack some target effect like say a little swirl on top of the targeted unit)

    Thanks :)

    I don't know of any way to track effects in a trigger. You can count behaviors, but it's pretty clear that in this case the behavior either isn't being applied or is somehow being removed immediately.

    Edit: In patch 1.1, you can now use the Effect Used event to make something trigger when an effect is applied. This makes it possible to keep track of how many units an effect is being applied to, although I don't know of any way to track which units.

    I can't think of what else the problem might be. I've attached my copy of the map in case you want to compare it to yours.

    Posted in: Tutorials
  • 0

    posted a message on [Data] Introduction to Ability Creation
    Quote from ChaoSXDemon: Go

    Wow, great work! Your explanation is brief and clear. Well done!

    Edit: You made a mistake - During the 2nd ability guide in the event field there, you meant "Destroy" but you put "Create" 2 times for both persistent.

    Fixed now. Thanks.

    Quote from ChaoSXDemon: Go

    Edit 2: Hmmm, for some reason, I followed your instruction making the time warp, and it doesn't work. The Splat shows up and the nullfield.m3 model shows up, but not effect is being applied. There is no buff icon on the units and they move at the same speed! Any clue as to what might of gone wrong?

    Either the Search effect isn't finding your units, or the Apply Behavior effect isn't applying the behavior.

    The most likely culprit is the Search Filters on the search effect; it's easy to accidentally exclude something. Make sure Player and Ally are enabled, and nothing is excluded that shouldn't be.

    Posted in: Tutorials
  • 0

    posted a message on [Data] Introduction to Ability Creation

    This tutorial assumes only a basic knowledge of how to navigate the Data Editor. In this tutorial, you will learn the basics of creating abilities, including:

    • How to use some of the most common types of effects
    • How to add animations to abilities
    • How to give an ability a cooldown
    • How to make a targeting circle appear for an ability

    This tutorial assumes the following settings:

    Settings for this tutorial

    That is, View Raw Data is inactive (white), and all options in the right side of the window are active (gray) except for Combine Structure Values.

    We will be adding two new abilities to the High Templar. The first, called Electric Shock, will cause damage to an enemy target and temporarily stun it. The second, called Time Warp, will cause allied units to move through an area more quickly. Of course, you are free to modify any of the steps of this tutorial to your liking.

    Electric Shock is the simpler of the two abilities, so we'll start with it. To create a fully functional ability, we need several objects. At the very least, we need an ability with a button to use it and at least one effect performed by the ability. If we want the ability to modify a unit's characteristics, we also need a behavior. Working backward minimizes the amount of time we have to spend going back and forth between objects, so we'll start with the behavior.

    There are many types of behaviors, of which Buff is the most commonly used. Buffs can modify almost anything about a unit, including (but not limited to) its combat capabilities, movement, vision, vitals (life, shields, and energy), and what abilities it can use. They can also apply additional effects. We will create a relatively simple buff that stuns the unit for 3 seconds.

    Creating a new behavior

    • Create a new behavior of type Buff named Electric Shock. (Open the Behaviors tab. Right click in the list of behaviors and click Add Object. Type in Electric Shock for the name. Click Suggest to fill in the ID. Set the Behavior Type to Buff. Optionally, set the race to Protoss. Click OK.)
    • Set Behavior - Alignment to Negative.
    • Edit Behavior - Modification - Modify Flags. Set the following flags to Enabled: Disable Abilities, Suppress Movement, Suppress Turning.
    • Set Stats - Duration to 3.
    • Set UI - Icon to Assets/Textures/btn-ability-protoss-arguslink.dds.
    • Set UI - Tooltip to "This unit is stunned."

    The Icon, Tooltip, and Alignment fields control the appearance of the buff icon that appears next to a unit's wireframe. (Positive buffs appear green, Negative red, and Neutral white.)

    Next, we need an effect to apply the behavior we just created. There are over 20 types of effects; this tutorial will cover some of the most commonly used ones. The type of effect used to apply a behavior to the target is called - you guessed it - Apply Behavior.

    • Create a new effect of type Apply Behavior called Electric Shock Behavior. Set Behavior - Behavior to Electric Shock.

    Next we need an effect of type Damage, so that our Electric Shock can damage the target in addition to stunning it.

    • Create a new effect of type Damage called Electric Shock Damage. Set Combat - Amount to 50.

    Damage effects have a lot of data fields that can be customized, making it possible to do things like adding splash damage or increasing damage against specific types of units. For this ability, just doing damage will suffice.

    Next, we need a way to combine these two effects. If you wanted to combine different effects into one ability in WC3, you had to either base your ability on something that already had both effects, or use triggers. In SC2, this is no longer necessary thanks to Set effects.

    Editing a list

    • Create a new effect of type Set called Electric Shock Set.
    • Edit Effect - Effects. Add Electric Shock Behavior and Electric Shock Damage to the list.

    By default, a Set effect will apply all of the effects in the list. Set effects can also be configured to choose some of the effects at random.

    Next, we will make a button.

    • Create a new button called Electric Shock.
    • Set Hotkey to E.
    • Set Icon to Assets/Textures/btn-ability-protoss-arguslink.dds.
    • Set Tint By Race to Enabled.
    • Set Tooltip to "Damages and stuns a target unit."

    Tint By Race causes the icon to appear green for Terran players, blue for Protoss, and orange for Zerg.

    Finally, we need to make the ability itself. This is where we specify what the ability can target and add a cost and/or cooldown. Since this ability is targeted, it will have type Effect - Target.

    Setting a default button Adding a cooldown link Setting target filters

    • Create a new ability of type Effect - Target called Electric Shock.
    • Edit Ability - Commands - Default Button. Set the button for Execute to Electric Shock.
    • Edit Ability - Target Filters. Set Dead, Invulnerable, Missile, Stasis, and Structure to Excluded. Set Visible to Required. Check the boxes marked Enemy and Neutral.
    • Edit Cost - Cost - Cooldown - Link. Click the Add button (you may have to add a blank entry to the list first) and type in Electric Shock.
    • Set Cost - Cost - Cooldown - Time Use to 10.
    • Set Effect - Effect to Electric Shock Set.
    • Set Stats - Range to 7.

    You must specify a cooldown link if you want the ability to have a cooldown. If you use the same cooldown link for multiple abilities, they will share a cooldown.

    Electric Shock will work now, but it won't show any animation. To display anything in the game world, we need an actor. To show anything emanating from a unit, we use Action actors. We'll create a simple animation showing a beam of energy from the caster striking the target.

    • Create a new actor of type Action based on GenericAttack called Electric Shock Attack.
    • Change the token Attack Effect to Electric Shock Damage.
    • Change Art - Beam to ArchonAttackBeam.
    • Edit Sound - Impact Map - Sound and change the entry for None to Archon_AttackImpact.

    Actors work somewhat counterintuitively in that, in most cases, they refer to the objects that create them, not the other way around. Specifying a token is the easiest way to create the reference.

    There are many options that can be used to modify actors. A full explanation of these options is beyond the scope of this tutorial. It is worth noting that ArchonAttackBeam is itself an actor. If we wanted to create our own beam rather than using an existing one, we would need to create a new beam actor.

    Next, we'll create the Time Warp ability. As before, we'll start with the behavior and an effect to apply it.

    • Create a new behavior of type Buff called Time Warp.
    • Set Behavior - Alignment to Positive.
    • Set Movement - Modification - Movement Speed Multiplier to 2.
    • Set Stats - Duration to 0.3.
    • Set UI - Icon to Assets/Textures/btn-ability-protoss-chronoboost.dds.
    • Set UI - Tooltip to "This unit moves much more quickly."

    The reason for giving this ability a very short duration is that we will be applying it frequently. This way, it will apply to units while they are in the area of effect.

    Create a new effect of type Apply Behavior called Time Warp Behavior. Set Behavior - Behavior to Time Warp.

    Since we want to apply Time Warp Behavior to multiple targets, we will need a Search Area effect. It applies an effect to multiple units in an area. While Search Area effects are not necessary for creating area of effect damage abilities (since Damage effects can be given their own search parameters), they are useful for applying any other effect to multiple targets.

    • Create a new effect of type Search Area called Time Warp Search.
    • Set Search - Areas - Radius to 5.
    • Set Search - Areas - Effect to Time Warp Behavior.
    • Edit Search - Search Filters. Uncheck Enemy and Neutral. Set Dead, Invulnerable, Missile, Stasis, and Structure to Excluded.

    This will apply the Time Warp Behavior effect to all allied units in a radius of 5. It is also possible to limit Search to a specific number of units (so we could, for example, use Search to make an ability that hit up to 4 targets).

    We want to apply this effect repeatedly, so we will need a Create Persistent effect.

    • Create a new effect of type Create Persistent called Time Warp Persistent.
    • Set Effect - Period Count to 32.
    • Set Effect - Period Durations to 0.25.
    • Set Effect - Period Effects to Time Warp Search.

    This effect will apply Time Warp Search every 0.25 seconds for 8 seconds. Essentially, all allied units will have the Time Warp buff as long as they are in the area of effect.

    Create Persistent effects are also useful for creating delayed effects.

    Next, we'll add the button and ability.

    • Create a new button called Time Warp.
    • Set Hotkey to W.
    • Set Icon to Assets/Textures/btn-ability-protoss-chronoboost.dds.
    • Set Tooltip to "Speeds up time in a target area, increasing the movement speed of allied units."

    Time Warp won't have a cooldown, but it will have an energy cost.

    • Create a new ability of type Effect - Target called Time Warp.
    • Edit Ability - Commands - Default Button. Set the button for Execute to Time Warp.
    • Edit Cost - Cost - Vitals. Add an Energy cost of 50.
    • Set Effect - Cursor Effect to Time Warp Search.
    • Set Effect - Effect to Time Warp Persistent.
    • Set Stats - Range to 7.

    The Cursor Effect tells the game what effect to use to determine the area of effect. It is usually set to a Search Area effect or a Damage effect with splash damage. When targeting the spell, this determines what units will be highlighted. More importantly, once we create a targeting cursor, the Cursor Effect will determine its size. To create a targeting cursor, we will use a Splat actor.

    • Create a new actor of type Splat based on Cursor Splat called Time Warp Splat.
    • Set Art - Model to Protoss AOE Cursor Splat.
    • Edit any of the Events fields.
    • Edit the first event (starting with Abil). Change the Source Name to Time Warp and the Sub Name to Cursor.

    Since we used Cursor Splat as a base, most of the fields were already filled in for us. The cursor splat will automatically resize itself to match the ability's Cursor Effect.

    Finally, we'll give the ability an animation.

    Starcraft II comes with a large number of model files. Not all of these model files have model objects associated with them. If we want to use one that doesn't, we first need to make our own model object.

    • Create a new model of type Generic based on PersistentSpellFX called Time Warp Model.
    • Set Model to Assets/Effects/Protoss/NullField/NullField.m3.

    Now we can make an actor to show the effect of Time Warp. Since we're showing an effect in an area (rather than attached to a unit), we will use a Model actor.

    The event window

    • Create a new actor of type Model based on BuffContinuous called Time Warp Model.
    • Set Art - Model to Time Warp Model.
    • Edit any of the Event - Events fields. A dialog box will pop up. There will already be events and actions there; don't change the existing ones.
    • Add a new event. Set Message Type to Effect, Source Name to Time Warp Persistent, and Sub Name to Start.
    • Select the action below this event and change it to Create.
    • Add a new event. Set Message Type to Effect, Source Name to Time Warp Persistent, and Sub Name to Stop.
    • Select the action below this event and change it to Create.

    Actors use events to determine when and where they appear. We just created events telling the Time Warp Model actor to appear as soon as the Time Warp Persistent effect starts and disappear when it ends.

    Unlike the cursor splat, the Model actor does not automatically resize itself. This model happens to be the right size for Time Warp, but if it wasn't, we would have to edit the Art - Scale to make it the right size.

    Now we need to give our High Templar these new abilities. We must first add the abilities to the High Templar's list of abilities, then add buttons to its command card so that it can be ordered to use them.

    • Find the High Templar in the Units tab.
    • Edit Ability - Abilities - Ability. Add the Electric Shock and Time Warp abilities.
    • Edit any of the Ability - Command Card fields. Click on an empty slot and add the Electric Shock button. Set the command type to Ability Command, the ability to Electric Shock, and the ability command to Electric Shock. Repeat this process for Time Warp.

    Finally, we need to edit the High Templar actor so that it will show casting animations.

    The event window again

    • Select the High Templar actor from the list of linked objects.
    • Edit any of the Events fields.
    • Add a new event. Set Message Type to Ability, Source Name to Electric Shock, and Sub Name to Source Cast Start.
    • Select the action below this event and change it to Animation Play. Set Name to A and Animation Properties to A.
    • Repeat this process for Time Warp.

    The animation names are only important for use with other events. The animation properties should be set to part of the name of the animation you want to use. The animation varies from unit to unit; for the High Templar, the casting animations are Spell, Spell A, and Spell B.

    You now have two fully functional abilities. Add a High Templar and some enemy units to your map and test it. Congratulations! You've created your first abilities.

    Posted in: Tutorials
  • To post a comment, please or register a new account.