Change the size of logistic, construction, and combat bots! You can scale vanilla and modded bots between 50% and 250% of their original size. This mod is the perfect complement for "miniMAXIme: Character scaler and selector".
Small changes concerning balance, gameplay, or graphics.
Good afternoon! There is an interesting Companion Drones mod https://mods.factorio.com/mod/Companion_Drones
But the bots in it, when the character is reduced, look overly gigantic.
Can you add support for this mod?
Thank you!
Hi! I've already added them. There are still some other things to fix, though. For example, see what happens when you scale down your bots to 30% and shoot them!
Also, there are some more drone mods (construction, mining, and transport). Do you think it would make sense to scale these as well?
Good afternoon! Thank you very much for your reply!
I think it makes sense to adjust the size only for portable drones, for example:
More Defender Capsules https://mods.factorio.com/mod/more-defenders
Robot Mining Site https://mods.factorio.com/mod/robotMiningSite.
In the case of drones that are used only in specialized buildings, for example:
Long range delivery drones https://mods.factorio.com/mod/Long_Range_Delivery_Drones
Mining Drones https://mods.factorio.com/mod/Mining_Drones
Transport Drones https://mods.factorio.com/mod/Transport_Drones
I think it's best to leave things as they are.
But this is just my personal opinion.
Good afternoon! Thank you very much for your reply!
I think it makes sense to adjust the size only for portable drones, for example:
More Defender Capsules https://mods.factorio.com/mod/more-defenders
I've added support for prototypes under data.raw["combat-robot"], so these should be supported now out of the box.
Robot Mining Site https://mods.factorio.com/mod/robotMiningSite.
These are "construction-robot" prototypes, so they should already be supported.
In the case of drones that are used only in specialized buildings, for example:
Long range delivery drones https://mods.factorio.com/mod/Long_Range_Delivery_Drones
Thanks for mentioning this mod! The long-range delivery drones are actually car prototypes under the hood, and I used the chance to blacklist them in Autodrive and GCKI. :-)
Hi! I've noticed that you've a localization mod for Russian. Would you mind translating this new string?
[mod-setting-name]
SmallRobots-remove-shadows=Remove shadows of bots
That's rather to the point, so I don't think a mod-setting-description is necessary here. If you disagree, you are welcome to add one! :-)
I can do it.
Can you copy the text of the updated English localization here?
Thanks, I thought it would be more, but it really isn't much more than one setting name (I don't think a descriptionis necessary here).
[mod-setting-name]
SmallRobots-remove-shadows=Remove shadows of bots
[mod-setting-name]
SmallRobots-remove-shadows=Удаление теней от дронов
Thanks, I've added this.
Please check out version 1.1.3! Does that work as expected?
Unfortunately I don't know if this is related to your mod update, but I got a conflict when running: AAI Programmable Vehicles + Companion Drones + Small Robots - Just make the two robots a little smaller.
Here is an extract from the log:
1.275 Script @aai-programmable-vehicles/prototypes/ai-vehicles.lua:264: aai_make_ai_vehicles: companion
1.275 Script @aai-programmable-vehicles/prototypes/ai-vehicles.lua:282: aai_make_ai_vehicles: companion valid guns: 1
1.275 Script @aai-programmable-vehicles/prototypes/ai-vehicles.lua:300: aai_make_ai_vehicles: companion found item companion
1.275 Script @aai-programmable-vehicles/prototypes/ai-vehicles.lua:319: aai_make_ai_vehicles: companion found recipe
1.275 Script @aai-programmable-vehicles/prototypes/ai-vehicles.lua:346: aai_make_ai_vehicles ai version: companion with 0
1.277 Error ModManager.cpp:1560: Не удалось загрузить мод "aai-programmable-vehicles": aai-programmable-vehicles/prototypes/ai-vehicles.lua:94: attempt to perform arithmetic on field '?' (a nil value)
stack traceback:
aai-programmable-vehicles/prototypes/ai-vehicles.lua:94: in function 'make_composite_unit_from_vehicle'
aai-programmable-vehicles/prototypes/ai-vehicles.lua:447: in function 'aai_make_ai_vehicles'
aai-programmable-vehicles/prototypes/ai-vehicles.lua:466: in main chunk
[C]: in function 'require'
aai-programmable-vehicles/data-final-fixes.lua:4: in main chunk
1.277 Loading mod core 0.0.0 (data.lua)
1.331 Checksum for core: 3744854889
1.380 Error ModManager.cpp:1560: Error in assignID: recipe-category with name 'crafting' does not exist.
Source: default (utility-sprites).
1.506 Initial atlas bitmap size is 16384
1.507 Created atlas bitmap 2048x640 [icon, not-compressed, mipmap, linear-minification, linear-magnification, linear-mip-level]
1.518 Texture processor created (2048). GPU accelerated compression Supported: yes, Enabled: yes/yes. Test passed. YCoCgDXT PSNR: 35.83, BC3 PSNR: 33.82
1.600 Parallel Sprite Loader initialized (threads: 5)
1.883 Sprites loaded
1.905 Generated mipmaps (5) for atlas [0] of size 2048x640
1.905 Custom mipmaps uploaded.
1.909 Factorio initialised
Thanks for the report! I suppose AAI is running after my mod, is that correct? Then adding
"(?) aai-programmable-vehicles"
to the dependencies in info.json should fix this.
Here is an extract from the log:
1.277 Error ModManager.cpp:1560: Не удалось загрузить мод "aai-programmable-vehicles": aai-programmable-vehicles/prototypes/ai-vehicles.lua:94: attempt to perform arithmetic on field '?' (a nil value)
stack traceback:
aai-programmable-vehicles/prototypes/ai-vehicles.lua:94: in function 'make_composite_unit_from_vehicle'
The critical line is the last one of these:
-- collision_box should be square otherwise it will get stuck during rotation
vehicle.collision_box = vehicle.collision_box or {{0,0},{0,0}}
local extent_min = math.min(-vehicle.collision_box[1][1], -vehicle.collision_box[1][2], vehicle.collision_box[2][1], vehicle.collision_box[2][2])
For making things more predictable while I work on the prototypes, I formatted the bounding boxes like this:
collision_box = { {x = x, y = y}, {x = x, y = y} }
Positions can be given as either {x, y} or {x = x, y = y}, and bounding boxes can be either { left_top = position_1, right_bottom = position_2 } or { position_1, position_2}. So the error is that Earendel doesn't check for all possible variations but assumes that the box will be in a particular format. But that's OK if he acts before I make my changes, so adding the dependency should work around that.
There's another problem though: AAI is trying to act on the companion drone! It really shouldn't do that. Sure, the companion is a spider-vehicle, but it's not meant to be used as a vehicle. You should tell Earendel to ignore the companion drones! (I've already blacklisted them in my WIP versions of GCKI and Autodrive, by the way.)
EDIT: I guess instead of adding specific names to our ignore-lists, we (AAI Programmable Vehicles, Autodrive, and GCKI) should outright ignore any vehicle where prototype.allow_passengers == false, that should prevent a lot of false positives!
I have forwarded your message to Earendel on discord.com and github.com
Hope he responds.
I also found another bug - the tower of the companion bots, when reduced, now does not match the base and is shifted up by about 20px
I have forwarded your message to Earendel on discord.com and github.com
Thank you! In version 1.1.5, the format of the bounding_boxes after I've scaled them will be {{x, y}, {x, y}}, as expected by AAI Programmable Vehicles and IR3. Hopefully, this won't break other mods! :-)
Hope he responds.
I guess there's a good chance, as he's more active on Discord than on the forums.
I also found another bug - the tower of the companion bots, when reduced, now does not match the base and is shifted up by about 20px
I can't reproduce that, everything seems to look alright when I look at it. Do you have a screenshot?
Uploaded screenshots for comparison https://wampi.ru/image/RP13xmq
Uploaded screenshots for comparison https://wampi.ru/image/RP13xmq
Original size on the right, scaled down on the left.
I think you will notice that on the left the drone tower, in relation to the base of the drone, is strongly shifted upwards. At the base of the drone, even a hole in the center is visible.
Also, the fire is strongly shifted down from the base of the drone.
You're right, this is obviously an error! But when I load a game, the drone is scaled correctly, with no space between tower, base, and fire. Could you upload a saved game, please? Perhaps it's another case of a particular combination of mods causing strange effects …
Attached archive with test save: https://disk.yandex.kz/d/7a2pqpyut4mbNw
There are only two mods:
Small Robots - Just make the two robots a little smaller.
Companion Drones
The problem is the same.
Thanks! I could reproduce the problem now, after switching to HR graphics. So the solution is obvious: switch to normal-quality graphics! :-D
I understand. It turns out that there is no solution for HR graphics?
There should be one, but I've got to figure out what exactly goes wrong. As far as I can see, the real bots pose no problem in HR mode, it's just the companion drone -- which (a) is based on an entirely different prototype, and (b) combines different layers for tower, base, and fire into one animation.
I understand. Thank you!