Added:
- actual support for Weekly Shorts
- option to sort campaigns oldest -> newest
- option for shadow text in main window
- more menu UI medals (solo tab)
Fixed:
- live campaign UI medals
- button sizes with different UI scales
- Trackmania.io links
Downloads | 6,610 |
---|---|
Updated | 16 days ago |
Released | 7 months ago |
Created | 8 months ago |
Numeric ID | 590 |
Min. Openplanet | 1.27.2 |
Are author medals too easy for you, but Champion medals still seem out of reach? Do you need something in-between?
This is of course inspired by the Champion Medals plugin. Warrior medals are available for every official campaign (including training and the TMO discoveries), Weekly Shorts, and every Track of the Day. Warrior medals may also be added for club campaigns by request from the campaign's author/maintainer. Message me on Discord, create a GitHub issue, or message me directly from the plugin to request Warrior medals for your campaign.
Medals may be manually adjusted due to physics changes or for being more difficult than they should be. Message me on Discord, create a GitHub issue, or message me directly from the plugin if you feel like a Warrior medal does not make sense in some way. Do not ask for Warrior medals to be harder - grind for the Champion medal instead.
There are currently no plans to add any other medals, though I'm not necessarily opposed to the idea. With enough user requests I may add another medal, but you must also suggest a good name for it, and the change will not happen quickly.
This plugin does not collect any of your personal information. This is solely for your own personal use. Please feel free to look through the source code on Github to verify this for yourself.
This plugin, like all of mine, is licensed under MIT, which is one of the most lenient. You may also use Warrior medal data in whichever way you like without permission, but you do need permission to request it directly from my website. If you're using the data for another plugin, use the Warrior Medals plugin as a dependency and only request data through that.
Map | World Record | Warrior | Author |
---|---|---|---|
Summer 2024 - 01 | 22.325 | 23.524 | 23.923 |
Summer 2024 - 25 | 1:07.943 | 1:09.746 | 1:10.347 |
Map | World Record | Warrior | Author |
---|---|---|---|
First (#1) | 16.005 | 16.819 | 17.632 |
Not Cut Proof (#37) | 9.244 | 12.192 | 15.139 |
World Record | Warrior | Author |
---|---|---|
44.926 | 45.584 | 45.678 |
40.069 | 39.999 | 40.000 |
def calc_warrior_time(author_time: int, world_record: int, factor: float | None = 0.25) -> int:
'''
- `factor` is offset from AT
- between `0.0` and `1.0`
- examples, given AT is `10.000` and WR is `8.000`:
- `0.000` - AT (`10.000`)
- `0.125` - 1/8 of the way between AT and WR (`9.750`) (tracks of the day)
- `0.250` - 1/4 of the way between AT and WR (`9.500`) (seasonal campaigns)
- `0.500` - 1/2 of the way between AT and WR (`9.000`) (weekly shorts/club campaigns)
- `0.750` - 3/4 of the way between AT and WR (`8.500`)
- `1.000` - WR (`8.000`)
'''
return author_time - max(
int((author_time - world_record) * (factor if factor is not None else 0.25)),
1
)
Please use this plugin as a dependency! While it's useful on its own, I would love to see integration in some more popular plugins. Include this in your info.toml
: optional_dependencies = [ "WarriorMedals" ]
string GetColorStr()
vec3 GetColorVec()
Returns the plugin's main color as a string or a vec3.
const UI::Texture@ GetIcon32()
const UI::Texture@ GetIcon512()
Returns the Warrior medal icon with a size of 32x32 or 512x512.
const dictionary@ GetMaps()
Returns all cached map data.
Keys are map UIDs and values are of type WarriorMedals::Map@
.
uint GetWMTime()
uint GetWMTime(const string &in uid)
Returns the Warrior medal time for the current map or given map UID.
If there is an error or the map does not have a Warrior medal, returns 0.
Does not query the API for a time, so the plugin must already have it cached for this to return a time.
Only use this if you need a synchronous function.
uint GetWMTimeAsync()
uint GetWMTimeAsync(const string &in uid)
Returns the Warrior medal time for the current map or given map UID.
If there is an error or the map does not have a Warrior medal, returns 0.
Queries the API for a medal time if the plugin does not have it cached.
Use this instead of the synchronous version if possible.
There exist more exports, however they are very basic, are only shared to make the compiler happy, and are not documented here.
Added:
Fixed: