• 0

    posted a message on Line and Arc targeting cursors???

    http://us.battle.net/sc2/en/forum/topic/6246616983?page=1#4

    Got it, still no cone, and the only asset i can get it to work with is raynor's snipe beam, but this works good enough for now!

    Posted in: Data
  • 0

    posted a message on Line and Arc targeting cursors???

    in the patch notes for 1.5 it said under actors "Support has been added for Line and Arc targeting cursor support."

    I assume this means we wont be limited to screwing around with Raynor's one penetrator round "Skillshot" type targeting line...

    i have looked in to it some but i cannot seem to find a way to make "Skillshot" or cone type cursor squibs... has anyone done this yet? could someone tell me how to do this?

    Posted in: Data
  • 0

    posted a message on Open Games List

    AWESOMENESS!!!! I can barely handle all this new stuf at one time! ♥♥♥♥♥♥♥♥BLIZZARD!

    Posted in: General Chat
  • 0

    posted a message on Imported WoW Model selection boxes

    It seems that any models i import from wow have a very very large "box of selection" once they are added to the game. There is a very wide area that i can click in where it will select that unit, much larger than the actual size of the unit. Ive tried changing the selection radius field in the model tab of the data editor but all that accomplished was making the green ring around the models feet smaller when i select it. does anyone know how to fix this?

    Posted in: General Chat
  • 0

    posted a message on Blizzcon - All SC2 Panels

    Is anyone else as excited as i am about the new UI editor? i mean really, holy crap that thing looks cool!

    Posted in: General Chat
  • 0

    posted a message on Abilities scaling with Attributes

    @Soma2035: Go Oh, Catalogs are basically triggers used to edit specific fields in the Data editor. The drawback to Catalogs is that they are only able to edit fields that are also editable by upgrades. nonetheless they are an extremely powerful tool for making level able heros. If you are new to triggers they could be a bit on the complected side, but i would be happy to help teach you how to make some.

    You mentioned Shadow.Geminus's Shade spell earlier. To do somthing like that you would not need to use a catalog but you would use triggers. Ill show you how to make something similar

    I dont know the exact amount of damage the ability does or how much it scales for so ill just throw out some numbers Lets say the ability deals 100+(Agi*.5) or 100 damage plus half your hero's agility.

    1) The first thing you need to do is make a Damage effect that does not get reduced from armor of type spell damage. I called mine SpellDamage, make it deal 0 damage, we will use a trigger to change the damage later

    2) You need to make a trigger that fires every time that ability does damage and then add some damage to it. So lets say that the 100 Damage of our ability (the effect that deals 100 damage) is called "ShadeDamage" You would need to make a trigger like this-

    Example
        Events
            Unit - Any Unit takes Fatal or Non-Fatal Spell damage (from ShadeDamage effects)
        Local Variables
        Conditions
        Actions
            Environment - Deal damage using SpellDamage on (Triggering unit) from (Damaging unit) with ((Real((Stack count of Agility on (Damaging unit)))) * 0.5) extra damage
    

    So the event fires any time a unit takes damage from that ability, then the Acton will deal additional damage to a unit using that SpellDamage effect, for the extra Damage part you will need to do an Arithmetic, and then convert a real to an integer in order to put in the stack count of Agility in to the equation then in the other field of your arithmetic multiply by .5

    For that specific example you didnt need a catalog, However you WOULD need catalog to do somthing like Damage= (100+(100*(Agi*.5)) or in other words deal a % extra damage based on your agility

    Hope this helps PM me if you have any questions, ide be happy to help

    Posted in: Data
  • 0

    posted a message on Abilities scaling with Attributes

    @Soma2035: Go This is a pretty tricky thing to do, have you ever done anything with Catalogs? i upgrade my abilities through catalogs. Here is one of my abilities that is upgraded via catalogs (you could use some arithmetic and multipliers and modify this)

    Single Target Base Ability Level Up
        Events
            Unit - Any Unit uses  Learn Single Target Ability at Generic3 - Execute stage (Ignore shared abilities)
        Local Variables
        Conditions
        Actions
            Catalog - Set value of Effects "SingleTargetAbilityDamage" "Amount" for player (Triggering player) to (String((((Current level for ability Single Target Ability on (Triggering unit)) + 1) * 100)))
    

    Here is another trigger that basically takes all melee damage and scales it up or down based on the attacking and defending units "Power" and "Endurance" attributes, its a bit more complected and its not ability specific but it might help you as an example.

    Hero Damage Readouts And Power Damage Increase Melee
        Events
            Unit - Any Unit takes Fatal or Non-Fatal Melee damage (from Any effects)
        Local Variables
            ModifyNumber = 0 <Integer>
            DamageModification = 0.0 <Real>
        Conditions
            (Damaging effect) != Melee Damage
        Actions
            Variable - Set ModifyNumber = ((Stack count of Power on (Damaging unit)) - (Stack count of Endurance on (Triggering unit)))
            General - If (Conditions) then do (Actions) else do (Actions)
                If
                    ModifyNumber < 0
                Then
                    Variable - Set DamageModification = ((Triggering damage amount) * (1.0 - ((1.0 + ((Real((Abs(ModifyNumber)))) * 0.01)) ^ -1.0)))
                    Catalog - Set value of Effects "ModifyDamage" "VitalArray[0].Change" for player (Owner of (Damaging unit)) to (String(DamageModification) with 2 decimal places)
                    Environment - Execute Modify Damage on (Triggering unit) from (Damaging unit)
                Else
                    Variable - Set DamageModification = ((Triggering damage amount) * ((Real(ModifyNumber)) * 0.01))
                    Environment - Deal damage using Melee Damage on (Triggering unit) from (Damaging unit) with ((Triggering damage amount) * ((Real(ModifyNumber)) * 0.01)) extra damage
    

    Hope this helps you out!

    I don't have time to go in to more specifics at the moment but if you need some more help with this feel free to PM me.

    Posted in: Data
  • 0

    posted a message on [Data] How to Balance Your Map With Math Formulas

    @Nebuli Its not intended to balance your map for you, but more give you a reference point to begin with, like you said, starcraft is way to complected to be expressed with simple equations )=

    @777iop: Go Oh crap, thanks for pointing that out, that is supposed to be a D1, not a D2 in the numerator Fixed it, Thank you

    Posted in: Tutorials
  • 0

    posted a message on [Data] How to Balance Your Map With Math Formulas

    @SoulFilcher: Go Actually SoulFilcher I am working on that sort of excel spread sheet right now, i should be posting a download link for it soon, also im making a link to a web page that will calculate it for you.

    Posted in: Tutorials
  • 0

    posted a message on New HoTS Zerg unit revealed

    Look at the head, doesn't it look like a mutation on a roach?

    Posted in: General Chat
  • 0

    posted a message on [Data] How to Balance Your Map With Math Formulas

    Reserved...

    Posted in: Tutorials
  • 0

    posted a message on [Data] How to Balance Your Map With Math Formulas

    As Mapsters we are presented with a unique challenge when balancing our maps. We need to create balanced games with very limited amounts of testing, unlike large stand alone games, us modders do not have countless numbers of alpha and beta testers standing in line to help us test our games, at best players on battle.net might play a game that still requires balance testing one time, and if they are not impressed, they will never play your game again... We need a way to start balancing our games without forcing beta testers to bear with us through trial and error. I have worked quite a bit with the solution of using math to solve this balancing problem, using mathematical formulas. A while back I wrote a tutorial on a formula I came up with...

    http://www.sc2mapster.com/forums/resources/tutorials/4614-data-trinity-map-balance-balancing-your-map-with-formulas/#p11

    Since then I have been working on a more useful formula and I have come up with one that I would like to share with you that works a bit better than the old formula

    Just as a disclaimer these formulas will not balance your map for you, Starcraft II is a very complex game and it is impossible to take in to account for EVERYTHING with a simple math formula, things like splash damage, and unit range, and player micro are hard to represent mathematically, but this formula WILL give you a good idea for a starting point that will eliminate a huge amount of player testing that you would need. Using these formulas makes it so you do not have to just "guess" with your map balance, they are an extremely valuable tool when you are creating a new map that need balancing.

    Before I go any further I would like to take a second to review a few basic pieces of Starcraft game mechanics... because it is important that you know how to apply these formulas before you start using them... Most of the mechanics are pretty straight forward in Starcraft if you are familiar with the editor and the game itself, if you know how to change the damage and the attack speed of your units then you should be pretty good. But the thing that usually trips most people up is Armor… it is a common misconception that in Starcraft, the amount of armor a unit has reduces the damage they take by a percentage, however this is untrue. Each point of armor reduces the incoming damage of each attack by 1… So for instance, Unit A attacks Unit B with an attack that does 10 damage, and unit B has 3 armor… Unit B will take 7 damage (10 – 3 = 7)… I actually do not like this mechanic, it makes it so that every attack is reduced by a different percent and it is really hard to balance, personally I make sure that none of the units in my game have any armor and I handle damage reduction in a different way… but that is just personal preference. (Also on a side note, the minimum amount of damage a unit can do in Starcraft is by default .5 (half a point) of damage, if the target has armor that is greater than or equal to the attack damage, this is a rare occurrence though, in Starcraft II it really can only happen against fully upgraded Ultralisks, you can change the minimum amount of damage in the data editor)

    Here is the formula

    Thunder Lord, Balance Your Map Using Math

    Let me define those variables for you

    L_f = Life Final = The amount of life Unit 1 will have after killing all enemies

    L_1 = Life of unit 1

    D_1 = Damage per Second of Unit 1 (this can be calculated by the DamageAmount/Period of Weapon) Note that you might need to be specific here, a unit like the marauder does more damage to armored units than light, and most every weapon period has a random + - variant defined in the weapon that shifts the attack speed… you can also factor in the armor of the defender here.

    L_2 = Life of unit 2

    D_2 = DPS of unit 2

    n = Number of Enemy units (number of Unit 2)

    What this formula does is calculate how much life a unit (unit 1) would have after fighting N number of unit 2

    This formula is great because (unlike my first formula) it takes in to account that a unit, once dead no longer deals damage, in other words, as Unit 1 kills each unit 2, unit one will take less and less damage, (that’s why blink micro is so good!)

    Also keep in mind that the rules of algebra still apply in Starcraft II, if you set L_f to 0 and solve for N you can find out how many “unit 2”s it takes to kill a “unit 1”. Lets do an example Ill use the same "Zealot vs Zerglings" example I did in my first tutorial, only this time we will achieve much more accurate results because of the new formula

    Lets test a Zelot as unit 1 and 3 Zerglings as unit 2. Ill use the data that I calculated from my old tutorial, (quote shortened to save space…)

    Quote from Antimatterthunder: Go

    Zerglings- Hitpoints=35 Dps=6.592

    Zealots- Hitpoints=150 Dps= (6.337x2) (multiply by 2 because Zealots have 2 attacks, one for each laser sword thingy) 12.674

    so using the data above our variables will be defined as

    L_1 = 150 (shields + max life)

    D_1 = 12.674 (calculated with Zealot Damage/Attack speed (x2 because the zealot has 2 attacks)

    L_2 = 35

    D_2 = 6.592 (damage / attack speed) (It is also important to note that when I take my attack speed I also factor in the +.125 -.0625 random delay max/min values that most weapons contain)

    n = 3

    When we calculate it out our L_f comes out to around 41, I tested this and it is not completely accurate a zealot usually comes out to around 44-48 after killing 3 zerglings but this formula does not take in to account that Zealots have 1 armor, Zergling Regeneration and extra damage dealt as overkill when a unit dies, but for the most part the formula is pretty accurate

    The disadvantage this formula has to my original is that my original formula gave a single number that you could use to compare any 2 units. But this formula takes in to account the diminishing amount of damage that the unit 2s will deal as they are eliminated.

    A few Side notes:

    I use this formulas like this more often than you would think, I keep a TI 84 on my desk with this formula plugged in to a program so I can make calculations quickly

    Also realize that you can use this formula with a single unit too if you just want to compare 2 units to each other by using 1 in the place of N

    Finally be sure to note if you get a negative number as a result in this formula it does not mean that there is a problem with the formula; this number gives you a representation of how much overkill damage your unit 1 WOULD take if his death was prevented and he was allowed to keep fighting until he eliminates all enemies. For example if we were to use the zealot/zergling example with 10 zerglings instead of 3 we would get a result of around L_f = -850, meaning that the zealot would have die before killing all the zerglings but if the zealot were allowed to live it would take 850 more damage before it would be able to kill all 10 zerglings. I find that Math really can help us Custom game makers to quantify Starcraft, I encourage you to modify this formula as you need to in order to make it better fit your specific game, This formula is really only the tip of the iceberg when it comes to balance with formulas, You really can take it as far as you want too, in one of my games I used math to balance leveling Heros in a MOBA style game each with unique abilities and spells, almost anything can be made to fit in to math in the game of Starcraft. I hope you find these formulas as useful as I do!

    EDIT

    I have done a little algebra and I have come up with an equation were instead of solving for a L_f value we solve for N, with L_1, L_2, D_1, and D_2. In other words, we come up with exactly how many of 'unit 2' it takes to kill a single 'unit 1'.

    ThunderLord, Ballance Your Map Using Math, Sove for N

    Lets do our Zealots vs Zerglings example one more time, we will solve for N, or in other words the number of Zerglings it takes to kill a zealot.

    When we plug in everything we get N=3.59

    So it takes approximately 3.59 zerglings to kill a zealot, does this number seem accurate? That sounds about right!

    Hope this new formula helps out!

    Posted in: Tutorials
  • 0

    posted a message on Need help with Hero Attribute Catalog

    @Helral: Go Helral you are truly a Mapster Genius it works excellently, i am still unsure of why the old one did not work but that does not really matter anymore.

    Thanks a ton

    Posted in: Triggers
  • 0

    posted a message on Need help with Hero Attribute Catalog

    @Eiviyn: Go

    Ive rechecked it several times and i cant seem to find where the ID could be wrong,

    And i intentionally referenced player 9 because player 9 does not ever get a hero so i can reference the weapon speed default of the hero, before it has been modified by other points in swiftness.

    Posted in: Triggers
  • 0

    posted a message on Need help with Hero Attribute Catalog

    I have been working a lot lately trying to come up with ways that i can give Attributes to the hero's in my game and having them not stack on themselves. I am having a particularly tough time with an attribute "Swiftness" it is suppose to increase the attack speed of a unit by 1% per stack of the attribute, and the challenging part is to do this where the attack does not Stack on top of itself. I am working on a way to do this with catalogs, The goal of my trigger is to take a unit who has gained/lost attribute points in swiftness then lookup the reference to that unit's weaponid then set the Period of the weapon equal to it's unmodified period multiplied by (1+({Stacks of Swiftness}*.01))^-1. This should give me the effect i am looking for, am i am pretty sure that the Period field of a weapon is allowed to be modified through catalogs (as it is available to change through upgrades).

    Anyway, I made this Trigger

    Set Swiftness Globals
        Events
            Unit - Any Unit attribute points changed
        Local Variables
            Retrieved Weapon String = "" <String>
        Conditions
        Actions
            Variable - Set Retrieved Weapon String = (Value of Units (String((Unit type of (Triggering unit)))) "WeaponArray[0].Weapon" for player (Owner of (Triggering unit)))
            Catalog - Set value of Weapons Retrieved Weapon String "Period" for player (Owner of (Triggering unit)) to (String(((Real((Value of Weapons Retrieved Weapon String "Period" for player 9))) * ((1.0 + ((Real((Stack count of Swiftness on (Triggering unit)))) * 0.01)) ^ -1.0))) with 2 decimal places)
    

    (side note: i pull the Period on the weapon for player 9 because player 9 in my game never gets a hero with any attributes at all, so i can reference the original period of the weapon and modify it from there)

    (side note 2, i set the variable to get the id of the weapon because i would have to reference that weapon id 2x in the next action, so i made the computer get it 1 time and save it, just to make it a bit easier on the computer)

    Unfortunately the trigger does not work correctly, every time a hero gains points in Swiftness i get the following Error

    "Trigger error in 'gt_Set Swiftness Globals_Func': Could not get 'entry' from parameter in 'CatalogFieldValueSet' (value: 0)

    What did i do wrong? is there something wrong with the way i made my trigger? Anyone have any ideas? whats the deal with this error? Any help would be greatly appreciated.

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