I'm needing help recreating several WC3 mechanics. Does anybody have any ideas how to do these things ( triggers, data editor ... ) Blizz said that these could be easily changed but I haven't got any luck:
- High ground miss percentage mechanics. ( Units will not have vision up cliff, only able to attack the attacker with miss percentage )
This guy seems to be able to do it, but he used full vision.
- Targeting abilities up cliff without vision (eg: you currently cannot nuke or psi storm up cliff )
-Targeting abilities on units' UI frame( recently removed in patch 9) and on unit's portraits
- Random damage range ( most important )
- WC3 Inventory systems. ( the current discovered inventory seems unpractical, the opening button will be overridden with Battlenet chat button when published, items are too small with no hotkeys ( there are already hotkeys ingame for activating items however ) Hope there will be a better hero systems soon )
- Percentage based armor ( this was mentioned by Blizz ) and damage systems ( this can be done by adding custom weapon with bonus damage to light/amored. Bonus damage to armor may be better )
- Preserving Unit corpse for revive and raise corpse
- More to be added....
I'm needing help recreating several WC3 mechanics. Does anybody have any ideas how to do these things ( triggers, data editor ... ) Blizz said that these could be easily changed but I haven't got any luck:
- High ground miss percentage mechanics. ( Units will not have vision up cliff, only able to attack the attacker with miss percentage ) This guy seems to be able to do it, but he used full vision.
- Targeting abilities up cliff without vision (eg: you currently cannot nuke or psi storm up cliff )
-Targeting abilities on units' UI frame( recently removed in patch 9) and on unit's portraits
- Random damage range ( most important )
- WC3 Inventory systems. ( the current discovered inventory seems unpractical, the opening button will be overridden with Battlenet chat button when published, items are too small with no hotkeys ( there are already hotkeys ingame for activating items however ) Hope there will be a better hero systems soon )
- Percentage based armor ( this was mentioned by Blizz ) and damage systems ( this can be done by adding custom weapon with bonus damage to light/amored. Bonus damage to armor may be better )
- Preserving Unit corpse for revive and raise corpse - More to be added....
Any idea would be appreciated.
Miss percentages are probably possible, but pretty difficult. I have a few ideas about how to begin, but nothing too sure.
Targeting something you can't see is certainly possible as there are already abilities in game that work like this (most of the Build abilities for example). Ability data has a "Flags" field. One of the options is "Require Target Vision." Uncheck it.
I don't have a clue about UI stuff. I suspect that you can't though.
Random damage range can be done with a trigger.
WC3 inventory again falls into UI stuff, so I don't know.
Percentage based damage reduction can be done with behaviors. I'm not sure what you mean about damage types.
You should be able to preserve corpses by creating a "dummy" unit that doesn't block pathing, can't be selected, doesn't provide vision, etc... with a timer when the unit dies. You can then create abilities that interact with these "dummy" corpse units just by using a "Search" effect with the right validators. No triggers necessary!
Thanks for the Flags thing. I figured a way to enable high ground vision very simple through trigger:
HighGroundVision
Events
Unit - Any Unit starts attacking
Local Variables
Conditions
(Cliff level of (Position of (Triggering unit))) > (Cliff level of (Position of (Acquired Target)))
Actions
Visibility - Reveal (Region((Position of (Triggering unit)), ((Triggering unit) Radius (Current)))) for player (Owner of (Acquired Target)) for 2.0 seconds and Do Not check cliff level
Working on miss percentage now. Probably gonna use conditions for random integer
<blockquote>
Quote from Ice_bane:
That really, really cracks me up! WHY THE HECK didn't the implement min-max damage in the data editor, its so basic for map making!
</blockquote>
Got some hot news *looks left, looks right*
There's some gossip that effects of type "Effect Damage" actually have a "Random"-field that can be used to make RANDOM damage o.0
But if anyone asks: you don't have this info from me. *cough* (http://img15.imageshack.us/i/unbenanntmy.png/)
Honestly, Blizzard added so much stuff that we only know a fraction of it yet. No need for stomping on them already :P
Step 1) Open the Data Window
Step 2) Ctrl+Shift+H (Shows Advanced Values)
Step 3) Select the Weapon to modify, select the Damage Effect.
Step 4) Set the "Combat - Amount" value to the minimum damage.
Step 5) Set the "Effect - Random" value to the delta damage.
For example, if you modified the "Battlecruiser AG - ATS Laser Battery", and set the "Effect - Random" value to 10, your Battlecruiser will now deal 10-20 damage.
Step 1) Open the Data Window Step 2) Ctrl+Shift+H (Shows Advanced Values) Step 3) Select the Weapon to modify, select the Damage Effect. Step 4) Set the "Combat - Amount" value to the minimum damage. Step 5) Set the "Effect - Random" value to the delta damage.
For example, if you modified the "Battlecruiser AG - ATS Laser Battery", and set the "Effect - Random" value to 10, your Battlecruiser will now deal 10-20 damage.
Done. ^_^
Note: This has 0 triggers, hurrah!
That's one way to do it, but if you want a non-uniform distribution, you will have to use multiple damage effects, or use triggers.
I'm trying to add percent-based damage reduction, but I just can't seem to figure it out. How did you do it?
Add a behavior, under damage response set the Chance to 1 and then Modify Fraction to whatever you want it to be lowered to, i.e. 0.75 for a 25% reduction.
I'm trying to make the damage reduction dynamic. Unfortunately, it's multiplicative on a single behavior with stacks. So 0.99 with a stack of two ends up being 0.9801 damage.
Any ideas on an "easy" way to set the reduction through triggers to a specific value on a per Unit basis?
If you are okay with approximations, you could use a modification close to 1 and do some math to figure out how many stacks you need.
For instance, if the damage is modified by a facotr of .995, and you want to give a damage reduction of 50%, just divide log(.5) by log(.995), round, and apply that many.
In this case, the number is 138.32. Applying 138 stacks of .995 fractional damage yields .50071 fractional damage which is close enough to .5 that nobody will probably notice a difference.
Ooohhh, that's pretty nifty. I still hope that some better methods will be possible, but for now, that ought to work just fine. Thanks a ton for that! =D
EDIT: Huh. It doesn't appear that there are any logarithms available. Still not sure how this would be done. . . I really like your idea, though.
A great idea for a project would be to make a 'Map template' for making war 3 maps. By this I mean like a blank map with data fields and triggers set that could be added to any map to immediately do anything that warcraft 3 did automatically.
Would make it so everytime people like programmer wanted to make a map that uses warcraft 3 mechanics they could do so easily.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
I'm needing help recreating several WC3 mechanics. Does anybody have any ideas how to do these things ( triggers, data editor ... ) Blizz said that these could be easily changed but I haven't got any luck:
- High ground miss percentage mechanics. ( Units will not have vision up cliff, only able to attack the attacker with miss percentage ) This guy seems to be able to do it, but he used full vision.
- Targeting abilities up cliff without vision (eg: you currently cannot nuke or psi storm up cliff )
-Targeting abilities on units' UI frame( recently removed in patch 9) and on unit's portraits
- Random damage range ( most important )
- WC3 Inventory systems. ( the current discovered inventory seems unpractical, the opening button will be overridden with Battlenet chat button when published, items are too small with no hotkeys ( there are already hotkeys ingame for activating items however ) Hope there will be a better hero systems soon )
- Percentage based armor ( this was mentioned by Blizz ) and damage systems ( this can be done by adding custom weapon with bonus damage to light/amored. Bonus damage to armor may be better )
- Preserving Unit corpse for revive and raise corpse - More to be added....
Any idea would be appreciated.
so your making DOTA?
@frozendeath101: Go
not DOTA, i'm making other w3 maps. As i remember, there was no cliff for high ground in DOTA though. Still no hope ??
@progammer: Go
Miss percentages are probably possible, but pretty difficult. I have a few ideas about how to begin, but nothing too sure.
Targeting something you can't see is certainly possible as there are already abilities in game that work like this (most of the Build abilities for example). Ability data has a "Flags" field. One of the options is "Require Target Vision." Uncheck it.
I don't have a clue about UI stuff. I suspect that you can't though.
Random damage range can be done with a trigger.
WC3 inventory again falls into UI stuff, so I don't know.
Percentage based damage reduction can be done with behaviors. I'm not sure what you mean about damage types.
You should be able to preserve corpses by creating a "dummy" unit that doesn't block pathing, can't be selected, doesn't provide vision, etc... with a timer when the unit dies. You can then create abilities that interact with these "dummy" corpse units just by using a "Search" effect with the right validators. No triggers necessary!
Thanks for the Flags thing. I figured a way to enable high ground vision very simple through trigger:
HighGroundVision
Events
Unit - Any Unit starts attacking
Local Variables
Conditions
(Cliff level of (Position of (Triggering unit))) > (Cliff level of (Position of (Acquired Target)))
Actions
Visibility - Reveal (Region((Position of (Triggering unit)), ((Triggering unit) Radius (Current)))) for player (Owner of (Acquired Target)) for 2.0 seconds and Do Not check cliff level
Working on miss percentage now. Probably gonna use conditions for random integer
That really, really cracks me up! WHY THE HECK didn't the implement min-max damage in the data editor, its so basic for map making!
<blockquote>
Quote from Ice_bane:
That really, really cracks me up! WHY THE HECK didn't the implement min-max damage in the data editor, its so basic for map making!
</blockquote>
Got some hot news *looks left, looks right*
There's some gossip that effects of type "Effect Damage" actually have a "Random"-field that can be used to make RANDOM damage o.0
But if anyone asks: you don't have this info from me. *cough* (http://img15.imageshack.us/i/unbenanntmy.png/)
Honestly, Blizzard added so much stuff that we only know a fraction of it yet. No need for stomping on them already :P
Random Damage is painfully Simple.
Step 1) Open the Data Window Step 2) Ctrl+Shift+H (Shows Advanced Values) Step 3) Select the Weapon to modify, select the Damage Effect. Step 4) Set the "Combat - Amount" value to the minimum damage. Step 5) Set the "Effect - Random" value to the delta damage.
For example, if you modified the "Battlecruiser AG - ATS Laser Battery", and set the "Effect - Random" value to 10, your Battlecruiser will now deal 10-20 damage.
Done. ^_^
Note: This has 0 triggers, hurrah!
That's one way to do it, but if you want a non-uniform distribution, you will have to use multiple damage effects, or use triggers.
@progammer: Go
I'm trying to add percent-based damage reduction, but I just can't seem to figure it out. How did you do it?
@s3rius:
That's true, I figured that fixed damage is a lot easier to handle when balancing tho :>
Add a behavior, under damage response set the Chance to 1 and then Modify Fraction to whatever you want it to be lowered to, i.e. 0.75 for a 25% reduction.
I'm trying to make the damage reduction dynamic. Unfortunately, it's multiplicative on a single behavior with stacks. So 0.99 with a stack of two ends up being 0.9801 damage.
Any ideas on an "easy" way to set the reduction through triggers to a specific value on a per Unit basis?
If you are okay with approximations, you could use a modification close to 1 and do some math to figure out how many stacks you need.
For instance, if the damage is modified by a facotr of .995, and you want to give a damage reduction of 50%, just divide log(.5) by log(.995), round, and apply that many.
In this case, the number is 138.32. Applying 138 stacks of .995 fractional damage yields .50071 fractional damage which is close enough to .5 that nobody will probably notice a difference.
Ooohhh, that's pretty nifty. I still hope that some better methods will be possible, but for now, that ought to work just fine. Thanks a ton for that! =D
EDIT: Huh. It doesn't appear that there are any logarithms available. Still not sure how this would be done. . . I really like your idea, though.
A great idea for a project would be to make a 'Map template' for making war 3 maps. By this I mean like a blank map with data fields and triggers set that could be added to any map to immediately do anything that warcraft 3 did automatically.
Would make it so everytime people like programmer wanted to make a map that uses warcraft 3 mechanics they could do so easily.