Map Triggers
|
|
Mystic_Prophet | Date: Monday, 2012-11-19, 7:05:47 PM | Message # 1 |
Stage 4
Group: Users
Messages: 220
Reputation: 12
Status: Offline
| So, some background information. Each item has a number of charges equal to its level. This allows me to easily bar people from picking up higher leveled items without having to add them all to a group via triggers. The following trigger is how I level the abilities on my items. Using an axe as an example. Note that the only thing that bugs here is the HP (or MP). Damage, stats, or pretty much anything else works fine.
Code Axe Damage Events Unit - A unit Acquires an item Conditions (Substring((Name of (Item being manipulated)), 1, 3)) Equal to Axe Actions Unit - Set level of Axe Damage Bonus for (Triggering unit) to ((Charges remaining in (Item being manipulated)) / 5) Unit - Set level of Axe Life Bonus for (Triggering unit) to ((Charges remaining in (Item being manipulated)) / 5)
Now. Just because I've brought it up so often. I figure I'll post my stat based spell triggers. This is done in multiple parts.
Code Spell Setup Events Unit - A unit enters (Entire map) Conditions Actions Trigger - Add to Damage display <gen> the event (Unit - (Entering unit) Takes damage) Trigger - Add to Healing display <gen> the event (Unit - (Entering unit) Takes damage) -------- 1 THROUGH 20 -------- Trigger - Add to Spell 1x INT <gen> the event (Unit - (Entering unit) Takes damage) Trigger - Add to Spell 2x INT <gen> the event (Unit - (Entering unit) Takes damage) Trigger - Add to Spell 3x INT <gen> the event (Unit - (Entering unit) Takes damage) Trigger - Add to Spell 4x INT <gen> the event (Unit - (Entering unit) Takes damage)
This trigger makes damage detection possible for every unit in the map. It also requires that there be no pre-placed units on the map (or that they be replaced if there are any). The trigger is a lot longer than what's posted here, as you need to add this event to EVERY damage dealing trigger.Added (2012-11-19, 7:05:12 PM) --------------------------------------------- Next is my damage display.
Code Damage display Events Conditions (Damage taken) Greater than or equal to 1.01 Actions Floating Text - Create floating text that reads (String((Integer((Damage taken))))) above (Triggering unit) with Z offset 0.00, using font size 10.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees Floating Text - Change (Last created floating text): Disable permanence Floating Text - Change the fading age of (Last created floating text) to 0.50 seconds Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Pretty self explanatory. Whenever a unit takes damage higher than 1, it will show up as floating red text.
And now the opposite trigger for healing. The same but with negative damage. Code Healing display Events Conditions (Damage taken) Less than 0.00 Actions Floating Text - Create floating text that reads (String(((Integer((Damage taken))) x -1))) above (Triggering unit) with Z offset 0.00, using font size 10.00, color (0.00%, 100.00%, 0.00%), and 0.00% transparency Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees Floating Text - Change (Last created floating text): Disable permanence Floating Text - Change the fading age of (Last created floating text) to 0.50 seconds Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds Added (2012-11-19, 7:05:36 PM) --------------------------------------------- Finally you have one of the damage dealing triggers. These work by making the actual ability deal a specific amount of damage below 1 that corresponds to the trigger. For example Code Spell 1x INT Events Conditions (Damage taken) Equal to 0.01 Actions If (All Conditions are True) then do (Then Actions) else do (Else Actions) If - Conditions ((Triggering unit) has buff Banish) Equal to True Then - Actions Unit - Cause (Damage source) to damage (Triggering unit), dealing (2.00 x (Real((Intelligence of (Damage source) (Include bonuses))))) damage of attack type Spells and damage type Normal Else - Actions Unit - Cause (Damage source) to damage (Triggering unit), dealing (1.00 x (Real((Intelligence of (Damage source) (Include bonuses))))) damage of attack type Spells and damage type Normal
This of course requires that the damage is not altered by armor type. So all armor types must take 100% damage from spells. You can still change the other values if you like. Any item that reduces magic damage will break the trigger as well.Added (2012-11-19, 7:05:47 PM) --------------------------------------------- The trigger for stat based summons is a lot simpler. You simply have to make every summon a hero (hide its glow, icon, etc) and then this trigger will work.
Code Water Elementals LVL 1 Events Unit - A unit Spawns a summoned unit Conditions (Unit-type of (Summoned unit)) Equal to Water Elemental (Hero Lvl1) Actions Hero - Modify Strength of (Summoned unit): Set to ((Intelligence of (Summoning unit) (Include bonuses)) / 3) Hero - Modify Agility of (Summoned unit): Set to ((Intelligence of (Summoning unit) (Include bonuses)) / 4) Hero - Modify Intelligence of (Summoned unit): Set to ((Intelligence of (Summoning unit) (Include bonuses)) / 3)
and this ensures that your summons aren't reviveable at an altar.
Code Summon cleanup Events Unit - A unit Becomes revivable Conditions And - All (Conditions) are true Conditions ((Triggering unit) is A Hero) Equal to True ((Triggering unit) is Summoned) Equal to True Actions Unit - Remove (Triggering unit) from the game
So that's about it. Comments?
|
|
| |
darkchaos | Date: Monday, 2012-11-19, 7:59:12 PM | Message # 2 |
Mapmaker
Group: Lead Designer
Messages: 1190
Reputation: 32767
Status: Offline
| Looked at it for 5sec, entering unti leaks btw, will look at it later mayb
|
|
| |
Mystic_Prophet | Date: Monday, 2012-11-19, 10:05:39 PM | Message # 3 |
Stage 4
Group: Users
Messages: 220
Reputation: 12
Status: Offline
| Eh might be able to use triggering unit with the same effect. I'll look into it when I'm bored.
|
|
| |
darkchaos | Date: Monday, 2012-11-19, 10:46:10 PM | Message # 4 |
Mapmaker
Group: Lead Designer
Messages: 1190
Reputation: 32767
Status: Offline
| you should use triggering unit
|
|
| |
Sandman366 | Date: Monday, 2012-11-19, 11:46:50 PM | Message # 5 |
Stage 9
Group: Moderator
Messages: 1945
Reputation: 70
Status: Offline
| Not being able to reduce spell damage just sounds mostly useless....and "entering unit" just doesn't sound as universal as triggering unit.
Though DC saying to use triggering unit....how ironic. (Did you see the shoutbox about DC using variables for just about every single one of his triggers? His spells save what unit is what in variables...UNIQUE variables...just for that spell. And they're cleared afterwards! Why didnt' you use triggering unit & crap?!?)
Malevolent criminal I, when the vision paints my mind. Cross the invisible line... ...and you'll be paid in kind.
|
|
| |
darkchaos | Date: Tuesday, 2012-11-20, 0:07:49 AM | Message # 6 |
Mapmaker
Group: Lead Designer
Messages: 1190
Reputation: 32767
Status: Offline
| You cant use triggering unit when you have delays, or waits since memory is cleared they were also made in gui so there wernt any locals
|
|
| |
Mystic_Prophet | Date: Wednesday, 2012-11-21, 2:36:39 AM | Message # 7 |
Stage 4
Group: Users
Messages: 220
Reputation: 12
Status: Offline
| Never said you couldn't reduce spell damage. I said it had to do 100% to all armor types. Armor amount still reduces damage (unless you set the damage type to universal) and you can always trigger an item if you're that keen on having an item reduce spell damage by 30% or some other item of the sort. though personally I don't see the reason behind needing an item like that. I've never had any reason to reduce spell damage by a percentage.
Also. Still need to check if triggering unit even works. I started this map years ago, and there's a possibility I did it that way for a reason. Also possible I just overlooked it though.
Message edited by Mystic_Prophet - Wednesday, 2012-11-21, 2:40:25 AM |
|
| |
Sandman366 | Date: Sunday, 2012-11-25, 8:30:57 PM | Message # 8 |
Stage 9
Group: Moderator
Messages: 1945
Reputation: 70
Status: Offline
| Armor Amount last I checked doesn't do anything to spell damage, unless your triggered damage isn't doing spell damage.
And why do you need to use wait in something...like...say....Elementalist's Lightning? Or, better yet, Dark Summoner's spells?
Malevolent criminal I, when the vision paints my mind. Cross the invisible line... ...and you'll be paid in kind.
|
|
| |
darkchaos | Date: Sunday, 2012-11-25, 9:14:30 PM | Message # 9 |
Mapmaker
Group: Lead Designer
Messages: 1190
Reputation: 32767
Status: Offline
| cause i have no idea how to makeit mui.
|
|
| |
Mystic_Prophet | Date: Monday, 2012-11-26, 0:05:10 AM | Message # 10 |
Stage 4
Group: Users
Messages: 220
Reputation: 12
Status: Offline
| The only time armor amount doesn't affect triggered spell damage is if you put damage type to universal, magic, or enhanced. If you put it to normal, then it affects it like any other normal attack. I can show you my test map if you like. Armor definitely affects spell damage.
This may help you to understand.
http://www.wc3c.net/showthread.php?p=1030046#post1030046
Message edited by Mystic_Prophet - Monday, 2012-11-26, 0:27:23 AM |
|
| |
darkchaos | Date: Monday, 2012-11-26, 2:10:21 AM | Message # 11 |
Mapmaker
Group: Lead Designer
Messages: 1190
Reputation: 32767
Status: Offline
| Quote Armor Amount last I checked doesn't do anything to spell damage, unless your triggered damage isn't doing spell damage. And why do you need to use wait in something...like...say....Elementalist's Lightning? Or, better yet, Dark Summoner's spells?
|
|
| |
Sandman366 | Date: Monday, 2012-11-26, 10:48:00 AM | Message # 12 |
Stage 9
Group: Moderator
Messages: 1945
Reputation: 70
Status: Offline
| Lol, Prophet, I just linked that on another forum yesterday...
...and DC, I think you missed the point (though I may have worded it poorly).
Malevolent criminal I, when the vision paints my mind. Cross the invisible line... ...and you'll be paid in kind.
|
|
| |
Mystic_Prophet | Date: Monday, 2012-11-26, 12:18:56 PM | Message # 13 |
Stage 4
Group: Users
Messages: 220
Reputation: 12
Status: Offline
| Yeah attack type is still spells. therefore it is still counted as "spell damage" for game purposes. Anyways. anyone else have any triggers to share or request?
|
|
| |
Sandman366 | Date: Tuesday, 2012-11-27, 5:16:34 PM | Message # 14 |
Stage 9
Group: Moderator
Messages: 1945
Reputation: 70
Status: Offline
| If your trigger detects damage of .01 and you have to have a spell deal .01 and nothing else, and no other spell deal that much.....how could you have any sort of spell reduction with that, unless you have it count as a physical attack....then armor amount is called into play. I'm missing how spell reduction could work properly with that kind of system..
Malevolent criminal I, when the vision paints my mind. Cross the invisible line... ...and you'll be paid in kind.
|
|
| |
Mystic_Prophet | Date: Tuesday, 2012-11-27, 9:32:15 PM | Message # 15 |
Stage 4
Group: Users
Messages: 220
Reputation: 12
Status: Offline
| Damage type is not the same as attack type. you use attack type spells, and damage type normal. this is still counted as a spell. and a spell reduction item would work normally on it as would armor.
such an item would break the damage detect condition in my particular trigger, but that doesn't change the fact that the damage being done is NOT physical. Really wish you would stop saying that after I've explained several times. If you wanted to, you could make triggered spells that are affected by both armor and spell reduction items.
in order to make a spell reduction item in my map, it would have to be triggered as part of a condition. rather tedious, but it could be done. I'd just stick to the armor reduction. Never saw a point for anything more than that.
|
|
| |