<p align="center">
   <img alt="TR Rando" src="Resources/randomizerlogo.png"/>
</p>

TR Rando is a randomizer tool for the classic Tomb Raider series (TR 1-3, Unfinished Business and The Golden Mask) and Tomb Raider I-III Remastered. It allows you to change many aspects of the
original levels, such as item pickups, secrets, enemies, Lara's appearance, level order, text...[and so much more](#features).

## Installation

1. Download the [latest version](https://github.com/LostArtefacts/TR-Rando/releases/latest), making sure to select the `TRRando` zip and not the source code.
2. Extract.
3. Run `TRRandomizer.exe` and follow the instructions.
4. Play and enjoy!

See [USING.md](USING.md) for a more detailed setup guide.

See [CONTRIBUTING.md](CONTRIBUTING.md) if you are interested in participating in the development of the project.

## Features
![TR Rando UI](Resources/UI.png)

* **Secrets** - Randomizes locations of secrets and their rewards.
* **Items** - Randomizes pickups, including key items!
* **Enemies** - Randomizes the types of enemies you encounter.
* **Textures** - Randomly applies textures to levels.
* **Level Sequencing** - Change the number of levels in the game and randomize their order.
* **Inventory Loss** - Randomizes what levels Lara loses her guns and/or ammo and items.
* **Audio** - Randomizes title screen, level ambience, trigger soundtracks, secret soundtracks and sound effects.
* **Sunsets** - Randomizes what levels have the Bartoli's Hideout sunset effect.
* **Outfits** - Randomizes the outfit Lara wears in each level, including options like invisibility and haircuts.
* **Text** - Randomizes in-game text, such as weapon and level names. Includes a variety of languages to choose from.
* **Night Mode/VFX** - Darken levels to give a night-time effect or apply visual effects to TR3.
* **Starting Position** - Choose to have Lara start levels in different positions facing a different direction.
* **Environment** - Modifies the level environment, such as mixing up water levels, mirroring levels, moving keyholes, randomizing traps and adding new puzzle/challenge areas.
* And more!

## Discord
We have a friendly community Discord server [here](https://discord.gg/f4bUqwgcCN).

## Tracker
For keeping track of levels while you play, check out the [TRRandoTracker](https://github.com/LostArtefacts/TRRandoTracker).

## Showcase
![TR1 Rando](Resources/Screenshots/Compressed/TR1_3.jpg)
![TR1 Rando](Resources/Screenshots/Compressed/TR1_4.jpg)
![TR1R Rando](Resources/Screenshots/Compressed/TR1R_1.jpg)
![TR1R Rando](Resources/Screenshots/Compressed/TR1R_2.jpg)
![TR2 Rando](Resources/Screenshots/Compressed/TR2_1.jpg)
![TR2 Rando](Resources/Screenshots/Compressed/TR2_4.jpg)
![TR2 Rando](Resources/Screenshots/Compressed/TR2_5.jpg)
![TR2R Rando](Resources/Screenshots/Compressed/TR2R_1.jpg)
![TR2R Rando](Resources/Screenshots/Compressed/TR2R_2.jpg)
![TR3 Rando](Resources/Screenshots/Compressed/TR3_2.jpg)
![TR3 Rando](Resources/Screenshots/Compressed/TR3_3.jpg)
![TR3R Rando](Resources/Screenshots/Compressed/TR3R_1.jpg)
![TR3R Rando](Resources/Screenshots/Compressed/TR3R_2.jpg)

[View all](Resources/Screenshots).

## Thanks
* Everyone - For playing and reporting bugs/areas for improvement. Rando wouldn't be where it is today without exceptional support from players.
* Danza - For founding the project; developing robust level reading/writing libraries and tools; adding dozens of features, bug fixes and improvements; and continuing to support the Randomizer project as it evolves.
* Eycore - Lots of ideas and locations, huge help for zoning key items.
* Lahm86 - For his massive contributions to improving the randomizer - massive thanks. Please check out his project for randomizing the script files here: https://github.com/LostArtefacts/TRGameflowEditor TRGE is the base for all script randomization features in this program.
* Aquila_chrysaetos - For their contributions to helping key item zoning.
* Nenad_ - Lots of ideas and locations
* chreden - For TRView, which has been invaluable during development and picking locations as well as helping me debug and understand the TR5 file format. Please visit the project at: https://github.com/chreden/trview
* b122251 - For TRMod, which was used initially to modify the levels prior to the native implementation, fantastic command-line tool you can grab here: https://core-design.com/community_trmod.html
* JW-dev/Bahamete - For initial work on script randomization
* Anopob - For various contributions and bug fixes!
* apel - Lots of ideas and development help.
* Trxye - Lots of ideas and development help.
* Towandaa - Lots of ideas and contributions, including secret, vehicle and sprite randomization.
* Leoc1995 - For TR1 puzzle inspiration and contributing enemy variants from his [TRLEs](https://trcustoms.org/users/854).
* Dash and Walkawayy - For providing great support and rando-related additions to [TR1X](https://github.com/LostArtefacts/TR1X).
* Jimmy Beon - Providing us with an excellent assortment of custom textures for use in rando.
* Topixtor - For endless testing to fix issues such as the opera house/barkhang entity freeze and mirrored levels, and providing enemy variations from his [TRLEs](https://trcustoms.org/users/927).
* Radgryd - For endless TR1 testing and lots of great ideas for the rando.
* Rylael - For extensive testing and providing valuable feedback.
* Ralodosmovo - For providing an assortment of custom textures, and lots of ideas for the rando.
* Lilly Jericho - For endless testing to fix issues such as the opera house/barkhang entity freeze, mirrored levels, and providing great continuous feedback. Lilly was also a coordinator of the huge translation effort by the community, with a special thanks to the following translators:
    * Croatian - Erackk
    * Czech - Sabatu, Dronespencer
    * Dutch - BeardedBogle, Dokus, LordMeShine, Dutchyraider
    * Finnish - Riku, mawia, Footi, stellarCaptain
    * French - Hedteur, LeonHeart, Towandaa
    * German - Lilly Jericho, Radgryd
    * Italian - Diego, Nanaki, Warpy
    * Japanese - ChiburuTV
    * Norwegian - BodillaBee
    * Polish - DJ_Full, NaBu, Nickelony
    * Portuguese - Fuse, Jumica
    * Russian - Ayiluy, Lwmte
    * Spanish - liveshh, MrJavi94
    * Swedish - Pikkufighter, Woof Smit, Zahnac, Cheapguacamole
