ISE (improvising survival excellence)

Ok, this mod is not even close to done, but I could use some help balancing what little I have finished.

mutX:

Add to iuse.h iuse class:

Add to item_factory.cpp to Item_Factory::Init:

Add to iuse.cpp near bottom:

void iuse::mutagen_8(game *g, player *p, item *it, bool t) { p->pain += 100; p->hurtall(10); p->mutate(g); p->mutate(g); p->mutate(g); p->mutate(g); if (one_in(5)) p->mutate(g); if (!one_in(4)) p->mutate(g); if (one_in(3)) p->mutate(g); if (one_in(2)) p->mutate(g); g->add_msg_if_player(p,"Your blood feels like it is burning!"); }

Add to itypedef.cpp:
[FOOD("mutX", "mutX", 8, 3000, c_magenta, FLESH, "null", 1, 1, 0, 0, 0, 0, -1, 0, 1, 0, &iuse::mutagen_8, ADD_NULL, "\ A syringe of mutagen that has been infused with radiation and assorted \n\ toxic chemicals. A chemistry experiment gone wrong. Good or bad, this \n\ will hurt.",0);

add to recipe.json:

{ "result": "mutX", "category": "CC_CHEM", "skill_pri": "cooking", "skill_sec": "firstaid", "difficulty": 5, "time": 10000, "reversible": false, "autolearn": true, "tools": [ [ ["hotplate", 5], ["toolset", 2], ["fire", -1] ] ], "components": [ [ ["mutagen", 1] ], [ ["syringe", 1] ], [ ["sewage", 2] ], [ ["bleach",1] ] ] },

Basically, it is an easy modification to mutagen that greatly improves its effects (which can be good or bad), but it causes immense pain and full body damage.

v30 laser rifle:

add to ranged.json:

{ "id": "v30", "type": "GUN", "symbol": "(", "color": "magenta", "name": "V30 laser rifle ", "description": "The work of a master electrician. By disabling the safeties and extending thecharging array, this rifle features improved lethality and accuracy overits predecessor, at the expense of clip size. ", "rarity": 1, "material": ["STEEL", "PLASTIC"], "skill": "rifle", "ammo": "fusion", "weight": 18, "volume": 16, "damage": 7, "cutting": 0, "to_hit": 1, "ranged_damage": 5, "range": 0, "accuracy": 25, "recoil": 0, "durability": 8, "burst": 0, "clip_size": 10, "reload": 300 },

add to recipe.json:

[code]{
“result”: “v30”,
“category”: “CC_WEAPON”,
“skill_pri”: “electronics”,
“skill_sec”: “mechanics”,
“difficulty”: 10,
“time”: 40000,
“reversible”: true,
“autolearn”: true,
“tools”: [
[
[“screwdriver”, -1],
[“toolset”, -1]
],
[
[“wrench”, -1],
[“toolset”, -1]
],
[
[“soldering_iron”, 6],
[“toolset”, 2]

		 ]
                 ],
        "components": [
                          [
                              ["scrap",3]
                          ],
                          [
                              ["v29",1]
                          ],
                          [
                              ["cable", 10]
                          ],
                          [
                              ["amplifier", 2]
                          ],
                          [
                              ["power_supply", 3]
                          ]
                      ]
    },[/code]

A large improvement over its predecessor. Has a much lower rate of fire to compensate.

flare revolver:

add to ranged.json:

{ "id": "flare_revolver", "type": "GUN", "symbol": "(", "color": "red", "name": "flare revolver", "description": "A revolver that has had its cylinder drilled out and barrel removed. While unable to fire its old ammo, it is fully capable of firing various flares.", "rarity": 1, "material": ["STEEL"], "flags": "RELOAD_ONE", "skill": "pistol", "ammo": "flare", "weight": 10, "volume": 2, "damage": 10, "cutting": 0, "to_hit": 1, "ranged_damage": 0, "range": 0, "accuracy": 5, "recoil": 6, "durability": 6, "burst": 0, "clip_size": 1, "reload": 300 },

add to recipe.json:

{ "result": "flare_revolver", "category": "CC_WEAPON", "skill_pri": "pistol", "skill_sec": "mechanics", "difficulty": 3, "time": 10000, "reversible": true, "autolearn": true, "tools": [ [ ["screwdriver", -1], ["toolset", -1] ], [ ["wrench", -1], ["toolset", -1] ], [ ["hammer",-1], ["toolset",-1] ] ], "components": [ [ ["ruger_redhawk",1], ["sw_610",1], ["sw_619",1] ], [ ["scrap", 1] ] ] },

Napalm Flare:

add to itypedef.cpp:

AMMO("napalm_flare", "napalm flare", 1, 100,AT_FLARE, c_dkgray_red, GLASS, 4, 10, 5, 40,6, 0, 0, 5, "\ A small vial of an extremely volatile mix. Not inherently damaging, but great for starting forest fires.", mfb(AMMO_FLAME));

add to recipe.json:

[code]{
“result”: “napalm_flare”,
“category”: “CC_AMMO”,
“skill_pri”: “pistol”,
“skill_sec”: “mechanics”,
“difficulty”: 3,
“time”: 12500,
“reversible”: false,
“autolearn”: true,
“tools”: [
[
[“fire”, -1],
[“toolset”, 1]
]
],
“components”: [
[
[“bottle_glass”, 3]
],
[
[“shotgun_primer”, 5]
],
[
[“gunpowder”, 300]
],
[

                              ["whiskey", 45],
                              ["vodka", 45],
                              ["rum", 45],
                              ["tequila", 45],
                              ["gin", 45],
                              ["triple_sec", 45],
                              ["gasoline", 2000]
                          
                          ]
                      ]
    },[/code]

add to bottom of itypedef.cpp, in ammo_name:

add to bottom of itypedef.cpp, in default_ammo:

add to item_factory.cpp new_ammo:

} else if ("flare" == new_ammo) { return AT_FLARE;

add to itype.h in ammotype:

Meant as a potential replacement for molotovs. Poor range, but equal fire starting ability, with smaller ammo. However, requires the flare revolver to use.

tape trap is having issues, and is currently not functional.

it will slow down whoever steps on it considerably, and requires no trap making skill to make, while granting a bit of trap making exp.

I can post what I’ve done so far if any of you want to take a look at it.

You might want to put your various items in [code][/code] tags, it greatly improves their readability and helps them to maintain formatting when copied and posted.

oops, I’ll fix that right away.

EDIT: Note that this is the first time I programmed in C++ beyond the level of cout. If some things are not necessary, tell me and I will correct it. I just went with the motto of too much is better than not enough.

Note here, this mod will NOT, currently, work with the latest github version. It is a simple update, but I am waiting until they are done moving things to jsons before I update this and put up the latest additions.

I like your additions, would be cool if they were rolled into the game at some point.

Thanks.

I have about 10 more awaiting release, and many more, mostly trap, ideas I am having difficulty getting working.

Quick question: I was thinking about creating a construction and crafting powered farming system, from top to bottom. Do you think that would break the game, and, if not, how long do you think I should have, from start to finish, to be able to harvest the crops?

Also, I was thinking about adding in a brewing system and a “deconstruct metal wall/door” system using a similar setup, and the same questions apply.

Farming would definitely add a new level of base building to the game, which is definitely not a bad thing.

On the other hand, until the game has a way of encouraging hordes to attack somewhere you’ve obviously built up, bases are basically fancy storage units.

True.

So is that a yes, get cracking on it and hope they don’t break it, or a no, wait and see how the cookie crumbles?

My personal advice? I’d say wait on something like farming until building is expanded upon.

I would like for the ability to plant fruit trees, normal trees (in order to create living fences, or to farm fuel for wood stoves), and potatoes.

Maybe have it a little unrealistic, a month from planting to harvest? so for trees, it would take 3 months to go from planting to underbrush to young tree to grown tree.

I will copy-paste the old idea I had.

So there will be an omnifood plant with seeds only found in labs, it will be a construction from the construction menu (plant seed) and it will be interacted with E to water. Every week it will generate 1-3 random veggies/fruit or a fungaloid. It will need wated every day and is rather dangerous to have a lot of.

AN interesting idea, but I think it should have a 2-4 week “growth” period before it grows fruit.

Well, if we get a stable git build again, I guess I’ll start poking around with how time works. I’d have to make an interesting set of exceptions to override the “2 map square time” rule that cataclysm seems to have. That’d… take a really long time.

Perhaps, and this based entirely on my java knowledge, there is a “getter” method to get whether or not something is rotten. If so, I could have multiple “construct” options, corresponding to days, with a set, large, amount of time per action. Every time it grows, it could create a “percentage grown” item which, when it “rots” could be used, along with more water and possibly fertilizer, to move the plant up to its next growth stage.

This is all assuming that there is such a method, and that a new git build will be up reasonably soon.

Also, non-related question, where can I put up a working, modded, exe (and required bits) for you guys? The source code is constantly changing, and I know a lot of people on here don’t know how to compile code, so what I am doing here only has a very limited number of people it can help.

I like the mutagen syringe idea. Could this get rolled into git?