Auto-battery converter!

Yeah seriously.

I would say next release if being optimist or 3 releases from now (without counting 0.A) if being pessimist.

My point is that biofuel is something we should have, but it should relatively expensive and timeconsuming to manufacture, not just chop down a tree and run your car for 2000 miles, but rather harvest your corn farm, wait 5 days for the fuel to be produced in a tank and then run 2000 miles.

So… I cannot tell others how to play, but you can tell me the way I play is wrong?

It’s like using the debug system every time you see a zombie. Or always exploiting an infinite ammo bug. If it detracts from your fun why are you doing it?

I’m not doing that tbh. I’m just pointing out the flaws in the “don’t tell others how to play” argument as used here.

(If I find infinite ammo bugs, I fix them, or report them).

Soy.
Is there any way to make an engine require two fuelsources?

No idea. Using json files I think not yet.

Soyweiser.
How do I re-use existing engine code? Can’t I just copy-paste at the end of the line?

That depends a lot on which code you are using for what. So… cannot help you with specifics without a lot more explanations. (And I have not looked at the engine code).

Do you mean the c++ code (in cpp or .h files) or the .json code?

The jsons.

If you want a new engine you have to edit:
vehicle_parts.json for the vehicle object. (this is the part show on the examine vehicle screen ingame)
(Just create a new engines description in the file, ideally after other related engines.)
Like this:

...    },{
        "type" : "vehicle_part",
        "id" : "engine_1cyl",
        "name" : "1-cylinder engine",
        "symbol" : "*",
        "color" : "light_red",
        "broken_symbol" : "#",
        "broken_color" : "red",
        "damage_modifier" : 80,
        "durability" : 150,
        "epower" : 0,
        "fuel_type" : "gasoline",
        "item" : "1cyl_combustion",
        "difficulty" : 2,
        "location" : "engine_block",
        "flags" : ["ENGINE", "VARIABLE_SIZE"],
        "breaks_into" : [
            {"item": "steel_lump", "min": 5, "max": 10},
            {"item": "steel_chunk", "min": 5, "max": 10},
            {"item": "scrap", "min": 5, "max": 10}
        ]
    },{
        "type" : "vehicle_part",
        "id" : "engine_GTA",
        "name" : "GTA ENGINE!",
        "symbol" : "*",
        "color" : "light_red",
        "broken_symbol" : "#",
        "broken_color" : "red",
        "damage_modifier" : 80,
        "durability" : 150,
        "epower" : 0,
        "fuel_type" : "gasoline",
        "item" : "gta_combustion",
        "difficulty" : 2,
        "location" : "engine_block",
        "flags" : ["ENGINE", "VARIABLE_SIZE"],
        "breaks_into" : [
            {"item": "steel_lump", "min": 5, "max": 10},
            {"item": "steel_chunk", "min": 5, "max": 10},
            {"item": "scrap", "min": 5, "max": 10}
        ]
    },{ ...

With the id being unique (no other vehicle object can use that name).
The item field is the item used to install the object. Which you also need to define in items/vehicle_parts.json (or var_vehicle_parts.json, but no idea how that works).

Then you can use the debug menu to spawn the new engine, and install it.

I looked, no way to define a new fuel type without going into actual C++ stuff.

I looked, no way to define a new fuel type without going into actual C++ stuff.

Yeah, I found the same thing. Looks like we’re stuck on bio fuels or endurium until fuel usage is in jsons.

I managed to add “steam” and “oil” as a fuel a while back for my incomplete steam engine mod. It’s fairly easy to do, but setting up a suitable environment to do so is much harder.

I had the fuel types working fine, and I was going to push them to github but I have no conception how.

https://github.com/CleverRaven/Cataclysm-DDA/blob/master/CONTRIBUTING.md this should give a good starting guide.