Inscrit le: 12 Nov 2011 Messages: 1062 Sujets: 107 Spécialité en worldedit: Inactif(Enfin presque) Médailles: 1 (En savoir plus...)
Posté le: 13/10/12 13:42 Sujet du message: Cercle de Feu (GUI/MUI) v1.03
Salut à tous, je suis "de retour" avec un nouveau sort tout chaud, dans tous les sens du terme, Le sort crée 3 sphères de feu qui partent en rotation autour du lanceur de sort(oui j'aime les sorts circulaires), lorsque les sphères atteignent la distance maximum, elles disparaissent. Les orbes infligent des dégâts à toute unité ennemie entrant en contact avec.
Les choses que l'on peut modifier: -La description
-La distance max
-La vitesse
-Le type de dégâts
-La portée d'infliction des dégâts aux unités
-La portée de destruction des arbres
-La compétence utilisée par le lanceur de sort
-Le buff utilisé par les dummys
-Le modèle des dummys'que l'on ne voit pas à cause des effets spéciaux
-Les dégâts de base du sort
-Les dégâts par niveau du sort
-Les unités affectées par le sort
-Les modèles des effets spéciaux
-Si le sort inflige des critique ou pas(new) -Si le sort détruit ou pas les arbres(new) -Si le sort est OP(new) -Si le sort est un sort(new) -Si le sort fait la cuisine(new)
Les déclencheurs:
Il y a deux versions du sort:
-La version vjass qui ne marche pas(Mais que je referais dans une période inférieure à 99 ans)
-La version GUI qui est parfaitement opérationnelle
La version GUI:
Le "setup" du sort:
Secret:
Gui:
Trigger:
Fire Circle Settings
Evénements
Map initialization
Conditions
Actions
-------- On initalise notre hashtable -------- Table de hachage - Create a hashtable Set FC_Hashtable = (Last created hashtable) -------- On définit si des effets spéciaux sont crées, définir à FALSE augmente les Images par secondes mais modifie l'effet graphique du sort -------- Set FC_BetterFPS = FALSE -------- On définit le type des dummies -------- Set FC_DummyType = Dummy (Cercle de feu) -------- On définit la distance d'éloignement max des orbes -------- Set FC_MaxDistanceBase = 600.00 Set FC_MaxDistanceLevel = 200.00 -------- On définit l'incrémentation de l'angle et de la distance des orbes -------- Set FC_Speed_Base = 2.50 Set FC_Speed_Level = 2.50 -------- On définit les cibles du sort -------- Set FC_Damage_Air = TRUE Set FC_Damage_Ground = TRUE Set FC_Damage_Heroes = TRUE Set FC_Damage_Immune = FALSE Set FC_Damage_Mechanical = TRUE Set FC_Damage_Building = FALSE -------- On définit les dégâts de base du sort et les dégâts par niveau -------- Set FC_Base_Damage = 50.00 Set FC_Level_Damage = 50.00 -------- On définit les types de dégâts infligés par les orbes -------- Set FC_Damage_Type = Magie -------- On définit si les orbes peuvent infliger des critiques -------- Set FC_Critical = TRUE -------- On définit le multiplicateur de critiques -------- Set FC_CriticalMultiplier = 2.00 -------- On définit les chances de critiques -------- Set FC_CriticalChanceBase = 1.00 Set FC_CriticalChanceLvl = 2.00 -------- On définit le modèle graphique des effets spéciaux créées -------- Set FC_SFX = AbilitiesWeaponsPhoenixMissilePhoenix_Missile.mdl -------- On définit la portée d'inflication des dégâts -------- Set FC_RangeofDamageBase = 150.00 Set FC_RangeofDamageLevel = 0.00 -------- On définit l'effet spécial sur les unités subissant des dégâts -------- Set FC_SFX_Damage_Unit = AbilitiesWeaponsFireBallMissileFireBallMissile.mdl -------- On définit si les arbres peuvent êtres détruits -------- Set FC_DestroyTrees = TRUE -------- On définit le type du "TreeRemover" --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_DestroyTrees Egal à TRUE
Alors - Actions
Set FC_TreeRemoverType = TreeRemover Set FC_TmpPoint = (Center of (Playable map area)) Unité - Create 1 FC_TreeRemoverType for Neutre Passif at FC_TmpPoint facing Orientation bâtiment par défaut degrees Set FC_TreeRemover = (Last created unit) Unité - Hide FC_TreeRemover Custom script: call UnitAddAbility( udg_FC_TreeRemover, 'Aloc') Custom script: call RemoveLocation(udg_FC_TmpPoint)
Sinon - Actions
-------- On définit le type du "HandleDummy" -------- Set FC_HandleDummyType = Dummy (Cercle de feu) (Handle) -------- On définit la portée de destruction des arbres -------- Set FC_RangeofDamageTreesBase = 180.00 Set FC_RangeofDamageTreesLevel = 60.00 -------- On définit l'effet spécial lors de la destruction des arbres -------- Set FC_SFX_Damage_Trees = AbilitiesWeaponsPhoenixMissilePhoenix_Missile_mini.mdl -------- On définit la compétence de base du sort -------- Set FC_Ability = Cercle de feu (GUI) -------- Et le buff de base du sort -------- Set FC_Buff = Fire_Circle_Damage_Buff
Le lancement du sort:
Secret:
Gui:
Trigger:
Fire Circle Start
Evénements
Unité - A unit Initie l'effet d'une compétence
Conditions
(Ability being cast) Egal à FC_Ability
Actions
Set FC_TmpCaster = (Casting unit) Set FC_TmpPoint = (Position of FC_TmpCaster) Unité - Create 1 FC_HandleDummyType for (Owner of FC_TmpCaster) at FC_TmpPoint facing Orientation bâtiment par défaut degrees Set FC_TmpHandle = (Last created unit) Groupe unité - Add (Last created unit) to FC_Group -------- On définit nos variables -------- Table de hachage - Save Handle OfFC_TmpCaster as (Key Caster) of (Key FC_TmpHandle) in FC_Hashtable Set FC_Angle1 = (Facing of FC_TmpCaster) Set FC_Angle2 = ((Facing of FC_TmpCaster) + 120.00) Set FC_Angle3 = ((Facing of FC_TmpCaster) - 120.00) Set FC_TmpPoint = (Position of FC_TmpCaster) Table de hachage - Save FC_Angle1 as (Key Angle1) of (Key FC_TmpHandle) in FC_Hashtable Table de hachage - Save FC_Angle2 as (Key Angle2) of (Key FC_TmpHandle) in FC_Hashtable Table de hachage - Save FC_Angle3 as (Key Angle3) of (Key FC_TmpHandle) in FC_Hashtable -------- On crée le premier dummy -------- Set FC_TmpPoint2 = (FC_TmpPoint offset by 90.00 towards FC_Angle1 degrees) Unité - Create 1 FC_DummyType for (Owner of FC_TmpCaster) at FC_TmpPoint2 facing Orientation bâtiment par défaut degrees Unité - Set level of Fire Circle Damage (Neutre Hostile) for (Last created unit) to (Level of FC_Ability for FC_TmpCaster) Table de hachage - Save Handle Of(Last created unit) as (Key Dummy1) of (Key FC_TmpHandle) in FC_Hashtable
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_BetterFPS Egal à FALSE
Alors - Actions
Effet spécial - Create a special effect at FC_TmpPoint2 using FC_SFX Effet spécial - Destroy (Last created special effect)
Sinon - Actions
Custom script: call RemoveLocation(udg_FC_TmpPoint2) -------- On crée le second dummy -------- Set FC_TmpPoint2 = (FC_TmpPoint offset by 90.00 towards FC_Angle2 degrees) Unité - Create 1 FC_DummyType for (Owner of FC_TmpCaster) at FC_TmpPoint2 facing Orientation bâtiment par défaut degrees Unité - Set level of Fire Circle Damage (Neutre Hostile) for (Last created unit) to (Level of FC_Ability for FC_TmpCaster) Table de hachage - Save Handle Of(Last created unit) as (Key Dummy2) of (Key FC_TmpHandle) in FC_Hashtable
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_BetterFPS Egal à FALSE
Alors - Actions
Effet spécial - Create a special effect at FC_TmpPoint2 using FC_SFX Effet spécial - Destroy (Last created special effect)
Sinon - Actions
Custom script: call RemoveLocation(udg_FC_TmpPoint2) -------- On crée le troisième dummy -------- Set FC_TmpPoint2 = (FC_TmpPoint offset by 90.00 towards FC_Angle3 degrees) Unité - Create 1 FC_DummyType for (Owner of FC_TmpCaster) at FC_TmpPoint2 facing Orientation bâtiment par défaut degrees Unité - Set level of Fire Circle Damage (Neutre Hostile) for (Last created unit) to (Level of FC_Ability for FC_TmpCaster) Table de hachage - Save Handle Of(Last created unit) as (Key Dummy3) of (Key FC_TmpHandle) in FC_Hashtable
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_BetterFPS Egal à FALSE
Alors - Actions
Effet spécial - Create a special effect at FC_TmpPoint2 using FC_SFX Effet spécial - Destroy (Last created special effect)
Sinon - Actions
Custom script: call RemoveLocation(udg_FC_TmpPoint) Custom script: call RemoveLocation(udg_FC_TmpPoint2) -------- On définit la distance de cette instance à 0 -------- Set FC_Distance = 0.00 Table de hachage - Save FC_Distance as (Key Distance) of (Key FC_TmpHandle) in FC_Hashtable Set FC_MaxDistance = (FC_MaxDistanceBase + ((Real((Level of FC_Ability for FC_TmpCaster))) x FC_MaxDistanceLevel)) Table de hachage - Save FC_MaxDistance as (Key MaxDistance) of (Key FC_TmpHandle) in FC_Hashtable
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
(Number of units in FC_Group) Egal à 1
Alors - Actions
Déclencheur - Turn on Fire Circle Loop <gen>
Sinon - Actions
Custom script: set udg_FC_TmpHandle = null Custom script: set udg_FC_TmpCaster = null
Le classique "loop":
Secret:
Gui:
Trigger:
Fire Circle Loop
Evénements
Temps - Every 0.03 seconds of game time
Conditions
Actions
Groupe unité - Pick every unit in FC_Group and do (Actions)
Boucle - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
((Load (Key Dummy1) of (Key (Picked unit)) in FC_Hashtable) is alive) Egal à TRUE ((Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable) is alive) Egal à TRUE
Alors - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
(Load (Key Distance) of (Key (Picked unit)) from FC_Hashtable) Inférieur à (Load (Key MaxDistance) of (Key (Picked unit)) from FC_Hashtable)
Alors - Actions
Set FC_TmpPoint = (Position of (Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable)) Set FC_Distance = ((Load (Key Distance) of (Key (Picked unit)) from FC_Hashtable) + (FC_Speed_Base + (FC_Speed_Level x (Real((Level of FC_Ability for (Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable))))))) Table de hachage - Save FC_Distance as (Key Distance) of (Key (Picked unit)) in FC_Hashtable Set FC_Angle1 = ((Load (Key Angle1) of (Key (Picked unit)) from FC_Hashtable) + (FC_Speed_Base + (FC_Speed_Level x (Real((Level of FC_Ability for (Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable))))))) Table de hachage - Save FC_Angle1 as (Key Angle1) of (Key (Picked unit)) in FC_Hashtable Unité - Make (Load (Key Dummy1) of (Key (Picked unit)) in FC_Hashtable) face (Load (Key Angle1) of (Key (Picked unit)) from FC_Hashtable) over 0.00 seconds Set FC_TmpPoint2 = (FC_TmpPoint offset by (Load (Key Distance) of (Key (Picked unit)) from FC_Hashtable) towards (Load (Key Angle1) of (Key (Picked unit)) from FC_Hashtable) degrees) Unité - Move (Load (Key Dummy1) of (Key (Picked unit)) in FC_Hashtable) instantly to FC_TmpPoint2
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_BetterFPS Egal à FALSE
Alors - Actions
Effet spécial - Create a special effect at FC_TmpPoint2 using FC_SFX Effet spécial - Destroy (Last created special effect)
Sinon - Actions
Custom script: call RemoveLocation(udg_FC_TmpPoint2) Set FC_Angle2 = ((Load (Key Angle2) of (Key (Picked unit)) from FC_Hashtable) + (FC_Speed_Base + (FC_Speed_Level x (Real((Level of FC_Ability for (Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable))))))) Table de hachage - Save FC_Angle2 as (Key Angle2) of (Key (Picked unit)) in FC_Hashtable Unité - Make (Load (Key Dummy2) of (Key (Picked unit)) in FC_Hashtable) face (Load (Key Angle2) of (Key (Picked unit)) from FC_Hashtable) over 0.00 seconds Set FC_TmpPoint2 = (FC_TmpPoint offset by (Load (Key Distance) of (Key (Picked unit)) from FC_Hashtable) towards (Load (Key Angle2) of (Key (Picked unit)) from FC_Hashtable) degrees) Unité - Move (Load (Key Dummy2) of (Key (Picked unit)) in FC_Hashtable) instantly to FC_TmpPoint2
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_BetterFPS Egal à FALSE
Alors - Actions
Effet spécial - Create a special effect at FC_TmpPoint2 using FC_SFX Effet spécial - Destroy (Last created special effect)
Sinon - Actions
Custom script: call RemoveLocation(udg_FC_TmpPoint2) Set FC_Angle3 = ((Load (Key Angle3) of (Key (Picked unit)) from FC_Hashtable) + (FC_Speed_Base + (FC_Speed_Level x (Real((Level of FC_Ability for (Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable))))))) Table de hachage - Save FC_Angle3 as (Key Angle3) of (Key (Picked unit)) in FC_Hashtable Unité - Make (Load (Key Dummy3) of (Key (Picked unit)) in FC_Hashtable) face (Load (Key Angle3) of (Key (Picked unit)) from FC_Hashtable) over 0.00 seconds Set FC_TmpPoint2 = (FC_TmpPoint offset by (Load (Key Distance) of (Key (Picked unit)) from FC_Hashtable) towards (Load (Key Angle3) of (Key (Picked unit)) from FC_Hashtable) degrees) Unité - Move (Load (Key Dummy3) of (Key (Picked unit)) in FC_Hashtable) instantly to FC_TmpPoint2
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_BetterFPS Egal à FALSE
Alors - Actions
Effet spécial - Create a special effect at FC_TmpPoint2 using FC_SFX Effet spécial - Destroy (Last created special effect)
Set FC_TmpPoint = (Position of (Load (Key Dummy1) of (Key (Picked unit)) in FC_Hashtable)) Unité - Remove (Load (Key Dummy1) of (Key (Picked unit)) in FC_Hashtable) from the game Effet spécial - Create a special effect at FC_TmpPoint using FC_SFX Effet spécial - Destroy (Last created special effect) Custom script: call RemoveLocation(udg_FC_TmpPoint) Set FC_TmpPoint = (Position of (Load (Key Dummy2) of (Key (Picked unit)) in FC_Hashtable)) Unité - Remove (Load (Key Dummy2) of (Key (Picked unit)) in FC_Hashtable) from the game Effet spécial - Create a special effect at FC_TmpPoint using FC_SFX Effet spécial - Destroy (Last created special effect) Custom script: call RemoveLocation(udg_FC_TmpPoint) Set FC_TmpPoint = (Position of (Load (Key Dummy3) of (Key (Picked unit)) in FC_Hashtable)) Unité - Remove (Load (Key Dummy3) of (Key (Picked unit)) in FC_Hashtable) from the game Effet spécial - Create a special effect at FC_TmpPoint using FC_SFX Effet spécial - Destroy (Last created special effect) Custom script: call RemoveLocation(udg_FC_TmpPoint) Table de hachage - Clear all child hashtables of child (Key (Picked unit)) in FC_Hashtable Set FC_TmpHandleDummy = (Picked unit) Groupe unité - Remove (Picked unit) from FC_Group Unité - Remove FC_TmpHandleDummy from the game
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
(Number of units in FC_Group) Egal à 0
Alors - Actions
Déclencheur - Turn off (This trigger)
Sinon - Actions
Custom script: set udg_FC_TmpHandleDummy = null
Sinon - Actions
Unité - Remove (Load (Key Dummy1) of (Key (Picked unit)) in FC_Hashtable) from the game Unité - Remove (Load (Key Dummy2) of (Key (Picked unit)) in FC_Hashtable) from the game Unité - Remove (Load (Key Dummy3) of (Key (Picked unit)) in FC_Hashtable) from the game Table de hachage - Clear all child hashtables of child (Key (Picked unit)) in FC_Hashtable Set FC_TmpHandleDummy = (Picked unit) Groupe unité - Remove (Picked unit) from FC_Group Unité - Remove FC_TmpHandleDummy from the game
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
(Number of units in FC_Group) Egal à 0
Alors - Actions
Déclencheur - Turn off (This trigger)
Sinon - Actions
Custom script: set udg_FC_TmpHandleDummy = null
Les dégâts:
Secret:
Gui:
Trigger:
Fire Circle Damage
Evénements
Temps - Every 1.00 seconds of game time
Conditions
Actions
Groupe unité - Pick every unit in FC_Group and do (Actions)
Boucle - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
((Load (Key Dummy1) of (Key (Picked unit)) in FC_Hashtable) is alive) Egal à TRUE ((Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable) is alive) Egal à TRUE
Alors - Actions
Set FC_TmpHandle = (Picked unit) Set FC_TmpPoint2 = (Position of (Load (Key Dummy1) of (Key (Picked unit)) in FC_Hashtable))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_Critical Egal à TRUE
Alors - Actions
Set FC_TmpInt = ((Integer(FC_CriticalChanceBase)) + ((Level of FC_Ability for (Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable)) x (Integer(FC_CriticalChanceLvl)))) Set FC_TmpInt2 = (Random integer number between 1 and 100)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_TmpInt2 Inférieur ou égal à FC_TmpInt
Alors - Actions
Set FC_Damage = (FC_Damage x FC_CriticalMultiplier)
Sinon - Actions
Set FC_Damage = (FC_Base_Damage + (FC_Level_Damage x (Real((Level of FC_Ability for (Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable))))))
Sinon - Actions
Set FC_Damage = (FC_Base_Damage + (FC_Level_Damage x (Real((Level of FC_Ability for (Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable))))))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_DestroyTrees Egal à TRUE
Alors - Actions
Destructible - Pick every destructible within (FC_RangeofDamageTreesBase + (FC_RangeofDamageTreesLevel x (Real((Level of FC_Ability for (Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable)))))) of FC_TmpPoint2 and do (Actions)
Boucle - Actions
Set FC_Destructable = (Picked destructible) Unité - Order FC_TreeRemover to Récolter FC_Destructable
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
(Current order of FC_TreeRemover) Egal à (Order(harvest)) (FC_Destructable is alive) Egal à TRUE
Alors - Actions
Set FC_TmpPoint = (Position of FC_Destructable)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_BetterFPS Egal à FALSE
Alors - Actions
Effet spécial - Create a special effect at FC_TmpPoint2 using FC_SFX Effet spécial - Destroy (Last created special effect)
Groupe unité - Pick every unit in (Units within (FC_RangeofDamageBase + (FC_RangeofDamageLevel x (Real((Level of FC_Ability for (Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable)))))) of FC_TmpPoint2 matching (((Matching unit) has buff FC_Buff) Egal à TRUE)) and do (Actions)
Boucle - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
Or - Any (Conditions) are true
Conditions
((Picked unit) is Un bâtiment) Egal à FC_Damage_Building ((Picked unit) is Une unité volante) Egal à FC_Damage_Air ((Picked unit) is Un héros) Egal à FC_Damage_Heroes ((Picked unit) is Mécanique) Egal à FC_Damage_Mechanical ((Picked unit) is Insensible à la magie) Egal à FC_Damage_Immune ((Picked unit) is Une unité terrestre) Egal à FC_Damage_Ground
Alors - Actions
Set FC_TmpPoint = (Position of (Picked unit))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_BetterFPS Egal à FALSE
Alors - Actions
Effet spécial - Create a special effect at FC_TmpPoint2 using FC_SFX Effet spécial - Destroy (Last created special effect)
Sinon - Actions
Unité - Cause (Load (Key Caster) of (Key FC_TmpHandle) in FC_Hashtable) to damage (Picked unit), dealing FC_Damage damage of attack type FC_Damage_Type and damage type Normal Custom script: call RemoveLocation(udg_FC_TmpPoint)
Sinon - Actions
Custom script: call RemoveLocation(udg_FC_TmpPoint2) Set FC_TmpPoint2 = (Position of (Load (Key Dummy2) of (Key (Picked unit)) in FC_Hashtable))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_Critical Egal à TRUE
Alors - Actions
Set FC_TmpInt = ((Integer(FC_CriticalChanceBase)) + ((Level of FC_Ability for (Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable)) x (Integer(FC_CriticalChanceLvl)))) Set FC_TmpInt2 = (Random integer number between 1 and 100)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_TmpInt2 Inférieur ou égal à FC_TmpInt
Alors - Actions
Set FC_Damage = (FC_Damage x FC_CriticalMultiplier)
Sinon - Actions
Set FC_Damage = (FC_Base_Damage + (FC_Level_Damage x (Real((Level of FC_Ability for (Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable))))))
Sinon - Actions
Set FC_Damage = (FC_Base_Damage + (FC_Level_Damage x (Real((Level of FC_Ability for (Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable))))))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_DestroyTrees Egal à TRUE
Alors - Actions
Destructible - Pick every destructible within (FC_RangeofDamageTreesBase + (FC_RangeofDamageTreesLevel x (Real((Level of FC_Ability for (Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable)))))) of FC_TmpPoint2 and do (Actions)
Boucle - Actions
Set FC_Destructable = (Picked destructible) Unité - Order FC_TreeRemover to Récolter FC_Destructable
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
(Current order of FC_TreeRemover) Egal à (Order(harvest)) (FC_Destructable is alive) Egal à TRUE
Alors - Actions
Set FC_TmpPoint = (Position of FC_Destructable)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_BetterFPS Egal à FALSE
Alors - Actions
Effet spécial - Create a special effect at FC_TmpPoint2 using FC_SFX Effet spécial - Destroy (Last created special effect)
Groupe unité - Pick every unit in (Units within (FC_RangeofDamageBase + (FC_RangeofDamageLevel x (Real((Level of FC_Ability for (Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable)))))) of FC_TmpPoint2 matching (((Matching unit) has buff FC_Buff) Egal à TRUE)) and do (Actions)
Boucle - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
Or - Any (Conditions) are true
Conditions
((Picked unit) is Un bâtiment) Egal à FC_Damage_Building ((Picked unit) is Une unité volante) Egal à FC_Damage_Air ((Picked unit) is Un héros) Egal à FC_Damage_Heroes ((Picked unit) is Mécanique) Egal à FC_Damage_Mechanical ((Picked unit) is Insensible à la magie) Egal à FC_Damage_Immune ((Picked unit) is Une unité terrestre) Egal à FC_Damage_Ground
Alors - Actions
Set FC_TmpPoint = (Position of (Picked unit))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_BetterFPS Egal à FALSE
Alors - Actions
Effet spécial - Create a special effect at FC_TmpPoint2 using FC_SFX Effet spécial - Destroy (Last created special effect)
Sinon - Actions
Unité - Cause (Load (Key Caster) of (Key FC_TmpHandle) in FC_Hashtable) to damage (Picked unit), dealing FC_Damage damage of attack type FC_Damage_Type and damage type Normal Custom script: call RemoveLocation(udg_FC_TmpPoint)
Sinon - Actions
Custom script: call RemoveLocation(udg_FC_TmpPoint2) Set FC_TmpPoint2 = (Position of (Load (Key Dummy3) of (Key (Picked unit)) in FC_Hashtable))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_Critical Egal à TRUE
Alors - Actions
Set FC_TmpInt = ((Integer(FC_CriticalChanceBase)) + ((Level of FC_Ability for (Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable)) x (Integer(FC_CriticalChanceLvl)))) Set FC_TmpInt2 = (Random integer number between 1 and 100)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_TmpInt2 Inférieur ou égal à FC_TmpInt
Alors - Actions
Set FC_Damage = (FC_Damage x FC_CriticalMultiplier)
Sinon - Actions
Set FC_Damage = (FC_Base_Damage + (FC_Level_Damage x (Real((Level of FC_Ability for (Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable))))))
Sinon - Actions
Set FC_Damage = (FC_Base_Damage + (FC_Level_Damage x (Real((Level of FC_Ability for (Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable))))))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_DestroyTrees Egal à TRUE
Alors - Actions
Destructible - Pick every destructible within (FC_RangeofDamageTreesBase + (FC_RangeofDamageTreesLevel x (Real((Level of FC_Ability for (Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable)))))) of FC_TmpPoint2 and do (Actions)
Boucle - Actions
Set FC_Destructable = (Picked destructible) Unité - Order FC_TreeRemover to Récolter FC_Destructable
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
(Current order of FC_TreeRemover) Egal à (Order(harvest)) (FC_Destructable is alive) Egal à TRUE
Alors - Actions
Set FC_TmpPoint = (Position of FC_Destructable)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_BetterFPS Egal à FALSE
Alors - Actions
Effet spécial - Create a special effect at FC_TmpPoint2 using FC_SFX Effet spécial - Destroy (Last created special effect)
Groupe unité - Pick every unit in (Units within (FC_RangeofDamageBase + (FC_RangeofDamageLevel x (Real((Level of FC_Ability for (Load (Key Caster) of (Key (Picked unit)) in FC_Hashtable)))))) of FC_TmpPoint2 matching (((Matching unit) has buff FC_Buff) Egal à TRUE)) and do (Actions)
Boucle - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
Or - Any (Conditions) are true
Conditions
((Picked unit) is Un bâtiment) Egal à FC_Damage_Building ((Picked unit) is Une unité volante) Egal à FC_Damage_Air ((Picked unit) is Un héros) Egal à FC_Damage_Heroes ((Picked unit) is Mécanique) Egal à FC_Damage_Mechanical ((Picked unit) is Insensible à la magie) Egal à FC_Damage_Immune ((Picked unit) is Une unité terrestre) Egal à FC_Damage_Ground
Alors - Actions
Set FC_TmpPoint = (Position of (Picked unit))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
FC_BetterFPS Egal à FALSE
Alors - Actions
Effet spécial - Create a special effect at FC_TmpPoint2 using FC_SFX Effet spécial - Destroy (Last created special effect)
Sinon - Actions
Unité - Cause (Load (Key Caster) of (Key FC_TmpHandle) in FC_Hashtable) to damage (Picked unit), dealing FC_Damage damage of attack type FC_Damage_Type and damage type Normal Custom script: call RemoveLocation(udg_FC_TmpPoint)
Sinon - Actions
Custom script: call RemoveLocation(udg_FC_TmpPoint2) Custom script: set udg_FC_TmpHandle = null
P.S: Comme à mon habitude j'ai mis le paquet sur les effets spéciaux et du coup si on spam le sort comme un psychopathe on aura de jolies chutes de fps/des jolis freezes d'une durée de quelques secondes.
P.P.S: Si pour une raison quelconque votre ordinateur/vous explose/ez ce n'est pas la faute du sort.
P.P.P.S: L'ingération de nourriture réalisée par le sort peut conduire à des maux de ventre/nausées, dans le cas ou vous auriez l'impression d'être une banane volante ou une licorne contactez votre médecin.
Inscrit le: 12 Nov 2011 Messages: 1062 Sujets: 107 Spécialité en worldedit: Inactif(Enfin presque) Médailles: 1 (En savoir plus...)
Posté le: 13/10/12 17:07 Sujet du message:
Le sort fait 50(25 + 25à de dégâts au niveau 1, si tu veux vérifier que le sort inflige bien des dégâts augmente les dégâts du genre tu met 100 de base et 50 de par niveau ce qui fera un total de 150 car le sort inflige 100(la base) + 50(le sort est niveau 1 et augmente donc de 50 x 1 points de dégâts).Le seul problème que j'ai détecté est que le fantassin(qui est censé être immunisé aux dégâts vu qu'il est immunisé à la magie) les subits quand même à la différence du clockwerk qui est mécanique et ne ne subit rien. _________________
Inscrit le: 12 Nov 2011 Messages: 1062 Sujets: 107 Spécialité en worldedit: Inactif(Enfin presque) Médailles: 1 (En savoir plus...)
Posté le: 14/10/12 13:50 Sujet du message:
Oh non, je suis découvert, Sherlock fulldragon a compris que cette histoire de 2 versions n'était qu'un fake visant à camoufler mon plan de domination du monde _________________
Inscrit le: 12 Nov 2011 Messages: 1062 Sujets: 107 Spécialité en worldedit: Inactif(Enfin presque) Médailles: 1 (En savoir plus...)
Posté le: 09/02/13 11:48 Sujet du message:
Grâce à Tir et Vlad, j'ai finalement pu améliorer le code du sort et donc voici une nouvelle version pleine de nouvelles fonctionnalités
(J'ajouterais peut-être une capacité à produire des pièces en chocolat si c'est possible.) _________________
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum