Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RDY] Adds weapon chemical launcher and new fungicidal gas type as ammo #12765

Merged
merged 14 commits into from
Jul 2, 2015
Merged
29 changes: 28 additions & 1 deletion data/json/items/ammo.json
Original file line number Diff line number Diff line change
Expand Up @@ -4389,7 +4389,8 @@
"recoil" : 0,
"count" : 1
},
{ "type" : "AMMO",
{
"type" : "AMMO",
"id" : "pointer_fake_ammo",
"price" : 0,
"name" : "point",
Expand All @@ -4410,6 +4411,32 @@
"dispersion" : 0,
"recoil" : 0,
"count" : 1
},
{
"type" : "AMMO",
"id" : "gas_fungicidal",
"category" : "chems",
"price" : 3500,
"name" : "sprayable fungicide",
"symbol" : "=",
"color" : "yellow",
"description" : "Fungicide enhanced with sulfur to create sprayable anti-fungal ammo for the chemical thrower. Best be used with some kind of mask or mouth protection.",
"material" : "null",
"volume" : 1,
"weight" : 1,
"phase" : "liquid",
"bashing" : 1,
"cutting" : 0,
"to_hit" : 0,
"ammo_type" : "chemical_spray",
"casing" : "NULL",
"damage" : 0,
"pierce" : 0,
"range" : 4,
"dispersion" : 0,
"recoil" : 0,
"count" : 100,
"effects" : [ "GAS_FUNGICIDAL", "STREAM_GAS_FUNGICIDAL", "NEVER_MISFIRES" , "JET"]
}

]
7 changes: 7 additions & 0 deletions data/json/items/ammo_types.json
Original file line number Diff line number Diff line change
Expand Up @@ -430,6 +430,13 @@
"id" : "unfinished_char",
"name" : "semi-charred fuel",
"default" : "unfinished_charcoal"
},
{
"type" : "ammunition_type",
"id" : "chemical_spray",
"name" : "sprayable chemical",
"default" : "gas_fungicidal"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was having trouble with assigning a more general chemical_spray ammo-type. I wanted something like this:
{
"type" : "ammunition_type",
"id" : "chemical_spray",
"name" : "sprayable chemical",
"default" : "gas_fungicidal"
}

But it throws a debug-message, saying gas_fungicidal is not a valid ammo.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds like you only changed it in ammo_types, but not in ammo.json: "gas_fungicidal" had the old "ammo_type" field.

"ammo" field refers to the ammo type id. So if you're changing ammo id to "chemical_spray", the fungicidal gas needs "ammo_type": "chemical_spray".

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I did that ;) Still did not work.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh forgot: the same in the thrower.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's it! Also, it makes much more sense, now that I think about it.

}


]
6 changes: 3 additions & 3 deletions data/json/items/armor.json
Original file line number Diff line number Diff line change
Expand Up @@ -2974,7 +2974,7 @@
"environmental_protection" : 20,
"encumbrance" : 37,
"bashing" : -5,
"flags" : ["VARSIZE", "WATERPROOF", "RAINPROOF", "RAD_PROOF","ELECTRIC_IMMUNE", "OUTER"],
"flags" : ["VARSIZE", "WATERPROOF", "RAINPROOF", "RAD_PROOF", "ELECTRIC_IMMUNE", "GAS_PROOF", "OUTER"],
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GAS_PROOF would be better as an environmental protection formula (so that you could partially resist it), but it's OK as a tag for now.
When (if?) you add more chemical types later it may be worth considering adding a gas resistance check as a separate function, but probably not as a part of this PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do plan on adding a variety of ammo for the thrower. Will keep that in mind.

