- Joined
- Jul 4, 2009
- Messages
- 48
Hey. I have a problem. Yesterday, i made a simple spell, a meteor one: you cast it and it damages enemies in 200 AoE after 2.2 seconds. I made it with timers and so, it was perfectly all right, everything worked.
When today i tried tested the map again, it got bugged after like 4 uses, now it's always bugged and i didn't change anything: when the meteor hits the ground, it should create floating texts, to write the damage done to the screen, it does this, but it doesn't damage the picked units, only the first one.
-psipenge
When today i tried tested the map again, it got bugged after like 4 uses, now it's always bugged and i didn't change anything: when the meteor hits the ground, it should create floating texts, to write the damage done to the screen, it does this, but it doesn't damage the picked units, only the first one.
-
Meteor
-
Events
- Unit - A unit starts the effect of an ability
-
Conditions
- (Ability being cast) Equal to Meteor
-
Actions
- Countdown Timer - Start MeteorTimer[Custom Value of (Casting unit)] as a One-shot timer that will expire in 2.20 seconds
- Set MeteorLoc[Custom Value of (Casting unit)] = (Target point of ability being cast)
- Special Effect - Create a special effect at MeteorLoc[Custom Value of (Casting Unit) using war3imported/ChaosMeteorV3.mdx
- Set Blood[BloodCounter] = (Last created special effect)
- Countdown Timer - Start Bloodtimer[Bloodcounter] as a One-shot timer that will expire in 5.00 seconds
- Trigger - Add to BloodFXDestroy <gen> the event (Time - Bloodtimer[Bloodcounter] expires)
- Set Bloodcounter = (Bloodcounter + 1)
-
Events
-
MeteorDamage
-
Events
- Time - MeteorTimer[1] expires
- Time - MeteorTimer[2] expires
- Time - MeteorTimer[3] expires
- Time - MeteorTimer[4] expires
- Time - MeteorTimer[5] expires
- Time - MeteorTimer[6] expires
- Conditions
-
Actions
-
For each (Integer A) from 1 to 6, do (Actions)
- Custom script: if GetExpiredTimer() == udg_MeteorTimer[GetForLoopIndexA()] then
- Set MeteorArea[(Integer A)] = (Units within 200.00 of MeteorLoc[(Integer A) matching ((((Owner of Matching unit is an enemy of (Owner of (Hero[(Integer A)])) Equal to True) and ((((Matching unit) is alive) Equal to True) and (Unit-type of (Matching uit) is Not Equal to Fireball)
-
Unit Group - Pick every unit in MeteorArea[(Integer A)] and do (Actions)
-
Loop - Actions
- Set MeteorDamage[(Integer A)] = ((((Random real number between 38.00 and 42.00) + Spellpower[(Integer A)]) x (1 + ((Real(Hero Level of Hero[(Integer A)])/12.00)) x (1 - ElementalRes[(Custom Value of (Picked unit))]))
- Floating Text - Create floating text that reads (String((Integer(MeteorDamage[(Integer A)])))) above (Picked unit) with Z offset 5.00, using font size 10, color (100.00%, 80.00%, 0.00%), and 0.00% transparency
- Set Degrees = (Random real number between 80.00 and 100.00)
- Floating Text - Set the velocity of (Last created floating text) to 64.00 towards Degrees degrees
- Floating Text - Change (Last created floating text): Disable permanence
- Floating Text - Change lifespan of (Last created floating text) to 3.00 seconds
- Floating Text - Change the fading age of (Last created floating text) to 2.00 seconds
- Floating Text - Hide (Last created floating text) for (All players)
- Floating Text - Show (Last created floating text) for (Player group((Owner of Hero[(Integer A)])))
- Unit - Cause Hero[(Integer A)] to damage (Picked unit), dealing MeteorDamage[(Integer A)] damage of attack type Spells and damage type Normal
-
Loop - Actions
- Custom script: call RemoveLocation (udg_MeteorLoc[GetForLoopIndexA()])
- Custom script: call DestroyGroup( udg_MeteorArea[GetForLoopIndexA()])
- Custom script: endif
-
For each (Integer A) from 1 to 6, do (Actions)
-
Events
-psipenge
Last edited: