-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Attacking shocker with worn non-conductive gloves won't zapback you #37242
Attacking shocker with worn non-conductive gloves won't zapback you #37242
Conversation
You would probably need to update tests - we have some for zapback. |
Also, test reach weapons that are conductive in case it works differently, maybe? |
Does this take coverage into account? I.e. bracelets, wristwatches, fingerless gloves? |
Tested. It works as it should. |
No. Bracelets doesn't have any occupied body part, so they won't affect player's conductivity. All watches in the game are made from conductive materials, so they won't help either. Fingerless gloves are probably the only example which we should care about. |
I think 100% coverage would be a good way to handle it. |
95% (there is a small portion of skin showing above the wrist) or 100% coverage would be good. Also, there are some outliers, like plastic shopping bag, or game watch that would work in this case. New items can be introduced later that would break this thing. |
What about the martial art attacks listed as kicks? Or the bonus attacks from mutations? |
They weren't accounted for at all prior to this PR, e.g. if you have bare foots and performing a kick while having non-conductive weapon in hands, you ain't electrocuted. Fixing this requires creating a new complex system, and this is out of the scope of this PR. |
* Removed redundant arrays for colors (CleverRaven#37187) Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Tools.json sorting pt. 8 (CleverRaven#37219) * Tools.json sorting pt.8 * Fix NPC dropping equipment (CleverRaven#37240) * Make npc equiping smarter * Fix item duplication * Saner oars stats and recipe The current stats don't represent the description and usage correctly. * Remove redundant translation * Fix filthy wearable weapon drops * Apply suggestions from code review Co-Authored-By: Anton Burmistrov <Night_Pryanik@mail.ru> * Military Base location (CleverRaven#37024) * Mapgen file * Palette * Overmap special * Overmap terrain * Update mil_base.json * More OM tiles * Added armory and infirmary * Barracks and stuff * More barracks + military vehicles * Utilities and Comm Center * Added bunk beds * Added underground level * Added interior locked metal door * Revert "Added interior locked metal door" This reverts commit 2a69241. * Added command center * Added z+1 level * Added warehouse shelf * Added Z levels 2-4 * Added item groups and corpse piles * Update locations.json * Update mil_base_z0.json * Added IV bag * Added saline solution in iv bag to surgery item group * Added mess tray * Added more item spawn points * Resolved merge conflicts * Added more item spawns * Update furniture-storage.json * Wrapped up item placements * Update mil_base_palette.json * Added monster groups * Added starting scenario * Update scenarios.json * Added monsters * Tweaks and linting * Wrap-up * Update locations.json * Added missing monstergroup * Added specops, bio_soldier and bio_sniper to starting professions * Added shredders * Added the base to military operations map * Changed the overmap color to red * Corrected occurrences * Added laundry room * Added chairs to laundry * Enlarged the helipad * Added benches to laundry * Update mil_base_z-1.json * Tweaks * Tweaks * Minor item placement fixes * Adding palette with recent changes * Handling test failures * More test fixes * Update data/json/overmap/overmap_special/specials.json Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Update data/json/overmap/overmap_special/specials.json Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Update mammal.json * Offal holiday cooking by evelyn turncoat (CleverRaven#37171) * Recipes and comestibles * itemgroup * Update offal_dishes.json * Update cooking.json * fix components * Update offal_dishes.json * Update data/json/recipes/food/offal_dishes.json Co-Authored-By: Jianxiang Wang (王健翔) <qrox@sina.com> * LISTS flag * excess comma * weird array structure unnecessary * Update offal_dishes.json * Update offal_dishes.json * elimiinate charges test for calories * Update canned.json * Update canned.json * Revert "Update canned.json" This reverts commit 08920ef. * Revert "Update canned.json" This reverts commit 2836f13. * Update data/json/items/book/cooking.json Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Co-authored-by: Jianxiang Wang (王健翔) <qrox@sina.com> Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Fix map revealing items (CleverRaven#37195) * Fix reveal of bar by restaurant guide * Fix reading of enum in `om_terrain_match_type` tag * Changed occurrences * Cable charger don't draw power when you're full * Calories for offal dishes (CleverRaven#37287) * Attacking shocker with worn non-conductive gloves won't zapback you (CleverRaven#37242) * Comestible modern json (CleverRaven#37273) * Comestible modern json * Correct amonia plural * Correct almond pulp plural * create orichalcum frame vehicle part * Added oral rehydration therapy drink and recipes to craft it. (CleverRaven#37286) * Added sports drink recipe * Added a new location to learn recipe It makes sense that you'd be able to learn about ORT solution from a first aid manual. * Linted recipe_food.json * Added rehydration drink item * Adjusted the new recipe * Added a "looks_like" * Linted drink.json again * Changed rehydration drink joy from -5 to -2 * Adjusted description as per suggestion * Update data/json/recipes/recipe_food.json Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Update data/json/recipes/recipe_food.json Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Add MAINLINE_MODS.md to document mod inclusion criteria and procedures (CleverRaven#37282) * Create MAINLINE_MODS.md * Update doc/MAINLINE_MODS.md Co-Authored-By: Curtis Merrill <curtis.r.merrill@gmail.com> * Update doc/MAINLINE_MODS.md Co-Authored-By: Fris0uman <41293484+Fris0uman@users.noreply.github.com> * Update doc/MAINLINE_MODS.md Co-Authored-By: davidpwbrown <39344466+davidpwbrown@users.noreply.github.com> * Update doc/MAINLINE_MODS.md Co-Authored-By: davidpwbrown <39344466+davidpwbrown@users.noreply.github.com> * Update doc/MAINLINE_MODS.md Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Update doc/MAINLINE_MODS.md Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Update doc/MAINLINE_MODS.md Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Co-authored-by: Curtis Merrill <curtis.r.merrill@gmail.com> Co-authored-by: Fris0uman <41293484+Fris0uman@users.noreply.github.com> Co-authored-by: davidpwbrown <39344466+davidpwbrown@users.noreply.github.com> Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Added flag to the 5 variants * Linting * shfit the ambulance * Add age_grow attribute documentation. * Comestible-modern-json 2 * typo: change 'past' to 'passed' (verb) * Ammo modern json * Paperback novel tpl (CleverRaven#37166) * Move more string consts into file for them (CleverRaven#37302) * Refactor computer window (CleverRaven#37269) * Refactor computer window printing * Use input context in query_bool and query_ynq * Split computer actions into functions * Split computer failures into functions * Add new safemode rule category for ignoring sounds (CleverRaven#36786) * Added safe sound rule category * Update mre.json * Update mre.json * Fixed duplicate "the" * Computer refactor part 2 (CleverRaven#37299) * Remove unnecessary/unused members of class computer * Make name and mission_id of computer private * Make alerts a member of computer * Move initialization of next_attempt to constructor * Replace shutdown_terminal with reset_terminal * Check option enum instead of (translated) option string * Migrate computer_action and computer_failure_type to use enum conversion * Use JSON (de)serialization in class computer * Lift ordering restriction of computer_action and computer_failure_type * Remove COMPACT_OBSOLETE * Fix COMPFAIL_DESTROY_DATA range * Remove const modifiers in function declarations Co-Authored-By: ZhilkinSerg <ZhilkinSerg@users.noreply.github.com> Co-authored-by: ZhilkinSerg <ZhilkinSerg@users.noreply.github.com> * Reduce the scaling damage dealt by the evolve kill strike special attack (CleverRaven#37277) * Teak the scaling damage dealt by evolve kill strike attack * Prevent auto attacking allies (CleverRaven#37257) * Move update_body and skill rust related functions from player to Character (CleverRaven#37210) * Jsonize and simplify starving warnings (CleverRaven#36989) * Add a "rural" biome in mod form (CleverRaven#37265) * Fix mag unloading (CleverRaven#37338) * NPC can consume battery charges from batteries * Generic Guns rework (CleverRaven#36839) * Rework generic guns * Recipe redefs * 20x66 migrations * turrets, descriptions, magazine ammo types * Smörgåsbord of stuff * Update gg_ammo_migration.json * black powder recipes &defs, make more recipes standalone * fix circular error caused by obsoletion * Update recipes_pistol.json * Update modinfo.json * Update pistol.json * Update shot.json * Reverted flag change and added coverage * Fix spelling errors (CleverRaven#37349) * Remove executable bit from turret.json * Fix spelling errors found by lintian * Generic modern json (CleverRaven#37342) * Update Makefile so LTO works on OSX The gold linker can only produce ELF binaries, not Mach, so it doesn't work on OSX. This lets link-time optimization work when linking Mach binaries from clang. * Fix a few typos pre 0.E (CleverRaven#37359) Fix a few typos pre 0.E * Add a vibrator crafting recipe (CleverRaven#36860) * Add a vibrator crafting recipe There was an existing recipe for crafting an mp3 player, but surprisingly none for a much simpler device, the vibrator. This recipe uses similar ingredients to the existing deconstruction recipe (with the addition of a tiny electric motor), and is auto-learned at fabrication level 2. * Increase vibrator crafting requirements Makes the recipe a bit more realistic, and balanced with existing recipes, based on pull request comments from other players and further inspection of existing recipes. Changes include: - Require a plastic mold (must-have for a smoothly contoured shape) and additional plastic scraps to account for mold overrun - Require electronics skill 1, but use fab 2 to construct - Increase difficulty to 3 and crafting time to 20 minutes - Need wire, solder, and soldering iron - Use "motor_micro" (0.28 lbs) instead of "motor_tiny" (1.38 lbs), since vibrator itself only weighs 1.0 lbs * lint Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Added the item to item groups (CleverRaven#37360) * Sorted hats, arm and leg guards (CleverRaven#37358) * Installing gunmods takes time * Add item_category documentation (CleverRaven#37346) * Add item_category documentation * Alignment * Magiclysm - New Spells 1 (CleverRaven#37254) * Linted Assorted Spells Fresh spells for the masses * Update data/mods/Magiclysm/Spells/biomancer.json Co-Authored-By: Curtis Merrill <curtis.r.merrill@gmail.com> * fixed paralyze damage * updated cost of pillar * corrected range * rogue comma * Update stormshaper.json * updated terrain files Huh. completely missed that. * class change * Update data/mods/Magiclysm/Spells/animist.json Co-Authored-By: Curtis Merrill <curtis.r.merrill@gmail.com> * scrolls & loot list Co-authored-by: Curtis Merrill <curtis.r.merrill@gmail.com> * regenerate values for vehicle drag test (CleverRaven#37369) * regenerate values for vehicle drag test * Cleaning can use clean water (CleverRaven#37366) * Fix handmade magnum carbine using wrong ammo (CleverRaven#37364) * Adds repair like jeans to army pants. (CleverRaven#37353) * Remove non-scifi professions from Aftershock (CleverRaven#37292) * json style * Add -fno-sanitize-recover=all When activating a sanitizer, explicitly request that we don't try to recover from a failure. This is so that when we run the tests in CI, ubsan issues will actually cause a failure. Otherwise they're just logged and no-one will notice them. * Avoid member function call with this == null This member function of oracle_t was just a constant function. It didn't need to be a member function, so I made it a free function. In the tests it was being called on null oracle_t* values. * Avoid crafting_success_roll returning NaN The crafting_success_roll could end up computing 0.0/0.0. This happened to work, but more by luck than design, so check for that case explicitly. (NaN values are unsafe given that we're compiling with -ffast-math). * Avoid uninitialized bool member variables In effect_type these bools would remain uninitialized for the derived class ma_buff_effect_type, leading to inconsistent behaviour of martial art effects. In inventory a newly constructed inventory could be considered binned, which could cause incorrect behaviour. In both cases, this involved loading invalid bool values, with is UB. * Avoid overflow in get_overmaps_near In some cases a call to get_overmaps_near was passing a tripoint with z value INT_MIN. This led to an overflow when computing the distance between points. Instead, just pass the x,y part of the tripoint. * Avoid some floating point division by zero Avoid division by zero in two cases: light level zero (used to check creature night sight on some code paths) and vehicle traction when all wheels are on the ground. This isn't actually UB, but in one case it led to UB because an infinity was cast to an int. Also, UBSan was complaining about it, possibly because we're doing things that are unsafe when using -ffast-math. * Avoid overflow when computing vehicle power When a vehicle was being fast-forwarded over a period of months upon return to the reality bubble it was possible for the accumulated solar power to exceed billions of joules. This led to integer overflow. Perform intermediate calculation in 64-bit ints to avoid the problem. * Initialize weather in tests The tests never initialized the state of the weather system, leaving some uninitialized values which could lead to winds in the billions of miles per hour. That in turn led to overflows and UB. Initialize the weather system appropriately. * Add -fno-sanitize-recover=all with sanitizers By default, UBSan just prints a message but doesn't cause an error exit. This is not what we want for CI, so adding an extra option to make these errors fatal in order for CI issues to be obvious. * Fixed pluralization of acorn meal/bologna/bone meal/cornmeal/detergent/herring/oatmeal/yeast (CleverRaven#37375) * Fixed pluralization of bone/acorn/corn/oatmeal and yeast. * used new plural form, and added bologna and detergent plurals * Triage two clang-tidy checks PR CleverRaven#37003 added -modernize-use-trailing-return-type to our .clang-tidy on the basis that we don't want to fix those issues. However, it was added to the yet-to-be-triaged section of the file. Move it to the triaged section of checks we have decided we don't want. At the same time, move modernize-use-auto to the same section. No behavioural change should occur. This is just bookkeeping. * Enable UBSan in Travis CI UBSan and ASan are compatible, so enable them both in the same test run. * fix screen wall (CleverRaven#37380) * Armor.json sorting pt. 2 (CleverRaven#37381) * Make `int_id::operator int` explicit * make reins autolearn (CleverRaven#37379) * Routine i18n updates on 25 Jan 2020 (CleverRaven#37382) * Some more typo cleanup for 0.E Some more typo cleanup for 0.E * Use std::abs on int64_t argument Using abs is in fact safe in this case, but causes a compiler warning. * Update JSON_INFO.md (bashing cannot be negative) (CleverRaven#37186) * Update JSON_INFO.md * Update doc/JSON_INFO.md Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Update doc/JSON_INFO.md Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Update JSON_INFO.md * Update JSON_INFO.md Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Appease clang-tidy (CleverRaven#37390) * Pass -quiet to clang-tidy on Travis To reduce the unnecessary noise in the CI output from running clang-tidy. * Assorted clang-tidy fixes * Armor.json sorting pt. 3 (CleverRaven#37393) * Moved items to separate files * Changed cloaks_blankets.json to cloaks.json * Various generic guns quickfixes (CleverRaven#37386) * Description, recipe, parent, itemidswap, and capitalization fixes * Mainline sleep deprivation (CleverRaven#37317) * Update inventory.cpp removed redundant hotplate pseudoitem * Increased recycle center mundane loot tenfold (CleverRaven#37388) * Buffed mundane item weights * Increased loot amount tenfold * Increased recycle bin storage capacity * Update data/json/itemgroups/locations.json Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Added some more items and fixed wrong ones Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Obsoleted Special 700 (CleverRaven#37385) * Added Special 700 to guns_rifle_improvised * Reverted the item group addition * Replaced the gun with a Reminton 700 in mapgen files * Obsoleted the gun * Standardize JSON times to strings (CleverRaven#37396) Integer times in construction.json were converted directly to minutes (confirmed in-game that these are the correct construction times). Integer times in some ammo and vehicle recipes were converted such that 100 is 1 turn, and since 1 turn is 1 second, this means "time: 4000" is a duration of 40 seconds, and "time: 30000" is a duration of 5 minutes. Again I checked in-game for these recipes to be sure of my interpretation (despite a few of these seeming unrealistically quick, such as the 5-second boat oars). Partial fix for CleverRaven#36110 * Item Group Sorting #5 created 3 new .jsons -- locations_mapextras, agriculture and gear_civilian. Moved spawn lists from item_groups and gear.jsons into various lists. * Refresh whole screen after selecting "What to do with your X" * Pull out more string consts into cata_string_consts.h (CleverRaven#37394) * Pull out string consts from tons of files * Rollback large files * Rollback * Rollback * Rollback * FIx test/typo * Astyle * Revoked RECHARGE flag from Aftershock's UPS items/tools (CleverRaven#37331) * Aftershock Bloodhound Drones (CleverRaven#37131) * Refactor and update Graphical Overmap mod (CleverRaven#37305) * Add suffixes and base recipes to Modular Turrets-based mods to allow proper uncrafting + other tweaks Fixes CleverRaven#37291 (CleverRaven#37373) * Modernize craft times Craft times were still in 100 moves per 6 seconds era. * Add id_suffix "from_scrap" to manhack recipes, remove inactive manhack from scrap recipe, modern time Adding Id suffix should enable one to craft manhacks from the whole components or rebuild them from scrap components and damaged manhacks. This should allow inactive manhacks to be dismantled again fixing CleverRaven:CleverRaven#37291 Removed inactive manhack from "from_scrap" entries. * Added from scratch recipes and changed suffix ids Changed suffix ids to "repair" on repair recipes to manage ambiguity. Added base recipes that match the recipes for CROWS II turret sans weapon with additional programming and mechanical expertise and difficulty being the separation between the manufacture types, implying the user has to train or program the AI core to operate the weapon. Repair recipes require electrohack to repair, the majority of the time spent hacking the broken AI core into its original function. The from-scratch recipes added imply the builder is working from a reset AI core that is is in working order and will easily accept programming instructions and the additional 10 minutes added is for completely building the turret from parts. * Armor.json sorting pt. 4 * security van uses orichalcum * Fix magazine unloading (again) * Replace Food and Drink labels with Hunger and Thirst * Update bunker.json (CleverRaven#37411) * Avoid uninitialized resistance values The resistances constructor for monsters left the DT_ELECTRIC value uninitialized. This led to inconsistent behaviour and CI test failures. Ensure it's initialized. * Adds extra whitespace to fix tests fail * Updated and improved MODDING.md * Update documentation on gun valid mod locations * Remove useless melatonin tablet iuse, external opt There wasn't really any reason for the melatonin tablet to have a separate iuse, instead of using the consume drug actor. The external option for sleep deprivation was also not very useful, and was removed as such. While converting the melatonin tablet to the consume drug iuse, I noticed it could not use time_duration strings, so I enabled the use of those for it. Making these changes trigerred test failures, so I made adjustments to the tests to fix those. * fix house spawns * pluralization and grammar fixes: spam, canned salmon, charcoal, Brigitte LaCroix quest * Mutations modern json names and doubles (CleverRaven#37426) * item group sorting 6 (CleverRaven#37408) * item group sorting 6 created two new .jsons -- jewellery_gems and activities_hobbies. Moved various lists from item_groups into other .jsons. * Move item desription into basic_info (CleverRaven#37422) It makes sense to show the basic description of what an item is before showing the category, volume, weight, material, owner, ammunition, charges, magazine, and disassembly information. This commit moves item descriptions to the top of basic_info, just below the item name, to make it easier to see what I'm looking at. * update ITEM_CATEGORY documentation - property priority_zones (CleverRaven#37407) * Mutation modern names format (CleverRaven#37434) * Mutations modern names * Name string to object * Names to objects * Name to object * Names to objects * Names to objects * Names to objects * Name to object * Debug mutations names to objects * Names to objects * Names to objects * Names to objects * Names to objects * Names to objects * Facial hair names to objects * Facial hair names to objects * update with crack houses * Split sausage_wasteland recipe into two recipes. (CleverRaven#37316) * Item category modern json name (CleverRaven#37435) * Item category modern json name * Names to objects * Armor.json sorting pt. 5 (CleverRaven#37441) * Storage.json and sheath.json * Update armor.json * Added torso_clothes.json * Fix footsteps translation (CleverRaven#37402) * Make edamame and soybeans smokable (CleverRaven#37335) * Make edamame and soybeans smokable Soybeans and edamame can both be smoked. Edamame spoils quickly and when roasted lasts 2 seasons. Soybeans last a year in-game the smoking process makes them edible but lasting only 2 seasons. Internet searches confirm smoked edamame and soy nut recipes. * Build roofs over dirt, and dig stairs in roofed dirt tiles (CleverRaven#37427) * Build roofs over dirt, and dig stairs in roofed dirt tiles * Fixed some things that got broken somehow * Linted files and added DIGGABLE to outdoor dirt floors * Linting Co-authored-by: ColdandDead <59815584+ColdandDead@users.noreply.github.com> * Add missing [ ] to fix game load (CleverRaven#37449) * Update microlab_generic_edge.json * Obsolete mods (CleverRaven#37272) * Obsolete mods * Merge no_reviving_zombies into classic_zombies * Gun modern json name format (CleverRaven#37447) * Added hint about minefields to the Overrun scenario (CleverRaven#37442) * fixed bikerack vehicle tracking fixed bikerack wiping overmap tracking for carried vehicles * Undergarment.json and tool_armor.json * Revert "Undergarment.json and tool_armor.json" This reverts commit 873c253. * added period to warrener dialogue line. (CleverRaven#37461) * insecticide can be made with lye powder, or much less lye CleverRaven#36396 (CleverRaven#37462) * Turret mount crafting recipe (CleverRaven#37321) * Update recipe_vehicle.json * Update recipe_vehicle.json * Update recipe_vehicle.json * Update recipe_vehicle.json * Update recipe_vehicle.json * Update recipe_vehicle.json * Update recipes.json * Update tool.json (CleverRaven#37367) * Tool name plural and name to object (CleverRaven#37466) * Tool name_plural and name to object * Names to object, volume to string * Names to object * Update data/json/items/tool/lighting.json * Update data/json/items/tool/cooking.json Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Update data/json/items/tool/electronics.json Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Update data/json/items/tool/explosives.json Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Update data/json/items/tool/lighting.json Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Update data/json/items/tool/lighting.json Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Fix house id matching in hardcoded missions * fix house starting locations * Armor.json sorting pt. 6 (CleverRaven#37468) * Undergarment.json and tool_armor.json * Revert "Undergarment.json and tool_armor.json" This reverts commit 873c253. * Tool_armor.json * Undergarment.json * Armor.json + things missed from earlier * Moved barrette to jewelry * Hot pants, loincloth, leggings to legs_clothes.json * Update tool_armor.json * I volunteer as tribute: Claiming a maintainer role on Classic Zombies. (CleverRaven#37477) * Make feature template use headers, not bold text (CleverRaven#37474) * Display Correct read times at character creation (CleverRaven#37472) * Display Correct read times at character creation * move read_speed() to character * Change "Disassemble everything" wording (CleverRaven#37440) * fruit wine requires yeast (CleverRaven#37463) * fix high tech low life start * Update regional_map_settings.json * fix orichalcum frames in tests * move cupboard to `furniture-surfaces`, give workbench properties (CleverRaven#37481) * Mainline INT based learning changes (CleverRaven#37465) * Change blueprint auto-calculation to blueprint requirements check in unit test * Show messages when pet is captured or released When using a pet carrier to capture or release a pet, it was not displaying any kind of success message in the log. Now you will get i.e. "You capture the cat in your pet carrier." "You release the cat." Following the example of similar log messages in these functions, I added one message for successful capture, and one for successful release. This commit was going to be a simple two-line addition, but I discovered that `release_monster` was deleting the name of the contained animal as part of releaseing it, thus I got an empty string when trying to log it. The solution, setting a local `contained_name` variable to remember the animal name, had a nice side-effect of making several other lines a little cleaner and more readable after slight refactoring, so I am including that too. * Update books.json cleaned up a couple spawn lists. * Reorganize monsters.json and audit CLASSIC tag (CleverRaven#37480) * Adds looks_like flags * Move check for ability to climb to the very beginning * Adds font fallback support for map and overmap * Armor.json sorting pt. 7 * Refactor 3 catacurses functions a bit (CleverRaven#37500) * Grenades.json into explosives.json (CleverRaven#37506) * Doc office fix (CleverRaven#37507) * Changed maintainer for Mythical Martial Arts mod (CleverRaven#37483) * Clean skill rust code (CleverRaven#37281) * Change maintainer of DinoMod to @damien (CleverRaven#37490) * rename mixed gunpowder mixed gunpowder is made from smokeless gunpowder and not having smokeless in the description is confusing. * Update speech.json * Lowered excessive reading times of some cooking books. * Fix incorrect key. Use the new name format * Fix crash when exiting from options menu after failed loading * Avoid % 0 * Improve overmapbuffer searching routines (CleverRaven#37482) * Add simple unit tests for `closest_points` functions * Minor simplification and optimization of `closest_points` functions * Allow specifying minimal distance in `closest_points` functions * Use `closest_points` functions for overmap buffer search * Obsolete flaming weapons (CleverRaven#37406) * Obsolete flaming weapons * Add flaming weapons to crazy cataclysm * Adjust Hub 01 environmental suit values (CleverRaven#37519) * Update Integrated toolset Drilling quality to match description (CleverRaven#37521) * Obsolete survivor helmets * Add migration for bionic basement * Cyberjunkie fix (CleverRaven#37529) * Update professions.json * Fixed AA * let reins_tackle spawn * fix magic basement spawn, update interior (CleverRaven#37486) * fix magic basement spawn, update * add save support * shift dog spawns to a new house since I'm using this for the magic basement, moving the dog spawns for player survivability. * Keep consuming menu filter when consuming multiple items * Make bicycles more likely to exist (CleverRaven#37457) * Make bicycles more likely to exist Prior to this change, bicycles had only a 3% chance among the vehicle pool (less than half that of armored vehicles) on city streets. This seemed way too low, so I wanted to give bikes a fairer chance. Fixes CleverRaven#37451 This commit changes three vehicle groups, including: city_vehicles: - Bicycle equally likely as the standard car, or twice as likely as a Hippie Van. - Dirt bike as likely as a Hatchback or Hippie Van - Electric bicycle as likely as a Beetle or RV suburban_home: - Bicycle as likely as standard car - Dirt bike as likely as SUV - Electric bicycle possible, as likely as scooter or sports car parkinglot: - Bicycle as likely as car or flatbed truck - Dirt bike possible, as likely as hatchback or motorcycle * Reduce bicycle spawn frequency somewhat Based on PR feedback from other devs/players, I'm dialing back the bicycle spawn frequency significantly from my previous commit. The total adjustment now is that bicycles are roughly 1.5 - 2 times as likely to appear in city streets, suburban homes, and parking lots, as they are in the current experimental branch. Adjustments made in this commit include: In "city_vehicles" (i.e. in streets everywhere): - "bicycle" weight is 800 (originally 400), making them rarer than "car", "car_hatch", "ambulance", or "hippie_van", but more likely than "beetle", "car_mini", "bus", "rv", or "4x4_car". Same chance of spawning as a "pickup" or "suv". - "bicycle_dirt" weight is 200 (originally 0, impossible), making them as likely as "suv_electric", "motorcycle", "truck_swat", or "fire_engine" - "bicycle_electric" weight is back to 100 (originally 100) In "suburban_home": - "bicycle" weight is now 200 (originally 150), same chance as "4x4_car" or "motorcycle" - "bicycle_dirt" weight is now 150 (originally 125), same chance as "car_anmlcmpt" And in "parkinglot": - "bicycle" weight left at 1000 (originally 500) - "bicycle_dirt" removed again (back how it was before) Partially fixes CleverRaven#37451 * Add a bike shed to house08 and house_patio To get a few more pedal-powered bicycles and parts into the world in a less conspicuous way than simply spamming them onto the city streets Fixes CleverRaven#37451 As suggested by @I-am-Erk, this adds a 6x6 nestable mapgen module containing a simple metal bike shed. It's modeled after the 6x6_junk shed, with flimsier metal walls, but still having locked (pickable) metal doors, so it's not a total smash-and-grab. Inside the shed is a 50% chance of finding a "bikeshop" vehicle, most often a "bicycle", "bicycle_dirt", or "bicycle_electric", but with some chance of "tandem", "scooter", "unicycle" etc. It's furnished with a workbench and metal shelf, across which there is a low (10%) chance of seeing 1-3 "bikeshop_tools", usually a bike part (wheel, horn, foot crank, saddle) but sometimes such goodies as a wrench, screwdriver set, duct tape, or even (very low chance) a toolbox! I found two houses where this shed seems to fit well with the layout ("house08" and "house_patio"), and included the new bike shed with the same probability as "shed_6x6_woodworker". * Have correctly linted JSON My JSON failed linting, now it should work * Remove the trailing newline To see if that is enough lint removal * Adjust MRE contents to better reflect real MREs (CleverRaven#37484) * Fixed offset for bionics slots UI * Replace axe-kick with spinning back kick and add roundhouse kicks/feints to TKD (CleverRaven#37362) * Remove all references to basement_bionic from region settings * CleverRaven#37537 make lit candle a firestarter * Add status popups to save file loading and options menu (CleverRaven#37542) * Display wait popup when saving and applying options * Show wait popup after data files are loaded and before the save is loaded * Remove unused member of loading_ui * Do not move cursor to start Co-authored-by: ZhilkinSerg <ZhilkinSerg@users.noreply.github.com> Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Co-authored-by: Angela Graves <rivet.the.zombie@gmail.com> Co-authored-by: RarkGrames <50421549+RarkGrames@users.noreply.github.com> Co-authored-by: Eric <52087122+Ramza13@users.noreply.github.com> Co-authored-by: Trioct <dbaumgartner21@gmail.com> Co-authored-by: Sergey Alirzaev <zl29ah@gmail.com> Co-authored-by: Matthew Taylor <mtaylor1252dev@gmail.com> Co-authored-by: saurocyte <40738100+saurocyte@users.noreply.github.com> Co-authored-by: Anton Burmistrov <Night_Pryanik@mail.ru> Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> Co-authored-by: Jianxiang Wang (王健翔) <qrox@sina.com> Co-authored-by: Fris0uman <41293484+Fris0uman@users.noreply.github.com> Co-authored-by: snipercup <50166150+snipercup@users.noreply.github.com> Co-authored-by: Curtis Merrill <curtis.r.merrill@gmail.com> Co-authored-by: Inglonias <2125926+Inglonias@users.noreply.github.com> Co-authored-by: eso <eso@esotericist.org> Co-authored-by: davidpwbrown <39344466+davidpwbrown@users.noreply.github.com> Co-authored-by: curstwist <39442864+curstwist@users.noreply.github.com> Co-authored-by: arijust <54635208+arijust@users.noreply.github.com> Co-authored-by: jkraybill <jeremy@seedwing.com> Co-authored-by: Jerimee Richir <jerimee.richir@gmail.com> Co-authored-by: Dziugaske <42064096+Dziugaske@users.noreply.github.com> Co-authored-by: John Candlebury <johncandlebury@gmail.com> Co-authored-by: Tonkatsu <7764202+tenmillimaster@users.noreply.github.com> Co-authored-by: Reiner Herrmann <reiner@reiner-h.de> Co-authored-by: sayke <sayke@users.noreply.github.com> Co-authored-by: Cyrano7 <Cyrano7@users.noreply.github.com> Co-authored-by: Eric Pierce <wapcaplet88@gmail.com> Co-authored-by: foulman <jgthompson@gmail.com> Co-authored-by: LaVeyanFiend <51099123+LaVeyanFiend@users.noreply.github.com> Co-authored-by: Brian-Otten <47374323+Brian-Otten@users.noreply.github.com> Co-authored-by: John Bytheway <jbytheway@gmail.com> Co-authored-by: Binrui Dong <brett.browning.dong@gmail.com> Co-authored-by: anothersimulacrum <anothersimulacrum@gmail.com> Co-authored-by: SeventhSandwich <SeventhSandwich@gmail.com> Co-authored-by: Lil Shining Man <56778776+LilShiningMan@users.noreply.github.com> Co-authored-by: gwyter <60160157+gwyter@users.noreply.github.com> Co-authored-by: Kilvoctu <kilvoctu@zoho.com> Co-authored-by: CSHague <58125670+CSHague@users.noreply.github.com> Co-authored-by: CountAlex <countserg@gmail.com> Co-authored-by: 8street <nikolai_e@rambler.ru> Co-authored-by: ashGlaw <58862150+ashGlaw@users.noreply.github.com> Co-authored-by: ColdandDead <59815584+ColdandDead@users.noreply.github.com> Co-authored-by: Hirmuolio <hirmuolio@gmail.com> Co-authored-by: gavin1337 <gavin1337@ymail.com> Co-authored-by: Jason Jones <jasonedwardjones@gmail.com> Co-authored-by: RobertoVGoulart <robertovgoulart@yahoo.com.br> Co-authored-by: Alexey Mostovoy <1931904+AMurkin@users.noreply.github.com> Co-authored-by: Hymore246 <Hymore246@users.noreply.github.com> Co-authored-by: Damien Wilson <12211+damien@users.noreply.github.com> Co-authored-by: Kelenius <kelenius@ya.ru> Co-authored-by: codemime <codemime@gmail.com>
Summary
SUMMARY: Content "Attacking shocker with worn non-conductive gloves won't zapback you."
Purpose of change
Closes #37237 - Swimmer Glove Spear Zap-Back.
Describe the solution
Added a check in
zapback
monster defense function: if an item covers your hands and is made of non-conductive material or hasNONCONDUCTIVE
flag, you won't get zapback while attacking shockers with your (almost) bare hands or conductive weapon.Describe alternatives you've considered
None.
Testing
Spawned swimmer gloves, wore them. Spawned shocker zombie. Attacked it with my (almost) bare hands and with conductive melee weapon. No zapback.
Additional context
None.