Le sort est assez facile à manipuler et assez agréable à la vue (je trouve ^^)
Variables
Judgement_Ability : Capacité
Judgement_DummyAbility : Capacité
Judgement_AttackType : Type d'attaque
Judgement_DamagesType : Type de dommages
Judgement_Hashtable : Table de hachage
Judgement_PilarNumber : Entier
Judgement_UnitPosition : Point
Judgement_DummyPoint : Point
Judgement_PilarPoint : Point
Judgement_Damages : Réel à déploiement
Judgement_HPPercent : Réel à déploiement
Judgement_Timer : Réel à déploiement
Judgement_TimerReduction : Réel
Judgement_DummyLifeTime : Réel
Judgement_Zone : Réel à déploiement
Judgement_ZoneReduction : Réel à déploiement
Judgement_CastingUnit : Unité
Judgement_CasterGroup : Groupe unité
JudgementCast_Damages : Réel
JudgementCast_Timer : Réel
JudgementCast_Zone : Réel
JudgementCast_HPPercent : Réel
JudgementCast_ZoneReduction : Réel
Déclencheurs :
Secret:
Gui:
Trigger:
Initialisation
Evénements
Map initialization
Conditions
Actions
Table de hachage - Create a hashtable Set Judgement_Hashtable = (Last created hashtable) Table de hachage - Create a hashtable Set Judgement_AttackType = Magie Set Judgement_DummyAbility = Ralentissement sacré (dummy) Set Judgement_DamagesType = Divin Set Judgement_Damages[1] = 15.00 Set Judgement_HPpercent[1] = 50.00 Set Jugdgement_ZoneReduction[1] = 100.00 Set Judgement_PilarNumber = 12 Set Judgment_Zone[1] = 1000.00 Set Judgement_Timer = 64.00 Set Judgement_TimerReduction = 1.00 Set Judgement_Ability = Jugement
Secret:
Gui:
Trigger:
Casting
Evénements
Unité - A unit Initie l'effet d'une compétence
Conditions
(Ability being cast) Egal à Jugement
Actions
Set JudgmentCast_Damages = Judgement_Damages[(Level of Judgement_Ability for (Triggering unit))] Set JudgmentCast_ZoneRecution = Jugdgement_ZoneReduction[(Level of Judgement_Ability for (Triggering unit))] Set JudgementCast_Zone = Judgment_Zone[(Level of Judgement_Ability for (Triggering unit))] Set JudgementCast_HPpercent = Judgement_HPpercent[(Level of Judgement_Ability for (Triggering unit))] Set Judgement_DummyPoint = (Position of (Triggering unit)) Set Judgement_DummyLifeTime = (((JudgementCast_Zone - JudgmentCast_ZoneRecution) / JudgmentCast_ZoneRecution) x (Judgement_Timer / (64.00 x Judgement_TimerReduction))) Set JudgementCast_Timer = Judgement_Timer Unité - Create 1 Effect Dummy for (Owner of (Triggering unit)) at Judgement_DummyPoint facing Orientation bâtiment par défaut degrees Unité - Add a 9.00 second Générique expiration timer to (Last created unit) Groupe unité - Add (Triggering unit) to Judgement_CasterGroup Table de hachage - Save JudgementCast_Zone as 0 of (Key (Triggering unit)) in Judgement_Hashtable Table de hachage - Save JudgmentCast_Damages as 1 of (Key (Triggering unit)) in Judgement_Hashtable Table de hachage - Save JudgmentCast_ZoneRecution as 2 of (Key (Triggering unit)) in Judgement_Hashtable Table de hachage - Save Handle OfJudgement_DummyPoint as 3 of (Key (Triggering unit)) in Judgement_Hashtable Table de hachage - Save JudgementCast_Timer as 4 of (Key (Triggering unit)) in Judgement_Hashtable Custom script: set bj_wantDestroyGroup =true
Groupe unité - Pick every unit in (Units within 1000.00 of Judgement_DummyPoint matching ((Triggering unit) Différent de (Matching unit))) and do (Actions)
Boucle - Actions
Unité - Set life of (Picked unit) to JudgementCast_HPpercent%
Secret:
Gui:
Trigger:
Actions
Evénements
Temps - Every (1.00 / 64.00) seconds of game time
Conditions
Actions
Groupe unité - Pick every unit in Judgement_CasterGroup and do (Actions)
Boucle - Actions
Set JudgementCast_Zone = (Load 0 of (Key (Picked unit)) from Judgement_Hashtable) Set JudgmentCast_Damages = (Load 1 of (Key (Picked unit)) from Judgement_Hashtable) Set JudgmentCast_ZoneRecution = (Load 2 of (Key (Picked unit)) from Judgement_Hashtable) Set Judgement_DummyPoint = (Load 3 of (Key (Picked unit)) in Judgement_Hashtable) Set JudgementCast_Timer = (Load 4 of (Key (Picked unit)) from Judgement_Hashtable) Set Judgement_CastingUnit = (Picked unit)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
JudgementCast_Timer Egal à Judgement_Timer
Alors - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
JudgementCast_Zone Inférieur ou égal à 100.00
Alors - Actions
Groupe unité - Remove (Picked unit) from Judgement_CasterGroup Table de hachage - Clear all child hashtables of child (Key (Picked unit)) in Judgement_Hashtable Custom script: call RemoveLocation( udg_Judgement_DummyPoint )
Sinon - Actions
For each (Integer A) from 1 to Judgement_PilarNumber, do (Actions)
Boucle - Actions
Set Judgement_PilarPoint = (Judgement_DummyPoint offset by JudgementCast_Zone towards (30.00 x (Real((Integer A)))) degrees) Effet spécial - Create a special effect at Judgement_PilarPoint using war3mapImportedSolar Beam.mdx Effet spécial - Destroy (Last created special effect) Custom script: call RemoveLocation( udg_Judgement_PilarPoint )
Set JudgementCast_Zone = (JudgementCast_Zone - JudgmentCast_ZoneRecution) Table de hachage - Save JudgementCast_Zone as 0 of (Key (Picked unit)) in Judgement_Hashtable Custom script: set bj_wantDestroyGroup =true
Groupe unité - Pick every unit in (Units within JudgementCast_Zone of Judgement_DummyPoint matching (((Owner of (Matching unit)) is an enemy of (Owner of Judgement_CastingUnit)) Egal à TRUE)) and do (Actions)
Boucle - Actions
Set Judgement_UnitPosition = (Position of (Picked unit)) Unité - Create 1 Slow Dummy for (Owner of Judgement_CastingUnit) at Judgement_UnitPosition facing Orientation bâtiment par défaut degrees Unité - Add a 0.25 second Générique expiration timer to (Last created unit) Unité - Set level of Judgement_Ability for (Last created unit) to (Level of Judgement_Ability for Judgement_CastingUnit) Unité - Order (Last created unit) to Sorcière humaine - Lenteur (Picked unit) Unité - Cause Judgement_CastingUnit to damage (Picked unit), dealing JudgmentCast_Damages damage of attack type Judgement_AttackType and damage type Judgement_DamagesType Custom script: call RemoveLocation( udg_Judgement_UnitPosition )
Set JudgementCast_Timer = 0.00 Table de hachage - Save JudgementCast_Timer as 4 of (Key (Picked unit)) in Judgement_Hashtable
Sinon - Actions
Set JudgementCast_Timer = (JudgementCast_Timer + 1.00) Table de hachage - Save JudgementCast_Timer as 4 of (Key (Picked unit)) in Judgement_Hashtable
J'espère que vous apprécierez ce sort _________________
Le vaste monde vous entoure de tous côtés ; vous pouvez vous enclore, mais vous ne pouvez éternellement le tenir en dehors de vos clôtures.
John Ronald Reuel Tolkien.
Hâtez-vous lentement, et sans perdre courage,
Vingt fois sur le métier remettez votre ouvrage.
Polissez-le sans cesse, et le repolissez.
Ajoutez quelquefois, et souvent effacez.
Boileau
Dernière édition par gisgalion le 04/03/15 09:13; édité 1 fois
Inscrit le: 30 Oct 2013 Messages: 284 Sujets: 21 Spécialité en worldedit: Spellmaker
Posté le: 04/03/15 09:13 Sujet du message:
Ah oui désolé, j'ai fait une erreur dans ce que j'ai écrit sur les variables XD
Judgement_PilarNumber est bien un entier, je vais éditer ça tout de suite ^^' _________________
Le vaste monde vous entoure de tous côtés ; vous pouvez vous enclore, mais vous ne pouvez éternellement le tenir en dehors de vos clôtures.
John Ronald Reuel Tolkien.
Hâtez-vous lentement, et sans perdre courage,
Vingt fois sur le métier remettez votre ouvrage.
Polissez-le sans cesse, et le repolissez.
Ajoutez quelquefois, et souvent effacez.
Inscrit le: 30 Oct 2013 Messages: 284 Sujets: 21 Spécialité en worldedit: Spellmaker
Posté le: 07/03/15 10:08 Sujet du message:
Ooooops
Une petite erreur ui vient du fait que j'utilisais une autre hashtable en croyant résoudre un problème débile qui s'est finalement arrangé d'une autre façon.
Et j'ai oublié de supprimer ça XD _________________
Le vaste monde vous entoure de tous côtés ; vous pouvez vous enclore, mais vous ne pouvez éternellement le tenir en dehors de vos clôtures.
John Ronald Reuel Tolkien.
Hâtez-vous lentement, et sans perdre courage,
Vingt fois sur le métier remettez votre ouvrage.
Polissez-le sans cesse, et le repolissez.
Ajoutez quelquefois, et souvent effacez.
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