Return to post
variables
{
globale:
0: HeroRoster
1: LavaLocations
2: LavaRadius
3: CheckpointLocations
4: ZoneLocations
5: ZoneText
6: PortalLocations
7: PortalDestinations
8: PortalUnlockDefaults
9: PortalText
10: HeroLocations
11: UnlockLocations
12: SpeedrunLocation
13: BouncepadLocations
14: BouncepadStrength
15: MaxObjectIndex
16: LoadingObjectIndex
17: LoadingElementIndex
18: MaxZones
19: MaxHeroes
20: SpawnFaceDirection
21: ShareCode
22: Version
23: Author
24: InWorldText
25: MatchTime
26: SecretLocations
27: SecretEffects
28: SecretMessages
29: MaxSecrets
de joueur:
0: Victory
1: TutorialMode
2: ZonesReached
3: HeroesUnlocked
4: ZoneCount
5: HeroCount
6: SecretHeroesFound
7: Respawn
8: AlternativeRespawn
9: SpeedRunMode
10: Timer
11: Deaths
12: MyHUD
13: CanDie
14: LoopCounter
15: PortalUnlocked
26: SecretsCount
27: SecretsUnlocked
28: CountsText
32: TracerOnly
33: TipsCount
}
sous-programmes
{
0: ResetProgress
1: UpdateCount
}
règle("---------- INITIALIZATION ----------")
{
évènement
{
Toute la partie - Tout le monde;
}
}
règle("Global")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
Désactiver l’enregistrement du contrôleur;
Global.MatchTime = 60 * 180;
Désactiver le calcul des points prédéfini par le mode de jeu;
Désactiver l’accomplissement prédéfini par le mode de jeu;
"Lava | Checkpoints | Zones | Portals | Heroes | Unlocks | Speedrun | Bouncepads | Secrets"
Global.MaxObjectIndex = Tableau(83, 2, 4, 17, 6, 3, 0, 9, 5);
"Center HUD"
Créer du texte d’interface(Tous les joueurs(Toutes les équipes), Non applicable, Non applicable, Chaîne personnalisée(
"|| discord.me/lavaparkour ||"), Haut, -2, Blanc, Blanc, Orange, Visible pour et Chaîne de texte,
Visibilité par défaut);
désactivé Créer du texte d’interface(Tableau filtré(Tous les joueurs(Toutes les équipes),
Élément de tableau actuel.Victory == Vrai && Élément de tableau actuel.SpeedRunMode == Faux), Chaîne personnalisée(
" FINISHED "), Non applicable, Non applicable, Haut, 1, Violet, Violet, Violet, Visible pour et Chaîne de texte,
Visibilité par défaut);
Créer du texte d’interface(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.TutorialMode == Faux),
Non applicable, Non applicable, Chaîne personnalisée("Hold [Reload] To Start Tutorial Mode"), Haut, 2, Blanc, Blanc, Jaune,
Visible pour et Chaîne de texte, Visibilité par défaut);
Créer du texte d’interface(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.TutorialMode == Vrai),
Chaîne personnalisée("TUTORIAL MODE"), Non applicable, Non applicable, Haut, 2, Jaune, Jaune, Jaune,
Visible pour et Chaîne de texte, Visibilité par défaut);
Créer du texte d’interface(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.TutorialMode == Vrai),
Non applicable, Non applicable, Chaîne personnalisée(
"Press [Interact] to use portals/hero swaps\r\n Hold [Reload] to place checkpoint\r\n Hold [Melee] for a tip"),
Haut, 3, Jaune, Jaune, Jaune, Visible pour et Chaîne de texte, Visibilité par défaut);
Créer du texte d’interface(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.TutorialMode == Faux),
Non applicable, Non applicable, Chaîne personnalisée("Press [Ultimate] To Respawn\r\n Press [Interact] To Use"), Haut, 3,
Blanc, Blanc, Blanc, Visible pour et Chaîne de texte, Visibilité par défaut);
Attente(1, Ignorer la condition);
"Left-Side HUD"
Créer du texte d’interface(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.TutorialMode == Faux),
Non applicable, Chaîne personnalisée("Hold [Ultimate] to restart"), Non applicable, Gauche, 0, Blanc, Violet, Blanc,
Visible pour et Chaîne de texte, Visibilité par défaut);
Créer du texte d’interface(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.TutorialMode == Vrai),
Non applicable, Chaîne personnalisée("Hold [Ultimate] to exit tutorial mode (resets progress)"), Non applicable, Gauche, 0,
Jaune, Jaune, Jaune, Visible pour et Chaîne de texte, Visibilité par défaut);
Créer du texte d’interface(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("PROGRESS:"), Non applicable, Non applicable,
Gauche, 1, Violet, Blanc, Blanc, Visible pour et Chaîne de texte, Visibilité par défaut);
Attente(1, Ignorer la condition);
"Right-Side HUD"
Créer du texte d’interface(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("Share Code: {0} ", Global.ShareCode),
Non applicable, Non applicable, Droite, -4, Blanc, Blanc, Blanc, Visible pour et Chaîne de texte, Visibilité par défaut);
Créer du texte d’interface(Tous les joueurs(Toutes les équipes), Non applicable, Chaîne personnalisée(
"Look for \"{0}\" on Youtube if you're Stuck", Global.ShareCode), Non applicable, Droite, -3, Blanc, Rouge, Blanc,
Visible pour et Chaîne de texte, Visibilité par défaut);
Créer du texte d’interface(Tous les joueurs(Toutes les équipes), Non applicable, Non applicable, Chaîne personnalisée(
"Created By: {0}", Global.Author), Droite, -2, Blanc, Blanc, Blanc, Visible pour et Chaîne de texte, Visibilité par défaut);
Créer du texte d’interface(Tous les joueurs(Toutes les équipes), Non applicable, Non applicable, Chaîne personnalisée(
"version {0}", Global.Version), Droite, -1, Blanc, Blanc, Blanc, Visible pour et Chaîne de texte, Visibilité par défaut);
Attente(0.010, Ignorer la condition);
"Tracer Secret"
désactivé Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Héros de(Élément de tableau actuel) == Héros(Tracer)
&& Distance entre(Position de(Élément de tableau actuel), Global.UnlockLocations[4]) < 32), Chaîne d’icône du héros(Héros(
D.Va)), Global.UnlockLocations[4], 2, Masquer derrière les surfaces, Visible pour Position et Chaîne de texte, Rouge,
Visibilité par défaut);
"Ashe Secret"
désactivé Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Héros de(Élément de tableau actuel) == Héros(Ashe)),
Chaîne d’icône du héros(Héros(Lúcio)), Global.UnlockLocations[5], 2, Masquer derrière les surfaces,
Visible pour Position et Chaîne de texte, Rouge, Visibilité par défaut);
"Hanzo secret"
désactivé Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Héros de(Élément de tableau actuel) == Héros(Hanzo)),
Chaîne d’icône du héros(Héros(Genji)), Global.UnlockLocations[6], 2, Masquer derrière les surfaces,
Visible pour Position et Chaîne de texte, Rouge, Visibilité par défaut);
"Widow Secret"
désactivé Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Héros de(Élément de tableau actuel) == Héros(Fatale)
&& Distance entre(Position de(Élément de tableau actuel), Global.UnlockLocations[7]) < 7), Chaîne d’icône du héros(Héros(Ana)),
Global.UnlockLocations[7], 2, Masquer derrière les surfaces, Visible pour Position et Chaîne de texte, Rouge,
Visibilité par défaut);
"Doomfist secret"
désactivé Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Héros de(Élément de tableau actuel) == Héros(Doomfist)
&& Distance entre(Position de(Élément de tableau actuel), Global.UnlockLocations[8]) < 100 && Composante Y de(Position de(
Élément de tableau actuel)) > 32), Chaîne d’icône du héros(Héros(Écho)), Global.UnlockLocations[8], 2,
Masquer derrière les surfaces, Visible pour Position et Chaîne de texte, Rouge, Visibilité par défaut);
"All Secret"
désactivé Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Distance entre(Position de(Élément de tableau actuel),
Global.UnlockLocations[9]) < 5.500), Chaîne d’icône du héros(Héros(Winston)), Global.UnlockLocations[9], 2,
Masquer derrière les surfaces, Visible pour Position et Chaîne de texte, Rouge, Visibilité par défaut);
désactivé Créer du texte d’interface(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("{0} | {1} | {2}", Charge du serveur,
Charge moyenne du serveur, Pic de charge du serveur), Non applicable, Non applicable, Gauche, 0, Blanc, Blanc, Blanc,
Visible pour et Chaîne de texte, Visibilité par défaut);
}
}
règle("Player")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Est une I.A.(Joueur exécutant) == Faux;
}
actions
{
Joueur exécutant.CanDie = Faux;
Forcer un héros(Joueur exécutant, Global.HeroRoster[0]);
Tant que(Apparition(Joueur exécutant) == Faux);
Attente(0.025, Ignorer la condition);
Fin;
Désactiver l’interface en jeu du mode de jeu(Joueur exécutant);
Désactiver l’interface du mode de jeu(Joueur exécutant);
Définir un statut(Joueur exécutant, Non applicable, Déphasé, 3599);
Joueur exécutant.SpeedRunMode = Faux;
Définir les dégâts infligés(Joueur exécutant, 0);
Sous-programme à appeler(ResetProgress);
Attente(0.300, Ignorer la condition);
Créer du texte d’interface(Joueur exécutant, Non applicable, Non applicable, Chaîne personnalisée(
"Zones Reached\r\n{0}\r\nHeroes Unlocked\r\n{1}\r\n{2}", Chaîne personnalisée("{0} / {1}", Joueur exécutant.ZoneCount,
Global.MaxZones), Chaîne personnalisée("{0} / {1}", Joueur exécutant.HeroCount, Global.MaxHeroes), Chaîne personnalisée(
"{0}{1}{2}", Joueur exécutant.TracerOnly[0] == Vrai ? Chaîne personnalisée("Tracer Only Route\r\n{0} / 8 {1}\r\n",
Joueur exécutant.TracerOnly[1], Joueur exécutant.TracerOnly[2] == Vrai ? Chaîne personnalisée("(failed)")
: Chaîne personnalisée("")) : Chaîne personnalisée(""), Joueur exécutant.SecretsCount > 0 ? Chaîne personnalisée(
"Key parts found\r\n{0} / 5\r\n", Joueur exécutant.SecretsCount) : Chaîne personnalisée(""), Décompte de(Tableau filtré(
Joueur exécutant.SecretHeroesFound, Élément de tableau actuel == Vrai)) > 0 ? Chaîne personnalisée(
"Secret Heroes found\r\n{0} / 8", Décompte de(Tableau filtré(Joueur exécutant.SecretHeroesFound,
Élément de tableau actuel == Vrai))) : Chaîne personnalisée(""))), Gauche, 2, Cyan, Cyan, Bleu,
Visible pour et Chaîne de texte, Visibilité par défaut);
Joueur exécutant.CountsText = Dernier identifiant de texte;
Attente(0.300, Ignorer la condition);
Définir la description d’objectif(Joueur exécutant, Chaîne personnalisée("Find All Zones and Heroes"), Chaîne de texte);
Joueur exécutant.CanDie = Vrai;
Pour variable de joueur(Joueur exécutant, LoopCounter, 0, Index de la valeur de tableau(Global.MaxObjectIndex, 8), 1);
Joueur exécutant.SecretsUnlocked[Joueur exécutant.LoopCounter] = Faux;
Fin;
Joueur exécutant.Respawn = Global.ZoneLocations[0];
}
}
règle("---------- EXTRA DATA ----------")
{
évènement
{
Toute la partie - Tout le monde;
}
}
règle("In World Text Locations")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
"\"Heroes\" Text"
Global.InWorldText[0] = Vecteur(0, 0, 0);
}
}
règle("Tutorial Mode Tip Messages")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Joueur exécutant.TutorialMode == Vrai;
Bouton maintenu enfoncé(Joueur exécutant, Mêlée) == Vrai;
}
actions
{
Attente(0.500, Interrompre quand faux);
Joueur exécutant.TipsCount += 1;
"Go to City - East"
Si(Joueur exécutant.ZonesReached[0] == Faux);
Si(Joueur exécutant.TipsCount <= 3);
Message en petit(Joueur exécutant, Chaîne personnalisée("Tip: Use {0} to reach the first zone", Chaîne d’icône du héros(Héros(
Tracer))));
Sinon;
Message en petit(Joueur exécutant, Chaîne personnalisée("Tip: Use the blinks of {0} from a car could help reaching the zone",
Chaîne d’icône du héros(Héros(Tracer))));
Fin;
"Go to Ashe"
Sinon Si(Joueur exécutant.HeroesUnlocked[0] == Faux);
Si(Joueur exécutant.TipsCount <= 3);
Message en petit(Joueur exécutant, Chaîne personnalisée("Tip: Find {0} near the theater", Chaîne d’icône du héros(Héros(Ashe))));
Sinon;
Message en petit(Joueur exécutant, Chaîne personnalisée("Tip: Blink with {0} under the theater entrance, then go over it",
Chaîne d’icône du héros(Héros(Tracer))));
Fin;
"Go to Ship unlock"
Sinon Si(Joueur exécutant.SecretsUnlocked[0] == Faux);
Si(Joueur exécutant.TipsCount <= 3);
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: Use {0} to find a way to contact the ship to access it\r\nMaybe a tree can help you to jump on rooftops",
Chaîne d’icône du héros(Héros(Ashe))));
Sinon;
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: You can stall between trees and walls,\r\nwait for the jump to go over some roofs"));
Fin;
"Go to Ship - Cockpit"
Sinon Si(Joueur exécutant.ZonesReached[1] == Faux);
Si(Joueur exécutant.TipsCount <= 3);
Message en petit(Joueur exécutant, Chaîne personnalisée("Tip: Use {0} to reach the cockpit of the ship", Chaîne d’icône du héros(
Héros(Tracer))));
Sinon;
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: Go over the ship entry after the first Ship sphere,\r\nand go through until the tricky bouncepad, then use it"));
Fin;
"Go to Hanzo"
Sinon Si(Joueur exécutant.HeroesUnlocked[1] == Faux);
Si(Joueur exécutant.TipsCount <= 3);
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: Use {0} to go through the ship and arrive to the village\r\nThen reach {1}", Chaîne d’icône du héros(Héros(Ashe)), Héros(
Hanzo)));
Sinon;
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: If you're stuck in front of {0},\r\ntry to stall between the lantern and the wall", Héros(Hanzo)));
Fin;
"Go to Village - Center"
Sinon Si(Joueur exécutant.ZonesReached[2] == Faux);
Si(Joueur exécutant.TipsCount <= 3);
Message en petit(Joueur exécutant, Chaîne personnalisée("Tip: Use {0} to reach the center of the village", Chaîne d’icône du héros(
Héros(Hanzo))));
Sinon;
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: Restart from the cockpit with {0}, go to the village\r\nand go along the cliff passing through 2 windows",
Chaîne d’icône du héros(Héros(Hanzo))));
Fin;
"Go to Widow"
Sinon Si(Joueur exécutant.HeroesUnlocked[2] == Faux);
Si(Joueur exécutant.TipsCount <= 3);
Message en petit(Joueur exécutant, Chaîne personnalisée("Tip: Find {0} somewhere in the village", Chaîne d’icône du héros(Héros(
Fatale))));
Sinon;
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: Hard {0} Parkour, go over roofs, reach spawn\r\nroom building, then look around for {1}", Chaîne d’icône du héros(Héros(
Hanzo)), Chaîne d’icône du héros(Héros(Fatale))));
Fin;
"Go to Doomfist"
Sinon Si(Joueur exécutant.HeroesUnlocked[3] == Faux);
Si(Joueur exécutant.TipsCount <= 3);
Message en petit(Joueur exécutant, Chaîne personnalisée("Tip: Use {0} to find {1} on the ship", Chaîne d’icône du héros(Héros(
Fatale)), Chaîne d’icône du héros(Héros(Doomfist))));
Sinon;
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: Use the ship portal at train station with {0}\r\nand find a way to go over", Chaîne d’icône du héros(Héros(Fatale))));
Fin;
"Go to City - West"
Sinon Si(Joueur exécutant.ZonesReached[3] == Faux);
Si(Joueur exécutant.TipsCount <= 3);
Message en petit(Joueur exécutant, Chaîne personnalisée("Tip: Pass through the whole city to reach the last zone",
Chaîne d’icône du héros(Héros(Hanzo)), Héros(Doomfist)));
Sinon;
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: Even if it's hard, using {0} seems to be\r\nthe easiest way to reach City - West", Chaîne d’icône du héros(Héros(
Hanzo))));
Fin;
Sinon Si(Joueur exécutant.SecretsCount > 0 && Joueur exécutant.SecretsCount < 5);
Message en petit(Joueur exécutant, Chaîne personnalisée("Tip: Find the super key parts that are hidden on the ship"));
"Ship Captain"
Sinon Si(Joueur exécutant.SecretHeroesFound[6] == Faux);
Si(Joueur exécutant.TipsCount <= 3);
Message en petit(Joueur exécutant, Chaîne personnalisée("Tip: Find the ship Captain hidden somewhere over the city !"));
Sinon;
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: Use the rooftop access at City - West\r\nAnd look for the captain over a building !"));
Fin;
"Train Secret"
Sinon Si(Joueur exécutant.SecretHeroesFound[7] == Faux);
Si(Joueur exécutant.TipsCount <= 3);
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: A rumor says that another secret hero who likes to go as fast as the wind is hidden somewhere !"));
Sinon;
Message en petit(Joueur exécutant, Chaîne personnalisée("Tip: Find the railway terminus and stay on the train when it restarts"));
Fin;
"Tracer's Secret"
Sinon Si(Héros de(Joueur exécutant) == Héros(Tracer) && Joueur exécutant.SecretHeroesFound[0] == Faux);
Si(Joueur exécutant.TipsCount <= 3);
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: The Star of the City heard about your challenge to make the whole parkour alone\r\n she would be glad to meet you, {0}",
Chaîne personnalisée("she's currently on her way to the city")));
Sinon;
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: Try to loop the recall trick from rooftops to a place\r\non the Ship you can't reach otherwise"));
Fin;
"Aches's Secret"
Sinon Si(Héros de(Joueur exécutant) == Héros(Ashe) && Joueur exécutant.SecretHeroesFound[1] == Faux);
Si(Joueur exécutant.TipsCount <= 3);
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: Ashe loves music and karaokes so much,\r\nthat she could break in if she can't enter by the door"));
Sinon;
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: Try to reach a window which could let you enter the building in City - West"));
Fin;
"Hanzo Secret"
Sinon Si(Héros de(Joueur exécutant) == Héros(Hanzo) && Joueur exécutant.SecretHeroesFound[2] == Faux);
Si(Joueur exécutant.TipsCount <= 3);
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: Another rumor (yep another one) says that Hanzo and Genji are the same person !\r\nHe may have lied since the beginning !"));
Sinon;
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: Two words are important in the previous tip : \"Hanzo\" and \"Beginning\""));
Fin;
"Widow's Secret"
Sinon Si(Héros de(Joueur exécutant) == Héros(Fatale) && Joueur exécutant.SecretHeroesFound[3] == Faux);
Si(Joueur exécutant.TipsCount <= 3);
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: It seems that another sniper is in the surrounding area, and you feel spied on"));
Sinon;
Message en petit(Joueur exécutant, Chaîne personnalisée("Tip: Look for the higher reachable point over the city"));
Fin;
"Doomfist's Secret"
Sinon Si(Héros de(Joueur exécutant) == Héros(Doomfist) && Joueur exécutant.SecretHeroesFound[4] == Faux);
Si(Joueur exécutant.TipsCount <= 3);
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: You feel attracted by a calm place\r\nlike an overhanging view to the sea as far as the eye can see"));
Sinon;
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: Reach the back top of the Ship from the city\r\nusing the rooftop of the higher building."));
Fin;
"Global Secret"
Sinon Si(Joueur exécutant.SecretHeroesFound[5] == Faux);
Si(Joueur exécutant.TipsCount <= 3);
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: Another hero is hidden somewhere behind a window\r\nhe can see every one through that window\r\n{0}",
Chaîne personnalisée("but you can't see him till you enter his lil tiny room")));
Sinon;
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: Look for a small room on the ship that have a big window,\r\na flying hero will make it easier"));
Fin;
Sinon Si(
Joueur exécutant.SecretHeroesFound[0] == Faux || Joueur exécutant.SecretHeroesFound[1] == Faux || Joueur exécutant.SecretHeroesFound[2] == Faux || Joueur exécutant.SecretHeroesFound[3] == Faux || Joueur exécutant.SecretHeroesFound[4] == Faux || Joueur exécutant.SecretHeroesFound[5] == Faux);
Message en petit(Joueur exécutant, Chaîne personnalisée("Tip: Check out tips on other heroes, it's still some work to do."));
Sinon;
Message en petit(Joueur exécutant, Chaîne personnalisée(
"Tip: No more secrets, you've done 100% of the map ! Congratulations !\r\nJoin Discord.me/Lavaparkour for more super cool maps :)"));
Fin;
}
}
règle("---------- EFFECTS ----------")
{
évènement
{
Toute la partie - Tout le monde;
}
}
règle("Loading Data")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
Si(Global.LoadingElementIndex > Global.MaxObjectIndex[Global.LoadingObjectIndex]);
Global.LoadingObjectIndex += 1;
Global.LoadingElementIndex = 0;
Fin;
Si(Global.LoadingElementIndex == 0);
Attente(1, Ignorer la condition);
Fin;
"Load Lava"
Si(Global.LoadingObjectIndex == 0);
Si(Global.LavaLocations[Global.LoadingElementIndex] != Vecteur(0, 0, 0)
&& Global.LavaLocations[Global.LoadingElementIndex] != Non applicable);
Si(Global.LoadingElementIndex == 1);
Créer un effet(Tous les joueurs(Toutes les équipes), Sphère, Blanc, Global.LavaLocations[Global.LoadingElementIndex],
Global.LavaRadius[Global.LoadingElementIndex], Visible pour);
Sinon;
Créer un effet(Tous les joueurs(Toutes les équipes), Sphère, Bleu ciel, Global.LavaLocations[Global.LoadingElementIndex],
Global.LavaRadius[Global.LoadingElementIndex], Visible pour);
Fin;
Fin;
Attente(0.030, Ignorer la condition);
Global.LoadingElementIndex += 1;
Boucle;
"Load Checkpoints"
Sinon Si(Global.LoadingObjectIndex == 1);
Si(Global.CheckpointLocations[Global.LoadingElementIndex] != Vecteur(0, 0, 0)
&& Global.CheckpointLocations[Global.LoadingElementIndex] != Non applicable);
Créer un effet(Tous les joueurs(Toutes les équipes), Puits de lumière, Blanc,
Global.CheckpointLocations[Global.LoadingElementIndex], 1, Visible pour);
Fin;
Attente(0.030, Ignorer la condition);
Global.LoadingElementIndex += 1;
Boucle;
"Load Zones"
Sinon Si(Global.LoadingObjectIndex == 2);
Si(Global.ZoneLocations[Global.LoadingElementIndex] != Vecteur(0, 0, 0)
&& Global.ZoneLocations[Global.LoadingElementIndex] != Non applicable);
"Zones"
Si(Global.LoadingElementIndex > 0);
Créer du texte en jeu(Tous les joueurs(Toutes les équipes), Global.ZoneText[Global.LoadingElementIndex],
Global.ZoneLocations[Global.LoadingElementIndex] + Vecteur(0, 3, 0), 3, Masquer derrière les surfaces, Visible pour, Blanc,
Visibilité par défaut);
Attente(0.030, Ignorer la condition);
Créer un effet(Tous les joueurs(Toutes les équipes), Puits de lumière, Blanc, Global.ZoneLocations[Global.LoadingElementIndex], 2,
Visible pour);
Fin;
Fin;
Attente(0.030, Ignorer la condition);
Global.LoadingElementIndex += 1;
Boucle;
"Load Portals"
Sinon Si(Global.LoadingObjectIndex == 3);
Si(Global.PortalLocations[Global.LoadingElementIndex] != Vecteur(0, 0, 0)
&& Global.PortalLocations[Global.LoadingElementIndex] != Non applicable);
Créer du texte en jeu(Tous les joueurs(Toutes les équipes), Global.PortalText[Global.LoadingElementIndex],
Global.PortalLocations[Global.LoadingElementIndex], 1.500, Masquer derrière les surfaces, Visible pour, Blanc,
Visibilité par défaut);
Attente(0.030, Ignorer la condition);
Créer un effet(Tous les joueurs(Toutes les équipes), Bonne aura, Blanc, Global.PortalLocations[Global.LoadingElementIndex], 1,
Visible pour);
Fin;
Attente(0.030, Ignorer la condition);
Global.LoadingElementIndex += 1;
Boucle;
"Load Heroes"
Sinon Si(Global.LoadingObjectIndex == 4);
Si(Global.HeroLocations[Global.LoadingElementIndex] != Vecteur(0, 0, 0)
&& Global.HeroLocations[Global.LoadingElementIndex] != Non applicable);
Si(Global.LoadingElementIndex == 0);
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Bouton maintenu enfoncé(Élément de tableau actuel,
S’accroupir) == Faux || Élément de tableau actuel.SecretHeroesFound[0] == Faux), Chaîne d’icône du héros(Global.HeroRoster[0]),
Global.HeroLocations[0] + Vecteur(0, -0.300, 0), 2, Masquer derrière les surfaces, Visible pour, Blanc, Visibilité par défaut);
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Bouton maintenu enfoncé(Élément de tableau actuel,
S’accroupir) == Vrai && Élément de tableau actuel.SecretHeroesFound[0] == Vrai), Chaîne d’icône du héros(Global.HeroRoster[5]),
Global.HeroLocations[0] + Vecteur(0, -0.300, 0), 2, Masquer derrière les surfaces, Visible pour, Blanc, Visibilité par défaut);
Sinon Si(Global.LoadingElementIndex == 1);
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Bouton maintenu enfoncé(Élément de tableau actuel,
S’accroupir) == Faux || Élément de tableau actuel.SecretHeroesFound[1] == Faux), Chaîne d’icône du héros(Global.HeroRoster[1]),
Global.HeroLocations[1] + Vecteur(0, -0.300, 0), 2, Masquer derrière les surfaces, Visible pour, Blanc, Visibilité par défaut);
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Bouton maintenu enfoncé(Élément de tableau actuel,
S’accroupir) == Vrai && Élément de tableau actuel.SecretHeroesFound[1] == Vrai), Chaîne d’icône du héros(Global.HeroRoster[6]),
Global.HeroLocations[1] + Vecteur(0, -0.300, 0), 2, Masquer derrière les surfaces, Visible pour, Blanc, Visibilité par défaut);
Sinon Si(Global.LoadingElementIndex == 2);
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Bouton maintenu enfoncé(Élément de tableau actuel,
S’accroupir) == Faux || Élément de tableau actuel.SecretHeroesFound[2] == Faux), Chaîne d’icône du héros(Global.HeroRoster[2]),
Global.HeroLocations[2] + Vecteur(0, -0.300, 0), 2, Masquer derrière les surfaces, Visible pour, Blanc, Visibilité par défaut);
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Bouton maintenu enfoncé(Élément de tableau actuel,
S’accroupir) == Vrai && Élément de tableau actuel.SecretHeroesFound[2] == Vrai), Chaîne d’icône du héros(Global.HeroRoster[7]),
Global.HeroLocations[2] + Vecteur(0, -0.300, 0), 2, Masquer derrière les surfaces, Visible pour, Blanc, Visibilité par défaut);
Sinon Si(Global.LoadingElementIndex == 3);
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Bouton maintenu enfoncé(Élément de tableau actuel,
S’accroupir) == Faux || Élément de tableau actuel.SecretHeroesFound[3] == Faux), Chaîne d’icône du héros(Global.HeroRoster[3]),
Global.HeroLocations[3] + Vecteur(0, -0.300, 0), 2, Masquer derrière les surfaces, Visible pour, Blanc, Visibilité par défaut);
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Bouton maintenu enfoncé(Élément de tableau actuel,
S’accroupir) == Vrai && Élément de tableau actuel.SecretHeroesFound[3] == Vrai), Chaîne d’icône du héros(Global.HeroRoster[8]),
Global.HeroLocations[3] + Vecteur(0, -0.300, 0), 2, Masquer derrière les surfaces, Visible pour, Blanc, Visibilité par défaut);
Sinon Si(Global.LoadingElementIndex == 4);
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Bouton maintenu enfoncé(Élément de tableau actuel,
S’accroupir) == Faux || Élément de tableau actuel.SecretHeroesFound[4] == Faux), Chaîne d’icône du héros(Global.HeroRoster[4]),
Global.HeroLocations[4] + Vecteur(0, -0.300, 0), 2, Masquer derrière les surfaces, Visible pour, Blanc, Visibilité par défaut);
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Bouton maintenu enfoncé(Élément de tableau actuel,
S’accroupir) == Vrai && Élément de tableau actuel.SecretHeroesFound[4] == Vrai), Chaîne d’icône du héros(Global.HeroRoster[9]),
Global.HeroLocations[4] + Vecteur(0, -0.300, 0), 2, Masquer derrière les surfaces, Visible pour, Blanc, Visibilité par défaut);
Fin;
Si(Global.LoadingElementIndex == 0);
Créer un effet(Tous les joueurs(Toutes les équipes), Mauvaise aura, Jaune, Global.HeroLocations[0], 1, Visible pour);
Sinon Si(Global.LoadingElementIndex == 1);
Créer un effet(Tous les joueurs(Toutes les équipes), Mauvaise aura, Vert, Global.HeroLocations[1], 1, Visible pour);
Sinon Si(Global.LoadingElementIndex == 2);
Créer un effet(Tous les joueurs(Toutes les équipes), Mauvaise aura, Bleu, Global.HeroLocations[2], 1, Visible pour);
Sinon Si(Global.LoadingElementIndex == 3);
Créer un effet(Tous les joueurs(Toutes les équipes), Mauvaise aura, Violet, Global.HeroLocations[3], 1, Visible pour);
Sinon Si(Global.LoadingElementIndex == 4);
Créer un effet(Tous les joueurs(Toutes les équipes), Mauvaise aura, Rouge, Global.HeroLocations[4], 1, Visible pour);
Sinon Si(Global.LoadingElementIndex == 5);
Créer un effet(Tous les joueurs(Toutes les équipes), Mauvaise aura, Blanc, Global.UnlockLocations[4], 1, Visible pour);
Sinon Si(Global.LoadingElementIndex == 6);
Créer un effet(Tous les joueurs(Toutes les équipes), Mauvaise aura, Blanc, Global.UnlockLocations[5], 1, Visible pour);
Fin;
Fin;
Attente(0.030, Ignorer la condition);
Global.LoadingElementIndex += 1;
Boucle;
"Load Unlocks"
Sinon Si(Global.LoadingObjectIndex == 5);
Si(Global.UnlockLocations[Global.LoadingElementIndex] != Vecteur(0, 0, 0)
&& Global.UnlockLocations[Global.LoadingElementIndex] != Non applicable);
Créer du texte en jeu(Tous les joueurs(Toutes les équipes), Chaîne d’icône du héros(
Global.HeroRoster[Global.LoadingElementIndex + 1]), Global.UnlockLocations[Global.LoadingElementIndex], 2,
Masquer derrière les surfaces, Visible pour, Blanc, Visibilité par défaut);
Attente(0.100, Ignorer la condition);
Si(Global.LoadingElementIndex == 0);
Créer un effet(Tous les joueurs(Toutes les équipes), Etincelles, Vert, Global.UnlockLocations[0], 1, Visible pour);
Sinon Si(Global.LoadingElementIndex == 1);
Créer un effet(Tous les joueurs(Toutes les équipes), Etincelles, Bleu, Global.UnlockLocations[1], 1, Visible pour);
Sinon Si(Global.LoadingElementIndex == 2);
Créer un effet(Tous les joueurs(Toutes les équipes), Etincelles, Violet, Global.UnlockLocations[2], 1, Visible pour);
Sinon Si(Global.LoadingElementIndex == 3);
Créer un effet(Tous les joueurs(Toutes les équipes), Etincelles, Rouge, Global.UnlockLocations[3], 1, Visible pour);
Fin;
Fin;
Attente(0.030, Ignorer la condition);
Global.LoadingElementIndex += 1;
Boucle;
"Load Speedrun"
Sinon Si(Global.LoadingObjectIndex == 6);
Si(Global.SpeedrunLocation != Vecteur(0, 0, 0) && Global.SpeedrunLocation != Non applicable);
Créer du texte en jeu(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("Speedrun Mode"), Global.SpeedrunLocation, 1,
Masquer derrière les surfaces, Visible pour, Rouge, Visibilité par défaut);
Attente(0.030, Ignorer la condition);
Créer un effet(Tous les joueurs(Toutes les équipes), Bonne aura, Rouge, Global.SpeedrunLocation, 1, Visible pour);
Fin;
Attente(0.100, Ignorer la condition);
Global.LoadingElementIndex += 1;
Boucle;
"Load Bouncepads"
Sinon Si(Global.LoadingObjectIndex == 7);
Si(Global.BouncepadLocations[Global.LoadingElementIndex] != Vecteur(0, 0, 0)
&& Global.BouncepadLocations[Global.LoadingElementIndex] != Non applicable);
Créer un effet(Tous les joueurs(Toutes les équipes), Orbe, Vert, Global.BouncepadLocations[Global.LoadingElementIndex], 1,
Visible pour);
Fin;
Attente(0.030, Ignorer la condition);
Global.LoadingElementIndex += 1;
Boucle;
"Load Secrets"
Sinon Si(Global.LoadingObjectIndex == 8);
Si(Global.SecretLocations[Global.LoadingElementIndex] != Vecteur(0, 0, 0)
&& Global.SecretLocations[Global.LoadingElementIndex] != Non applicable);
Global.SecretEffects[Global.LoadingElementIndex + 6] = Dernier identifiant de texte;
Attente(0.030, Ignorer la condition);
Si(Global.LoadingElementIndex == 0);
Créer un effet(Tous les joueurs(Toutes les équipes), Etincelles, Jaune, Global.SecretLocations[0], 1, Visible pour);
Sinon Si(Global.LoadingElementIndex == 1);
Créer un effet(Tous les joueurs(Toutes les équipes), Etincelles, Vert, Global.SecretLocations[1], 1, Visible pour);
Sinon Si(Global.LoadingElementIndex == 2);
Créer un effet(Tous les joueurs(Toutes les équipes), Etincelles, Bleu, Global.SecretLocations[2], 1, Visible pour);
Sinon Si(Global.LoadingElementIndex == 3);
Créer un effet(Tous les joueurs(Toutes les équipes), Etincelles, Violet, Global.SecretLocations[3], 1, Visible pour);
Sinon Si(Global.LoadingElementIndex == 4);
Créer un effet(Tous les joueurs(Toutes les équipes), Etincelles, Rouge, Global.SecretLocations[4], 1, Visible pour);
Sinon Si(Global.LoadingElementIndex == 5);
Créer un effet(Tous les joueurs(Toutes les équipes), Etincelles, Orange, Global.SecretLocations[5], 1, Visible pour);
Fin;
Global.SecretEffects[Global.LoadingElementIndex] = Dernière entité créée;
Fin;
Attente(0.030, Ignorer la condition);
Global.LoadingElementIndex += 1;
Boucle;
Fin;
"Tracer Secret"
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Héros de(Élément de tableau actuel) == Héros(Tracer)
&& Distance entre(Position de(Élément de tableau actuel), Global.UnlockLocations[6]) < 32), Chaîne d’icône du héros(Héros(
D.Va)), Global.UnlockLocations[6], 2, Masquer derrière les surfaces, Visible pour Position et Chaîne de texte, Rouge,
Visibilité par défaut);
"Ashe Secret"
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Héros de(Élément de tableau actuel) == Héros(Ashe)),
Chaîne d’icône du héros(Héros(Lúcio)), Global.UnlockLocations[7], 2, Masquer derrière les surfaces,
Visible pour Position et Chaîne de texte, Rouge, Visibilité par défaut);
"Hanzo secret"
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Héros de(Élément de tableau actuel) == Héros(Hanzo)),
Chaîne d’icône du héros(Héros(Genji)), Global.UnlockLocations[8], 2, Masquer derrière les surfaces,
Visible pour Position et Chaîne de texte, Rouge, Visibilité par défaut);
"Widow Secret"
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Héros de(Élément de tableau actuel) == Héros(Fatale)
&& Distance entre(Position de(Élément de tableau actuel), Global.UnlockLocations[9]) < 7), Chaîne d’icône du héros(Héros(Ana)),
Global.UnlockLocations[9], 2, Masquer derrière les surfaces, Visible pour Position et Chaîne de texte, Rouge,
Visibilité par défaut);
"Doomfist secret"
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Héros de(Élément de tableau actuel) == Héros(Doomfist)
&& Distance entre(Position de(Élément de tableau actuel), Global.UnlockLocations[10]) < 100 && Composante Y de(Position de(
Élément de tableau actuel)) > 32), Chaîne d’icône du héros(Héros(Écho)), Global.UnlockLocations[10], 2,
Masquer derrière les surfaces, Visible pour Position et Chaîne de texte, Rouge, Visibilité par défaut);
"Global Secret"
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Distance entre(Position de(Élément de tableau actuel),
Global.UnlockLocations[11]) < 5.500), Chaîne d’icône du héros(Héros(Winston)), Global.UnlockLocations[11], 2,
Masquer derrière les surfaces, Visible pour Position et Chaîne de texte, Rouge, Visibilité par défaut);
"Sigma"
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.SecretHeroesFound[6] == Vrai),
Chaîne d’icône du héros(Héros(Sigma)), Global.HeroLocations[5], 2, Masquer derrière les surfaces,
Visible pour Position et Chaîne de texte, Blanc, Visibilité par défaut);
"Zenyatta"
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.SecretHeroesFound[7] == Vrai),
Chaîne d’icône du héros(Héros(Zenyatta)), Global.HeroLocations[6], 2, Masquer derrière les surfaces,
Visible pour Position et Chaîne de texte, Blanc, Visibilité par défaut);
"Torbjorn"
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes),
Élément de tableau actuel.SecretHeroesFound[0] == Vrai && Élément de tableau actuel.SecretHeroesFound[1] == Vrai && Élément de tableau actuel.SecretHeroesFound[2] == Vrai && Élément de tableau actuel.SecretHeroesFound[3] == Vrai && Élément de tableau actuel.SecretHeroesFound[4] == Vrai && Élément de tableau actuel.SecretHeroesFound[5] == Vrai && Élément de tableau actuel.SecretHeroesFound[6] == Vrai && Élément de tableau actuel.SecretHeroesFound[7] == Vrai),
Chaîne d’icône du héros(Héros(Torbjörn)), Global.HeroLocations[7], 2, Masquer derrière les surfaces,
Visible pour Position et Chaîne de texte, Blanc, Visibilité par défaut);
}
}
règle("Locked Text Effects")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
Attente(0.100, Ignorer la condition);
"Portals"
Si(Global.PortalLocations[0] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.PortalUnlocked[0] == Faux),
Chaîne personnalisée("L O C K E D"), Global.PortalLocations[0] + Vecteur(0, -0.500, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
Attente(0.100, Ignorer la condition);
Si(Global.PortalLocations[1] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.PortalUnlocked[1] == Faux),
Chaîne personnalisée("L O C K E D"), Global.PortalLocations[1] + Vecteur(0, -0.500, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
Attente(0.100, Ignorer la condition);
Si(Global.PortalLocations[2] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.PortalUnlocked[2] == Faux),
Chaîne personnalisée("L O C K E D"), Global.PortalLocations[2] + Vecteur(0, -0.500, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
Attente(0.100, Ignorer la condition);
Si(Global.PortalLocations[3] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.PortalUnlocked[3] == Faux),
Chaîne personnalisée("L O C K E D"), Global.PortalLocations[3] + Vecteur(0, -0.500, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
Attente(0.100, Ignorer la condition);
Si(Global.PortalLocations[4] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.PortalUnlocked[4] == Faux),
Chaîne personnalisée("L O C K E D"), Global.PortalLocations[4] + Vecteur(0, -0.500, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
Attente(0.100, Ignorer la condition);
Si(Global.PortalLocations[5] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.PortalUnlocked[5] == Faux),
Chaîne personnalisée("L O C K E D"), Global.PortalLocations[5] + Vecteur(0, -0.500, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
Attente(0.100, Ignorer la condition);
Si(Global.PortalLocations[6] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.PortalUnlocked[6] == Faux),
Chaîne personnalisée("L O C K E D"), Global.PortalLocations[6] + Vecteur(0, -0.500, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
Attente(0.100, Ignorer la condition);
Si(Global.PortalLocations[7] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.PortalUnlocked[7] == Faux),
Chaîne personnalisée("L O C K E D"), Global.PortalLocations[7] + Vecteur(0, -0.500, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
Attente(0.100, Ignorer la condition);
Si(Global.PortalLocations[8] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.PortalUnlocked[8] == Faux),
Chaîne personnalisée("L O C K E D"), Global.PortalLocations[8] + Vecteur(0, -0.500, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
Attente(0.100, Ignorer la condition);
Si(Global.PortalLocations[9] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.PortalUnlocked[9] == Faux),
Chaîne personnalisée("L O C K E D"), Global.PortalLocations[9] + Vecteur(0, -0.500, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
Attente(0.100, Ignorer la condition);
Si(Global.PortalLocations[10] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.PortalUnlocked[10] == Faux),
Chaîne personnalisée("L O C K E D"), Global.PortalLocations[10] + Vecteur(0, -0.500, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
Attente(0.100, Ignorer la condition);
Si(Global.PortalLocations[11] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.PortalUnlocked[11] == Faux),
Chaîne personnalisée("L O C K E D"), Global.PortalLocations[11] + Vecteur(0, -0.500, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
Attente(0.100, Ignorer la condition);
Si(Global.PortalLocations[12] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.PortalUnlocked[12] == Faux),
Chaîne personnalisée("L O C K E D"), Global.PortalLocations[12] + Vecteur(0, -0.500, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
Attente(0.100, Ignorer la condition);
Si(Global.PortalLocations[13] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.PortalUnlocked[13] == Faux),
Chaîne personnalisée("L O C K E D"), Global.PortalLocations[13] + Vecteur(0, -0.500, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
Attente(0.100, Ignorer la condition);
Si(Global.PortalLocations[14] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.PortalUnlocked[14] == Faux),
Chaîne personnalisée("L O C K E D"), Global.PortalLocations[14] + Vecteur(0, -0.500, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
Attente(0.100, Ignorer la condition);
Si(Global.PortalLocations[15] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.PortalUnlocked[15] == Faux),
Chaîne personnalisée("L O C K E D"), Global.PortalLocations[15] + Vecteur(0, -0.500, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
Attente(0.100, Ignorer la condition);
Si(Global.PortalLocations[16] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.PortalUnlocked[16] == Faux),
Chaîne personnalisée("L O C K E D"), Global.PortalLocations[16] + Vecteur(0, -0.500, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
Attente(0.100, Ignorer la condition);
Si(Global.PortalLocations[17] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.PortalUnlocked[17] == Faux),
Chaîne personnalisée("L O C K E D"), Global.PortalLocations[17] + Vecteur(0, -0.500, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
"Heroes"
Si(Global.HeroLocations[1] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.HeroesUnlocked[0] == Faux),
Chaîne personnalisée("L O C K E D"), Global.HeroLocations[1] + Vecteur(0, -0.750, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
Si(Global.HeroLocations[2] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.HeroesUnlocked[1] == Faux),
Chaîne personnalisée("L O C K E D"), Global.HeroLocations[2] + Vecteur(0, -0.750, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
Attente(0.510, Ignorer la condition);
Si(Global.HeroLocations[3] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.HeroesUnlocked[2] == Faux),
Chaîne personnalisée("L O C K E D"), Global.HeroLocations[3] + Vecteur(0, -0.750, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
Si(Global.HeroLocations[4] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tableau filtré(Tous les joueurs(Toutes les équipes), Élément de tableau actuel.HeroesUnlocked[3] == Faux),
Chaîne personnalisée("L O C K E D"), Global.HeroLocations[4] + Vecteur(0, -0.750, 0), 1.250, Masquer derrière les surfaces,
Visible pour, Orange, Visibilité par défaut);
Fin;
}
}
règle("In World Text Effects")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
"\"Heroes\" Text"
Si(Global.InWorldText[0] != Vecteur(0, 0, 0));
Créer du texte en jeu(Tous les joueurs(Toutes les équipes), Chaîne de texte("Héros"), Global.InWorldText[0], 3,
Masquer derrière les surfaces, Visible pour et Chaîne de texte, Blanc, Visibilité par défaut);
Fin;
}
}
règle("---------- FUNCTIONALITY ----------")
{
évènement
{
Toute la partie - Tout le monde;
}
}
règle("Lava Death")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Apparition(Joueur exécutant) == Vrai;
En vie(Joueur exécutant) == Vrai;
Joueur exécutant.CanDie == Vrai;
(Héros de(Joueur exécutant) != Global.HeroRoster[11] && Héros de(Joueur exécutant) != Global.HeroRoster[12] && Héros de(
Joueur exécutant) != Global.HeroRoster[13]) == Vrai;
}
actions
{
Si(Vrai pour n’importe qui(Global.LavaLocations, Distance entre(Position de(Joueur exécutant) + Vecteur(0, 0.300, 0),
Élément de tableau actuel) < Global.LavaRadius[Index de la valeur de tableau(Global.LavaLocations, Élément de tableau actuel)])
== Vrai);
Si(Héros de(Joueur exécutant) == Héros(Moira) && Capacité 1 utilisée(Joueur exécutant) == Vrai);
Attente(0.150, Ignorer la condition);
Boucle si la condition est vraie;
Sinon Si(Héros de(Joueur exécutant) == Héros(Faucheur) && Capacité 1 utilisée(Joueur exécutant) == Vrai);
Attente(0.150, Ignorer la condition);
Boucle si la condition est vraie;
Sinon Si(Héros de(Joueur exécutant) == Héros(Mei) && Capacité 1 utilisée(Joueur exécutant) == Vrai);
Attente(0.150, Ignorer la condition);
Boucle si la condition est vraie;
Fin;
Tuer(Joueur exécutant, Non applicable);
Fin;
Attente(0.150, Ignorer la condition);
Boucle si la condition est vraie;
}
}
règle("Lava Death 2")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
En vie(Joueur exécutant) == Vrai;
Apparition(Joueur exécutant) == Vrai;
(Héros de(Joueur exécutant) != Global.HeroRoster[12] && Héros de(Joueur exécutant) != Global.HeroRoster[13]) == Vrai;
Distance entre(Position de(Joueur exécutant), Global.LavaLocations[1]) < Global.LavaRadius[1];
}
actions
{
Si(Distance entre(Position de(Joueur exécutant), Global.LavaLocations[1]) < Global.LavaRadius[1]);
Tuer(Joueur exécutant, Non applicable);
Fin;
}
}
règle("Respawning")
{
évènement
{
Un joueur meurt;
Les deux;
Tout;
}
actions
{
désactivé Définir l’activation de la capacité 1(Joueur exécutant, Vrai);
Si(Joueur exécutant.Victory == Faux);
Joueur exécutant.Deaths += 1;
Fin;
Attente(0.400, Ignorer la condition);
Téléportation(Joueur exécutant, Joueur exécutant.Respawn);
Attente(0.400, Ignorer la condition);
Ressusciter(Joueur exécutant);
Effacer le statut(Joueur exécutant, Déphasé);
Définir un statut(Joueur exécutant, Non applicable, Déphasé, 3599);
Si(Joueur exécutant.Respawn == Global.ZoneLocations[0]);
Si(Décompte de(Tableau filtré(Joueur exécutant.HeroesUnlocked, Élément de tableau actuel == Vrai)) == 0);
Joueur exécutant.Timer = 0;
Joueur exécutant.Deaths = 0;
Fin;
Fin;
Définir le temps de recharge de la capacité(Joueur exécutant, Bouton(Capacité 1), 0);
Définir le temps de recharge de la capacité(Joueur exécutant, Bouton(Capacité 2), 0);
Définir le temps de recharge de la capacité(Joueur exécutant, Bouton(Tir secondaire), 0);
}
}
règle("Checkpoint")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Apparition(Joueur exécutant) == Vrai;
désactivé Héros de(Joueur exécutant) != Global.HeroRoster[5];
Joueur exécutant.CanDie == Vrai;
}
actions
{
Si(Global.CheckpointLocations[0] != Vecteur(0, 0, 0));
Si(Joueur exécutant.Respawn != Global.CheckpointLocations[0] && Distance entre(Position de(Joueur exécutant),
Global.CheckpointLocations[0]) <= 1);
Joueur exécutant.Respawn = Global.CheckpointLocations[0];
Joueur exécutant.AlternativeRespawn = Global.CheckpointLocations[0];
Message en petit(Joueur exécutant, Chaîne personnalisée("{0}!", Chaîne de texte("Point de contrôle")));
Jouer un effet(Tous les joueurs(Toutes les équipes), Son d’explosion d’amélioration, Blanc, Position de(Joueur exécutant), 100);
Fin;
Fin;
Si(Global.CheckpointLocations[1] != Vecteur(0, 0, 0));
Si(Joueur exécutant.Respawn != Global.CheckpointLocations[1] && Distance entre(Position de(Joueur exécutant),
Global.CheckpointLocations[1]) <= 1);
Joueur exécutant.Respawn = Global.CheckpointLocations[1];
Joueur exécutant.AlternativeRespawn = Global.CheckpointLocations[1];
Message en petit(Joueur exécutant, Chaîne personnalisée("{0}!", Chaîne de texte("Point de contrôle")));
Jouer un effet(Tous les joueurs(Toutes les équipes), Son d’explosion d’amélioration, Blanc, Position de(Joueur exécutant), 100);
Fin;
Fin;
Si(Global.CheckpointLocations[2] != Vecteur(0, 0, 0));
Si(Joueur exécutant.Respawn != Global.CheckpointLocations[2] && Distance entre(Position de(Joueur exécutant),
Global.CheckpointLocations[2]) <= 1);
Joueur exécutant.Respawn = Global.CheckpointLocations[2];
Joueur exécutant.AlternativeRespawn = Global.CheckpointLocations[2];
Message en petit(Joueur exécutant, Chaîne personnalisée("{0}!", Chaîne de texte("Point de contrôle")));
Jouer un effet(Tous les joueurs(Toutes les équipes), Son d’explosion d’amélioration, Blanc, Position de(Joueur exécutant), 100);
Fin;
Fin;
Attente(0.150, Ignorer la condition);
Boucle si la condition est vraie;
}
}
règle("Zones")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Apparition(Joueur exécutant) == Vrai;
Joueur exécutant.CanDie == Vrai;
Héros de(Joueur exécutant) != Global.HeroRoster[11];
Héros de(Joueur exécutant) != Global.HeroRoster[12];
}
actions
{
Si(Global.ZoneLocations[1] != Vecteur(0, 0, 0));
Si(Joueur exécutant.Respawn != Global.ZoneLocations[1] && Distance entre(Position de(Joueur exécutant), Global.ZoneLocations[1])
<= 2);
Joueur exécutant.Respawn = Global.ZoneLocations[1];
Message en petit(Joueur exécutant, Chaîne personnalisée("{0}!", Chaîne de texte("Point de contrôle")));
Jouer un effet(Tous les joueurs(Toutes les équipes), Son d’explosion d’amélioration, Blanc, Position de(Joueur exécutant), 100);
Si(Joueur exécutant.ZonesReached[0] == Faux);
Joueur exécutant.ZonesReached[0] = Vrai;
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée(" \r\n{0} {1} {2}", Joueur exécutant, Chaîne de texte(
"Atteint"), Global.ZoneText[1]));
Sous-programme à appeler(UpdateCount);
Fin;
Fin;
Fin;
Si(Global.ZoneLocations[2] != Vecteur(0, 0, 0));
Si(Joueur exécutant.Respawn != Global.ZoneLocations[2] && Distance entre(Position de(Joueur exécutant), Global.ZoneLocations[2])
<= 2);
Joueur exécutant.Respawn = Global.ZoneLocations[2];
Joueur exécutant.AlternativeRespawn = Global.ZoneLocations[2];
Message en petit(Joueur exécutant, Chaîne personnalisée("{0}!", Chaîne de texte("Point de contrôle")));
Jouer un effet(Tous les joueurs(Toutes les équipes), Son d’explosion d’amélioration, Blanc, Position de(Joueur exécutant), 100);
Si(Joueur exécutant.ZonesReached[1] == Faux);
Joueur exécutant.ZonesReached[1] = Vrai;
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée(" \r\n{0} {1} {2}", Joueur exécutant, Chaîne de texte(
"Atteint"), Global.ZoneText[2]));
Sous-programme à appeler(UpdateCount);
Fin;
Fin;
Fin;
Si(Global.ZoneLocations[3] != Vecteur(0, 0, 0));
Si(Joueur exécutant.Respawn != Global.ZoneLocations[3] && Distance entre(Position de(Joueur exécutant), Global.ZoneLocations[3])
<= 2);
Joueur exécutant.Respawn = Global.ZoneLocations[3];
Joueur exécutant.AlternativeRespawn = Global.ZoneLocations[3];
Message en petit(Joueur exécutant, Chaîne personnalisée("{0}!", Chaîne de texte("Point de contrôle")));
Jouer un effet(Tous les joueurs(Toutes les équipes), Son d’explosion d’amélioration, Blanc, Position de(Joueur exécutant), 100);
Si(Joueur exécutant.ZonesReached[2] == Faux);
Joueur exécutant.ZonesReached[2] = Vrai;
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée(" \r\n{0} {1} {2}", Joueur exécutant, Chaîne de texte(
"Atteint"), Global.ZoneText[3]));
Sous-programme à appeler(UpdateCount);
Fin;
Fin;
Fin;
Si(Global.ZoneLocations[4] != Vecteur(0, 0, 0));
Si(Joueur exécutant.Respawn != Global.ZoneLocations[4] && Distance entre(Position de(Joueur exécutant), Global.ZoneLocations[4])
<= 2);
Joueur exécutant.Respawn = Global.ZoneLocations[4];
Joueur exécutant.AlternativeRespawn = Global.ZoneLocations[4];
Message en petit(Joueur exécutant, Chaîne personnalisée("{0}!", Chaîne de texte("Point de contrôle")));
Jouer un effet(Tous les joueurs(Toutes les équipes), Son d’explosion d’amélioration, Blanc, Position de(Joueur exécutant), 100);
Si(Joueur exécutant.ZonesReached[3] == Faux);
Joueur exécutant.ZonesReached[3] = Vrai;
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée(" \r\n{0} {1} {2}", Joueur exécutant, Chaîne de texte(
"Atteint"), Global.ZoneText[4]));
Sous-programme à appeler(UpdateCount);
Fin;
Fin;
Fin;
Attente(0.150, Ignorer la condition);
Boucle si la condition est vraie;
}
}
règle("Hero Swap")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Bouton maintenu enfoncé(Joueur exécutant, Interaction) == Vrai;
Vrai pour n’importe qui(Tableau filtré(Global.HeroLocations, Élément de tableau actuel != Vecteur(0, 0, 0)), Distance entre(
Position des yeux(Joueur exécutant), Élément de tableau actuel) < 1.500) == Vrai;
}
actions
{
Pour variable de joueur(Joueur exécutant, LoopCounter, 0, 5, 1);
Si(Global.HeroLocations[Joueur exécutant.LoopCounter] != Vecteur(0, 0, 0)
&& Global.HeroLocations[Joueur exécutant.LoopCounter] != 0);
Si(
Joueur exécutant.HeroesUnlocked[Joueur exécutant.LoopCounter - 1] == Vrai || Joueur exécutant.LoopCounter == 0 || Joueur exécutant.LoopCounter >= 5);
Si(Distance entre(Position des yeux(Joueur exécutant), Global.HeroLocations[Joueur exécutant.LoopCounter]) <= 1.500);
Si(Joueur exécutant.SecretHeroesFound[Joueur exécutant.LoopCounter] == Vrai && Bouton maintenu enfoncé(Joueur exécutant,
S’accroupir));
Forcer un héros(Joueur exécutant, Global.HeroRoster[Joueur exécutant.LoopCounter + 5]);
Sinon;
Forcer un héros(Joueur exécutant, Global.HeroRoster[Joueur exécutant.LoopCounter]);
Fin;
Joueur exécutant.Respawn = Global.ZoneLocations[1];
Joueur exécutant.AlternativeRespawn = Non applicable;
Joueur exécutant.TipsCount = 0;
Arrêter;
Fin;
Fin;
Fin;
Fin;
}
}
règle("Hero Swap Tip")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Apparition(Joueur exécutant) == Vrai;
Vrai pour n’importe qui(Tableau filtré(Global.HeroLocations, Élément de tableau actuel != Vecteur(0, 0, 0)), Distance entre(
Position des yeux(Joueur exécutant), Élément de tableau actuel) < 1.500) == Vrai;
}
actions
{
Attente(2, Interrompre quand faux);
Message en petit(Joueur exécutant, Chaîne personnalisée("Press [Interact]"));
}
}
règle("Hero Unlock")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Apparition(Joueur exécutant) == Vrai;
Joueur exécutant.HeroCount < Global.MaxHeroes;
Vrai pour n’importe qui(Tableau filtré(Global.UnlockLocations, Élément de tableau actuel != Vecteur(0, 0, 0)), Distance entre(
Position des yeux(Joueur exécutant), Élément de tableau actuel) < 1.500) == Vrai;
Héros de(Joueur exécutant) != Global.HeroRoster[11];
Héros de(Joueur exécutant) != Global.HeroRoster[12];
}
actions
{
Pour variable de joueur(Joueur exécutant, LoopCounter, 0, Global.MaxObjectIndex[5] + 1, 1);
Si(Global.UnlockLocations[Joueur exécutant.LoopCounter] != Vecteur(0, 0, 0)
&& Global.UnlockLocations[Joueur exécutant.LoopCounter] != 0);
Si(Joueur exécutant.HeroesUnlocked[Joueur exécutant.LoopCounter] == Faux);
Si(Distance entre(Position des yeux(Joueur exécutant), Global.UnlockLocations[Joueur exécutant.LoopCounter]) <= 1.500);
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée(" \r\n{0} {1} {2}", Joueur exécutant, Chaîne de texte(
"Déverrouillé"), Chaîne d’icône du héros(Global.HeroRoster[Joueur exécutant.LoopCounter + 1])));
Joueur exécutant.HeroesUnlocked[Joueur exécutant.LoopCounter] = Vrai;
Jouer un effet(Tous les joueurs(Toutes les équipes), Son d’explosion d’amélioration, Blanc, Position de(Joueur exécutant), 100);
Sous-programme à appeler(UpdateCount);
Joueur exécutant.TipsCount = 0;
Arrêter;
Fin;
Fin;
Fin;
Fin;
}
}
règle("Portal Usage")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Bouton maintenu enfoncé(Joueur exécutant, Interaction) == Vrai;
Vrai pour n’importe qui(Tableau filtré(Global.PortalLocations, Élément de tableau actuel != Vecteur(0, 0, 0)), Distance entre(
Position des yeux(Joueur exécutant), Élément de tableau actuel) < 1.500) == Vrai;
}
actions
{
Pour variable de joueur(Joueur exécutant, LoopCounter, 0, Global.MaxObjectIndex[3] + 1, 1);
Si(Joueur exécutant.PortalUnlocked[Joueur exécutant.LoopCounter] == Vrai);
Si(Global.PortalLocations[Joueur exécutant.LoopCounter] != Vecteur(0, 0, 0)
&& Global.PortalLocations[Joueur exécutant.LoopCounter] != 0);
Si(Global.PortalDestinations[Joueur exécutant.LoopCounter] != Vecteur(0, 0, 0)
&& Global.PortalDestinations[Joueur exécutant.LoopCounter] != 0);
Si(Distance entre(Position des yeux(Joueur exécutant), Global.PortalLocations[Joueur exécutant.LoopCounter]) <= 1.500);
Téléportation(Joueur exécutant, Global.PortalDestinations[Joueur exécutant.LoopCounter]);
Arrêter;
Fin;
Fin;
Fin;
Fin;
Fin;
}
}
règle("Unlocking a Portal (reach the destination)")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
désactivé Héros de(Joueur exécutant) != Global.HeroRoster[5];
Vrai pour n’importe qui(Tableau filtré(Global.PortalDestinations, Élément de tableau actuel != Vecteur(0, 0, 0)), Distance entre(
Élément de tableau actuel, Position de(Joueur exécutant)) < 2) == Vrai;
}
actions
{
Pour variable de joueur(Joueur exécutant, LoopCounter, 0, Global.MaxObjectIndex[3] + 1, 1);
Si(Global.PortalDestinations[Joueur exécutant.LoopCounter] != Vecteur(0, 0, 0)
&& Global.PortalDestinations[Joueur exécutant.LoopCounter] != 0);
Si(Joueur exécutant.PortalUnlocked[Joueur exécutant.LoopCounter] == Faux);
Si(Distance entre(Position de(Joueur exécutant), Global.PortalDestinations[Joueur exécutant.LoopCounter]) <= 2);
Joueur exécutant.PortalUnlocked[Joueur exécutant.LoopCounter] = Vrai;
Fin;
Fin;
Fin;
Fin;
}
}
règle("Teleport Back to a Spawn Point")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Bouton maintenu enfoncé(Joueur exécutant, Capacité ultime) == Vrai;
désactivé Héros de(Joueur exécutant) != Global.HeroRoster[5];
}
actions
{
Définir l’activation de la capacité 1(Joueur exécutant, Faux);
Attente(0.010, Ignorer la condition);
Définir l’activation de la capacité 1(Joueur exécutant, Vrai);
Définir le temps de recharge de la capacité(Joueur exécutant, Bouton(Tir secondaire), 0);
Définir le temps de recharge de la capacité(Joueur exécutant, Bouton(Capacité 1), 0);
Définir le temps de recharge de la capacité(Joueur exécutant, Bouton(Capacité 2), 0);
Si(Distance entre(Position de(Joueur exécutant), Joueur exécutant.Respawn) > 1);
Téléportation(Joueur exécutant, Joueur exécutant.Respawn);
Attente(0.050, Ignorer la condition);
Jouer un effet(Tous les joueurs(Toutes les équipes), Son d’explosion d’amélioration, Blanc, Position de(Joueur exécutant), 100);
Sinon;
Si(Joueur exécutant.AlternativeRespawn != Non applicable);
Si(Distance entre(Position de(Joueur exécutant), Joueur exécutant.AlternativeRespawn) > 1);
Téléportation(Joueur exécutant, Joueur exécutant.AlternativeRespawn);
Joueur exécutant.Respawn = Joueur exécutant.AlternativeRespawn;
Sinon;
Si(Joueur exécutant.ZonesReached[0] == Vrai);
Téléportation(Joueur exécutant, Global.ZoneLocations[1]);
Fin;
Fin;
Fin;
Fin;
}
}
règle("Bouncepad Interaction")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Vrai pour n’importe qui(Tableau filtré(Global.BouncepadLocations, Élément de tableau actuel != Vecteur(0, 0, 0)), Distance entre(
Position de(Joueur exécutant), Élément de tableau actuel) < 1.500) == Vrai;
}
actions
{
Pour variable de joueur(Joueur exécutant, LoopCounter, 0, Global.MaxObjectIndex[7] + 1, 1);
Si(Global.BouncepadLocations[Joueur exécutant.LoopCounter] != Vecteur(0, 0, 0)
&& Global.BouncepadLocations[Joueur exécutant.LoopCounter] != 0);
Si(Distance entre(Position de(Joueur exécutant), Global.BouncepadLocations[Joueur exécutant.LoopCounter]) <= 1.500);
Appliquer une impulsion(Joueur exécutant, Vecteur(0, 1, 0), Global.BouncepadStrength[Joueur exécutant.LoopCounter], Au monde,
Annuler le mouvement contraire);
Jouer un effet(Tous les joueurs(Toutes les équipes), Son d’impact d’affaiblissement, Blanc, Joueur exécutant, 75);
Arrêter;
Fin;
Fin;
Fin;
}
}
règle("Victory")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Joueur exécutant.Victory == Faux;
Joueur exécutant.ZoneCount == Global.MaxZones;
Joueur exécutant.HeroCount == Global.MaxHeroes;
}
actions
{
Joueur exécutant.Victory = Vrai;
Détruire du texte d’interface(Joueur exécutant.MyHUD[1]);
Si(Joueur exécutant.SpeedRunMode == Vrai);
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("{0} FINISHED ({1}) IN {2} !", Joueur exécutant,
Joueur exécutant.TracerOnly[1] == 3 && Joueur exécutant.TracerOnly[0] == Faux ? Chaîne personnalisée("Intended Route") : (
Joueur exécutant.TracerOnly[1] == 8 && Joueur exécutant.TracerOnly[0] == Vrai ? Chaîne personnalisée("Tracer Only")
: Chaîne personnalisée("Deviant route")), Chaîne personnalisée("{0}:{1}", Arrondir à l’entier(Joueur exécutant.Timer / 60,
En dessous), Arrondir à l’entier(Joueur exécutant.Timer % 60, En dessous))));
Créer du texte d’interface(Joueur exécutant, Chaîne personnalisée(" Finished "), Chaîne personnalisée("{0}\r\nDeaths: {1}",
Joueur exécutant.TracerOnly[1] == 3 && Joueur exécutant.TracerOnly[0] == Faux ? Chaîne personnalisée("Intended Route") : (
Joueur exécutant.TracerOnly[1] == 8 && Joueur exécutant.TracerOnly[0] == Vrai ? Chaîne personnalisée("Tracer Only")
: Chaîne personnalisée("Deviant route")), Joueur exécutant.Deaths), Chaîne personnalisée("Time: {0}:{1}", Arrondir à l’entier(
Joueur exécutant.Timer / 60, En dessous), Arrondir à l’entier(Joueur exécutant.Timer % 60, En dessous)), Haut, 1, Violet, Vert,
Vert, Visible pour et Chaîne de texte, Visibilité par défaut);
Sinon;
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("{0} Finished ({1}) !", Joueur exécutant,
Joueur exécutant.TracerOnly[1] == 3 && Joueur exécutant.TracerOnly[0] == Faux ? Chaîne personnalisée("Intended Route") : (
Joueur exécutant.TracerOnly[1] == 8 && Joueur exécutant.TracerOnly[0] == Vrai ? Chaîne personnalisée("Tracer Only")
: Chaîne personnalisée("Deviant route"))));
Créer du texte d’interface(Joueur exécutant, Chaîne personnalisée(" Finished ({0}) ",
Joueur exécutant.TracerOnly[1] == 3 && Joueur exécutant.TracerOnly[0] == Faux ? Chaîne personnalisée("Intended Route") : (
Joueur exécutant.TracerOnly[1] == 8 && Joueur exécutant.TracerOnly[0] == Vrai ? Chaîne personnalisée("Tracer Only")
: Chaîne personnalisée("Deviant route"))), Non applicable, Non applicable, Haut, 1, Violet, Vert, Vert,
Visible pour et Chaîne de texte, Visibilité par défaut);
Fin;
Joueur exécutant.MyHUD[0] = Dernier identifiant de texte;
}
}
règle("Secret Heroes")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Apparition(Joueur exécutant) == Vrai;
(Distance entre(Position des yeux(Joueur exécutant), Global.UnlockLocations[4]) <= 2 || Distance entre(Position des yeux(
Joueur exécutant), Global.UnlockLocations[5]) <= 7.500) == Vrai;
En vie(Joueur exécutant) == Vrai;
}
actions
{
Si(Héros de(Joueur exécutant) != Global.HeroRoster[11] && Distance entre(Position des yeux(Joueur exécutant),
Global.UnlockLocations[4]) <= 2);
Forcer un héros(Joueur exécutant, Global.HeroRoster[11]);
Si(Joueur exécutant.SecretHeroesFound[6] == Faux);
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée(" \r\n{0} {1} {2}", Joueur exécutant, Chaîne de texte(
"Trouvé"), Chaîne d’icône du héros(Global.HeroRoster[11])));
Joueur exécutant.SecretHeroesFound[6] = Vrai;
Fin;
Sinon Si(Héros de(Joueur exécutant) != Global.HeroRoster[12] && Distance entre(Position des yeux(Joueur exécutant),
Global.UnlockLocations[5]) <= 7.500);
Forcer un héros(Joueur exécutant, Global.HeroRoster[12]);
Si(Joueur exécutant.SecretHeroesFound[7] == Faux);
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée(" \r\n{0} {1} {2}", Joueur exécutant, Chaîne de texte(
"Trouvé"), Chaîne d’icône du héros(Global.HeroRoster[12])));
Joueur exécutant.SecretHeroesFound[7] = Vrai;
Fin;
Fin;
}
}
règle("Secret Heroes Jump")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Bouton maintenu enfoncé(Joueur exécutant, Sauter) == Vrai;
(Héros de(Joueur exécutant) == Global.HeroRoster[11] || Héros de(Joueur exécutant) == Global.HeroRoster[12] || Héros de(
Joueur exécutant) == Global.HeroRoster[13]) == Vrai;
}
actions
{
Si(Héros de(Joueur exécutant) == Global.HeroRoster[11]);
Appliquer une impulsion(Joueur exécutant, Vecteur(0, 1, 0), 10, Au monde, Annuler le mouvement contraire);
Sinon Si(Héros de(Joueur exécutant) == Global.HeroRoster[12]);
Appliquer une impulsion(Joueur exécutant, Vecteur(0, 1, 0), 20, Au monde, Annuler le mouvement contraire);
Sinon;
Appliquer une impulsion(Joueur exécutant, Vecteur(0, 1, 0), 30, Au monde, Annuler le mouvement contraire);
Fin;
Jouer un effet(Tous les joueurs(Toutes les équipes), Son d’impact d’affaiblissement, Blanc, Joueur exécutant, 50);
}
}
règle("Secret Heroes Speed")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
(Héros de(Joueur exécutant) == Global.HeroRoster[11] || Héros de(Joueur exécutant) == Global.HeroRoster[12] || Héros de(
Joueur exécutant) == Global.HeroRoster[13]) == Vrai;
}
actions
{
Si(Héros de(Joueur exécutant) == Global.HeroRoster[11]);
Définir la vitesse de déplacement(Joueur exécutant, 200);
Sinon Si(Héros de(Joueur exécutant) == Global.HeroRoster[12]);
Définir la vitesse de déplacement(Joueur exécutant, 300);
Sinon;
Définir la vitesse de déplacement(Joueur exécutant, 400);
Fin;
Attente(0.500, Ignorer la condition);
Boucle si la condition est vraie;
Définir la vitesse de déplacement(Joueur exécutant, 100);
}
}
règle("Self-Restart")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Bouton maintenu enfoncé(Joueur exécutant, Capacité ultime) == Vrai;
}
actions
{
Attente(0.750, Interrompre quand faux);
Message en petit(Joueur exécutant, Chaîne personnalisée("Resetting Progress... 3"));
Attente(0.750, Interrompre quand faux);
Message en petit(Joueur exécutant, Chaîne personnalisée("Resetting Progress... 2"));
Attente(0.750, Interrompre quand faux);
Message en petit(Joueur exécutant, Chaîne personnalisée("Resetting Progress... 1"));
Attente(0.750, Interrompre quand faux);
Message en petit(Joueur exécutant, Chaîne personnalisée("Progress Reset!"));
Attente(0.050, Ignorer la condition);
Sous-programme à appeler(ResetProgress);
Joueur exécutant.SecretsUnlocked[0] = Faux;
}
}
règle("Speed Run Toggle")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Bouton maintenu enfoncé(Joueur exécutant, Interaction) == Vrai;
Global.SpeedrunLocation != Vecteur(0, 0, 0);
Distance entre(Position des yeux(Joueur exécutant), Global.SpeedrunLocation) < 1.500;
}
actions
{
Si(Joueur exécutant.SpeedRunMode == Faux);
Attente(0.250, Ignorer la condition);
Si(!Bouton maintenu enfoncé(Joueur exécutant, Interaction));
Message en petit(Joueur exécutant, Chaîne personnalisée(
"WARNING: Enabling speed run will reset all progress\r\n Hold [Interact] to enable speed run mode"));
Fin;
Attente(1, Interrompre quand faux);
Joueur exécutant.SpeedRunMode = Vrai;
Joueur exécutant.Victory = Faux;
Sous-programme à appeler(ResetProgress);
Créer du texte d’interface(Joueur exécutant, Chaîne personnalisée("Speed Run"), Chaîne personnalisée("Deaths: {0}",
Joueur exécutant.Deaths), Chaîne personnalisée("Time: {0}:{1}", Arrondir à l’entier(Joueur exécutant.Timer / 60, En dessous),
Arrondir à l’entier(Joueur exécutant.Timer % 60, En dessous)), Haut, 1, Orange, Rouge, Orange, Visible pour et Chaîne de texte,
Visibilité par défaut);
Joueur exécutant.MyHUD[1] = Dernier identifiant de texte;
Message en petit(Joueur exécutant, Chaîne personnalisée("Speed Run Mode Activated"));
Sinon;
Détruire du texte d’interface(Joueur exécutant.MyHUD[0]);
Détruire du texte d’interface(Joueur exécutant.MyHUD[1]);
Joueur exécutant.SpeedRunMode = Faux;
Message en petit(Joueur exécutant, Chaîne personnalisée("Speed Run Mode Disabled"));
Fin;
}
}
règle("Speed Run Timer Increase")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Joueur exécutant.SpeedRunMode == Vrai;
Joueur exécutant.Victory == Faux;
Distance entre(Position de(Joueur exécutant), Global.ZoneLocations[0]) > 1;
}
actions
{
Attente(0.992, Interrompre quand faux);
Joueur exécutant.Timer += 1;
Boucle;
}
}
règle("Tutorial Mode Toggle")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Joueur exécutant.TutorialMode == Faux;
Bouton maintenu enfoncé(Joueur exécutant, Rechargement) == Vrai;
}
actions
{
Attente(0.250, Interrompre quand faux);
Message en petit(Joueur exécutant, Chaîne personnalisée("Starting Tutorial Mode... 3"));
Attente(0.750, Interrompre quand faux);
Message en petit(Joueur exécutant, Chaîne personnalisée("Starting Tutorial Mode... 2"));
Attente(0.750, Interrompre quand faux);
Message en petit(Joueur exécutant, Chaîne personnalisée("Starting Tutorial Mode... 1"));
Attente(0.750, Interrompre quand faux);
Message en petit(Joueur exécutant, Chaîne personnalisée("Tutorial Mode Activated!"));
Joueur exécutant.TutorialMode = Vrai;
}
}
règle("Tutorial Mode Set Checkpoint")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Joueur exécutant.TutorialMode == Vrai;
Bouton maintenu enfoncé(Joueur exécutant, Rechargement) == Vrai;
désactivé Distance entre(Position de(Joueur exécutant), Joueur exécutant.Respawn) > 2;
Vitesse verticale de(Joueur exécutant) == 0;
Vitesse horizontale de(Joueur exécutant) == 0;
}
actions
{
Attente(0.500, Interrompre quand faux);
Message en petit(Joueur exécutant, Chaîne personnalisée("Checkpoint Set!"));
Joueur exécutant.Respawn = Position de(Joueur exécutant);
Joueur exécutant.AlternativeRespawn = Position de(Joueur exécutant);
Jouer un effet(Tous les joueurs(Toutes les équipes), Son d’explosion d’amélioration, Blanc, Position de(Joueur exécutant), 100);
}
}
règle("Reset Progress | Subroutine")
{
évènement
{
Sous-programme;
ResetProgress;
}
actions
{
Forcer un héros(Joueur exécutant, Global.HeroRoster[0]);
Si(Joueur exécutant.SpeedRunMode == Vrai && Joueur exécutant.Victory == Vrai);
Créer du texte d’interface(Joueur exécutant, Chaîne personnalisée("Speed Run"), Chaîne personnalisée("Deaths: {0}",
Joueur exécutant.Deaths), Chaîne personnalisée("Time: {0}:{1}", Arrondir à l’entier(Joueur exécutant.Timer / 60, En dessous),
Arrondir à l’entier(Joueur exécutant.Timer % 60, En dessous)), Haut, 1, Orange, Rouge, Orange, Visible pour et Chaîne de texte,
Visibilité par défaut);
Joueur exécutant.MyHUD[1] = Dernier identifiant de texte;
Fin;
Détruire du texte d’interface(Joueur exécutant.MyHUD[0]);
Joueur exécutant.PortalUnlocked = Global.PortalUnlockDefaults;
Joueur exécutant.Victory = Faux;
Joueur exécutant.ZonesReached[0] = Faux;
Joueur exécutant.ZonesReached[1] = Faux;
Joueur exécutant.ZonesReached[2] = Faux;
Joueur exécutant.ZonesReached[3] = Faux;
Joueur exécutant.HeroesUnlocked[0] = Faux;
Joueur exécutant.HeroesUnlocked[1] = Faux;
Joueur exécutant.HeroesUnlocked[2] = Faux;
Joueur exécutant.HeroesUnlocked[3] = Faux;
Si(Global.ZoneLocations[0] != Vecteur(0, 0, 0));
Joueur exécutant.Respawn = Global.ZoneLocations[0];
Fin;
Joueur exécutant.Deaths = 0;
Joueur exécutant.Timer = 0;
Joueur exécutant.ZoneCount = 0;
Joueur exécutant.HeroCount = 0;
Joueur exécutant.AlternativeRespawn = Non applicable;
Téléportation(Joueur exécutant, Joueur exécutant.Respawn);
Attente(0.100, Ignorer la condition);
Jouer un effet(Tous les joueurs(Toutes les équipes), Son d’explosion concentrique, Blanc, Position de(Joueur exécutant), 100);
Joueur exécutant.TutorialMode = Faux;
Joueur exécutant.SecretHeroesFound = Tableau(Faux, Faux, Faux, Faux, Faux, Faux, Faux, Faux, Faux);
Définir la direction du regard(Joueur exécutant, Global.SpawnFaceDirection, Au monde);
Joueur exécutant.SecretsUnlocked[0] = Faux;
Joueur exécutant.SecretsUnlocked[1] = Faux;
Joueur exécutant.SecretsUnlocked[2] = Faux;
Joueur exécutant.SecretsUnlocked[3] = Faux;
Joueur exécutant.SecretsUnlocked[4] = Faux;
Joueur exécutant.SecretsUnlocked[5] = Faux;
Joueur exécutant.SecretsCount = 0;
Joueur exécutant.TracerOnly = Tableau(Faux, 0, Faux);
}
}
règle("Update Count | Subroutine")
{
évènement
{
Sous-programme;
UpdateCount;
}
actions
{
Joueur exécutant.ZoneCount = Décompte de(Tableau filtré(Joueur exécutant.ZonesReached, Élément de tableau actuel == Vrai));
Joueur exécutant.HeroCount = Décompte de(Tableau filtré(Joueur exécutant.HeroesUnlocked, Élément de tableau actuel == Vrai));
Si(Joueur exécutant.HeroCount > 4);
Joueur exécutant.HeroCount = 4;
Fin;
Si(Héros de(Joueur exécutant) == Héros(Tracer));
Joueur exécutant.TracerOnly[1] += 1;
Sinon;
Joueur exécutant.TracerOnly[2] = Vrai;
Fin;
Joueur exécutant.TipsCount = 0;
}
}
règle("Match Time Initiation")
{
évènement
{
Toute la partie - Tout le monde;
}
conditions
{
Partie en cours == Vrai;
Phase de choix de héros == Faux;
}
actions
{
Créer du texte d’interface(Tous les joueurs(Toutes les équipes), Non applicable, Non applicable, Chaîne personnalisée(
"Match Time - {0}:{1}", Arrondir à l’entier(Global.MatchTime / 60, En dessous), Arrondir à l’entier(Global.MatchTime % 60,
En dessous)), Haut, -10, Blanc, Blanc, Blanc, Visible pour et Chaîne de texte, Visibilité par défaut);
Définir le temps de jeu(3599);
Attente(5, Ignorer la condition);
Mettre en pause le temps de jeu;
}
}
règle("Match Time Warning")
{
évènement
{
Toute la partie - Tout le monde;
}
conditions
{
"10 Min Warning"
Global.MatchTime < 600;
}
actions
{
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("10 Minute Warning"));
Attente(300, Ignorer la condition);
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("5 Minute Warning"));
Attente(240, Ignorer la condition);
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("1 Minute Warning"));
Attente(60, Ignorer la condition);
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("Match Time Is Up!"));
Activer l’accomplissement prédéfini par le mode de jeu;
Activer l’interface en jeu du mode de jeu(Tous les joueurs(Toutes les équipes));
Activer l’interface du mode de jeu(Tous les joueurs(Toutes les équipes));
Définir le temps de jeu(0);
Attente(0.250, Ignorer la condition);
Reprendre le temps de jeu;
}
}
règle("Match Time")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
Attente(0.998, Ignorer la condition);
Global.MatchTime -= 1;
Si(Global.MatchTime <= 0);
Interrompre;
Fin;
Boucle;
}
}
règle("Skip Assembling Heroes")
{
évènement
{
Toute la partie - Tout le monde;
}
conditions
{
Phase de choix de héros == Vrai;
}
actions
{
Définir le temps de jeu(1);
}
}
règle("Find Secret")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Vrai pour n’importe qui(Tableau filtré(Global.SecretLocations, Élément de tableau actuel != Vecteur(0, 0, 0)), Distance entre(
Position des yeux(Joueur exécutant), Élément de tableau actuel) < 2) == Vrai;
Héros de(Joueur exécutant) != Global.HeroRoster[12];
}
actions
{
Pour variable de joueur(Joueur exécutant, LoopCounter, 0, Global.MaxObjectIndex[8] + 1, 1);
Si(Global.SecretLocations[Joueur exécutant.LoopCounter] != Vecteur(0, 0, 0)
&& Global.SecretLocations[Joueur exécutant.LoopCounter] != 0 && Joueur exécutant.SecretsUnlocked[Joueur exécutant.LoopCounter] == Faux);
Si(Distance entre(Position des yeux(Joueur exécutant), Global.SecretLocations[Joueur exécutant.LoopCounter]) <= 2);
Joueur exécutant.SecretsUnlocked[Joueur exécutant.LoopCounter] = Vrai;
Jouer un effet(Tous les joueurs(Toutes les équipes), Son d’explosion d’amélioration, Blanc, Position de(Joueur exécutant), 100);
Message en petit(Joueur exécutant, Global.SecretMessages[Joueur exécutant.LoopCounter]);
Si(Joueur exécutant.LoopCounter == 0);
Joueur exécutant.PortalUnlocked[12] = Vrai;
Si(Héros de(Joueur exécutant) == Héros(Tracer));
Joueur exécutant.TracerOnly[0] = Vrai;
Fin;
Sinon;
Joueur exécutant.SecretsCount = Joueur exécutant.SecretsCount + 1;
Attente(0.100, Ignorer la condition);
Si(
Joueur exécutant.SecretsUnlocked[1] == Vrai && Joueur exécutant.SecretsUnlocked[2] == Vrai && Joueur exécutant.SecretsUnlocked[3] == Vrai && Joueur exécutant.SecretsUnlocked[4] == Vrai && Joueur exécutant.SecretsUnlocked[5] == Vrai);
Joueur exécutant.PortalUnlocked[16] = Vrai;
Message en petit(Joueur exécutant, Chaîne personnalisée("The key is finally complete, you can use it."));
Fin;
Fin;
Arrêter;
Fin;
Fin;
Fin;
Attente(0.100, Ignorer la condition);
}
}
règle("----- DATA -----")
{
évènement
{
Toute la partie - Tout le monde;
}
}
règle("Release Information")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
Global.ShareCode = Chaîne personnalisée("221F3");
Global.Version = Chaîne personnalisée("1.1.2");
Global.Author = Chaîne personnalisée("UltimaLinky");
}
}
règle("Goal Counts")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
Global.MaxZones = 4;
Global.MaxHeroes = 4;
Global.MaxSecrets = 5;
}
}
règle("Hero Roster")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
"Spawning Hero - Yellow"
Global.HeroRoster[0] = Héros(Tracer);
"Unlockable Hero 1 - Green"
Global.HeroRoster[1] = Héros(Ashe);
"Unlockable Hero 2 - Blue"
Global.HeroRoster[2] = Héros(Hanzo);
"Unlockable Hero 3 - Purple"
Global.HeroRoster[3] = Héros(Fatale);
"Unlockable Hero 4 - Red"
Global.HeroRoster[4] = Héros(Doomfist);
"Tracer Secret"
Global.HeroRoster[5] = Héros(D.Va);
"Ashe Secret"
Global.HeroRoster[6] = Héros(Lúcio);
"Hanzo Secret"
Global.HeroRoster[7] = Héros(Genji);
"Widow Secret"
Global.HeroRoster[8] = Héros(Ana);
"Doomfist Secret"
Global.HeroRoster[9] = Héros(Écho);
"Global Secret"
Global.HeroRoster[10] = Héros(Winston);
"Secret Hero - White"
Global.HeroRoster[11] = Héros(Sigma);
"Secret Hero 2 - White"
Global.HeroRoster[12] = Héros(Zenyatta);
"Super Secret Hero"
Global.HeroRoster[13] = Héros(Torbjörn);
}
}
règle("Lava Locations")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
Global.LavaLocations[0] = Vecteur(0, 0, 0);
Global.LavaLocations[1] = Vecteur(-48.400, 10.680, -68.900);
Global.LavaLocations[2] = Vecteur(260.200, 16.500, 249.800);
Global.LavaLocations[3] = Vecteur(252.200, 1.300, 262.350);
Global.LavaLocations[4] = Vecteur(259.900, 25.600, 249.400);
Global.LavaLocations[5] = Vecteur(261.300, 4.200, 253.900);
Global.LavaLocations[6] = Vecteur(240.950, 1.050, 253.450);
Global.LavaLocations[7] = Vecteur(264.100, 12.520, 263.110);
Global.LavaLocations[8] = Vecteur(254.200, 6.860, 219.900);
Global.LavaLocations[9] = Vecteur(262.200, 12.100, 207.300);
Global.LavaLocations[10] = Vecteur(241.500, 16.100, 206.900);
Global.LavaLocations[11] = Vecteur(257.200, 12, 226.600);
Global.LavaLocations[12] = Vecteur(247.200, 14.500, 225.900);
Global.LavaLocations[13] = Vecteur(247.200, 13.650, 240.700);
Global.LavaLocations[14] = Vecteur(238.750, 11, 249.800);
Global.LavaLocations[15] = Vecteur(249.900, 15.200, 259.300);
Global.LavaLocations[16] = Vecteur(232.300, 14.200, 262.800);
Global.LavaLocations[17] = Vecteur(217.200, 14.900, 259.300);
Global.LavaLocations[18] = Vecteur(222.850, 18, 242.550);
Global.LavaLocations[19] = Vecteur(226.200, 8.650, 272.700);
Global.LavaLocations[20] = Vecteur(215.900, -12.300, 288.750);
Global.LavaLocations[21] = Vecteur(176.700, 4.500, 292.100);
Global.LavaLocations[22] = Vecteur(182.800, 15.600, 274.800);
Global.LavaLocations[23] = Vecteur(232.650, 10.100, 229.200);
Global.LavaLocations[24] = Vecteur(236.300, 14.250, 220.800);
Global.LavaLocations[25] = Vecteur(185.400, 12.600, 248.150);
Global.LavaLocations[26] = Vecteur(203.250, 13.100, 256.600);
Global.LavaLocations[27] = Vecteur(165.400, 11.600, 250.350);
Global.LavaLocations[28] = Vecteur(181.100, 13.100, 227.700);
Global.LavaLocations[29] = Vecteur(186.200, 11.100, 254);
Global.LavaLocations[30] = Vecteur(195.100, 11.100, 258.600);
Global.LavaLocations[31] = Vecteur(175.200, 10, 269.500);
Global.LavaLocations[32] = Vecteur(171.300, 6.100, 258.500);
Global.LavaLocations[33] = Vecteur(163.200, 10.100, 261.800);
Global.LavaLocations[34] = Vecteur(200.700, 8, 243);
Global.LavaLocations[35] = Vecteur(224.550, 10.100, 226.500);
Global.LavaLocations[36] = Vecteur(240.600, 21.800, 232.250);
Global.LavaLocations[37] = Vecteur(-5.550, -82.600, -127.700);
Global.LavaLocations[38] = Vecteur(-2.150, 15.950, -152);
Global.LavaLocations[39] = Vecteur(27.600, 13.200, -128.100);
Global.LavaLocations[40] = Vecteur(-1, 16.150, -103.900);
Global.LavaLocations[41] = Vecteur(51.900, -88.700, -111);
Global.LavaLocations[42] = Vecteur(44, 11.550, -118.700);
Global.LavaLocations[43] = Vecteur(50.800, 21.100, -114);
Global.LavaLocations[44] = Vecteur(64.670, 10.200, -130);
Global.LavaLocations[45] = Vecteur(72.800, 11.850, -120.246);
Global.LavaLocations[46] = Vecteur(35, 9.200, -109.250);
Global.LavaLocations[47] = Vecteur(60.350, 9.400, -108);
Global.LavaLocations[48] = Vecteur(51.650, 9.800, -127.800);
Global.LavaLocations[49] = Vecteur(84.800, 9.850, -88.900);
Global.LavaLocations[50] = Vecteur(-266.200, -188.850, 158.950);
Global.LavaLocations[51] = Vecteur(-275.900, 12.350, 123.700);
Global.LavaLocations[52] = Vecteur(-274.130, 13.400, 165.400);
Global.LavaLocations[53] = Vecteur(-307.300, 12.050, 161.060);
Global.LavaLocations[54] = Vecteur(-328.460, 14.050, 179.160);
Global.LavaLocations[55] = Vecteur(-307.400, 7, 134);
Global.LavaLocations[56] = Vecteur(-340.750, 6.800, 161);
Global.LavaLocations[57] = Vecteur(-345.700, 14.450, 140.600);
Global.LavaLocations[58] = Vecteur(-328.500, -9.500, 140.800);
Global.LavaLocations[59] = Vecteur(-329.400, 10.750, 131.300);
Global.LavaLocations[60] = Vecteur(-336.400, 15.800, 108.500);
Global.LavaLocations[61] = Vecteur(-337.150, 14.400, 126.250);
Global.LavaLocations[62] = Vecteur(-303.200, 14.700, 115.650);
Global.LavaLocations[63] = Vecteur(-359.250, 12, 167.150);
Global.LavaLocations[64] = Vecteur(88.047, 13, -132.904);
Global.LavaLocations[65] = Vecteur(81.318, 14.700, -132.546);
Global.LavaLocations[66] = Vecteur(88.750, 19.550, -153.200);
Global.LavaLocations[67] = Vecteur(91.700, 13, -125.520);
Global.LavaLocations[68] = Vecteur(98.087, 16, -109.147);
Global.LavaLocations[69] = Vecteur(226.770, 25.790, 229.140);
Global.LavaLocations[70] = Vecteur(91.500, 27, -131.200);
Global.LavaLocations[71] = Vecteur(91.700, 29.950, -121.250);
Global.LavaLocations[72] = Vecteur(88.750, 21.300, -116.050);
Global.LavaLocations[73] = Vecteur(81.050, 27.600, -116.350);
Global.LavaLocations[74] = Vecteur(-377.450, 10, 127.250);
Global.LavaLocations[75] = Vecteur(-370, 14.100, 139.850);
Global.LavaLocations[76] = Vecteur(-380.700, 10.600, 158.200);
Global.LavaLocations[77] = Vecteur(201.900, 10.250, 270.150);
Global.LavaLocations[78] = Vecteur(235.800, 27.100, 222.500);
Global.LavaLocations[79] = Vecteur(78.950, 13, -101.200);
Global.LavaLocations[80] = Vecteur(-403.550, -88.900, 149.300);
Global.LavaLocations[81] = Vecteur(-400.550, 13.150, 159.550);
Global.LavaLocations[82] = Vecteur(207.850, 11.500, 242.500);
Global.LavaLocations[83] = Vecteur(81.550, 17.150, -126.500);
Global.LavaLocations[84] = Vecteur(-48.400, 10.680, -68.900);
Global.LavaLocations[85] = Vecteur(-48.400, 10.680, -68.900);
}
}
règle("Lava Radius")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
Global.LavaRadius[0] = 0;
Global.LavaRadius[1] = 15;
Global.LavaRadius[2] = 9;
Global.LavaRadius[3] = 8.500;
Global.LavaRadius[4] = 7.500;
Global.LavaRadius[5] = 5;
Global.LavaRadius[6] = 10;
Global.LavaRadius[7] = 10;
Global.LavaRadius[8] = 2.500;
Global.LavaRadius[9] = 4.750;
Global.LavaRadius[10] = 8;
Global.LavaRadius[11] = 5.500;
Global.LavaRadius[12] = 6;
Global.LavaRadius[13] = 5;
Global.LavaRadius[14] = 10;
Global.LavaRadius[15] = 8;
Global.LavaRadius[16] = 5;
Global.LavaRadius[17] = 10;
Global.LavaRadius[18] = 15;
Global.LavaRadius[19] = 10;
Global.LavaRadius[20] = 30;
Global.LavaRadius[21] = 20;
Global.LavaRadius[22] = 8.500;
Global.LavaRadius[23] = 4.900;
Global.LavaRadius[24] = 10;
Global.LavaRadius[25] = 5;
Global.LavaRadius[26] = 7;
Global.LavaRadius[27] = 7.500;
Global.LavaRadius[28] = 7;
Global.LavaRadius[29] = 5;
Global.LavaRadius[30] = 7;
Global.LavaRadius[31] = 5.200;
Global.LavaRadius[32] = 7;
Global.LavaRadius[33] = 6;
Global.LavaRadius[34] = 5;
Global.LavaRadius[35] = 4;
Global.LavaRadius[36] = 6;
Global.LavaRadius[37] = 100;
Global.LavaRadius[38] = 15;
Global.LavaRadius[39] = 13;
Global.LavaRadius[40] = 12.500;
Global.LavaRadius[41] = 100;
Global.LavaRadius[42] = 7.500;
Global.LavaRadius[43] = 7.500;
Global.LavaRadius[44] = 8.500;
Global.LavaRadius[45] = 11.500;
Global.LavaRadius[46] = 10;
Global.LavaRadius[47] = 10;
Global.LavaRadius[48] = 6.500;
Global.LavaRadius[49] = 10;
Global.LavaRadius[50] = 200;
Global.LavaRadius[51] = 15;
Global.LavaRadius[52] = 6.500;
Global.LavaRadius[53] = 22;
Global.LavaRadius[54] = 11;
Global.LavaRadius[55] = 19.500;
Global.LavaRadius[56] = 15;
Global.LavaRadius[57] = 14;
Global.LavaRadius[58] = 20;
Global.LavaRadius[59] = 7;
Global.LavaRadius[60] = 7.500;
Global.LavaRadius[61] = 5.500;
Global.LavaRadius[62] = 10;
Global.LavaRadius[63] = 17.500;
Global.LavaRadius[64] = 5.500;
Global.LavaRadius[65] = 4.500;
Global.LavaRadius[66] = 15;
Global.LavaRadius[67] = 7.500;
Global.LavaRadius[68] = 5;
Global.LavaRadius[69] = 5;
Global.LavaRadius[70] = 7.500;
Global.LavaRadius[71] = 7;
Global.LavaRadius[72] = 7;
Global.LavaRadius[73] = 5;
Global.LavaRadius[74] = 10;
Global.LavaRadius[75] = 10;
Global.LavaRadius[76] = 15;
Global.LavaRadius[77] = 5.500;
Global.LavaRadius[78] = 5;
Global.LavaRadius[79] = 7.500;
Global.LavaRadius[80] = 100;
Global.LavaRadius[81] = 7.500;
Global.LavaRadius[82] = 7.500;
Global.LavaRadius[83] = 2.500;
Global.LavaRadius[84] = 15.100;
Global.LavaRadius[85] = 15.100;
}
}
règle("Checkpoint Locations")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
Global.CheckpointLocations[0] = Vecteur(-250.450, 10.350, 163.850);
Global.CheckpointLocations[1] = Vecteur(51.800, 14.600, -120.700);
Global.CheckpointLocations[2] = Vecteur(0, 0, 0);
}
}
règle("Zone Locations")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
"Spawn"
Global.ZoneLocations[0] = Vecteur(-25.160, 17.200, -125.470);
"Zone 1"
Global.ZoneLocations[1] = Vecteur(18.770, 13, -108.560);
"Zone 2"
Global.ZoneLocations[2] = Vecteur(214.900, 17.200, 224.250);
"Zone 3"
Global.ZoneLocations[3] = Vecteur(-328.700, 9.800, 118.300);
"Zone 4"
Global.ZoneLocations[4] = Vecteur(107.700, 15.950, -125.800);
}
}
règle("Zone Text")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
"Spawn"
Global.ZoneText[0] = 0;
"Zone 1"
Global.ZoneText[1] = Chaîne personnalisée("City - East");
"Zone 2"
Global.ZoneText[2] = Chaîne personnalisée("Ship - Cockpit");
"Zone 3"
Global.ZoneText[3] = Chaîne personnalisée("Village - Center");
"Zone 4"
Global.ZoneText[4] = Chaîne personnalisée("City - West");
}
}
règle("Portal Locations")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
Global.PortalLocations[0] = Vecteur(22.300, 14.500, -105.700);
Global.PortalLocations[1] = Vecteur(22.300, 14.500, -102.750);
Global.PortalLocations[2] = Vecteur(22.300, 14.500, -99.800);
Global.PortalLocations[3] = Vecteur(218, 18.600, 225.100);
Global.PortalLocations[4] = Vecteur(216.300, 18.600, 227.200);
Global.PortalLocations[5] = Vecteur(213.550, 18.600, 227);
Global.PortalLocations[6] = Vecteur(-331.800, 11.300, 113.500);
Global.PortalLocations[7] = Vecteur(-328.500, 11.300, 113.500);
Global.PortalLocations[8] = Vecteur(-325.200, 11.300, 113.500);
Global.PortalLocations[9] = Vecteur(113.400, 17.500, -128.300);
Global.PortalLocations[10] = Vecteur(113.400, 17.500, -125.300);
Global.PortalLocations[11] = Vecteur(113.400, 17.500, -122.300);
Global.PortalLocations[12] = Vecteur(51.900, 6.500, -73.300);
Global.PortalLocations[13] = Vecteur(249.500, 6.500, 225);
Global.PortalLocations[14] = Vecteur(191.500, 6.500, 249.750);
Global.PortalLocations[15] = Vecteur(-251.550, 11.700, 179.250);
Global.PortalLocations[16] = Vecteur(100.500, 17.300, -121);
Global.PortalLocations[17] = Vecteur(96, 36.500, -117.750);
}
}
règle("Portal Destinations")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
Global.PortalDestinations[0] = Vecteur(214.900, 17.200, 224.250);
Global.PortalDestinations[1] = Vecteur(-328.700, 9.800, 118.300);
Global.PortalDestinations[2] = Vecteur(107.700, 15.950, -125.800);
Global.PortalDestinations[3] = Vecteur(18.770, 13, -108.560);
Global.PortalDestinations[4] = Vecteur(-328.700, 9.800, 118.300);
Global.PortalDestinations[5] = Vecteur(107.700, 15.950, -125.800);
Global.PortalDestinations[6] = Vecteur(18.770, 13, -108.560);
Global.PortalDestinations[7] = Vecteur(214.900, 17.200, 224.250);
Global.PortalDestinations[8] = Vecteur(107.700, 15.950, -125.800);
Global.PortalDestinations[9] = Vecteur(18.770, 13, -108.560);
Global.PortalDestinations[10] = Vecteur(214.900, 17.200, 224.250);
Global.PortalDestinations[11] = Vecteur(-328.700, 9.800, 118.300);
Global.PortalDestinations[12] = Vecteur(249.500, 5, 225);
Global.PortalDestinations[13] = Vecteur(51.900, 5.500, -73.300);
Global.PortalDestinations[14] = Vecteur(-251.550, 10.500, 179.250);
Global.PortalDestinations[15] = Vecteur(191.500, 5, 249.500);
Global.PortalDestinations[16] = Vecteur(96, 35.500, -117.750);
Global.PortalDestinations[17] = Vecteur(100.900, 16, -121.400);
}
}
règle("Portal Unlock Defaults")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
"True = Usable from Start | False = Locked until destination is reached"
Global.PortalUnlockDefaults[0] = Faux;
Global.PortalUnlockDefaults[1] = Faux;
Global.PortalUnlockDefaults[2] = Faux;
Global.PortalUnlockDefaults[3] = Faux;
Global.PortalUnlockDefaults[4] = Faux;
Global.PortalUnlockDefaults[5] = Faux;
Global.PortalUnlockDefaults[6] = Faux;
Global.PortalUnlockDefaults[7] = Faux;
Global.PortalUnlockDefaults[8] = Faux;
Global.PortalUnlockDefaults[9] = Faux;
Global.PortalUnlockDefaults[10] = Faux;
Global.PortalUnlockDefaults[11] = Faux;
Global.PortalUnlockDefaults[12] = Faux;
Global.PortalUnlockDefaults[13] = Vrai;
Global.PortalUnlockDefaults[14] = Vrai;
Global.PortalUnlockDefaults[15] = Vrai;
Global.PortalUnlockDefaults[16] = Faux;
Global.PortalUnlockDefaults[17] = Vrai;
}
}
règle("Portal Text")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
Global.PortalText[0] = Chaîne personnalisée("Ship - Cockpit");
Global.PortalText[1] = Chaîne personnalisée("Village - Center");
Global.PortalText[2] = Chaîne personnalisée("City - West");
Global.PortalText[3] = Chaîne personnalisée("City - East");
Global.PortalText[4] = Chaîne personnalisée("Village - Center");
Global.PortalText[5] = Chaîne personnalisée("City - West");
Global.PortalText[6] = Chaîne personnalisée("City - East");
Global.PortalText[7] = Chaîne personnalisée("Ship - Cockpit");
Global.PortalText[8] = Chaîne personnalisée("City - West");
Global.PortalText[9] = Chaîne personnalisée("City - East");
Global.PortalText[10] = Chaîne personnalisée("Ship - Cockpit");
Global.PortalText[11] = Chaîne personnalisée("Village - Center");
Global.PortalText[12] = Chaîne personnalisée("Ship - Entry");
Global.PortalText[13] = Chaîne personnalisée("City - Train station");
Global.PortalText[14] = Chaîne personnalisée("Village - Cliff");
Global.PortalText[15] = Chaîne personnalisée("Ship - Entry 2");
Global.PortalText[16] = Chaîne personnalisée("Rooftop");
Global.PortalText[17] = Chaîne personnalisée("Street");
}
}
règle("Hero Locations")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
"Starting Hero - Yellow"
Global.HeroLocations[0] = Vecteur(23.250, 11.300, -94.450);
"Unlockable Hero 1 - Green"
Global.HeroLocations[1] = Vecteur(21.380, 11.300, -94.450);
"Unlockable Hero 2 - Blue"
Global.HeroLocations[2] = Vecteur(19.510, 11.300, -94.450);
"Unlockable Hero 3 - Purple"
Global.HeroLocations[3] = Vecteur(17.640, 11.300, -94.450);
"Unlockable Hero 4 - Red"
Global.HeroLocations[4] = Vecteur(15.770, 11.300, -94.450);
"Secret Hero"
Global.HeroLocations[5] = Vecteur(26.850, 11, -95.050);
"Secret Hero 2"
Global.HeroLocations[6] = Vecteur(26.850, 9.100, -86.500);
"Super Secret Hero 3"
Global.HeroLocations[7] = Vecteur(26.850, 10, -90.300);
}
}
règle("Unlock Locations")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
"Unlockable Hero 1 - Green"
Global.UnlockLocations[0] = Vecteur(51.950, 13, -147.300);
"Unlockable Hero 2 - Blue"
Global.UnlockLocations[1] = Vecteur(-271.150, 12.500, 139.850);
"Unlockable Hero 3 - Purple"
Global.UnlockLocations[2] = Vecteur(-378.690, 16.190, 172.290);
"Unlockable Hero 4 - Red"
Global.UnlockLocations[3] = Vecteur(246, 15.800, 192.100);
"Secret Hero"
Global.UnlockLocations[4] = Vecteur(125.900, 47.500, -125.700);
"Secret Hero 2"
Global.UnlockLocations[5] = Vecteur(-54.700, 10, -68.800);
"Tracer Secret"
Global.UnlockLocations[6] = Vecteur(148.800, 12.400, 252.650);
"Ashe Secret"
Global.UnlockLocations[7] = Vecteur(133.850, 18.400, -124.900);
"Hanzo Secret"
Global.UnlockLocations[8] = Vecteur(-25.160, 18.400, -125.470);
"Widow Secret"
Global.UnlockLocations[9] = Vecteur(51.750, 68.200, -131.500);
"Doomfist Secret"
Global.UnlockLocations[10] = Vecteur(228.500, 41.850, 255.400);
"Global Secret"
Global.UnlockLocations[11] = Vecteur(268.700, 16.600, 200.350);
}
}
règle("Speedrun Location")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
Global.SpeedrunLocation = Vecteur(13.900, 14.350, -104.400);
}
}
règle("Bouncepad Locations")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
Global.BouncepadLocations[0] = Vecteur(0, 0, 0);
Global.BouncepadLocations[1] = Vecteur(211.550, 9.100, 216.200);
Global.BouncepadLocations[2] = Vecteur(0, 0, 0);
Global.BouncepadLocations[3] = Vecteur(0, 0, 0);
Global.BouncepadLocations[4] = Vecteur(0, 0, 0);
Global.BouncepadLocations[5] = Vecteur(0, 0, 0);
Global.BouncepadLocations[6] = Vecteur(0, 0, 0);
Global.BouncepadLocations[7] = Vecteur(0, 0, 0);
Global.BouncepadLocations[8] = Vecteur(0, 0, 0);
Global.BouncepadLocations[9] = Vecteur(0, 0, 0);
}
}
règle("Bouncepad Strengths")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
Global.BouncepadStrength[0] = 10;
Global.BouncepadStrength[1] = 14;
Global.BouncepadStrength[2] = 10;
Global.BouncepadStrength[3] = 10;
Global.BouncepadStrength[4] = 10;
Global.BouncepadStrength[5] = 10;
Global.BouncepadStrength[6] = 10;
Global.BouncepadStrength[7] = 10;
Global.BouncepadStrength[8] = 10;
Global.BouncepadStrength[9] = 10;
}
}
règle("Spawn Face Direction")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
"First time spawn direction"
Global.SpawnFaceDirection = Vecteur(-1000, 0, 0);
}
}
règle("Secret Locations")
{
évènement
{
Toute la partie - Tout le monde;
}
actions
{
"Secret 1 - Yellow"
Global.SecretLocations[0] = Vecteur(77.350, 20, -108.550);
Global.SecretMessages[0] = Chaîne personnalisée("You've found a way to contact the ship !\r\nTry to use it at the train station");
"Secret 2 - Green"
Global.SecretLocations[1] = Vecteur(249.430, 11.400, 245.900);
Global.SecretMessages[1] = Chaîne personnalisée(
"You've found a part of the super key !\r\nGet each one to form the key and use it");
"Secret 3 - Blue"
Global.SecretLocations[2] = Vecteur(247.600, 24.400, 220.750);
Global.SecretMessages[2] = Chaîne personnalisée(
"You've found a part of the super key !\r\nGet each one to form the key and use it");
"Secret 4 - Purple"
Global.SecretLocations[3] = Vecteur(207.200, 11.500, 264.150);
Global.SecretMessages[3] = Chaîne personnalisée(
"You've found a part of the super key !\r\nGet each one to form the key and use it");
"Secret 5 - Red"
Global.SecretLocations[4] = Vecteur(228.200, 9.500, 254.900);
Global.SecretMessages[4] = Chaîne personnalisée(
"You've found a part of the super key !\r\nGet each one to form the key and use it");
"Secret 6 - Orange"
Global.SecretLocations[5] = Vecteur(212.450, 26.500, 252.600);
Global.SecretMessages[5] = Chaîne personnalisée(
"You've found a part of the super key !\r\nGet each one to form the key and use it");
}
}
règle("Super Speed")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Vitesse horizontale de(Joueur exécutant) > 95;
}
actions
{
Forcer un héros(Joueur exécutant, Global.HeroRoster[12]);
Si(Joueur exécutant.SecretHeroesFound[7] == Faux);
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée(" \r\n{0} {1} {2}", Joueur exécutant, Chaîne de texte(
"Trouvé"), Chaîne d’icône du héros(Global.HeroRoster[12])));
Joueur exécutant.SecretHeroesFound[7] = Vrai;
Fin;
}
}
règle("Window")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Distance entre(Position des yeux(Joueur exécutant), Vecteur(118.750, 26.050, -137.300)) < 1.500;
Joueur exécutant.ZonesReached[0] == Vrai;
}
actions
{
Téléportation(Joueur exécutant, Vecteur(119.050, 26.050, -137.300));
}
}
règle("Secret Heroes Swap")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Bouton maintenu enfoncé(Joueur exécutant, Interaction) == Vrai;
}
actions
{
Si(Héros de(Joueur exécutant) == Héros(Tracer) && Distance entre(Position des yeux(Joueur exécutant), Global.UnlockLocations[6])
< 1.500);
Forcer un héros(Joueur exécutant, Héros(D.Va));
Si(Joueur exécutant.SecretHeroesFound[0] == Faux);
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("{0} {1} {2}", Joueur exécutant, Chaîne de texte(
"Trouvé"), Chaîne d’icône du héros(Héros(D.Va))));
Joueur exécutant.SecretHeroesFound[0] = Vrai;
Fin;
Sinon Si(Héros de(Joueur exécutant) == Héros(Ashe) && Distance entre(Position des yeux(Joueur exécutant),
Global.UnlockLocations[7]) < 1.500);
Forcer un héros(Joueur exécutant, Héros(Lúcio));
Si(Joueur exécutant.SecretHeroesFound[1] == Faux);
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("{0} {1} {2}", Joueur exécutant, Chaîne de texte(
"Trouvé"), Chaîne d’icône du héros(Héros(Lúcio))));
Joueur exécutant.SecretHeroesFound[1] = Vrai;
Fin;
Sinon Si(Héros de(Joueur exécutant) == Héros(Hanzo) && Distance entre(Position des yeux(Joueur exécutant),
Global.UnlockLocations[8]) < 1.500);
Forcer un héros(Joueur exécutant, Héros(Genji));
Si(Joueur exécutant.SecretHeroesFound[2] == Faux);
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("{0} {1} {2}", Joueur exécutant, Chaîne de texte(
"Trouvé"), Chaîne d’icône du héros(Héros(Genji))));
Joueur exécutant.SecretHeroesFound[2] = Vrai;
Fin;
Sinon Si(Héros de(Joueur exécutant) == Héros(Fatale) && Distance entre(Position des yeux(Joueur exécutant),
Global.UnlockLocations[9]) < 1.500);
Forcer un héros(Joueur exécutant, Héros(Ana));
Si(Joueur exécutant.SecretHeroesFound[3] == Faux);
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("{0} {1} {2}", Joueur exécutant, Chaîne de texte(
"Trouvé"), Chaîne d’icône du héros(Héros(Ana))));
Joueur exécutant.SecretHeroesFound[3] = Vrai;
Fin;
Sinon Si(Héros de(Joueur exécutant) == Héros(Doomfist) && Distance entre(Position des yeux(Joueur exécutant),
Global.UnlockLocations[10]) < 1.500);
Forcer un héros(Joueur exécutant, Héros(Écho));
Si(Joueur exécutant.SecretHeroesFound[4] == Faux);
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("{0} {1} {2}", Joueur exécutant, Chaîne de texte(
"Trouvé"), Chaîne d’icône du héros(Héros(Écho))));
Joueur exécutant.SecretHeroesFound[4] = Vrai;
Fin;
Sinon Si(Distance entre(Position des yeux(Joueur exécutant), Global.UnlockLocations[11]) < 1.500);
Forcer un héros(Joueur exécutant, Héros(Winston));
Si(Joueur exécutant.SecretHeroesFound[5] == Faux);
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("{0} {1} {2}", Joueur exécutant, Chaîne de texte(
"Trouvé"), Chaîne d’icône du héros(Héros(Winston))));
Joueur exécutant.SecretHeroesFound[5] = Vrai;
Fin;
Sinon Si(Joueur exécutant.SecretHeroesFound[6] == Vrai && Distance entre(Position des yeux(Joueur exécutant),
Global.HeroLocations[5]) < 1.500);
Forcer un héros(Joueur exécutant, Héros(Sigma));
Sinon Si(Joueur exécutant.SecretHeroesFound[7] == Vrai && Distance entre(Position des yeux(Joueur exécutant),
Global.HeroLocations[6]) < 1.500);
Forcer un héros(Joueur exécutant, Héros(Zenyatta));
Sinon Si(Décompte de(Tableau filtré(Joueur exécutant.SecretHeroesFound, Élément de tableau actuel == Vrai)) >= 8 && Distance entre(
Position des yeux(Joueur exécutant), Global.HeroLocations[7]) < 1.500);
Forcer un héros(Joueur exécutant, Héros(Torbjörn));
Fin;
}
}