- Joined
- Dec 11, 2014
- Messages
- 2,004
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)]
-
Loop - Actions
-
Do Multiple ActionsFor each (Integer A) from 1 to 8, do (Actions)
- -------- From this on, It's the Cinematic. NOT IMPORTANT--------
- -------- Bla Bla Bla Bla Bla--------
- Trigger - Run Single Player Detecting <gen> (ignoring conditions)
-
Events
-
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
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Else - Actions
- Do nothing
-
If - Conditions
-
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
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
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
-
If - Conditions
-
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
-
If - Conditions
-
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
-
If - Conditions
-
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
-
If - Conditions
-
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
-
If - Conditions
-
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
-
If - Conditions
-
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
-
If - Conditions
-
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
-
If - Conditions
-
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
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Else - Actions
- Do nothing
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
- 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
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
-
Do Multiple ActionsFor each (Integer A) from 1 to 8, do (Actions)
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
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
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
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
-
If - Conditions
- Do nothing
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Do nothing
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Do nothing
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Events
-
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
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Set AI_Spell_Chance_Number = (Random integer number between 1 and 2)
-
Else - Actions
- Do nothing
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
-
Unit Group - Pick every unit in AI_Group_Priest and do (Actions)
-
Else - Actions
- Do nothing
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
-
Do Multiple ActionsFor each (Integer A) from 1 to 8, do (Actions)
-
Events
-
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
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
-
Unit Group - Pick every unit in AI_Group_Priest and do (Actions)
-
Else - Actions
- Do nothing
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
-
Do Multiple ActionsFor each (Integer A) from 1 to 8, do (Actions)
-
Events
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
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
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
-
If - Conditions
- Do nothing
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Do nothing
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Do nothing
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Events
-
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
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Set AI_Spell_Chance_Number = (Random integer number between 1 and 2)
-
Else - Actions
- Do nothing
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Events
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
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
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
-
If - Conditions
- Do nothing
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Do nothing
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Do nothing
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Events
-
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
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Set AI_Spell_Chance_Number = (Random integer number between 1 and 4)
-
Else - Actions
- Do nothing
-
If - Conditions
-
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Events
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: