Create
Return to post

Comparing difference between and

View raw
  • 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;
  • }
  • }
Join the Workshop.codes Discord