"coverage" : 100,
"material_thickness" : 2
},
Expand All @@ -2999,7 +2999,7 @@
"environmental_protection" : 20,
"encumbrance" : 45,
"bashing" : -5,
"flags" : ["VARSIZE", "WATERPROOF", "RAINPROOF", "STURDY", "RAD_PROOF", "ELECTRIC_IMMUNE", "OUTER"],
"flags" : ["VARSIZE", "WATERPROOF", "RAINPROOF", "STURDY", "RAD_PROOF", "ELECTRIC_IMMUNE", "GAS_PROOF", "OUTER"],
"coverage" : 100,
"material_thickness" : 3
},
Expand Down Expand Up @@ -6601,7 +6601,7 @@
"environmental_protection" : 20,
"encumbrance" : 50,
"bashing" : -5,
"flags" : ["VARSIZE", "WATERPROOF", "RAINPROOF", "STURDY", "SUN_GLASSES"],
"flags" : ["VARSIZE", "WATERPROOF", "RAINPROOF", "GAS_PROOF", "STURDY", "SUN_GLASSES"],
"coverage" : 100,
"material_thickness" : 5
},
Expand Down
27 changes: 27 additions & 0 deletions data/json/items/ranged.json
Original file line number Diff line number Diff line change
Expand Up @@ -5428,5 +5428,32 @@
"built_in_mods": ["m203", "rifle_scope", "muzzle_brake"],
"default_mods": ["pistol_grip", "rail_laser_sight"],
"valid_mod_locations": [[ "accessories", 10 ],[ "barrel", 10 ],[ "bore", 10 ],[ "conversion", 10 ],[ "grip", 10 ],[ "magazine", 10 ],[ "mechanism", 10 ],[ "muzzle", 10 ],[ "rail", 10 ],[ "sights", 10 ],[ "stock", 10 ],[ "underbarrel", 10 ]]
},
{
"id": "chemical_thrower",
"type": "GUN",
"symbol": "(",
"color": "dark_gray",
"name": "chemical thrower",
"name_plural": "chemical throwers",
"description": "A bulky, self-made chemical sprayer with an internal conversion mechanism that allows all sorts of chemicals to be dispersed to your surroundings.",
"price": 15000,
"material": ["steel", "plastic"],
"flags": ["FIRE_50", "NEVER_JAMS"],
"skill": "launcher",
"ammo": "chemical_spray",
"weight": 1150,
"volume": 25,
"bashing": 9,
"cutting": 0,
"to_hit": -1,
"ranged_damage": -5,
"dispersion": 300,
"sight_dispersion": 150,
"aim_speed" : 0,
"recoil": 0,
"durability": 6,
"clip_size": 1000,
"reload": 900
}
]
35 changes: 31 additions & 4 deletions data/json/recipes/recipe_ammo.json
Original file line number Diff line number Diff line change
Expand Up @@ -4435,8 +4435,35 @@
[ "solder_wire", 200 ]
]
]
},{
"type" : "recipe",
"result": "gas_fungicidal",
"category": "CC_AMMO",
"subcategory": "CSC_AMMO_OTHER",
"skill_used": "cooking",
"skills_required": [ "survival", 2 ],
"difficulty": 4,
"time": 8000,
"reversible": false,
"autolearn": false,
"book_learn": [[ "textbook_gaswarfare", 4 ] , ["textbook_chemistry", 4] , ["adv_chemistry", 4] , [ "recipe_labchem", 4]],
"qualities":[
{"id":"CHEM","level":1,"amount":1}
], "tools": [
[
[ "fire", -1 ],
[ "toolset", 5 ],
[ "hotplate", 5 ],
[ "char_smoker", 4 ]
]
],
"components": [
[
[ "fungicide", 50 ]
],
[
[ "chem_sulphur", 10 ]
]
]
}



]
]
48 changes: 48 additions & 0 deletions data/json/recipes/recipe_weapon.json
Original file line number Diff line number Diff line change
Expand Up @@ -6733,5 +6733,53 @@
["steel_chunk", 4],
["scrap", 12]]
]
},
{
"type" : "recipe",
"result": "chemical_thrower",
"category": "CC_WEAPON",
"subcategory": "CSC_WEAPON_RANGED",
"skill_used": "mechanics",
"skills_required": [ "launcher", 2 ],
"difficulty": 6,
"time": 12000,
"reversible": true,
"autolearn": true,
"qualities":[
{"id":"SAW_M_FINE","level":1,"amount":1},
{"id":"SCREW_FINE","level":1,"amount":1},
{"id":"HAMMER","level":2,"amount":1}
],
"tools":
[
[
["goggles_welding", -1]
],
[
["oxy_torch", 80],
["welder", 400],
["welder_crude", 550],
["toolset", 550]
]
],
"components": [
[
[ "pilot_light", 1 ]
],
[
[ "metal_tank_little", 1]
],
[
[ "pipe", 2 ]
],
[
[ "hose", 2 ]
],
[
[ "steel_lump", 1],
[ "steel_chunk", 4],
[ "scrap", 12]
]
]
}
]
Binary file modified gfx/RetroDaysTileset10/retrodaystiles10.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.