HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Minigun Effect

12-29-2005, 11:22 PM#1
Immoralis
Anyone know an easy way of how to make a normal attack where a givin unit's attack speed slowly increases to 200% faster over 6 seconds then once the units stops attacking for 1.5 seconds, it goes back to the normal attack speed.
12-30-2005, 07:31 AM#2
Naakaloh
An easy way to do it might be to just temporarily increment Agility. I think another option is temporarily giving it the item ability that increases attack speed, although I'm not sure if that will work, but I believe I've seen it done somewhere before.
12-30-2005, 07:54 AM#3
iNfraNe
try playing with the berserk ability from the headhunters.
12-30-2005, 10:28 AM#4
qwertyui
There is no EASY way.

There is a way, however, and this way is to make a trigger, which repeatedly gives a unit an (item) +x% attack speed ability over a course of your "wind-up" time.

For a single minigun on the map this should work:

Trigger 1 - minigun activation
Event - unit uses minigun ability
Action - store unit in variable (optional for single player)
create timer with 1.5 sec expiration time
store timer in variable
activate timerresetter trigger
set an integer = 0
do while timer is not expired:
set integer = integer + 1
if integer <= 6 give +33% attack speed to unit
when timer is expired - remove +33% attack speed on unit and deactivate timerresetter

Trigger 2 - timer resetter - deactivated at start
Event - unit attacks
Action - reset timer

Btw, need to confirm, does unit-remove ability removes all instances of the same ability on unit? I think it does.

This should work for single minigun on the map.
When you have multiple miniguns, you will have to somehow make the triggers know which minigun exactly are they working with.
I'll let someone else here help you on that, since i am too tired now :P
12-30-2005, 05:37 PM#5
iNfraNe
you cannot give the same ability twice to a unit.
12-30-2005, 06:39 PM#6
Naakaloh
Sorry, I guess using agility would just be an easier way with a "wind-up" timer like you described, but it might not give quite the effect Immoralis wants, and it would also restrict the ability to units that actually have agility (heroes). Also if he wants to use it for multiple units, your trigger doesn't appear to handle it, at least not from what I can tell.

I think iNfraNe's suggestion might be your best bet; it is possible, however, to add multiples of the same base Item Ability and have the effect stack, so there are solutions that could do that as well.
12-30-2005, 06:40 PM#7
Tim.
To do that you would need to use a system similar to the BonusMod, where the function adds multiple abilities to equal the desired value.
12-31-2005, 10:15 AM#8
Kojiro
Add an item +attackspeed ability, at level 1, it does absolutely nothing.
Just level up the ability via triggers...

...That'd work, right?
01-01-2006, 07:32 PM#9
Captain Griffen
Item abilities do not level up.
01-01-2006, 08:36 PM#10
Tim.
What you do is create six abilities, +1 +5 +10 +50 +100 +200. Now apply those over time. Be sure to remove the previous ability. There is a more advanced way, but this should do the trick.
01-03-2006, 12:38 AM#11
Immoralis
I think ill try do 6 levels of (IAS in gloves) and level them up. since they are icon less, thanks for help
01-04-2006, 06:12 PM#12
Immoralis
sorry to dp, i have no idea how to make this trigger, any one have any ideas?
01-04-2006, 08:13 PM#13
Earth-Fury
oy. this is gonna hury my poor, alredy taxed brain >_<

lets start with the basic concept: you have 6 abilitys, each to be applied to the unit one by one, with the last one removed. create a global array holding these 6 abilitys. create an integer. now, make a periodic trigger set at (say...) 5 seconts. use this along with the integer and the array to remove the previus ability, and add the next. simple, no?

(handfeeding you a trigger makes you learn nothing :P just keep tryin :))
01-04-2006, 08:29 PM#14
Immoralis
Quote:
Originally Posted by Earth-Fury
oy. this is gonna hury my poor, alredy taxed brain >_<

lets start with the basic concept: you have 6 abilitys, each to be applied to the unit one by one, with the last one removed. create a global array holding these 6 abilitys. create an integer. now, make a periodic trigger set at (say...) 5 seconts. use this along with the integer and the array to remove the previus ability, and add the next. simple, no?

(handfeeding you a trigger makes you learn nothing :P just keep tryin :))

First of all, I doubt you even know the trigger. Second you just told me the basics of something I already thought of and posted above but in a poorer, less effective way. Obviously I would need 6 of an ability, not 6 abilites but 1 with 6 LEVELS, and a telling me to do a periodic trigger set at 5 "seconts" doesn't explain anything. Also adding the bit about handfeeding in an attempt to make people think you have helped is pathetic.

I think posting replies like yours make people learn nothing, possibly more in the direction of quitting.
01-04-2006, 08:42 PM#15
Earth-Fury
Quote:
Originally Posted by Immoralis
First of all, I doubt you even know the trigger. Second you just told me the basics of something I already thought of and posted above but in a poorer, less effective way. Obviously I would need 6 of an ability, not 6 abilites but 1 with 6 LEVELS, and a telling me to do a periodic trigger set at 5 "seconts" doesn't explain anything. Also adding the bit about handfeeding in an attempt to make people think you have helped is pathetic.

I think posting replies like yours make people learn nothing, possibly more in the direction of quitting.

you can do it wit diffrent levels of the same ability, but then you cannot do it more then once for a player. (why? as i recall, its impossible to take research away) theirfore, one would use multipel abilitys.

place them in an array on map initialization. (1-6 indexes, 1 being the weakest, 6 the strongest.)

when you wish to wind up a gun, start a periodic trigger. something like this:

Code:
if custom value of (gun) > 6 then
  set custom value of (gun) to 1
else
 if custom value of (gun) <= 1 then
  add ability ABILITYARRAY[1] to (gun)
 else
  remove ability ABILITYARRAY[custom value of (gun)] to (gun)
  set custom value of (gun) to custom value of (gun) + 1
  add ability ABILITYARRAY[custom value of (gun)] to (gun)
 endif
endif

better described? im jsut a little tierd and thus unable to communicate whole ideas properly.

making that trigger multi-instanceable will be a bit harder, but ill let you give a shot at it.