Hatsune Miku in bikini swimsuit

by plexpt

Replaces the Character with Hatsune Miku in bikini swimsuit. support skin selector mod. it has very nice animations. 比基尼泳装初音未来, 支持皮肤选择器mod。 拥有非常精美的动画

2 years ago
1.1
9.11K

g [4.0.0] Character traits are overwritten

2 years ago
(updated 2 years ago)

Traits that have nothing to do with character appearance - like inventory-size are overwritten too. It looks like it comes from miniMAXIme-mod

2 years ago

What exactly do you mean -- when are they overwritten? During character creation, or at runtime?

For miniMAXIme, I've followed two premises:

  • Character mods should be free to define new characters as the author sees fit.
  • Changes to the main character made by third-party mods regarding invisible traits (maximum health, running speed, inventory size etc.) should be respected unless they interfere with what the author of the character mod envisioned for a specific character.

Reasoning: If I'm a player and have installed a mod that will give me a bigger inventory or unlimited building reach, I want to get that always, regardless of what my character looks like.

Therefore, the character mods I've control of (I, Robot + Among Us Character) create their characters in such a way that they store any traits that must be changed (name, localization, corpse, graphics, sound) in a table. They then make a copy of the default character and change all the stored values. In the final data stage, they either copy the values of all traits stored in the table to the default character (if no character selector mod is active), or copy all traits that are NOT stored in the table from the default character to the new one (if there is a character selector mod).

I've used "I, Robot" and "Among Us" as my personal playground where I can experiment with the interaction of character mods and my own character selector mod. Of course, I encourage authors of character mods to use these mods as a template, and "bikini swimsuit miku" does just that.

So, if there is any value that should not be changed by third-party mods, it has to be added to the table.

(By the way, there's another reason why I think this approach is better: Characters have a lot of properties. It's far easier to only change the things that do not use the default values -- it's less bloat, and more convenient for debugging.)

I hope this explanation really addresses your problem. If I didn't get your meaning correctly, please feel free to ask again! :-)

2 years ago
(updated 2 years ago)

-

2 years ago

in data-final-fixes I do:

data.raw["character"]["character"].build_distance = 10000
data.raw["character"]["character"].reach_distance = 10000
data.raw["character"]["character"].reach_resource_distance = 10000
data.raw["character"]["character"].drop_item_distance = 10000
data.raw["character"]["character"].inventory_size = 240

But this seems to be overwritten.
You can see this in https://mods.factorio.com/mod/ixuGeheimlabor

2 years ago

in data-final-fixes I do:

data.raw["character"]["character"].build_distance = 10000
data.raw["character"]["character"].reach_distance = 10000
data.raw["character"]["character"].reach_resource_distance = 10000
data.raw["character"]["character"].drop_item_distance = 10000
data.raw["character"]["character"].inventory_size = 240

All of these properties have been changed by "bikini swimsuit miku" right from the beginning. Only when plexpt adopted the method I've outlined in my first post, did it affect your mod, because it would copy these properties back to the default character AFTER you'd set them. The solution is easy: Just add an optional dependency or even a hidden optional dependency to your mod!

Optional dependency:

"? miku-bikini-swimsuit"

Hidden optional dependency:

"(?) miku-bikini-swimsuit"

That way, it will load before yours, and you can overwrite any changes it has made.

By the way, are you aware that you can turn off the character-selector part of miniMAXIme? That way, it can still be used to scale the character.

I guess I should ask plexpt to remove the dependency on my mod. It's not really necessary to force people to use it. Unfortunately, there's no way to just "suggest" a mod -- as it is, optional dependencies enforce a loading order (if two mods have optional dependencies on each other, there's a circular dependency error), and dependencies that don't interfere with loading order still are hard dependencies (so both mods must be active).

2 years ago

yes

2 years ago
(updated 2 years ago)

Optional dependency:

"? miku-bikini-swimsuit"

This is not solving the problem.
So I agree. The best would be to remove the dependency from minime or make it optional again.
我只想要比基尼泳装初音未来!

2 years ago

data.raw["character"]["miku-bikini-swimsuit-skin"].build_distance = 10000
data.raw["character"]["miku-bikini-swimsuit-skin"].reach_distance = 10000
data.raw["character"]["miku-bikini-swimsuit-skin"].reach_resource_distance = 10000
data.raw["character"]["miku-bikini-swimsuit-skin"].drop_item_distance = 10000
data.raw["character"]["miku-bikini-swimsuit-skin"].inventory_size = 240

2 years ago

or

for key, character in pairs(data.raw["character"]) do
character.build_distance = 10000
character.reach_distance = 10000
character.reach_resource_distance = 10000
character.drop_item_distance = 10000
character.inventory_size = 240
end

2 years ago

or

for key, character in pairs(data.raw["character"]) do
character.build_distance = 10000
character.reach_distance = 10000
character.reach_resource_distance = 10000
character.drop_item_distance = 10000
character.inventory_size = 240
end

Can you read my mind? (-;

2 years ago

have a try

2 years ago

Works!
So this is even improving my mod.
Thanks!

2 years ago

Factorio was already the best game of all time. But now it has become even better!

2 years ago

Last question: How to ensure that hatsune miku is the selected character from the beginning?

2 years ago

Can not guarantee

2 years ago

Too bad.

2 years ago

maybe i can add a setting

2 years ago

But removing dependency to minime would also have exactly the same effect.

2 years ago

I will consider doing it in the next version.
You can use the old version first

2 years ago

I will consider doing it in the next version.
You can use the old version first

2 years ago

Works for me.

2 years ago

Last question: How to ensure that hatsune miku is the selected character from the beginning?

If you have no selector mod, character mods must overwrite data.raw.character.character, as that is the character the game will automatically use. No problem if there is just Hatsune Miku -- but if you have several character mods, they will all overwrite the default character, and the last mod that does so will win. The only way to avoid this is to turn off all character mods but the one you want to use.

You could use some trickery: Add a hidden optional dependency on all character mods you can think of, so they will load before your mod. Make a copy of Hatsune Miku in data.lua. In data-final-fixes.lua, overwrite the default character with your copy. -- This will work unless you've somehow activated another character mod that is loaded after your mod (could happen if it's required by a third mod). So, there is a pretty good chance that you'll get to play with Hatsune Miku, but no absolute guarantee.

New response