Why a new name?
About three years ago, DellAquila created "minime - More accurate player size compared to vehicles", a mod to make characters smaller. But for quite some time now, you can also use the mod to make your character much bigger. At some point, DellAquila made me the owner of that mod, and I believe I fixed some things. Then, in the summer of 2020, I've noticed a request on Gear Girl Character's board about making characters exchangeable, so players in multiplayer games could have different avatars. That gave me the idea to make the mod not only scale the characters, but let each player change their character directly in the game, without having to go back to the main menu or even to restart. I did, and it worked -- not perfectly, but it was a start. Then came Factorio 1.0 and I was so overwhelmed by all the mod fixing I had to do that I eventually gave up working on it. gungorenu made a fork to make it usable with Factorio 1.1 -- thanks a lot for keeping it alive!Now "minime" makes a reappearance, with a fresh GUI, some new features -- and a new name to celebrate the occasion! Instead of "minime - More accurate player size compared to vehicles" I'll call it now "miniMAXIme: Character scaler and selector". That's not too different from the old name and takes into account that you can also scale up your character to a ridiculous size.
So, what's new?
Weapon scalingBefore, when a character was scaled, the muzzle fire would be totally off. I now also scale the guns (position and attack parameters) that I assume are meant to be personal weapons. There is a way for modders to prevent miniMAXIme from scaling their gun prototypes (check out data.lua).
GUI:
Probably the most obvious change is the new GUI: The character previews will adjust to the armor you are wearing, and if you have admin rights (you always do in singleplayer mode!), you can use the GUI to enter editor or god mode. Of course, if you've managed in some other way to be without a character, you can always return to character mode even if you're not an admin! You can also switch to another character while riding in a train, car, or other vehicle.
There is a new startup setting determining how returning to character mode will be handled: You can either return to the position of your old character, or let your old character come to your new position. This also works when you've moved to another surface while you were in editor or god mode.
Corpse preservation
Suppose your character died, you've saved the game and quit for the time being. Next time you play, you've removed the mod that provided the character you've used last. The character isn't available anymore, and your corpse is gone as well -- with all the expensive equipment you carried around! Of course, you could quit again, add the removed mod again, restart and load your game again, change to another character, save, remove the mod once more, restart and load. Now there's no need to do that anymore!
When your character dies, miniMAXIme will keep track of the corpse and its inventory. When a game is loaded and a corpse prototype isn't available anymore, miniMAXIme will replace the removed corpses with generic ones that carry everything which hasn't been picked up yet by you or somebody else. The generic corpse will expire just like any other: either on the tick the removed corpse would have decomposed, or when everything has been removed from its inventory.
Compatibility:
Most of the changes are not really visible, but striving for compatibility with other mods is important nevertheless. Naturally, miniMAXIme works with all character mods that I know of (check out the screenshot above!). In addition, it has support for the following mods:- Jetpack: When you change to another character, your flying state will persist.Thanks to Earendel for adding some code I've asked for!
- Bob's Character classes: Change your appearance while retaining your class attributes!
This doesn't work yet. Bob has promised to implement some changes I've provided, but it will take a while or two until he can get it done. Anyway, everything is ready for it on my end!(EDIT: As of version 1.1.5, Bob's Character Classes and miniMAXIme are compatible with each other.) - First One's Free: miniMAXIme will notice when a character's main inventory is resized. Thanks to DedlySpyder for adding the remote call!
- InfiniteInventory: Same as above (it's a fork of "First One's Free"),
except Qon didn't have the time yet to make the necessary changes. But he promised to do so, so just be patient …Qon just released an update to add compatibiliy. Thanks a lot for that! - RPG System If you level up, miniMAXIme will take note and keep track of the changed character properties.
- GUI Unifyer: Thanks a lot to snouz for explaining how to make my GUI work with it!
- The Ruins Mod: No ruins will be placed on the surfaces created on the sly by miniMAXIme. Thanks to Bilka for adding the requested interface function such a long time ago!