• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Trigger] Reduce duration, number of rocks and increase the size of rocks.

Status
Not open for further replies.

old

old

Level 6
Joined
May 8, 2016
Messages
112
This spell is called Rock Devastation (i'll put the map here for you to download), but i can't edit a S*** and the world editor always close after the first map save (i make changes, test map, quit wacraft, test map again and the WE is shut down)

WHAT I WANT TO DO: I want to reduce the duration of spell (for 2-3 seconds), reduce the number of rocks (this will reduce automatically when the duration of spell reduces) and increase the size of rocks (they are too small). Here is the trigger, show me what i have to change.

Rock Devastation Cast
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Rock Devastation
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
RD_Index[3] Equal to 0
Then - Actions
Trigger - Turn on Rock Devastation Loop <gen>
Else - Actions
Set RD_Index[1] = (RD_Index[1] + 1)
Set RD_Caster[RD_Index[1]] = (Casting unit)
Set RD_Loc[RD_Index[1]] = (Target point of ability being cast)
Set RD_Level[RD_Index[1]] = (Level of Rock Devastation for RD_Caster[1])
Set RD_Player[RD_Index[1]] = (Owner of RD_Caster[RD_Index[1]])
-------- -------------------------------------------------- --------
Set RD_Number[RD_Index[1]] = 30
Set RD_Distance[RD_Index[1]] = (500.00 + (100.00 x (Real(RD_Level[RD_Index[1]]))))
Set RD_MinDistance[RD_Index[1]] = 10.00
Set RD_ChangeDistance[RD_Index[1]] = 3.00
Set RD_DummyDistance[RD_Index[1]] = 0.00
Set RD_RepeatTime[RD_Index[1]] = 0.50
Set RD_Effects[RD_Index[1]] = Abilities\Spells\Other\Volcano\VolcanoDeath.mdl
-------- -------------------------------------------------- --------
Set RD_Angle[RD_Index[1]] = (360.00 / (Real(RD_Number[RD_Index[1]])))
Set RD_ChangeAngle[RD_Index[1]] = RD_Angle[RD_Index[1]]
For each (Integer A) from 1 to RD_Number[RD_Index[1]], do (Actions)
Loop - Actions
Set Temp_Point1 = (RD_Loc[RD_Index[1]] offset by RD_DummyDistance[RD_Index[1]] towards (RD_Angle[RD_Index[1]] x (Real((Integer A)))) degrees)
Unit - Create 1 Rock Devastation (DUMMY) for RD_Player[RD_Index[1]] at Temp_Point1 facing (RD_Angle[RD_Index[1]] x (Real((Integer A)))) degrees
Unit - Set level of Rock Devastation (DUMMY) for (Last created unit) to RD_Level[RD_Index[1]]
Set RD_Dummy[((RD_Index[1] x RD_Number[RD_Index[1]]) + (Integer A))] = (Last created unit)
Custom script: call RemoveLocation(udg_Temp_Point1)






Rock Devastation Loop
Events
Time - Every 0.03 seconds of game time
Conditions
Actions
Set RD_Index[3] = 0
For each (Integer RD_Index[2]) from 1 to RD_Index[1], do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
RD_Distance[RD_Index[2]] Greater than or equal to RD_MinDistance[RD_Index[2]]
Then - Actions
Set RD_Index[3] = (RD_Index[3] + 1)
Set RD_Counter[((RD_Index[2] x 2) + 1)] = (RD_Counter[((RD_Index[2] x 2) + 1)] + 0.03)
Set RD_Counter[((RD_Index[2] x 2) + 2)] = (RD_Counter[((RD_Index[2] x 2) + 2)] + 1.00)
Set RD_Angle[RD_Index[2]] = (RD_Angle[RD_Index[2]] + RD_ChangeAngle[RD_Index[2]])
Set RD_Distance[RD_Index[2]] = (RD_Distance[RD_Index[2]] - RD_ChangeDistance[RD_Index[2]])
Set Temp_Point1 = (RD_Loc[RD_Index[2]] offset by RD_Distance[RD_Index[2]] towards RD_Angle[RD_Index[2]] degrees)
Unit - Order RD_Dummy[((RD_Index[2] x RD_Number[RD_Index[2]]) + (Integer(RD_Counter[((RD_Index[2] x 2) + 2)])))] to Neutral Tinker - Cluster Rockets Temp_Point1
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
RD_Counter[((RD_Index[2] x 2) + 1)] Greater than or equal to RD_RepeatTime[RD_Index[2]]
Then - Actions
Set RD_Counter[((RD_Index[2] x 2) + 1)] = 0.00
For each (Integer A) from 1 to 5, do (Actions)
Loop - Actions
Set Temp_Point1 = (RD_Loc[RD_Index[2]] offset by 100.00 towards (72.00 x (Real((Integer A)))) degrees)
Special Effect - Create a special effect at Temp_Point1 using RD_Effects[RD_Index[2]]
Special Effect - Destroy (Last created special effect)
Custom script: call RemoveLocation(udg_Temp_Point1)
Else - Actions
Custom script: call RemoveLocation(udg_Temp_Point1)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
RD_Counter[((RD_Index[2] x 2) + 2)] Equal to (Real(RD_Number[RD_Index[2]]))
Then - Actions
Set RD_Counter[((RD_Index[2] x 2) + 2)] = 0.00
Else - Actions
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
RD_Booleen[RD_Index[2]] Equal to False
Then - Actions
Set RD_Booleen[RD_Index[2]] = True
For each (Integer A) from 1 to RD_Number[RD_Index[2]], do (Actions)
Loop - Actions
Unit - Remove RD_Dummy[((RD_Index[2] x RD_Number[RD_Index[2]]) + (Integer A))] from the game
Custom script: call RemoveLocation(udg_RD_Loc[udg_RD_Index[2]] )
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
RD_Index[3] Equal to 0
Then - Actions
Trigger - Turn off (This trigger)
Else - Actions
 

Attachments

  • Elementals Spell Pack By Gaby-Boy V.1.20.w3x
    296.1 KB · Views: 18

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,202
WHAT I WANT TO DO: I want to reduce the duration of spell (for 2-3 seconds), reduce the number of rocks (this will reduce automatically when the duration of spell reduces) and increase the size of rocks (they are too small). Here is the trigger, show me what i have to change.
The following are the control variables.
Set RD_Number[RD_Index[1]] = 30
Set RD_Distance[RD_Index[1]] = (500.00 + (100.00 x (Real(RD_Level[RD_Index[1]]))))
Set RD_MinDistance[RD_Index[1]] = 10.00
Set RD_ChangeDistance[RD_Index[1]] = 3.00
Set RD_DummyDistance[RD_Index[1]] = 0.00
Set RD_RepeatTime[RD_Index[1]] = 0.50
Set RD_Effects[RD_Index[1]] = Abilities\Spells\Other\Volcano\VolcanoDeath.mdl
So you will to set RD_Number to a smaller value. You can also change the size of the rocks by changing the dummy unit art scale in the object editor.

I am unsure how duration works for the ability because it is GUI and you did not post it in TRIGGER tags to keep the formatting readable.
 
Status
Not open for further replies.
Top