!skins (Skins Factored)


Library mod that makes it easy for other mods to add custom characters (skins), with a character picker. Written to be compatible with almost all mods that edit the default character prototype. Explicitly compatible with Jetpack, Space Exploration, RPG System, and CharacterModHelper.

Utilities
a month ago
1.1 - 2.1
20.4K
Character

i Interface request

a month ago
(updated a month ago)

Hi Penguin_Spy, thanks for updating to 2.1. May I request some interface calls, please ?
I have a mod with classes, so I use the geargiear and other 3 mods for each class. So, a remote interface to call for charactar swap would be awesome, but ther should be a way to block player manual change, like the alt+S shortcut.
Previsous to 2.1, I made a mod to allow these features, and it was requiring your mod
https://mods.factorio.com/mod/deep_core_operations_skins_pack

9 days ago

I'm a little hesitant to add a way to disable players' ability to change their skin; it's meant to be a purely cosmetic change with no effects on gameplay (and thus entirely up to individual players' preference.)
I was intending/expecting that if a mod wants to force the player to use a different character entity for gameplay reasons, they'd be managing that themselves through Factorio's usual API, potentially making a prototype copy of all characters to change their stats independently of appearance (like Bob's Character Classes), but I've realized that this is a lot of work that I've already mostly implemented.

I think I understand your usecase, and I would maybe be willing to add a remote interface for (forced) character swapping; it would certainly be better & easier for mod compatibility since I already handle all that. However, if the different characters were skins, then the player could potentially select one of them even when you're not forcing that skin, which might be unwanted.

Alternatively (and I think this might be better than forcing certain skins), I could add a separate data-stage feature to allow different characters with different prototype stats to be defined (and later selected) by mods independently of the player's current skin. So a mod could add a "fast" class with different movement speed, tell Skins Factored to activate it, and then I'd switch them to the correct generated prototype depending on their skin.

A couple questions to make sure I understand your mod though:
What exactly is the difference between the different character entities in your mod? Is it just stuff you do during runtime scripting, or do you edit the prototypes of the different skins to change their movement speed/health/hitbox/etc? Importantly, can the player choose a different character at any random time during gameplay?

9 days ago

It is still only cosmetics. No change in data stage, and change I made is in runtime. As I have 4 classes, I'd like to have 4 skins, one for each, simple as that, not allowing changes at any time, only in my internal routines when a player change class

New response