- Joined
- Dec 11, 2014
- Messages
- 2,003
Ok I Have Made an ORPG Map with 8 players. but it was Empty in SP, So I Decided to make an AI For it. I Used Triggers for the AI, Not AI Editor.
What it does:At first, the game Runs a Cinematic. then if the Play is Singleplayer, Finds the Singleplayers' Hero by setting integers.
At the same time, The Players choose their hero by dialogues. When they choose a Hero, a Unit is Removed ''(Hero (male2))'' and Another unit comes as it.
NOTE: I Don't Care about leaks Right Now, I'll fix them at the End, SO PLEASE DON'T COMMENT: LEAKS!/DON'T USE WAITS!
Then, it runs Creation of Heroes, A Trigger that, well, creates Computer AI Heroes, NOT PLAYER HEROES. and adds Them to a Player group needed later.
OK, That's it. the Heroes create, and other triggers (not listed) work.
BUT, the heroes don't Cast abilities. so I Created A Trigger for each hero-type to Learn and Cast.
Notice: Maximum Hero level= 20. Normal Abilities=4 levels Ultimates= 3 levels.
Priest:
Ability 1. Holy light: Our well-known holy light with the difference it can heal self.
Ability 2. Healing Wave: again no difference with the vanilla.
Ability 3. Devotion aura: again no difference with the vanilla.
Ability 4. Mass Healing: Same as Tranquility (Ultimate)
Now, Triggers for AI:
But They Don't Do the Spells.
Warrior:
Ability 1. Quick Slash: Based on Storm Bolt With a Different Model and Icon
Ability 2. Critical Strike: No difference between the Original
Ability 3. Aura of War: Based on Tauren chieftain aura
Ability 4. Fan of Knives: Based on the Normal fan of knive, Slightly changed stats (Ultimate)
Doesn't Work...
Wizard:
Ability 1. Chain lightning: Again no difference
Ability 2. Blizzard: No changes...
Ability 3. Earthquake: Again...
Ability 4. Flame strike: Normal one with a low cooldown (Ultimate)
EDIT: Wizards' Chain lightning works.
Ranger:
as long as I Saw the AI Doesn't work, i stopped. So no need for it to know.
So, Where is my mistake?
Anyone who helps me, Obviously Gets (REP).
What it does:At first, the game Runs a Cinematic. then if the Play is Singleplayer, Finds the Singleplayers' Hero by setting integers.
At the same time, The Players choose their hero by dialogues. When they choose a Hero, a Unit is Removed ''(Hero (male2))'' and Another unit comes as it.
NOTE: I Don't Care about leaks Right Now, I'll fix them at the End, SO PLEASE DON'T COMMENT: LEAKS!/DON'T USE WAITS!
-
Init Cinematic
-

Events
-


Map initialization
-
-

Conditions
-

Actions
-


Set Hero_Unready_Player[1] = Hero (Male 2) 0087 <gen>
-


Set Hero_Unready_Player[2] = Hero (Male 2) 0409 <gen>
-


Set Hero_Unready_Player[3] = Hero (Male 2) 0412 <gen>
-


Set Hero_Unready_Player[4] = Hero (Male 2) 0417 <gen>
-


Set Hero_Unready_Player[5] = Hero (Male 2) 0418 <gen>
-


Set Hero_Unready_Player[6] = Hero (Male 2) 0419 <gen>
-


Set Hero_Unready_Player[7] = Hero (Male 2) 0420 <gen>
-


Set Hero_Unready_Player[8] = Hero (Male 2) 0421 <gen>
-



Do Multiple ActionsFor each (Integer A) from 1 to 8, do (Actions)
-




Loop - Actions
-





Set Hero_Unready_Player_Facing[(Integer A)] = (Facing of Hero_Unready_Player[(Integer A)])
-





Set Hero_Unready_Player_Point[(Integer A)] = (Position of Hero_Unready_Player[(Integer A)]
-
-
-
-


-------- From this on, It's the Cinematic. NOT IMPORTANT--------
-


-------- Bla Bla Bla Bla Bla--------
-


Trigger - Run Single Player Detecting <gen> (ignoring conditions)
-
-
-
Single Player Detecting
-

Events
-

Conditions
-

Actions
-


Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




Current game is singleplayer Equal to (==) True
-
-



Then - Actions
-




Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






(Player 1 (Red) controller) Equal to (==) User
-
-





Then - Actions
-






Set Integer_SP = 1
-






Set SinglePlayer_Is_On[Integer_SP] = True
-
-





Else - Actions
-






Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-







If - Conditions
-








(Player 2 (Blue) controller) Equal to (==) User
-
-







Then - Actions
-








Set Integer_SP = 2
-








Set SinglePlayer_Is_On[Integer_SP] = True
-
-







Else - Actions
-








Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-









If - Conditions
-










(Player 3 (Teal) controller) Equal to (==) User
-
-









Then - Actions
-










Set Integer_SP = 3
-










Set SinglePlayer_Is_On[Integer_SP] = True
-
-









Else - Actions
-










Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-











If - Conditions
-












(Player 4 (Purple) controller) Equal to (==) User
-
-











Then - Actions
-












Set Integer_SP = 4
-












Set SinglePlayer_Is_On[Integer_SP] = True
-
-











Else - Actions
-












Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-













If - Conditions
-














(Player 5 (Yellow) controller) Equal to (==) User
-
-













Then - Actions
-














Set Integer_SP = 5
-














Set SinglePlayer_Is_On[Integer_SP] = True
-
-













Else - Actions
-














Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-















If - Conditions
-
















(Player 6 (Orange) controller) Equal to (==) User
-
-















Then - Actions
-
















Set Integer_SP = 6
-
















Set SinglePlayer_Is_On[Integer_SP] = True
-
-















Else - Actions
-
















Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-

















If - Conditions
-


















(Player 7 (Green) controller) Equal to (==) User
-
-

















Then - Actions
-


















Set Integer_SP = 7
-


















Set SinglePlayer_Is_On[Integer_SP] = True
-
-

















Else - Actions
-


















Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



















If - Conditions
-




















(Player 8 (Pink) controller) Equal to (==) User
-
-



















Then - Actions
-




















Set Integer_SP = 8
-




















Set SinglePlayer_Is_On[Integer_SP] = True
-
-



















Else - Actions
-




















Do nothing
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-



Else - Actions
-




Do nothing
-
-
-


Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




SinglePlayer_Is_On[Integer_SP] Equal to (==) True
-
-



Then - Actions
-




Game - Display to (All players) the text: Singleplayer Detect...
-




Trigger - Run Creation Of Heroes <gen> (ignoring conditions)
-
-



Else - Actions
-




Do nothing
-
-
-
-
Then, it runs Creation of Heroes, A Trigger that, well, creates Computer AI Heroes, NOT PLAYER HEROES. and adds Them to a Player group needed later.
-
Creation Of Heroes
-

Events
-

Conditions
-


SinglePlayer_Is_On[Integer_SP] Equal to (==) True
-
-

Actions
-


Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Player 1 (Red) controller) Equal to (==) Computer
-
-



Then - Actions
-




Player Group - Add Player 1 (Red) to AI__Player
-




Player - Set name of Player 1 (Red) to |cFFFF0000Arad MNK|...
-
-



Else - Actions
-




Do nothing
-
-
-


Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Player 2 (Blue) controller) Equal to (==) Computer
-
-



Then - Actions
-




Player Group - Add Player 2 (Blue) to AI__Player
-




Player - Set name of Player 2 (Blue) to |cFF3A7FC5Venger07|...
-
-



Else - Actions
-




Do nothing
-
-
-


Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Player 3 (Teal) controller) Equal to (==) Computer
-
-



Then - Actions
-




Player Group - Add Player 3 (Teal) to AI__Player
-




Player - Set name of Player 3 (Teal) to |cFF7EBFF1FINLANDMA...
-
-



Else - Actions
-




Do nothing
-
-
-


Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Player 4 (Purple) controller) Equal to (==) Computer
-
-



Then - Actions
-




Player Group - Add Player 4 (Purple) to AI__Player
-




Player - Set name of Player 4 (Purple) to |cFF540081StoPCampi...
-
-



Else - Actions
-




Do nothing
-
-
-


Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Player 5 (Yellow) controller) Equal to (==) Computer
-
-



Then - Actions
-




Player Group - Add Player 5 (Yellow) to AI__Player
-




Player - Set name of Player 5 (Yellow) to |cFFFFCC00Sylvie|r
-
-



Else - Actions
-




Do nothing
-
-
-


Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Player 6 (Orange) controller) Equal to (==) Computer
-
-



Then - Actions
-




Player Group - Add Player 6 (Orange) to AI__Player
-




Player - Set name of Player 6 (Orange) to |cFFFE8A0ERex.|r
-
-



Else - Actions
-




Do nothing
-
-
-


Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Player 7 (Green) controller) Equal to (==) Computer
-
-



Then - Actions
-




Player Group - Add Player 7 (Green) to AI__Player
-




Player - Set name of Player 7 (Green) to |cFF00FF00Orcnet|r
-
-



Else - Actions
-




Do nothing
-
-
-


Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Player 8 (Pink) controller) Equal to (==) Computer
-
-



Then - Actions
-




Player Group - Add Player 8 (Pink) to AI__Player
-




Player - Set name of Player 8 (Pink) to |cFFE55BB0andreario...
-
-



Else - Actions
-




Do nothing
-
-
-


Do Multiple ActionsFor each (Integer A) from 1 to 8, do (Actions)
-



Loop - Actions
-




Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






(Player[(Integer A)] controller) Equal to (==) Computer
-
-





Then - Actions
-






Set AI_Hero_Chance_Number = (Random integer number between 1 and 4)
-






Unit - Remove Hero_Unready_Player[(Integer A)] from the game
-







Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-








If - Conditions
-









AI_Hero_Chance_Number Equal to (==) 1
-
-








Then - Actions
-









Unit - Create 1 |c00640000Warrior|r for Player[(Integer A)] at Hero_Unready_Player_Point[(Integer A)] facing Hero_Unready_Player_Facing[(Integer A)] degrees
-









Set Hero_Player[(Integer A)] = (Last created unit)
-









Unit Group - Add Hero_Player[(Integer A)] to AI_Group_Warrior
-









Hero - Learn skill for (Last created unit): Quick Slash
-
-








Else - Actions
-









Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-










If - Conditions
-











AI_Hero_Chance_Number Equal to (==) 2
-
-










Then - Actions
-











Unit - Create 1 |c00FFFF00Priest|r for Player[(Integer A)] at Hero_Unready_Player_Point[(Integer A)] facing Hero_Unready_Player_Facing[(Integer A)] degrees
-











Set Hero_Player[(Integer A)] = (Last created unit)
-











Unit Group - Add Hero_Player[(Integer A)] to AI_Group_Priest
-











Hero - Learn skill for Hero_Player[(Integer A)]: Holy Light For Priest
-
-










Else - Actions
-











Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-












If - Conditions
-













AI_Hero_Chance_Number Equal to (==) 3
-
-












Then - Actions
-













Unit - Create 1 |c000000FFWizard|r for Player[(Integer A)] at Hero_Unready_Player_Point[(Integer A)] facing Hero_Unready_Player_Facing[(Integer A)] degrees
-













Set Hero_Player[(Integer A)] = (Last created unit)
-













Unit Group - Add Hero_Player[(Integer A)] to AI_Group_Wizard
-













Hero - Learn skill for Hero_Player[(Integer A)]: Chain Lightning For Wizard
-
-












Else - Actions
-













Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-














If - Conditions
-















AI_Hero_Chance_Number Equal to (==) 4
-
-














Then - Actions
-















Unit - Create 1 |c0096FF96Ranger|r for Player[(Integer A)] at Hero_Unready_Player_Point[(Integer A)] facing Hero_Unready_Player_Facing[(Integer A)] degrees
-















Set Hero_Player[(Integer A)] = (Last created unit)
-















Unit Group - Add Hero_Player[(Integer A)] to AI_Group_Ranger
-















Hero - Learn skill for Hero_Player[(Integer A)]: Poisonous Shot
-
-














Else - Actions
-















Do nothing
-
-
-
-
-
-
-
-
-
-
-





Else - Actions
-






Do nothing
-
-
-
-
-


Custom script: call RemoveLocation(udg_Hero_Unready_Player_Point[1])
-


Custom script: call RemoveLocation(udg_Hero_Unready_Player_Point[2])
-


Custom script: call RemoveLocation(udg_Hero_Unready_Player_Point[3])
-


Custom script: call RemoveLocation(udg_Hero_Unready_Player_Point[4])
-


Custom script: call RemoveLocation(udg_Hero_Unready_Player_Point[5])
-


Custom script: call RemoveLocation(udg_Hero_Unready_Player_Point[6])
-


Custom script: call RemoveLocation(udg_Hero_Unready_Player_Point[7])
-


Custom script: call RemoveLocation(udg_Hero_Unready_Player_Point[8])
-



Do Multiple ActionsFor each (Integer A) from 1 to 8, do (Actions)
-




Loop - Actions
-





Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-






If - Conditions
-







(Player[(Integer A)] controller) Equal to (==) Computer
-
-






Then - Actions
-







Unit - Order Hero_Player[(Integer A)] to Right-Click Hero_Player[Integer_SP]
-
-






Else - Actions
-







Do nothing
-
-
-
-
-
-
-
BUT, the heroes don't Cast abilities. so I Created A Trigger for each hero-type to Learn and Cast.
Notice: Maximum Hero level= 20. Normal Abilities=4 levels Ultimates= 3 levels.
Priest:
Ability 1. Holy light: Our well-known holy light with the difference it can heal self.
Ability 2. Healing Wave: again no difference with the vanilla.
Ability 3. Devotion aura: again no difference with the vanilla.
Ability 4. Mass Healing: Same as Tranquility (Ultimate)
Now, Triggers for AI:
-
Skill Learning Priest
-

Events
-


Unit - A unit Gains a level
-
-

Conditions
-


(Unit-type of (Leveling Hero)) Equal to (==) |c00FFFF00Priest|r
-


SinglePlayer_Is_On[Integer_SP] Equal to (==) True
-


(Owner of (Leveling Hero)) Not equal to (!=) Player[Integer_SP]
-
-

Actions
-


Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Hero level of (Leveling Hero)) Equal to (==) 2
-
-



Then - Actions
-




Hero - Learn skill for (Leveling Hero): Healing Wave For Priest
-




Set AI_Boolean_Priest_has_HW[(Player number of (Owner of (Leveling Hero)))] = True
-
-



Else - Actions
-




Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






(Hero level of (Leveling Hero)) Equal to (==) 3
-
-





Then - Actions
-






Hero - Learn skill for (Leveling Hero): Devotion Aura
-
-





Else - Actions
-






Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-







If - Conditions
-








(Hero level of (Leveling Hero)) Equal to (==) 4
-
-







Then - Actions
-








Hero - Learn skill for (Leveling Hero): Attribute Bonus
-








Set AI_Boolean_Priest_Level_HL[(Player number of (Owner of (Leveling Hero)))] = True
-
-







Else - Actions
-








Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-









If - Conditions
-










(Hero level of (Leveling Hero)) Greater than or equal to (>=) 5
-










(Hero level of (Leveling Hero)) Not equal to (!=) 6
-










(Hero level of (Leveling Hero)) Not equal to (!=) 12
-










(Hero level of (Leveling Hero)) Not equal to (!=) 18
-
-









Then - Actions
-










Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-











If - Conditions
-












AI_Boolean_Priest_Level_HL[(Player number of (Owner of (Leveling Hero)))] Equal to (==) True
-
-











Then - Actions
-












Unit - Increase level of Holy Light For Priest for (Leveling Hero)
-












Set AI_Boolean_Priest_Level_HL[(Player number of (Owner of (Leveling Hero)))] = False
-












Set AI_Boolean_Priest_Level_HW[(Player number of (Owner of (Leveling Hero)))] = True
-
-











Else - Actions
-












Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-













If - Conditions
-














AI_Boolean_Priest_Level_HW[(Player number of (Owner of (Leveling Hero)))] Equal to (==) True
-
-













Then - Actions
-














Unit - Increase level of Healing Wave For Priest for (Leveling Hero)
-














Set AI_Boolean_Priest_Level_HW[(Player number of (Owner of (Leveling Hero)))] = False
-














Set AI_Boolean_Priest_Level_DA[(Player number of (Owner of (Leveling Hero)))] = True
-
-













Else - Actions
-














Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-















If - Conditions
-
















AI_Boolean_Priest_Level_DA[(Player number of (Owner of (Leveling Hero)))] Equal to (==) True
-
-















Then - Actions
-
















Unit - Increase level of Devotion Aura for (Leveling Hero)
-
















Set AI_Boolean_Priest_Level_DA[(Player number of (Owner of (Leveling Hero)))] = False
-
















Set AI_Boolean_Priest_Level_AB[(Player number of (Owner of (Leveling Hero)))] = True
-
-















Else - Actions
-
















Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-

















If - Conditions
-


















AI_Boolean_Priest_Level_AB[(Player number of (Owner of (Leveling Hero)))] Equal to (==) True
-
-

















Then - Actions
-


















Unit - Increase level of Attribute Bonus for (Leveling Hero)
-


















Set AI_Boolean_Priest_Level_AB[(Player number of (Owner of (Leveling Hero)))] = False
-


















Set AI_Boolean_Priest_Level_HL[(Player number of (Owner of (Leveling Hero)))] = True
-
-

















Else - Actions
-


















Do nothing
-
-
-
-
-
-
-
-
-
-









Else - Actions
-










Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-











If - Conditions
-












(Hero level of (Leveling Hero)) Equal to (==) 6
-
-











Then - Actions
-












Hero - Learn skill for (Leveling Hero): Mass Healing For Priest
-












Set AI_Boolean_Priest_has_MH[(Player number of (Owner of (Leveling Hero)))] = True
-
-











Else - Actions
-












Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-













If - Conditions
-














(Hero level of (Leveling Hero)) Equal to (==) 12
-
-













Then - Actions
-














Unit - Increase level of Mass Healing For Priest for (Leveling Hero)
-
-













Else - Actions
-














Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-















If - Conditions
-
















(Hero level of (Leveling Hero)) Equal to (==) 18
-
-















Then - Actions
-
















Unit - Increase level of Mass Healing For Priest for (Leveling Hero)
-
-















Else - Actions
-
















Do nothing
-
-
-














Do nothing
-
-
-












Do nothing
-
-
-










Do nothing
-
-
-
-
-
-
-
-
-
-
-
Spells of Priest
-

Events
-


Time - Every 10.00 seconds of game time
-
-

Conditions
-


SinglePlayer_Is_On[Integer_SP] Equal to (==) True
-
-

Actions
-


Do Multiple ActionsFor each (Integer A) from 1 to 8, do (Actions)
-



Loop - Actions
-




Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






(Life of Hero_Player[(Integer A)]) Less than or equal to (<=) ((Max life of Hero_Player[(Integer A)]) / 2.00)
-
-





Then - Actions
-






Unit Group - Pick every unit in AI_Group_Priest and do (Actions)
-







Loop - Actions
-








Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-









If - Conditions
-










(Owner of (Picked unit)) Not equal to (!=) Player[Integer_SP]
-










((Owner of (Picked unit)) is an ally of Player[(Integer A)]) Equal to (==) True
-
-









Then - Actions
-










Set AI_Spell_Chance_Number = (Random integer number between 1 and 2)
-











Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-












If - Conditions
-













AI_Spell_Chance_Number Equal to (==) 1
-













(Mana of (Picked unit)) Greater than or equal to (>=) 65.00
-
-












Then - Actions
-













Unit - Order (Picked unit) to (Name of Holy Light For Priest) Hero_Player[Integer_SP]
-
-












Else - Actions
-













Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-














If - Conditions
-















AI_Spell_Chance_Number Equal to (==) 2
-















(Mana of (Picked unit)) Greater than or equal to (>=) 90.00
-















AI_Boolean_Priest_has_HW[(Player number of (Owner of (Picked unit)))] Equal to (==) True
-
-














Then - Actions
-















Unit - Order (Picked unit) to (Name of Holy Light For Priest) Hero_Player[Integer_SP]
-
-














Else - Actions
-















Do nothing
-
-
-
-
-
-
-









Else - Actions
-










Do nothing
-
-
-
-
-
-





Else - Actions
-






Do nothing
-
-
-
-
-
-
-
Ultimate of Priest
-

Events
-


Time - Every 120.00 seconds of game time
-
-

Conditions
-


SinglePlayer_Is_On[Integer_SP] Equal to (==) True
-
-

Actions
-


Do Multiple ActionsFor each (Integer A) from 1 to 8, do (Actions)
-



Loop - Actions
-




Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






(Life of Hero_Player[(Integer A)]) Less than or equal to (<=) ((Max life of Hero_Player[(Integer A)]) / 2.00)
-






(Is Hero_Player[(Integer A)] near (Picked unit) and withing a range of 700.00) Equal to (==) True
-
-





Then - Actions
-






Unit Group - Pick every unit in AI_Group_Priest and do (Actions)
-







Loop - Actions
-








Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-









If - Conditions
-










(Owner of (Picked unit)) Not equal to (!=) Player[Integer_SP]
-










((Owner of (Picked unit)) is an ally of Player[(Integer A)]) Equal to (==) True
-










(Mana of (Picked unit)) Greater than or equal to (>=) 800.00
-










AI_Boolean_Priest_has_MH[(Player number of (Owner of (Picked unit)))] Equal to (==) True
-
-









Then - Actions
-










Unit - Order (Picked unit) to (Name of Mass Healing For Priest) Hero_Player[Integer_SP]
-
-









Else - Actions
-










Do nothing
-
-
-
-
-
-





Else - Actions
-






Do nothing
-
-
-
-
-
-
Warrior:
Ability 1. Quick Slash: Based on Storm Bolt With a Different Model and Icon
Ability 2. Critical Strike: No difference between the Original
Ability 3. Aura of War: Based on Tauren chieftain aura
Ability 4. Fan of Knives: Based on the Normal fan of knive, Slightly changed stats (Ultimate)
-
Skill learning Warrior
-

Events
-


Unit - A unit Gains a level
-
-

Conditions
-


(Unit-type of (Leveling Hero)) Equal to (==) |c00640000Warrior|r
-


SinglePlayer_Is_On[Integer_SP] Equal to (==) True
-


(Owner of (Leveling Hero)) Not equal to (!=) Player[Integer_SP]
-
-

Actions
-


Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Hero level of (Leveling Hero)) Equal to (==) 2
-
-



Then - Actions
-




Hero - Learn skill for (Leveling Hero): Critical Strike
-
-



Else - Actions
-




Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






(Hero level of (Leveling Hero)) Equal to (==) 3
-
-





Then - Actions
-






Hero - Learn skill for (Leveling Hero): Aura Of War (Cairne)
-
-





Else - Actions
-






Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-







If - Conditions
-








(Hero level of (Leveling Hero)) Equal to (==) 4
-
-







Then - Actions
-








Hero - Learn skill for (Leveling Hero): Attribute Bonus
-








Set AI_Boolean_Warrior_Level_QS[(Player number of (Owner of (Leveling Hero)))] = True
-
-







Else - Actions
-








Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-









If - Conditions
-










(Hero level of (Leveling Hero)) Greater than or equal to (>=) 5
-










(Hero level of (Leveling Hero)) Not equal to (!=) 6
-










(Hero level of (Leveling Hero)) Not equal to (!=) 12
-










(Hero level of (Leveling Hero)) Not equal to (!=) 18
-
-









Then - Actions
-










Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-











If - Conditions
-












AI_Boolean_Warrior_Level_QS[(Player number of (Owner of (Leveling Hero)))] Equal to (==) True
-
-











Then - Actions
-












Unit - Increase level of Quick Slash for (Leveling Hero)
-












Set AI_Boolean_Warrior_Level_QS[(Player number of (Owner of (Leveling Hero)))] = False
-












Set AI_Boolean_Warrior_Level_CS[(Player number of (Owner of (Leveling Hero)))] = True
-
-











Else - Actions
-












Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-













If - Conditions
-














AI_Boolean_Warrior_Level_CS[(Player number of (Owner of (Leveling Hero)))] Equal to (==) True
-
-













Then - Actions
-














Unit - Increase level of Critical Strike for (Leveling Hero)
-














Set AI_Boolean_Warrior_Level_CS[(Player number of (Owner of (Leveling Hero)))] = False
-














Set AI_Boolean_Warrior_Level_AoW[(Player number of (Owner of (Leveling Hero)))] = True
-
-













Else - Actions
-














Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-















If - Conditions
-
















AI_Boolean_Warrior_Level_AoW[(Player number of (Owner of (Leveling Hero)))] Equal to (==) True
-
-















Then - Actions
-
















Unit - Increase level of Aura Of War (Cairne) for (Leveling Hero)
-
















Set AI_Boolean_Warrior_Level_AoW[(Player number of (Owner of (Leveling Hero)))] = False
-
















Set AI_Boolean_Warrior_Level_AB[(Player number of (Owner of (Leveling Hero)))] = True
-
-















Else - Actions
-
















Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-

















If - Conditions
-


















AI_Boolean_Warrior_Level_AB[(Player number of (Owner of (Leveling Hero)))] Equal to (==) True
-
-

















Then - Actions
-


















Unit - Increase level of Attribute Bonus for (Leveling Hero)
-


















Set AI_Boolean_Warrior_Level_AB[(Player number of (Owner of (Leveling Hero)))] = False
-


















Set AI_Boolean_Warrior_Level_QS[(Player number of (Owner of (Leveling Hero)))] = True
-
-

















Else - Actions
-


















Do nothing
-
-
-
-
-
-
-
-
-
-









Else - Actions
-










Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-











If - Conditions
-












(Hero level of (Leveling Hero)) Equal to (==) 6
-
-











Then - Actions
-












Hero - Learn skill for (Leveling Hero): Fan of Knives For Warrior
-












Set AI_Boolean_Warrior_has_FoK[(Player number of (Owner of (Leveling Hero)))] = True
-
-











Else - Actions
-












Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-













If - Conditions
-














(Hero level of (Leveling Hero)) Equal to (==) 12
-
-













Then - Actions
-














Unit - Increase level of Fan of Knives For Warrior for (Leveling Hero)
-
-













Else - Actions
-














Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-















If - Conditions
-
















(Hero level of (Leveling Hero)) Equal to (==) 18
-
-















Then - Actions
-
















Unit - Increase level of Fan of Knives For Warrior for (Leveling Hero)
-
-















Else - Actions
-
















Do nothing
-
-
-














Do nothing
-
-
-












Do nothing
-
-
-










Do nothing
-
-
-
-
-
-
-
-
-
-
-
Spells of Warrior
-

Events
-


Unit - A unit Is attacked
-
-

Conditions
-


SinglePlayer_Is_On[Integer_SP] Equal to (==) True
-


(Unit-type of (Attacked unit)) Equal to (==) |c00640000Warrior|r
-
-

Actions
-


Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Owner of (Attacked unit)) Not equal to (!=) Player[Integer_SP]
-
-



Then - Actions
-




Set AI_Spell_Chance_Number = (Random integer number between 1 and 2)
-





Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-






If - Conditions
-







(Mana of (Attacked unit)) Greater than or equal to (>=) 75.00
-







AI_Spell_Chance_Number Equal to (==) 1
-
-






Then - Actions
-







Unit - Order (Attacked unit) to (Name of Quick Slash ) (Position of (Attacking unit))
-
-






Else - Actions
-







Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-








If - Conditions
-









(Mana of (Attacked unit)) Greater than or equal to (>=) 200.00
-









AI_Boolean_Warrior_has_FoK[(Player number of (Owner of (Picked unit)))] Equal to (==) True
-









AI_Spell_Chance_Number Equal to (==) 2
-
-








Then - Actions
-









Unit - Order (Attacked unit) to (Name of Fan of Knives For Warrior)
-
-








Else - Actions
-









Do nothing
-
-
-
-
-
-
-



Else - Actions
-




Do nothing
-
-
-
-
Wizard:
Ability 1. Chain lightning: Again no difference
Ability 2. Blizzard: No changes...
Ability 3. Earthquake: Again...
Ability 4. Flame strike: Normal one with a low cooldown (Ultimate)
EDIT: Wizards' Chain lightning works.
-
Spell learning Wizard
-

Events
-


Unit - A unit Gains a level
-
-

Conditions
-


(Unit-type of (Leveling Hero)) Equal to (==) |c000000FFWizard|r
-


SinglePlayer_Is_On[Integer_SP] Equal to (==) True
-


(Owner of (Leveling Hero)) Not equal to (!=) Player[Integer_SP]
-
-

Actions
-


Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Hero level of (Leveling Hero)) Equal to (==) 2
-
-



Then - Actions
-




Hero - Learn skill for (Leveling Hero): Blizzard For Wizard
-




Set AI_Boolean_Wizard_has_B[(Player number of (Owner of (Leveling Hero)))] = True
-
-



Else - Actions
-




Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






(Hero level of (Leveling Hero)) Equal to (==) 3
-
-





Then - Actions
-






Hero - Learn skill for (Leveling Hero): Earthquake For Wizard
-






Set AI_Boolean_Wizard_has_E[(Player number of (Owner of (Leveling Hero)))] = True
-
-





Else - Actions
-






Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-







If - Conditions
-








(Hero level of (Leveling Hero)) Equal to (==) 4
-
-







Then - Actions
-








Hero - Learn skill for (Leveling Hero): Attribute Bonus
-








Set AI_Boolean_Wizard_Level_CL[(Player number of (Owner of (Leveling Hero)))] = True
-
-







Else - Actions
-








Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-









If - Conditions
-










(Hero level of (Leveling Hero)) Greater than or equal to (>=) 5
-










(Hero level of (Leveling Hero)) Not equal to (!=) 6
-










(Hero level of (Leveling Hero)) Not equal to (!=) 12
-










(Hero level of (Leveling Hero)) Not equal to (!=) 18
-
-









Then - Actions
-










Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-











If - Conditions
-












AI_Boolean_Wizard_Level_CL[(Player number of (Owner of (Leveling Hero)))] Equal to (==) True
-
-











Then - Actions
-












Unit - Increase level of Chain Lightning For Wizard for (Leveling Hero)
-












Set AI_Boolean_Wizard_Level_CL[(Player number of (Owner of (Leveling Hero)))] = False
-












Set AI_Boolean_Wizard_Level_B[(Player number of (Owner of (Leveling Hero)))] = True
-
-











Else - Actions
-












Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-













If - Conditions
-














AI_Boolean_Wizard_Level_B[(Player number of (Owner of (Leveling Hero)))] Equal to (==) True
-
-













Then - Actions
-














Unit - Increase level of Blizzard For Wizard for (Leveling Hero)
-














Set AI_Boolean_Wizard_Level_B[(Player number of (Owner of (Leveling Hero)))] = False
-














Set AI_Boolean_Wizard_Level_E[(Player number of (Owner of (Leveling Hero)))] = True
-
-













Else - Actions
-














Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-















If - Conditions
-
















AI_Boolean_Wizard_Level_E[(Player number of (Owner of (Leveling Hero)))] Equal to (==) True
-
-















Then - Actions
-
















Unit - Increase level of Earthquake For Wizard for (Leveling Hero)
-
















Set AI_Boolean_Wizard_Level_E[(Player number of (Owner of (Leveling Hero)))] = False
-
















Set AI_Boolean_Wizard_Level_AB[(Player number of (Owner of (Leveling Hero)))] = True
-
-















Else - Actions
-
















Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-

















If - Conditions
-


















AI_Boolean_Wizard_Level_AB[(Player number of (Owner of (Leveling Hero)))] Equal to (==) True
-
-

















Then - Actions
-


















Unit - Increase level of Devotion Aura for (Leveling Hero)
-


















Set AI_Boolean_Wizard_Level_AB[(Player number of (Owner of (Leveling Hero)))] = False
-


















Set AI_Boolean_Wizard_Level_CL[(Player number of (Owner of (Leveling Hero)))] = True
-
-

















Else - Actions
-


















Do nothing
-
-
-
-
-
-
-
-
-
-









Else - Actions
-










Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-











If - Conditions
-












(Hero level of (Leveling Hero)) Equal to (==) 6
-
-











Then - Actions
-












Hero - Learn skill for (Leveling Hero): Flame Strike For Wizard
-












Set AI_Boolean_Wizard_has_FS[(Player number of (Owner of (Leveling Hero)))] = True
-
-











Else - Actions
-












Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-













If - Conditions
-














(Hero level of (Leveling Hero)) Equal to (==) 12
-
-













Then - Actions
-














Unit - Increase level of Flame Strike For Wizard for (Leveling Hero)
-
-













Else - Actions
-














Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-















If - Conditions
-
















(Hero level of (Leveling Hero)) Equal to (==) 18
-
-















Then - Actions
-
















Unit - Increase level of Flame Strike For Wizard for (Leveling Hero)
-
-















Else - Actions
-
















Do nothing
-
-
-














Do nothing
-
-
-












Do nothing
-
-
-










Do nothing
-
-
-
-
-
-
-
-
-
-
-
Spells of Wizard
-

Events
-


Unit - A unit Is attacked
-
-

Conditions
-


SinglePlayer_Is_On[Integer_SP] Equal to (==) True
-


(Unit-type of (Attacked unit)) Equal to (==) |c000000FFWizard|r
-
-

Actions
-


Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Owner of (Attacked unit)) Not equal to (!=) Player[Integer_SP]
-
-



Then - Actions
-




Set AI_Spell_Chance_Number = (Random integer number between 1 and 4)
-





Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-






If - Conditions
-







AI_Spell_Chance_Number Equal to (==) 1
-







AI_Boolean_Wizard_has_B[(Player number of (Owner of (Attacked unit)))] Equal to (==) True
-







(Mana of (Attacked unit)) Greater than or equal to (>=) 75.00
-
-






Then - Actions
-







Unit - Order (Attacked unit) to (Name of Blizzard For Wizard) (Position of (Attacking unit))
-
-






Else - Actions
-







Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-








If - Conditions
-









(Mana of (Attacked unit)) Greater than or equal to (>=) 120.00
-









AI_Spell_Chance_Number Equal to (==) 2
-
-








Then - Actions
-









Unit - Order (Attacked unit) to (Name of Chain Lightning For Wizard) (Position of (Attacking unit))
-
-








Else - Actions
-









Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-










If - Conditions
-











(Mana of (Attacked unit)) Greater than or equal to (>=) 350.00
-











AI_Spell_Chance_Number Equal to (==) 3
-











((Attacking unit) is A structure) Equal to (==) True
-











AI_Boolean_Wizard_has_E[(Player number of (Owner of (Attacked unit)))] Equal to (==) True
-
-










Then - Actions
-











Unit - Order (Attacked unit) to (Name of Earthquake For Wizard) (Position of (Attacking unit))
-
-










Else - Actions
-











Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-












If - Conditions
-













(Mana of (Attacked unit)) Greater than or equal to (>=) 135.00
-













AI_Spell_Chance_Number Equal to (==) 4
-













AI_Boolean_Wizard_has_FS[(Player number of (Owner of (Attacked unit)))] Equal to (==) True
-
-












Then - Actions
-













Unit - Order (Attacked unit) to (Name of Flame Strike For Wizard) (Position of (Attacking unit))
-
-












Else - Actions
-
-
-
-
-
-
-
-
-
-



Else - Actions
-




Do nothing
-
-
-
-
as long as I Saw the AI Doesn't work, i stopped. So no need for it to know.
So, Where is my mistake?
Anyone who helps me, Obviously Gets (REP).
Last edited:






