[Need Info] More Attribute Factors

Status
Not open for further replies.
Level 8
Joined
Oct 2, 2013
Messages
288
All those attribute factors like Light, Mechanical, Psionic and so forth.

I was wondering: Is it possible to make more of those?


Edit: I can't remember if I actually already asked that question??
If that's the case, what ways can you go around it?
 
Last edited:

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,285
You can use buffs with damage response to simulate others as far as damage goes and validators for abilities to some extent but it gets very irritating at that stage. Instead I recommend avoiding so many different classifications if possible since any form of hacky work around starts to get painful to implement.
 
Level 8
Joined
Oct 2, 2013
Messages
288
Ah that's too bad. Not that it was unexpected. I'm not a big fan of buffs myself regarding this matter.
Random quesiton: Is it possible to make buffs invisible? (Not showing for players)

Either way, I've started working around this through triggers. The goal is basicly to have unlimited implements of Armor Classes / Attribute Factors. The good thing about SC2 compared to WC3 is that here you can easily make unlimited amounts of Weapon Classes / Effects... I'd love to have both unlimited.

I actually succesfully made a trigger with a Takes Damage Event that simply uses Unit Groups that covers unit types - so each UG is it's own AC (Armor Class). Funny thing to be informed of before checking it out: All units are triggered to NOT TAKE DAMAGE at Map Initialization and upon entering the map.
  • Unit - Any Unit takes Fatal or Non-Fatal Any damage (from Any effects)
  • Local Variables
    • dmg amp = 1.0 <Real>
    • damage = (Triggering damage attempted) <Real>
  • Conditions
    • (Damaging effect) != TheDamager
  • Actions
    • General - If (Conditions) then do (Actions) else do (Actions)
      • If
        • ((Triggering unit) is in AC_Light) == True
      • Then
        • Variable - Set dmg amp = 1.25
      • Else
        • General - If (Conditions) then do (Actions) else do (Actions)
          • If
            • ((Triggering unit) is in AC_Medium) == True
          • Then
            • Variable - Set dmg amp = 1.0
          • Else
            • General - If (Conditions) then do (Actions) else do (Actions)
              • If
                • ((Triggering unit) is in AC_Heavy) == True
              • Then
                • Variable - Set dmg amp = 0.75
              • Else
    • Unit - Make (Triggering unit) Take Full damage
    • Environment - Deal damage using TheDamager on (Triggering unit) from (Damaging unit) with (damage * dmg amp) extra damage
    • Unit - Make (Triggering unit) Take No damage
You can ignore the conditions under Actions - they are just examples of ACs that changes the damage amplifier.
So basicly the units don't take any damage from any of the original effects. They only take damage from "TheDamager" effect. This is to make sure that damage is only done through AC amplifications.

"TheDamager" effect is set to have 0 Damage and 1 Armor Redcution so it matches most effects. However, in case of effects that have 0 Armor Reduction, I will have to make a seperate "Damager" for that.


If anyone discovers any buggs or improvements I'll be happy to know.
 
Last edited:

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,285
Random quesiton: Is it possible to make buffs invisible? (Not showing for players)
Yes you turn the "Hidden" flag on in the Data Editor for their Behaviour Catalog Entry.

If anyone discovers any buggs or improvements I'll be happy to know.
This has poor scaling due to it having to check many groups. It also seems to apply universal damage reductions and not a damage reduction from a specific damage source (the only time you need to specify damage reduction modifications as otherwise on damage Buff Behaviours would be sufficient).

One might be able to do it more efficiently using Data Tables and storing at the unique handle of the unit the type it has. Or if you want per unit type armor types you could then map the Unit Catalog Entry identifier to a specific type.
 
Level 8
Joined
Oct 2, 2013
Messages
288
What does poor scaling mean exactly? Will is cause overload?

I'm not sure I fully understand the complications with behaviors/buffs. I tried testing some damage amplifications with Buffs and it seemed to work fine. I can't imagine it should bug with any other modifications.
The way I understand it the trigger is harmless (I guess I'm wrong?) because it only replaces the damaging effects with a similar damage effect. As long as I find separate replacements for different amounts of Armor Penetrations.

I would like to gain more insight Data Tables... And the Data Editor in general. I haven't actually tried using that much. My first thought was actually to make ACs with the Data Editor, but my knowledge about it is too unexplored.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,285
The way I understand it the trigger is harmless (I guess I'm wrong?) because it only replaces the damaging effects with a similar damage effect. As long as I find separate replacements for different amounts of Armor Penetrations.
The trigger you linked applied to all damage effects. If it applied to specific ones that would make more sense.

I would like to gain more insight Data Tables... And the Data Editor in general. I haven't actually tried using that much. My first thought was actually to make ACs with the Data Editor, but my knowledge about it is too unexplored.
Data Tables have nothing to do with the data editor. They are way of mapping a value to a unique string for later access. Implementation wise there is probably an underlying hashtable.
 
Level 8
Joined
Oct 2, 2013
Messages
288
Upon further testing I have realized that this trigger does indeed bug with certain Buff effects and modifications - just like you said.

Hmm, this sux. I guess I should look into some of the other solutions you were suggesting. I'll have to look up on some guides for.. Data Tables, was it?

I did also think about User Types, but I don't even know if that can work as I don't know all that much about it.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,285
Trying to fight the game mechanics is not a good idea. You should really evaluate if it is worth it now compared to going down some other mechanic route.

As far as I know, no one has achieved what you are after without a lot of hacky work (special cases for everything that needs it) or shortcuts (allowing for buggy damage at times).
 
Level 8
Joined
Oct 2, 2013
Messages
288
There is one option that you were talking about earlier, with buffs.

The idea is to make hidden Buffs using Require Effect Array under Damge Response for reduction against specific Effects, yea?.. You do indeed have a point that this is going to be painful in the long run as there is too much to work... It's a way though, but it's not ideal to work with.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,285
The idea is to make hidden Buffs using Require Effect Array under Damge Response for reduction against specific Effects, yea?
That array might have an upper size limit (some arrays do). It may work for a dozen or so effects but I am not sure it will work for hundreds.

I recommend testing to make sure it will be sufficient if you decide to use that route to prevent you from wasting time if any limits are not enough.
 
Status
Not open for further replies.
Top