Skip to content

Commit

Permalink
Weapon Category Update (#1709)
Browse files Browse the repository at this point in the history
* Merge pull request #50212 from Saicchi/weaponcategory

weapon_category for martial arts cross-mod compatibility

Co-Authored-By: Saicchi <[email protected]>

* Weapon Categories: Krav Maga

Co-Authored-By: Termineitor244 <[email protected]>

* SHIVS (#52615)

* weapon categories in [F1] menu (#52402)

Co-authored-by: Saicchi <[email protected]>

* Weapon Categories: Ninjutsu (#51868)

* KNIVES

* QUARTERSTAVES

* BLADED_FARMING

* Remaining knife

* MEDIUM_SWORDS

* LONG_SWORDS

* SHORT_SWORDS

* CLAWS

* BATONS

* Weapon Categories: Eskrima (#51918)

* CLAWS

* BATONS

* Remove QUARTERSTAVES

* KNIVES

* BLADED_FARMING

* SHIVS

Co-authored-by: Kevin Granade <[email protected]>

* [CR] Weapon Categories: Silat (And Polearms categories) (#51972)

* KNIVES

* BATONS

* QUARTERSTAVES

* BLADED_FARMING

* CUTTING_POLEARMS

* PIERCING_POLEARMS

* Removed non-sensical weapons

* Removed swords

* HOOKING_POLEARMS

* POLEARMS

* POLEARMS (#52579)

* Merge pull request #52671 from Termineitor244/Fior-Di-Battaglia-Weapons

Weapon Categories: Fior Di Battaglia

* Merge pull request #52786 from Termineitor244/Fencing-Weapons

Weapons Categories: Fencing

* Weapon Categories: Bionic Combatives (#52885)

* BIONIC_WEAPONRY

* CLAWS

Co-Authored-By: Termineitor244 <[email protected]>

* Weapon Categories: Medieval Swordsmanship (#53449)

* make Zweihander a longsword

* make estoc a longsword

* Update martialarts.json

* new sword categories

* added new categories to weapons (except Japanese swords) and removed zwie- from long swords

* added Japanese sword category to weapons

* bokken and bio blade (#53695)

* Rename

* Merge pull request #57008 from Termineitor244/Weapon-Categories-Final

Weapon categories: Aikido, Judo, Bōjutsu and weapon category specific techniques

* Styling

* Display weapon category in item info.

* Strip out gun weapon categories

* Add weapon categories to guns

All guns now have their own categories, wheeeeee

I want to die.

* JSON fixes

* Add weapon categories to melee weapons

Reorganized
- Axes and similar are in their own file.
- Moved Shivs to misc.json.
- Macuahuitl moved to swords
- Fake and Inferior variants always underneath "original" versions.

Reorganized melee weapon categories to follow form/function better.

* martial arts update

Update MA in accordance with changed weapon categories.

* Display and sort

Weapons displayed in MA based on category listed in MA json, any weapons specially added are listed as Special weapons.

There can be duplicates on this list. Katanas appear in 1H_SWORDS and JAPANESE_SWORDS for instance.

* Tweaks

Update martialarts.json

Update martialarts.cpp

* Translated string Update

Co-Authored-By: Saicchi <[email protected]>
Co-Authored-By: Jianxiang Wang (王健翔) <[email protected]>

* Tonfa separation from Batons

Unique enough and keeps them out of Fencing style

* Update martialarts.json

* Update martialarts.json

* Linting

* Update weapons.json

* Fixes

Add the special stuff I missed from Ninjutsu and Silat.

Fix a few logic issues.

* Reference fix

* Mod Update

Add weapon categories to most mods.

* Linting

* Update tools.json

* Update src/item.cpp

Co-authored-by: Olanti <[email protected]>

* Update src/martialarts.cpp

Co-authored-by: Olanti <[email protected]>

* Update description and add extract function to table

* Move weapon category check

* Update lang/extract_json_strings.py

Co-authored-by: Olanti <[email protected]>

* Alphabetize

* Alphabetize 2

* Remove looks_like

rifle_pneumatic and rifle_elastic copy-from rifle_base so they already inherit the same looks_like.

* Magnetic weapon fix

Copy over magnetic mod locations

* Fix name for 1shot default rifle

* Update martialarts.cpp

Add weapon category check to martial art

* No reason to change this here.

If we want this changed better do it in a different PR rather than this stupidly massive one.

---------

Co-authored-by: Saicchi <[email protected]>
Co-authored-by: Termineitor244 <[email protected]>
Co-authored-by: Termineitor244 <[email protected]>
Co-authored-by: Saicchi <[email protected]>
Co-authored-by: Kevin Granade <[email protected]>
Co-authored-by: Angela Graves <[email protected]>
Co-authored-by: catdach <[email protected]>
Co-authored-by: David Seguin <[email protected]>
Co-authored-by: Jianxiang Wang (王健翔) <[email protected]>
Co-authored-by: Olanti <[email protected]>
  • Loading branch information
11 people authored Mar 30, 2023
1 parent 50d5340 commit 42cb8b6
Show file tree
Hide file tree
Showing 93 changed files with 2,284 additions and 2,596 deletions.
256 changes: 236 additions & 20 deletions data/json/items/classes/gun.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
"abstract": "flamethrower_base",
"copy-from": "gun_base",
"type": "GUN",
"weapon_category": [ "FLAMETHROWERS" ],
"reload_noise": "slosh.",
"name": { "str": "base flamethrower" },
"looks_like": "m79",
Expand All @@ -31,6 +32,7 @@
"abstract": "launcher_base",
"copy-from": "gun_base",
"type": "GUN",
"weapon_category": [ "GRENADE_LAUNCHERS" ],
"name": { "str": "base launcher" },
"looks_like": "m79",
"bashing": 12,
Expand All @@ -41,10 +43,20 @@
"flags": [ "RELOAD_ONE", "RELOAD_EJECT", "NEVER_JAMS" ],
"faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ]
},
{
"abstract": "rocket_base",
"copy-from": "launcher_base",
"type": "GUN",
"weapon_category": [ "ROCKET_LAUNCHERS" ],
"name": { "str": "base rocket launcher" },
"valid_mod_locations": [ [ "accessories", 2 ], [ "barrel", 1 ], [ "sights", 1 ], [ "sling", 1 ] ],
"flags": [ "RELOAD_ONE", "NEVER_JAMS", "PYROMANIAC_WEAPON" ]
},
{
"abstract": "pistol_base",
"copy-from": "gun_base",
"type": "GUN",
"weapon_category": [ "PISTOLS", "AUTOLOADING" ],
"name": { "str": "base pistol" },
"looks_like": "glock_17",
"skill": "pistol",
Expand Down Expand Up @@ -87,10 +99,21 @@
[ "underbarrel mount", 1 ]
]
},
{
"abstract": "pistol_1shot",
"copy-from": "pistol_base",
"type": "GUN",
"weapon_category": [ "PISTOLS", "1SHOT" ],
"name": { "str": "single shot pistols" },
"extend": { "flags": [ "RELOAD_ONE", "RELOAD_EJECT", "NEVER_JAMS" ] },
"//": "More reliable than other pistols because it uses no magazine and has no loading/cycling mechanisms.",
"faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ]
},
{
"abstract": "pistol_revolver",
"copy-from": "pistol_base",
"type": "GUN",
"weapon_category": [ "REVOLVERS", "MANUAL_ACTION" ],
"name": { "str": "revolver" },
"looks_like": "sw_619",
"to_hit": -2,
Expand All @@ -113,13 +136,13 @@
},
{
"abstract": "pistol_revolver_cap_ball",
"copy-from": "pistol_base",
"copy-from": "pistol_revolver",
"type": "GUN",
"name": { "str": "cap & ball revolver" },
"looks_like": "sw_619",
"clip_size": 6,
"reload": 150,
"extend": { "flags": [ "RELOAD_ONE", "NO_UNLOAD" ] },
"extend": { "flags": [ "NO_UNLOAD" ] },
"delete": { "flags": [ "NEVER_JAMS" ] },
"//": "Slower reloads, no unloading. Base, unskilled person should take 1.5 seconds per chamber. No underbarrel mods, that's where the ram goes.",
"faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ],
"valid_mod_locations": [
Expand All @@ -132,10 +155,54 @@
[ "sights mount", 1 ]
]
},
{
"abstract": "pistol_energy",
"copy-from": "pistol_base",
"type": "GUN",
"weapon_category": [ "PISTOLS", "ENERGY_WEAPONS" ],
"name": { "str": "energy pistol" },
"looks_like": "v29",
"//": "No conventional faults because it uses non-conventional systems.",
"flags": [ "NEVER_JAMS", "NO_UNLOAD", "NON-FOULING", "NEEDS_NO_LUBE" ],
"valid_mod_locations": [
[ "accessories", 2 ],
[ "emitter", 1 ],
[ "grip", 1 ],
[ "lens", 1 ],
[ "rail", 1 ],
[ "sights", 1 ],
[ "stock", 1 ],
[ "underbarrel", 1 ]
],
"faults": [ ]
},
{
"abstract": "pistol_elastic",
"copy-from": "pistol_base",
"type": "GUN",
"weapon_category": [ "PISTOLS", "ELASTIC" ],
"name": { "str": "elastic pistol" },
"bashing": 7,
"to_hit": -2,
"//": "No conventional faults because it uses non-conventional systems.",
"flags": [ "RELOAD_ONE", "STR_RELOAD", "WATERPROOF_GUN", "UNDERWATER_GUN", "NEVER_JAMS", "NON-FOULING", "NEEDS_NO_LUBE" ],
"dispersion": 120,
"reload": 600,
"valid_mod_locations": [
[ "accessories", 2 ],
[ "grip", 1 ],
[ "sights", 1 ],
[ "stock", 1 ],
[ "rail mount", 1 ],
[ "underbarrel mount", 1 ]
],
"faults": [ ]
},
{
"abstract": "rifle_base",
"copy-from": "gun_base",
"type": "GUN",
"weapon_category": [ "RIFLES", "AUTOLOADING" ],
"name": { "str": "base rifle" },
"looks_like": "ar15",
"bashing": 12,
Expand All @@ -161,23 +228,10 @@
"abstract": "rifle_manual",
"copy-from": "rifle_base",
"type": "GUN",
"weapon_category": [ "RIFLES", "MANUAL_ACTION" ],
"name": { "str": "rifle with manual actions", "str_pl": "rifles with manual actions" },
"//": "Manual actions exclude the magazine location preventing installation of belt-feed adaptors",
"faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ],
"valid_mod_locations": [
[ "accessories", 4 ],
[ "barrel", 1 ],
[ "bore", 1 ],
[ "brass catcher", 1 ],
[ "grip", 1 ],
[ "mechanism", 4 ],
[ "muzzle", 1 ],
[ "rail", 1 ],
[ "sights", 1 ],
[ "sling", 1 ],
[ "stock", 1 ],
[ "underbarrel", 1 ]
]
"//": "Slightly more reliable than autoloading actions.",
"faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ]
},
{
"abstract": "rifle_semi",
Expand All @@ -191,10 +245,19 @@
"type": "GUN",
"name": { "str": "fully automatic rifle" }
},
{
"abstract": "rifle_1shot",
"copy-from": "rifle_base",
"type": "GUN",
"weapon_category": [ "RIFLES", "1SHOT" ],
"name": { "str": "single shot rifle" },
"flags": [ "RELOAD_ONE", "RELOAD_EJECT", "NEVER_JAMS" ]
},
{
"abstract": "rifle_home_made",
"copy-from": "rifle_base",
"type": "GUN",
"weapon_category": [ "RIFLES", "1SHOT" ],
"name": { "str": "home-made rifle" },
"ranged_damage": { "damage_type": "bullet", "amount": 1 },
"dispersion": 550,
Expand All @@ -216,10 +279,91 @@
"faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ],
"flags": [ "RELOAD_EJECT" ]
},
{
"abstract": "rifle_energy",
"copy-from": "rifle_base",
"type": "GUN",
"weapon_category": [ "RIFLES", "ENERGY_WEAPONS" ],
"name": { "str": "energy rifle" },
"looks_like": "laser_rifle",
"//": "No conventional faults because it uses non-conventional systems.",
"flags": [ "NEVER_JAMS", "NO_UNLOAD", "NON-FOULING", "NEEDS_NO_LUBE" ],
"valid_mod_locations": [
[ "accessories", 4 ],
[ "emitter", 1 ],
[ "grip", 1 ],
[ "lens", 1 ],
[ "rail", 1 ],
[ "sights", 1 ],
[ "sling", 1 ],
[ "stock", 1 ],
[ "underbarrel", 1 ]
],
"faults": [ ]
},
{
"abstract": "rifle_magnetic",
"copy-from": "rifle_base",
"type": "GUN",
"weapon_category": [ "RIFLES", "MAGNETIC" ],
"name": { "str": "magnetic rifle" },
"looks_like": "laser_rifle",
"//": "No conventional faults because it uses non-conventional systems.",
"flags": [ "NEVER_JAMS", "NON-FOULING", "NEEDS_NO_LUBE" ],
"valid_mod_locations": [
[ "accessories", 4 ],
[ "grip", 1 ],
[ "mechanism", 4 ],
[ "rail", 1 ],
[ "sights", 1 ],
[ "sling", 1 ],
[ "stock", 1 ],
[ "underbarrel", 1 ]
],
"faults": [ ]
},
{
"abstract": "rifle_elastic",
"copy-from": "rifle_base",
"type": "GUN",
"weapon_category": [ "RIFLES", "ELASTIC" ],
"name": { "str": "elastic rifle" },
"bashing": 8,
"to_hit": -2,
"//": "No conventional faults because it uses non-conventional systems.",
"flags": [ "RELOAD_ONE", "STR_RELOAD", "WATERPROOF_GUN", "UNDERWATER_GUN", "NEVER_JAMS", "NON-FOULING", "NEEDS_NO_LUBE" ],
"dispersion": 90,
"reload": 700,
"valid_mod_locations": [
[ "accessories", 4 ],
[ "grip", 1 ],
[ "sights", 1 ],
[ "sling", 1 ],
[ "stock", 1 ],
[ "rail mount", 1 ],
[ "underbarrel mount", 1 ]
],
"faults": [ ]
},
{
"abstract": "rifle_pneumatic",
"copy-from": "rifle_base",
"type": "GUN",
"weapon_category": [ "RIFLES", "PNEUMATIC" ],
"name": { "str": "pneumatic rifle" },
"bashing": 8,
"//": "No conventional faults because it uses non-conventional systems.",
"flags": [ "NEVER_JAMS", "NON-FOULING", "NEEDS_NO_LUBE" ],
"dispersion": 350,
"reload": 600,
"valid_mod_locations": [ [ "accessories", 3 ], [ "sling", 1 ], [ "grip", 1 ], [ "mechanism", 4 ], [ "stock", 1 ], [ "rail mount", 1 ] ],
"faults": [ ]
},
{
"abstract": "shotgun_base",
"copy-from": "gun_base",
"type": "GUN",
"weapon_category": [ "SHOTGUNS", "AUTOLOADING" ],
"name": { "str": "base shotgun" },
"skill": "shotgun",
"bashing": 12,
Expand All @@ -241,13 +385,23 @@
[ "underbarrel mount", 1 ]
]
},
{
"abstract": "shotgun_1shot",
"copy-from": "shotgun_base",
"type": "GUN",
"weapon_category": [ "SHOTGUNS", "1SHOT" ],
"name": { "str": "single shot shotguns" },
"extend": { "flags": [ "RELOAD_ONE", "RELOAD_EJECT" ] },
"faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ]
},
{
"abstract": "shotgun_pump",
"copy-from": "shotgun_base",
"type": "GUN",
"weapon_category": [ "SHOTGUNS", "MANUAL_ACTION" ],
"name": { "str": "pump action shotgun" },
"reload_noise": "chuk chuk.",
"flags": [ "RELOAD_ONE", "PUMP_ACTION" ],
"extend": { "flags": [ "RELOAD_ONE", "PUMP_ACTION" ] },
"faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ]
},
{
Expand Down Expand Up @@ -276,6 +430,7 @@
"abstract": "smg_base",
"copy-from": "gun_base",
"type": "GUN",
"weapon_category": [ "SUBMACHINE_GUNS", "AUTOLOADING" ],
"name": { "str": "base SMG" },
"bashing": 10,
"ascii_picture": "hk_mp5a2",
Expand All @@ -295,5 +450,66 @@
[ "stock", 1 ],
[ "underbarrel", 1 ]
]
},
{
"abstract": "mg_base",
"copy-from": "rifle_base",
"type": "GUN",
"weapon_category": [ "MACHINE_GUNS", "AUTOLOADING" ],
"name": { "str": "base machine gun" },
"to_hit": -4,
"bashing": 18,
"reload": 400,
"handling": 40
},
{
"abstract": "gatling_base",
"copy-from": "gun_base",
"type": "GUN",
"weapon_category": [ "GATLING_GUNS", "AUTOLOADING" ],
"name": { "str": "base gatling gun" },
"looks_like": "ar15",
"to_hit": -4,
"bashing": 18,
"skill": "rifle",
"dispersion": 300,
"reload": 400,
"handling": 60,
"valid_mod_locations": [ [ "brass catcher", 1 ], [ "sling", 1 ], [ "rail mount", 1 ], [ "sights mount", 1 ] ],
"flags": [ "MOUNTED_GUN" ],
"faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ]
},
{
"abstract": "gatling_energy",
"copy-from": "gatling_base",
"type": "GUN",
"weapon_category": [ "GATLING_GUNS", "ENERGY_WEAPONS" ],
"name": { "str": "energy gatling gun" },
"bashing": 8,
"reload": 200,
"handling": 40,
"flags": [ "NO_UNLOAD", "NEVER_JAMS", "NON-FOULING" ],
"faults": [ ]
},
{
"abstract": "chemical_sprayer_base",
"copy-from": "gun_base",
"type": "GUN",
"weapon_category": [ "SPRAY_GUNS" ],
"name": { "str": "base chemical sprayer" },
"looks_like": "m79",
"bashing": 9,
"skill": "launcher",
"ammo": "chemical_spray",
"flags": [ "FIRE_50", "NEVER_JAMS", "NON-FOULING" ],
"valid_mod_locations": [
[ "accessories", 4 ],
[ "grip", 1 ],
[ "rail", 1 ],
[ "sights", 1 ],
[ "sling", 1 ],
[ "stock", 1 ],
[ "underbarrel", 1 ]
]
}
]
Loading

0 comments on commit 42cb8b6

Please sign in to comment.