Steel pipe/handle fault creation + implementation#86538
Merged
GuardianDll merged 13 commits intoCleverRaven:masterfrom Apr 17, 2026
Merged
Steel pipe/handle fault creation + implementation#86538GuardianDll merged 13 commits intoCleverRaven:masterfrom
GuardianDll merged 13 commits intoCleverRaven:masterfrom
Conversation
Non-makeshift crowbars got a weight multiplier below 1 since they are generally quite durable and shouldn't bend as quickly as other tools.
Contributor
|
Spell checker encountered unrecognized words in the in-game text added in this pull request. See below for details. Click to expand
This alert is automatically generated. You can simply disregard if this is inaccurate, or (optionally) you can also add the new words to Hints for adding a new word to the dictionary
|
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
typo fix
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
typo fix
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
b3brodie
added a commit
to b3brodie/Cataclysm-DDA
that referenced
this pull request
Apr 17, 2026
* Fix null ammo_data dereferences in NPC reload and turret code - npc::do_reload: use reload_option::qty() instead of manually computing quantity via ammo_data()->ammo->type. Crashes when select_ammo returns a non-ammo item (e.g. food for containers). - turret_data::can_reload: use remaining_ammo_capacity() > 0 instead of raw ammo_data()->ammo->type dereference. - item::remaining_ammo_capacity: guard against null ammo_data() and null islot_ammo, return 0 instead of crashing. * Exclude personal zones from NPC zone sorting NPC camp workers would pick up the avatar's personal zones (both source and destination) when the player stood nearby, delivering items to the player's personal FOOD/etc zones instead of the camp's static destinations. - Add zone_manager::has_nonpersonal() to check whether a point is covered by at least one non-personal zone of a given type. - Filter coord_set in stage_init so NPCs skip personal UNSORTED source tiles that have no backing static zone. - Filter dest_set in stage_do so NPCs skip personal destination tiles that have no backing static zone. - When a personal zone overlaps a static zone on the same tile, the static zone still works for NPCs. - Three new tests covering personal dest, personal source, and overlap scenarios. * Enable NPC mop tool fetching for zone mopping activity NPCs assigned to mop zones would always fail with "no required zone was found" when they didn't have a mop in inventory, even when moppable tiles and mops in loot zones were available. - Add NEEDS_MOP to activity_reason_continue so the framework enters the fetch path instead of silently skipping moppable tiles. - Add NEEDS_MOP to activity_reason_picks_up_tools so the NPC searches loot zones for a mop. - Add mopping_standard requirement (MOP quality level 1) and multi_mop_activity_actor::multi_activity_requirements override to tell the fetch system what to look for. * Allow creatures to ascend regular stairs The climb check in monster::move() blocked all non-flying creatures from ascending any z-level, including regular staircases. - Exempt regular stairs (GOES_UP without DIFFICULT_Z) from the climb check, matching what can_reach_to() already does. Ladders, ropes, and scaffolding still require climbing ability. - Expand the try_to_move neighbor scan to include z-level neighbors so creatures on stairs are not falsely considered stuck. - Add tests for stair ascent/descent with diverse creature types, and ladder blocking for non-climbers. * Add pre-rasterized scaled GUI fonts (1.5x, 2x) - Add font_size parameter to load_font(), load GUI font at 1.5x and 2x into the atlas alongside the regular gui and mono fonts - Expose PushGuiFont1_5x() and PushGuiFont2x() helpers in cata_imgui.h - Replace SetWindowFontScale(1.4f) in crafting GUI with PushGuiFont1_5x() for crisp text instead of blurry bitmap scaling - Loop over all fonts for fallback callbacks and validation * ambient mutation in inner cabins cellar depths is slower and more obvious (CleverRaven#86245) * tweaks * Update reverberations.json * Initial commit * Update vehicle_parts.json * Fix per-turn inventory rebuild for step recipe proficiency checks Step recipes called proficiency_time_malus() every turn via step_budget_moves(), which pulled book bonuses from crafting_inventory(). The inventory cache was always stale (invalidated by set_moves(0) earlier in the same do_turn call), causing a full O(N^2) inventory rebuild per turn -- the same bug pattern that was previously fixed for batch_time(). - Add crafting_cost_context struct bundling book_proficiency_bonuses and tool_speeds; require it on batch_time, time_to_craft_moves, step_budget_moves -- no implicit fallback, no hidden scans - Add for_recipe() and for_proficiencies() factories so callers compute the context once at the evaluation boundary - Add Character::book_bonuses_nearby() -- lightweight spatial query that walks map tiles and vehicle cargo in-place without copying items or running stacking logic - Add map::for_each_reachable_item() as shared primitive for reachability/accessibility/ownership/vehicle-cargo iteration, eliminating semantic duplication with form_from_map() - Thread required book_proficiency_bonuses through proficiency_time_malus, proficiency_skill_malus, and their wrappers so they cannot silently trigger inventory scans - Cache crafting_cost_context in craft_activity_actor, recomputed only on speed/assistant/proficiency changes (5% boundaries) - Precompute context in crafting GUI paths (availability cache, step display, recipe sort) to avoid redundant per-recipe scans * Create item_blacklist.json * Require the player to examine the statue to receive warp shards * Fix personal zone drift during sorting - Removed cache_data(false) call from vehicle::refresh_zones() - Added regression test for personal zone position stability * Remember crafting details panel state between sessions (CleverRaven#86276) * Persistent details expansion state * Apply suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Merge pull request CleverRaven#86273 from evilbananas/craft-menu-item-no-newline Improve expanded component view in new ImGui Crafting Menu * [Magiclysm] Add a way to craft everburning candle (CleverRaven#86224) * If aenor_paddock.* is already whitelisted, I guess it makes sense to whitelist aenor_farm.*, since they are part of the same overmap special and the tests are failing? * Revert "If aenor_paddock.* is already whitelisted, I guess it makes sense to whitelist aenor_farm.*, since they are part of the same overmap special and the tests are failing?" This reverts commit f8b4831. * Work in progress items for capturing embers from a balrog * Glass jar component in recipe, small change to proficiency required * Recipes and components! * Add fading embers to Balrog death drops * Add recipe book for crafting * Formatting * Plural of embers is embers * Apply suggestion from @Maleclypse * Apply suggestion * It should not take you that long to seal some fire into a flask * Apply suggestion from @Maleclypse * Apply suggestion from @Maleclypse * Apply suggestions from code review Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> --------- Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> * Snippets in loading screen + minor refactor of loading ui * Prevent using a trapped creature as an infinite training dummy (CleverRaven#86232) * Weekly Changelog 2026-03-30 to 2026-04-06 (CleverRaven#86285) Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> Co-authored-by: David Seguin <davidseguin@live.ca> * [MoM] Set Loci Technique volume limit (CleverRaven#86292) * Inner cabins, cellar depths: enemies (CleverRaven#86289) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Bionic fueling can be noisy (CleverRaven#84335) Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> * Create parse_shopkeeper_whitelist for string extractor (CleverRaven#86290) * Create parse_shopkeeper_whitelist for string extractor * fix syntax * Fix * Fix * fix * Fix starting TCL mutants not being able to unmute themselves (CleverRaven#86294) * Fix starting mutants not being able to unmute themselves * Make the JSON formatter happy Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * [Sky Island] Add merchant stall upgrade (CleverRaven#85035) * Nested mapgen * Add Exodii CBM merchant * More human ammo merchant work * Finish human ammo merchant * Add triffid merchant * Add lucre lure * Fix prices * Fixes * Fix testing chance * Mission fixes * Add bye messages * [MOM] Add "all" as an allowed bodypart for encumbrance_modifier enchant and apply to Enhanced Mobility effect (CleverRaven#86297) * Add "all" to encumbrance enchantment available bodyparts * document * style * Do that clang thingy * Stop Rubik from borging up the anti-borg PCs (CleverRaven#86256) * Update exodii_merchant_talk_exodization.json * Update data/json/npcs/exodii/exodii_merchant_talk_exodization.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Smart watch link_up CTD fix (CleverRaven#86301) * Smart watch link_up CTD fix * Update data/json/items/tool_armor.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update data/json/items/tool_armor.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update src/item_gun_tool_ammo.cpp Ugly but ok Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update src/iuse_actor.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: Draper, Daniel <ddraper@dmacc.edu> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update mutations.json * Update mutations.json * Crafting UI: List missing required proficiencies (CleverRaven#86291) * List missing crafting proficiencies * Apply suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Description of "metal smoking rack" warn you that it's worse than a regular smoking rack (CleverRaven#86303) * Fixes for XE CI (CleverRaven#86302) * Fix NPC infinite loop with NO_NPC_FOOD mod - Guard BT oracle predicates (needs_food/water_badly, urgency) on needs_food() - Guard address_needs() food/water handling on needs_food() - Make npc_noop consume moves when caller didn't - Add NO_NPC_FOOD sections to behavior_test and npc loop test * Fix faction-hostile NPCs sleeping instead of fighting - assess_danger() uses guaranteed_hostile() instead of is_enemy() - Re-run regen_ai_cache() after attitude flip in move() - Added two tests for faction-hostile NPC threat detection * remove `emit_clairvoyant` from pallid masters (CleverRaven#86309) * update `material` field with `portion` for various items I've touched/contributed (CleverRaven#86310) * add sorcerer to auto-labels for pull requests * Autonotes for berry bush patches * Add `fertilize_plant` spell effect (CleverRaven#86251) * Remove unused 2x scaled ImGui font to reduce atlas size - Removed 2x font loading from load_fonts() - Removed PushGuiFont2x() declaration and definition * Don't hide item pockets * Fixed break_stick return values * Remove ESP knowledge of map extras * Grammar Fix in XE spells (CleverRaven#86339) Energy is a collective noun and should be conjugation as singular. Muscles are treated as plural and should be conjugated as plural. * Remove random overmap_zoom_level from overmap zoom level changing. (CleverRaven#86338) * Change the copy from for speedway track overmap_terrain into roads, not buildings (CleverRaven#86343) * Fixed nuts and bolts spawning when adv_panel is taken down (CleverRaven#86329) * Tile fallback fixes (CleverRaven#86335) * Change the default ║ glyphs to │glyphs for fallback drawing * Revert CleverRaven#62443 change to stop rotating tiles into the wrong direction * Change linear drawing rotation check from checking symbols to if the overmap drawing is actually a linear drawing * Merge pull request CleverRaven#86332 from Standing-Storm/variable-fix [Sky Island] Fix Merchant Stall variable * Merge pull request CleverRaven#86321 from AnotherSeawhite/farthing-flip Shiny farthing and other coins can coin flip * Fix drystone and brick roof terrain (CleverRaven#86274) * Change brick floor to have brick roof * Add drystone roof definition * Change drystone wall to have a drystone roof --------- Co-authored-by: ParselyBunny <16728881+ParselyBunny@users.noreply.github.com> * [MoM] Mention Psychic Scream in MoM help files (CleverRaven#86324) * Update help_files.json * Update data/mods/MindOverMatter/help_files.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Merge pull request CleverRaven#86296 from Standing-Storm/jmath-replacement [MoM] Replace Intelligence/Nether Attunement calculations with `psionic_power_modifiers()` jmath (effects only) * Further tweak post-threshold interstitial mutations (CleverRaven#86340) * Update mutations.json * Update baseline.json * linting * [Magiclysm] Convert Seed of Growth to `fertilize_plant` effect (CleverRaven#86270) * Initial commit * Obsolete item * NO_HANDS so you can hold the knife while casting * Spellcasting UI: Don't assign hotkeys that are menu navigation keys (CleverRaven#86288) * Don't assign hotkeys that are navigation keys. * Formatting update * Attempted fix for failed build * Remove wrapper to try and fix build failure * Bionics UI: Don't assign hotkeys that are menu navigation keys (CleverRaven#86317) * Don't assign hotkeys that are navigation keys * Working * Apply suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix NPC activity assignment using wrong NPC from sorted menu - Sort NPC list before building both menu and lookup vector - Index selected NPCs from sorted list instead of original * Wrap remaining SDL2 calls behind abstraction layer for SDL3 dual support - Added sdl_version_wrappers.h for version queries without SDL_MAIN_HANDLED - Added wrappers for display, renderer, render ops, timer, cursor, clipboard - Added wrappers for window creation, fullscreen, text input, mouse, keyboard - Added event normalization helpers and CATA_WINDOWEVENT/FINGER constants - Added CataKeysym struct and GetKeysym() for keyboard event migration - Added CATA_WINDOW_* flag constants replacing raw SDL flag macros - Added CreateWindow, CreateRenderer, SetWindowFullscreen with FullscreenMode enum - Added per-texture SetTextureScaleQuality replacing SDL_HINT_RENDER_SCALE_QUALITY - Migrated sdltiles.cpp event loop, window/renderer creation, all raw SDL calls - Migrated cata_tiles.cpp, pixel_minimap.cpp, clipboard, cursor, version callers - Added gamepad dual-support constants, API branches, timestamp normalization * Fix camp NPC oscillation on expansion tiles - Add npc_within_camp() helper using basecamp::point_within_camp() - Replace base-OMT checks in all six camp BT predicates/scores - Fall back to base-OMT match when camp object is gone - Align return_to_camp_duties() with expansion-aware check - Add expansion-tile regression tests for free_time and camp_work * Fix restock time display for Hub 01 intercom - Added const overload of npc::get_trade_delegate() - Dialogue tags <interval> and <restock_time_point> now query the trade delegate * Skip pre-rasterized 1.5x font when CJK glyphs are enabled - Skip loading 1.5x gui font into atlas when IMGUI_LOAD_CHINESE is on - Fall back to SetWindowFontScale(1.5f) in PushGuiFont1_5x for CJK - Add PopGuiFont1_5x to handle both pre-rasterized and scaled paths - Update crafting_gui and loading_ui call sites to use PopGuiFont1_5x * Initial commit * Fix use-after-free in NPC zone sort viewport restore - Save viewport state to locals before base do_turn call - Inline viewport restore using saved locals after base returns - NPC revert_after_activity destroys actor before do_turn returns * Hideous Mutated Deformity is Forever, no more UNSTABLE for slime (CleverRaven#86085) * Readding old version of "A Beginner's Guide to Magic" (CleverRaven#86111) Co-authored-by: rty275 <788335+rty275@users.noreply.github.com> * [Bombastic Perks] Ascetic Empowerment fix (CleverRaven#86315) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * More older ms compiler/sdk fixes. * [Magiclysm] Add Druid spell caster_conditions (CleverRaven#86368) * Zoom persist fix on initial load (CleverRaven#86373) * Initial Commit pre-testing * Removed pre-testing comments * Formatting fixes Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * IWYU Fix Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Accidentally removed required library, fixed * added preprocessor block to fix IWYU error --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix Artifact Mutation ability (CleverRaven#86333) * Initial commit * Add debug message with category * Aftershock: Add a reactor outlet to the spaceship (CleverRaven#86350) * Add a reactor outlet to the spaceship * Add durability * Force door placements in main room upgrades * Remove warp obelisk from bunker entrance upgrade * Add `HANDS_CANNOT_USE_FIREARMS`, prevent it and `TEMPORARY_SHAPESHIFT_NO_HANDS` from using firearms (CleverRaven#86370) * Initial commit * Alphabetize * Add instructions and files for building inside Visual Studio Code (Windows) (CleverRaven#86347) * Add instructions for VSCode * Update to instructions * More instructions updates * Instruciton capitalization fix * Move build configs to a workspace file * Add code-workspace and don't ingore it * Mutant meat is disgusting * Fix drinking water from vehicle faucet (CleverRaven#86387) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix msvc solution. * Turn broad paws into a limb (CleverRaven#86374) * Initial commit * Adjustments * Knockback is crit only * Return crafting skill penalty * Fur covers paws * Fix opposite parts * Various fixes * Slightly reduce bear swim bonus * Add `HANDS_CANNOT_USE_FIREARMS` flag to paws * Update water movement test values * Update tests/water_movement_test.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Small change to trigger JSON validation to actually run * JSON/C++ change to force both checks to run * Update tests/water_movement_test.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fixes * Fixes * Update tests/water_movement_test.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Merge pull request CleverRaven#86393 from Standing-Storm/player-fire Mirror monster fire nerfs on the player side * [Xedra Evolved] Homullus' Golem (CleverRaven#86372) * Golem * Update data/mods/Xedra_Evolved/monsters/elementals.json Co-authored-by: Standing-Storm <120433252+Standing-Storm@users.noreply.github.com> * Update data/mods/Xedra_Evolved/monsters/elementals.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update elementals.json --------- Co-authored-by: Standing-Storm <120433252+Standing-Storm@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Add 8 newspaper snippets: predictive policing, brain drain, zombie videos, secret facility (CleverRaven#86353) New snippets across four arcs: - Cyonage predictive policing AI (many_years_old, years_old) - Academic brain drain from physics and biology departments (years_old, one_year_old) - FBI zombie video debunking and online pushback (months_old) - Secret federal facility construction in Winslow, Maine (one_year_old) * Add VI key navigation to menus that are missing them (CleverRaven#86366) * Start of defaulting vi keys * Blank space removal * Revive "Add target practice activity" (CleverRaven#85868) * add target practice activity * Finalize --------- Co-authored-by: Artem Manushenkov <artemmanusenkov@gmail.com> * Fix bug in gun mag/ammo inventory color Guns, magazines, and ammo in inventory are meant to be colored green when the player has a full set of compatible ammo, magazine, and gun. Fully loaded guns and magazines were displaying light red (partial readiness) even when the player had spare magazines or ammo because the find_ammo method was actually checking to see if the gun/magazine could be loaded right now (which it can't be, because there is no space, because it was already fully loaded). This commit just plumbs a new "now" parameter through find_ammo method. Defaults to "true" to preserve existing behavior everywhere except for the inventory color method. * Add lapin to no spawn list for SI raids * Move some in-item `passive_effects` to defined enchantments (CleverRaven#86403) * enchantments * spelling strikes again * Reduce damage from harmful_cough * [XE] Fix few CI issues (CleverRaven#86381) * Aftershock: Rocket Pack Sprint * initial commit * Update vitakinesis.json * Npcs dont freeze to death with NPC needs disabled (CleverRaven#86417) * Npcs dont freeze to death with NPC needs disabled * Update src/npc.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix under-alignment of small_literal_vector * miscellaneous UI fixes for character creator * move mutation/profession/scenario sorters * uilist changes for character creator * game constants for character creator * Imgui character creator * Aftershock: Basic data salvaging system. (CleverRaven#86434) * Aftershock: Basic data salvaging system. * Apply suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * text stuff --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * [Aftershock] Document esper lore (CleverRaven#86432) * Add organizations text * Add faction lore * Add bit about noetic house tattoos * Add noetic house slang for members without powers ("skip") * Winter wheat, a variety of wheat that can be grown... over winter. * Update comment-commands.yml (CleverRaven#86450) * Document f_pickup_items * Add hair dyes alongside hair dye kits in supermarkets * Highlight yield amount in crafting UI (CleverRaven#86416) * Highlight amount produced * Add string conversion to fix * Convert to string for plain * Change color to light blue * Initial commit * [MoM] Fix melee damage bonuses (CleverRaven#86444) * Weekly Changelog 2026-04-06 to 2026-04-13 (CleverRaven#86445) Co-authored-by: David Seguin <davidseguin@live.ca> Co-authored-by: Anton Simakov <67688115+GuardianDll@users.noreply.github.com> * Remove fire fields from library mapgen (CleverRaven#86392) * Initial commit * [Xedra Evolved] Fix Homullus city strider (CleverRaven#86352) * Add EoC to check if near a faction camp on OMT enter * Rework enchantment * Fixes * [MoM] Convert remaining paths over to psionic_power_modifiers() (CleverRaven#86457) * Finish consolidation * Fix parenthesis * Merge pull request CleverRaven#86407 from Inglonias/see_from_afar_extras Make certain map extras visible from afar by default * Text edits for CBMs (CleverRaven#86405) * CBMs inherit names * NO_I18N for unobtainable CBMs * Add description for Strength Injection System * Remove Trickle Charger installation data * Change Power Storage description * Fix CBM typos * Update spell checker dictionary * Fix monster attacking through terrain with TFLAG_SWIM_UNDER (CleverRaven#86390) * Added checks to fix bugs with aquatic/submerged monsters around TFLAG_SWIM_UNDER terrain * Remove redundant changes * Fix implemented & tested * Change Mangalpreet Singh's last name to more accurately reflect sikh traditions * Overmap vision based map extra visibility Allow map extras to specify the level of overmap vision at which they become visible. Replace the autonote/see_from_afar boolean values with a single autonote_visibility enum value covering all possible vision levels and an extra "same_tile" level that matches the see_from_afar: false behavior. Remove the deferred map extra visibility infrastructure in game and use the existing capability for that by calling add_extra_note for the entered overmap tile. * MOM/XE map extra visibility tweaks Co-authored-by: Standing-Storm <120433252+Standing-Storm@users.noreply.github.com> * move android-only block to uilist::query block needs an input_context * Newspaper snippets (CleverRaven#86460) * Update newspapers.json * Update data/json/snippets/newspapers.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update newspapers.json added extra spaces where necessary --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Support copy-from for overmap specials Mostly. Works as other copy-from does, by loading over the existing data. * Use copy-from for classic zombies mutable farm * option to size uilist to all categories * Fix control reaches end of non-void for old gcc Older gcc versions don't detect that the switch is exhaustive. * character creator: sort traits in summary * character creator: top bar alignment * name entry character limit for prompts * Limbify Paws (CleverRaven#86486) * Initial commit * Fixes * Adjust water movement test * Update tests/water_movement_test.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * [MoM] Convert biokinesis, clairsentience, and electrokinesis over to psionic_power_modifiers() (CleverRaven#86456) * Biokinesis * Clairsentience * Electrokinesis and fixes * Fix leading parentheses * Remove another parenthesis * Another parenthesis fix * Fix another parenthesis * Apply suggestion from @Maleclypse * Remove another ( * Continue parenthesis hunt * More parentheses --------- Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> * Duplicate the wheat processing chain for winter wheat * Add DocumentsProvider for Android to enable root-free backup of game data (CleverRaven#86428) * feat(android): add DocumentsProvider for root-free backup (API 19+) * feat(android): add DocumentsProvider for root-free backup * Extract applying tire faults into dedicated functions * Implement instant_damage for faults * Add faults for wooden cart wheels * Disable COUNTER in catch when building with clang See catchorg/Catch2#3076 The lowest impact workaround seems to be to disable the use of __COUNTER__ for internal name generation, using __LINE__ instead. Because astyle forbids any constructs like `INFO(...); INFO(...);`, this should not result in any issues. This only fixes the makefile build. It would be more robust to put this config in somewhere else, but I couldn't find a good way to do that. * Fix camp smithy only allowing one anvil type (CleverRaven#86495) * Update robot.json (Wraitheon Fulgent Dissassembly-fix) [Aftershock] (CleverRaven#86485) * Update robot.json * Update data/mods/aftershock_exoplanet/recipes/deconstruction/robot.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update data/mods/aftershock_exoplanet/recipes/deconstruction/robot.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update robot.json added requested change * Update robot.json --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix the generic expressions for limbs in medical ui Co-authored-by: GuardianDll <67688115+GuardianDll@users.noreply.github.com> * Segfault fix: sort companion armor * Fix minimap beacon colors not cycling during idle - Track whether pixel_minimap rendered blinking beacons - Mark minimap window dirty in idle loop when beacons active - Only minimap redraws, not full main UI * Fix chain-spawned overmaps skipping unique special deck draws - Deck-draw losers now get instances_placed = max instead of erase - Added >= max guard in place_special_attempt to skip them locally - Early-exit check uses any_of for real candidates, not batch empty * Removes direct cooked acorn recipe (CleverRaven#86494) * Limbify Bulging Eyes (CleverRaven#86493) * Use weighed not weighted in medical menu (CleverRaven#86480) * Migrated everything involving the deminer bot to obsoletion (CleverRaven#86511) * pathway outside reverb hint cabin is dirt not wood (CleverRaven#86502) * [Magiclysm] Enhanced Magic Circle have effect on recipe steps (CleverRaven#86467) * [CR] Add first stages of bullet penetration through multiple entities (CleverRaven#86465) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * [Magiclysm] Alchemic Circlets actually calmy to wear. (CleverRaven#86468) * Add a sewing machine and tweak the hoodie recipes to make use of it (CleverRaven#86455) * Add a sewing machine and tweak the hoodie recipes to make use of it * add the uncraft recipes properly, still out of scope * update the sewing machine description * fix uncraft material return * adjust cropped uncraft results * make the sewing machine consume power * [XE] Add anti-shabriri hedge magic spell (CleverRaven#86462) * Anti-Shabriri hedge spell * Add the deciphering EOC * Make spell work & easier to learn * Fix a typo * [MoM] Modify power effectiveness based on weariness (CleverRaven#86446) * Clean up tips (CleverRaven#86454) * Clean up tips * revert removing a snippet about burglar alarm (for now) * electric oven is not a fire container, gas oven is (CleverRaven#86287) * Allow copy-from, abstract, and using for recipe steps - Added reqs_external to recipe_step for step-level "using" - Root-level "using" now allowed on step recipes - Removed copy-from and abstract bans for step recipes - Step inheritance: child without "steps" array inherits base steps - Root "using" preserved across copy-from - Blacklist check extended to step-level reqs - Updated recipe steps documentation * Fix zone sort viewport stuck when nothing to sort - Store saved_zoom on avatar viewport struct - Check viewport struct directly in do_turn cleanup - Add tests for empty-source and no-destination cases * Initial commit * Limbify Elf-A eyes, remove hardcoded night vision bonuses (CleverRaven#86517) * Initial commit * Add subparts * Slight reaction bonus * Nightvision also cancels Fey sight * Updating firearm name/desc (and other misc strings) (pt.3) (CleverRaven#86022) * Update id: 50_incendiary * Update id: 22lr_ammo_box_5 * Update id: triple_honcho * Update id: triple_honcho * Update id: tavor_12 * Update id: dp_12 * Update shot.json (add bunch of "shotgun"); Update id: boss25 * Update id: saiga10mag; id: saige30mag * Update id: saiga10mag; id: saige30mag * Update id: mka_1919_5; id: mka_1919_10; id: mka_1919_20 * Update id: vr80 * Update 9x18.json * Update id: mp_15_22 * Update id: modular_h&k416a5 * Update id: modular_m27iar; id: modular_m38dmr * Update id: box_longarm * Update id: jar_3l_glass_sealed * Update id: leg_small_bag; id: armrig * Add Dextrous Paws mutation, remove Paws from Rat (CleverRaven#86506) * Add dextrous paws * Add paw limbs * Add sublimbs and integrate armor * Fix prereqs * Mixed effect * Fixing refugee center merc conversations (CleverRaven#86421) They say they want 'Single Malt' in order to tell you their background, but they really want plain whiskey. Fixing to make them actually want single malt as per the conversation. * reduce performance load of noncombatant perk (CleverRaven#86426) * reduce performance load of noncombatant perk * simplify json * Fix Fueling noise occurence (CleverRaven#86396) * Update bionic_eocs.json * Apply suggestion from @Maleclypse * Added faults to pipe spears and pipe pikes (CleverRaven#86523) * [ Dinomod ] Dinomod need DinoStrength (CleverRaven#86395) * Semicolons after function bodies are so last season * Extract post-process generators from mapgen.cpp - Moved riot damage and aftershock ruin to mapgen_post_process.cpp/.h - Added test OMT and characterization tests for post-process behavior * Fix multi-zone activities auto-resuming after non-resumable sub cancelled - Clear front backlog auto_resume when cancelled activity has can_resume=false - Prevents parent multi-zone from restoring via resume_backlog_activity * Merge pull request CleverRaven#86532 from Standing-Storm/infrared-vision Add monster infrared vision * Limbify Feline Eyes (CleverRaven#86529) * Add Feline eyes * Remove hardcoded FELINE_VISION check * Add High Glare Flag and functionality Co-authored-by: Venera3 <Venera3@users.noreply.github.com> * Update src/explosion.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Actually use dur_mod * Fix opposite --------- Co-authored-by: Venera3 <Venera3@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Prevent tindalos hounds teleporting before first establishing LoS (CleverRaven#86449) * Prevent tindalos teleport across z-levels * Attempted fix with new flag * Update flag documentation * Clang tidy suggestion test * Fixed sorting * Modify ring of sustenance to target BMI category (CleverRaven#86437) * Modify ring of sustenance to target BMI category This modifies the ring of sustenance item to dynamically target a weight category based on the character's height, replacing the assumption that the character is 180cm tall. * Add floor() * Apply autoformatter demands White-space added per the (tool's)[http://dev.narc.ro/cataclysm/format.html] demands. * Use new format parameter * Apply nonsensical suggestions from code review by a robot Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Resolve more XE CI issues (CleverRaven#86541) * Create pp_generator JSON type for post-process generators - Added pp_generator registered via generic_factory - Sub-generators read params from JSON instead of hardcoded locals - Three generators: riot_damage, riot_damage_road, aftershock_ruin - Dispatch in map::generate uses pp_generator_id lookups - Fixed double-roll bug in add_fire chance evaluation - Type-specific validation warns on ignored fields * Steel pipe/handle fault creation + implementation (CleverRaven#86538) * Added faults for short, steel pipe based items * Added faults for longer weapons based on steel pipes * Added the faults to some weapons and tools Non-makeshift crowbars got a weight multiplier below 1 since they are generally quite durable and shouldn't bend as quickly as other tools. * Update data/json/faults/fault_fixes_melee.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update data/json/faults/fault_fixes_melee.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update data/json/items/tool/entry_tools.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update fault_fixes_melee.json typo fix * Update data/json/faults/fault_fixes_tools.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update fault_fixes_tools.json typo fix * Update data/json/faults/fault_fixes_tools.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update data/json/faults/fault_groups_melee.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update data/json/faults/faults_melee.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update data/json/faults/faults_tools.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: dumb-kevin <dumb-kevin@users.noreply.github.com> Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> Co-authored-by: Tektolnes <43859252+Tektolnes@users.noreply.github.com> Co-authored-by: Anton Simakov <67688115+GuardianDll@users.noreply.github.com> Co-authored-by: Standing-StormStanding-Storm git config --global user.name Standing-Storm git config --global user.name Standing-Storm <dorchadas@gmail.com> Co-authored-by: gettingusedto <78019001+gettingusedto@users.noreply.github.com> Co-authored-by: thaelina <thaelina@gmail.com> Co-authored-by: evilbananas <evilbananas@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Mihály Verhás <misi.verhas@gmail.com> Co-authored-by: GuardianDll <antisim009@gmail.com> Co-authored-by: RenechCDDA <84619419+RenechCDDA@users.noreply.github.com> Co-authored-by: Kevin Granade <kevin.granade@gmail.com> Co-authored-by: David Seguin <davidseguin@live.ca> Co-authored-by: Standing-Storm <120433252+Standing-Storm@users.noreply.github.com> Co-authored-by: Inglonias <2125926+Inglonias@users.noreply.github.com> Co-authored-by: adamaxis <44177929+adamaxis@users.noreply.github.com> Co-authored-by: Draper, Daniel <ddraper@dmacc.edu> Co-authored-by: eso <eso@esotericist.org> Co-authored-by: Zerdocriil <heket123@gmail.com> Co-authored-by: PatrikLundell <j.patrik.r.lundell@gmail.com> Co-authored-by: Benjamin Mauer <Futuramalovr@gmail.com> Co-authored-by: thaelina <thaelina@users.noreply.github.com> Co-authored-by: Jack Dodge <51180872+jankyd@users.noreply.github.com> Co-authored-by: AnotherSeawhite <52661206+AnotherSeawhite@users.noreply.github.com> Co-authored-by: ParselyBunny <gunininanrunin@gmail.com> Co-authored-by: ParselyBunny <16728881+ParselyBunny@users.noreply.github.com> Co-authored-by: Tiareth <dvfedorchuk@gmail.com> Co-authored-by: rty275 <788335+rty275@users.noreply.github.com> Co-authored-by: Andrew Krieger <akrieger@users.noreply.github.com> Co-authored-by: John Candlebury <johncandlebury@gmail.com> Co-authored-by: Ethan Jones <66649248+ethanj801@users.noreply.github.com> Co-authored-by: Artem Manushenkov <artemmanusenkov@gmail.com> Co-authored-by: RAldrich <RAldrich@users.noreply.github.com> Co-authored-by: anoobindisguise <56016372+anoobindisguise@users.noreply.github.com> Co-authored-by: ShnitzelX2 <65314588+ShnitzelX2@users.noreply.github.com> Co-authored-by: BalthazarArgall <116303491+BalthazarArgall@users.noreply.github.com> Co-authored-by: Antti Riikonen <harava@gmail.com> Co-authored-by: Uwuewsky <99945024+Uwuewsky@users.noreply.github.com> Co-authored-by: ehughsbaird <44244083+ehughsbaird@users.noreply.github.com> Co-authored-by: BigBreug <150022683+BigBreug@users.noreply.github.com> Co-authored-by: dwvwvvwvwb <84421851+dwvwvvwvwb@users.noreply.github.com> Co-authored-by: Draper, Daniel <dannyboy00001111@gmail.com> Co-authored-by: Matty C. <71330200+BruhddyTheThird@users.noreply.github.com> Co-authored-by: SariusSkelrets <68650913+SariusSkelrets@users.noreply.github.com> Co-authored-by: Schrodinger_Sig <56752512+SchrodingerSig@users.noreply.github.com> Co-authored-by: ScionOfEris <scion@discordian.us> Co-authored-by: Venera3 <Venera3@users.noreply.github.com> Co-authored-by: Psithief <psithief@gmail.com>
b3brodie
added a commit
to b3brodie/Cataclysm-DDA
that referenced
this pull request
Apr 17, 2026
* Fix null ammo_data dereferences in NPC reload and turret code - npc::do_reload: use reload_option::qty() instead of manually computing quantity via ammo_data()->ammo->type. Crashes when select_ammo returns a non-ammo item (e.g. food for containers). - turret_data::can_reload: use remaining_ammo_capacity() > 0 instead of raw ammo_data()->ammo->type dereference. - item::remaining_ammo_capacity: guard against null ammo_data() and null islot_ammo, return 0 instead of crashing. * Exclude personal zones from NPC zone sorting NPC camp workers would pick up the avatar's personal zones (both source and destination) when the player stood nearby, delivering items to the player's personal FOOD/etc zones instead of the camp's static destinations. - Add zone_manager::has_nonpersonal() to check whether a point is covered by at least one non-personal zone of a given type. - Filter coord_set in stage_init so NPCs skip personal UNSORTED source tiles that have no backing static zone. - Filter dest_set in stage_do so NPCs skip personal destination tiles that have no backing static zone. - When a personal zone overlaps a static zone on the same tile, the static zone still works for NPCs. - Three new tests covering personal dest, personal source, and overlap scenarios. * Enable NPC mop tool fetching for zone mopping activity NPCs assigned to mop zones would always fail with "no required zone was found" when they didn't have a mop in inventory, even when moppable tiles and mops in loot zones were available. - Add NEEDS_MOP to activity_reason_continue so the framework enters the fetch path instead of silently skipping moppable tiles. - Add NEEDS_MOP to activity_reason_picks_up_tools so the NPC searches loot zones for a mop. - Add mopping_standard requirement (MOP quality level 1) and multi_mop_activity_actor::multi_activity_requirements override to tell the fetch system what to look for. * Allow creatures to ascend regular stairs The climb check in monster::move() blocked all non-flying creatures from ascending any z-level, including regular staircases. - Exempt regular stairs (GOES_UP without DIFFICULT_Z) from the climb check, matching what can_reach_to() already does. Ladders, ropes, and scaffolding still require climbing ability. - Expand the try_to_move neighbor scan to include z-level neighbors so creatures on stairs are not falsely considered stuck. - Add tests for stair ascent/descent with diverse creature types, and ladder blocking for non-climbers. * Add pre-rasterized scaled GUI fonts (1.5x, 2x) - Add font_size parameter to load_font(), load GUI font at 1.5x and 2x into the atlas alongside the regular gui and mono fonts - Expose PushGuiFont1_5x() and PushGuiFont2x() helpers in cata_imgui.h - Replace SetWindowFontScale(1.4f) in crafting GUI with PushGuiFont1_5x() for crisp text instead of blurry bitmap scaling - Loop over all fonts for fallback callbacks and validation * ambient mutation in inner cabins cellar depths is slower and more obvious (CleverRaven#86245) * tweaks * Update reverberations.json * Initial commit * Update vehicle_parts.json * Fix per-turn inventory rebuild for step recipe proficiency checks Step recipes called proficiency_time_malus() every turn via step_budget_moves(), which pulled book bonuses from crafting_inventory(). The inventory cache was always stale (invalidated by set_moves(0) earlier in the same do_turn call), causing a full O(N^2) inventory rebuild per turn -- the same bug pattern that was previously fixed for batch_time(). - Add crafting_cost_context struct bundling book_proficiency_bonuses and tool_speeds; require it on batch_time, time_to_craft_moves, step_budget_moves -- no implicit fallback, no hidden scans - Add for_recipe() and for_proficiencies() factories so callers compute the context once at the evaluation boundary - Add Character::book_bonuses_nearby() -- lightweight spatial query that walks map tiles and vehicle cargo in-place without copying items or running stacking logic - Add map::for_each_reachable_item() as shared primitive for reachability/accessibility/ownership/vehicle-cargo iteration, eliminating semantic duplication with form_from_map() - Thread required book_proficiency_bonuses through proficiency_time_malus, proficiency_skill_malus, and their wrappers so they cannot silently trigger inventory scans - Cache crafting_cost_context in craft_activity_actor, recomputed only on speed/assistant/proficiency changes (5% boundaries) - Precompute context in crafting GUI paths (availability cache, step display, recipe sort) to avoid redundant per-recipe scans * Create item_blacklist.json * Require the player to examine the statue to receive warp shards * Fix personal zone drift during sorting - Removed cache_data(false) call from vehicle::refresh_zones() - Added regression test for personal zone position stability * Remember crafting details panel state between sessions (CleverRaven#86276) * Persistent details expansion state * Apply suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Merge pull request CleverRaven#86273 from evilbananas/craft-menu-item-no-newline Improve expanded component view in new ImGui Crafting Menu * [Magiclysm] Add a way to craft everburning candle (CleverRaven#86224) * If aenor_paddock.* is already whitelisted, I guess it makes sense to whitelist aenor_farm.*, since they are part of the same overmap special and the tests are failing? * Revert "If aenor_paddock.* is already whitelisted, I guess it makes sense to whitelist aenor_farm.*, since they are part of the same overmap special and the tests are failing?" This reverts commit f8b4831. * Work in progress items for capturing embers from a balrog * Glass jar component in recipe, small change to proficiency required * Recipes and components! * Add fading embers to Balrog death drops * Add recipe book for crafting * Formatting * Plural of embers is embers * Apply suggestion from @Maleclypse * Apply suggestion * It should not take you that long to seal some fire into a flask * Apply suggestion from @Maleclypse * Apply suggestion from @Maleclypse * Apply suggestions from code review Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> --------- Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> * Snippets in loading screen + minor refactor of loading ui * Prevent using a trapped creature as an infinite training dummy (CleverRaven#86232) * Weekly Changelog 2026-03-30 to 2026-04-06 (CleverRaven#86285) Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> Co-authored-by: David Seguin <davidseguin@live.ca> * [MoM] Set Loci Technique volume limit (CleverRaven#86292) * Inner cabins, cellar depths: enemies (CleverRaven#86289) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Bionic fueling can be noisy (CleverRaven#84335) Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> * Create parse_shopkeeper_whitelist for string extractor (CleverRaven#86290) * Create parse_shopkeeper_whitelist for string extractor * fix syntax * Fix * Fix * fix * Fix starting TCL mutants not being able to unmute themselves (CleverRaven#86294) * Fix starting mutants not being able to unmute themselves * Make the JSON formatter happy Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * [Sky Island] Add merchant stall upgrade (CleverRaven#85035) * Nested mapgen * Add Exodii CBM merchant * More human ammo merchant work * Finish human ammo merchant * Add triffid merchant * Add lucre lure * Fix prices * Fixes * Fix testing chance * Mission fixes * Add bye messages * [MOM] Add "all" as an allowed bodypart for encumbrance_modifier enchant and apply to Enhanced Mobility effect (CleverRaven#86297) * Add "all" to encumbrance enchantment available bodyparts * document * style * Do that clang thingy * Stop Rubik from borging up the anti-borg PCs (CleverRaven#86256) * Update exodii_merchant_talk_exodization.json * Update data/json/npcs/exodii/exodii_merchant_talk_exodization.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Smart watch link_up CTD fix (CleverRaven#86301) * Smart watch link_up CTD fix * Update data/json/items/tool_armor.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update data/json/items/tool_armor.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update src/item_gun_tool_ammo.cpp Ugly but ok Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update src/iuse_actor.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: Draper, Daniel <ddraper@dmacc.edu> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update mutations.json * Update mutations.json * Crafting UI: List missing required proficiencies (CleverRaven#86291) * List missing crafting proficiencies * Apply suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Description of "metal smoking rack" warn you that it's worse than a regular smoking rack (CleverRaven#86303) * Fixes for XE CI (CleverRaven#86302) * Fix NPC infinite loop with NO_NPC_FOOD mod - Guard BT oracle predicates (needs_food/water_badly, urgency) on needs_food() - Guard address_needs() food/water handling on needs_food() - Make npc_noop consume moves when caller didn't - Add NO_NPC_FOOD sections to behavior_test and npc loop test * Fix faction-hostile NPCs sleeping instead of fighting - assess_danger() uses guaranteed_hostile() instead of is_enemy() - Re-run regen_ai_cache() after attitude flip in move() - Added two tests for faction-hostile NPC threat detection * remove `emit_clairvoyant` from pallid masters (CleverRaven#86309) * update `material` field with `portion` for various items I've touched/contributed (CleverRaven#86310) * add sorcerer to auto-labels for pull requests * Autonotes for berry bush patches * Add `fertilize_plant` spell effect (CleverRaven#86251) * Remove unused 2x scaled ImGui font to reduce atlas size - Removed 2x font loading from load_fonts() - Removed PushGuiFont2x() declaration and definition * Don't hide item pockets * Fixed break_stick return values * Remove ESP knowledge of map extras * Grammar Fix in XE spells (CleverRaven#86339) Energy is a collective noun and should be conjugation as singular. Muscles are treated as plural and should be conjugated as plural. * Remove random overmap_zoom_level from overmap zoom level changing. (CleverRaven#86338) * Change the copy from for speedway track overmap_terrain into roads, not buildings (CleverRaven#86343) * Fixed nuts and bolts spawning when adv_panel is taken down (CleverRaven#86329) * Tile fallback fixes (CleverRaven#86335) * Change the default ║ glyphs to │glyphs for fallback drawing * Revert CleverRaven#62443 change to stop rotating tiles into the wrong direction * Change linear drawing rotation check from checking symbols to if the overmap drawing is actually a linear drawing * Merge pull request CleverRaven#86332 from Standing-Storm/variable-fix [Sky Island] Fix Merchant Stall variable * Merge pull request CleverRaven#86321 from AnotherSeawhite/farthing-flip Shiny farthing and other coins can coin flip * Fix drystone and brick roof terrain (CleverRaven#86274) * Change brick floor to have brick roof * Add drystone roof definition * Change drystone wall to have a drystone roof --------- Co-authored-by: ParselyBunny <16728881+ParselyBunny@users.noreply.github.com> * [MoM] Mention Psychic Scream in MoM help files (CleverRaven#86324) * Update help_files.json * Update data/mods/MindOverMatter/help_files.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Merge pull request CleverRaven#86296 from Standing-Storm/jmath-replacement [MoM] Replace Intelligence/Nether Attunement calculations with `psionic_power_modifiers()` jmath (effects only) * Further tweak post-threshold interstitial mutations (CleverRaven#86340) * Update mutations.json * Update baseline.json * linting * [Magiclysm] Convert Seed of Growth to `fertilize_plant` effect (CleverRaven#86270) * Initial commit * Obsolete item * NO_HANDS so you can hold the knife while casting * Spellcasting UI: Don't assign hotkeys that are menu navigation keys (CleverRaven#86288) * Don't assign hotkeys that are navigation keys. * Formatting update * Attempted fix for failed build * Remove wrapper to try and fix build failure * Bionics UI: Don't assign hotkeys that are menu navigation keys (CleverRaven#86317) * Don't assign hotkeys that are navigation keys * Working * Apply suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix NPC activity assignment using wrong NPC from sorted menu - Sort NPC list before building both menu and lookup vector - Index selected NPCs from sorted list instead of original * Wrap remaining SDL2 calls behind abstraction layer for SDL3 dual support - Added sdl_version_wrappers.h for version queries without SDL_MAIN_HANDLED - Added wrappers for display, renderer, render ops, timer, cursor, clipboard - Added wrappers for window creation, fullscreen, text input, mouse, keyboard - Added event normalization helpers and CATA_WINDOWEVENT/FINGER constants - Added CataKeysym struct and GetKeysym() for keyboard event migration - Added CATA_WINDOW_* flag constants replacing raw SDL flag macros - Added CreateWindow, CreateRenderer, SetWindowFullscreen with FullscreenMode enum - Added per-texture SetTextureScaleQuality replacing SDL_HINT_RENDER_SCALE_QUALITY - Migrated sdltiles.cpp event loop, window/renderer creation, all raw SDL calls - Migrated cata_tiles.cpp, pixel_minimap.cpp, clipboard, cursor, version callers - Added gamepad dual-support constants, API branches, timestamp normalization * Fix camp NPC oscillation on expansion tiles - Add npc_within_camp() helper using basecamp::point_within_camp() - Replace base-OMT checks in all six camp BT predicates/scores - Fall back to base-OMT match when camp object is gone - Align return_to_camp_duties() with expansion-aware check - Add expansion-tile regression tests for free_time and camp_work * Fix restock time display for Hub 01 intercom - Added const overload of npc::get_trade_delegate() - Dialogue tags <interval> and <restock_time_point> now query the trade delegate * Skip pre-rasterized 1.5x font when CJK glyphs are enabled - Skip loading 1.5x gui font into atlas when IMGUI_LOAD_CHINESE is on - Fall back to SetWindowFontScale(1.5f) in PushGuiFont1_5x for CJK - Add PopGuiFont1_5x to handle both pre-rasterized and scaled paths - Update crafting_gui and loading_ui call sites to use PopGuiFont1_5x * Initial commit * Fix use-after-free in NPC zone sort viewport restore - Save viewport state to locals before base do_turn call - Inline viewport restore using saved locals after base returns - NPC revert_after_activity destroys actor before do_turn returns * Hideous Mutated Deformity is Forever, no more UNSTABLE for slime (CleverRaven#86085) * Readding old version of "A Beginner's Guide to Magic" (CleverRaven#86111) Co-authored-by: rty275 <788335+rty275@users.noreply.github.com> * [Bombastic Perks] Ascetic Empowerment fix (CleverRaven#86315) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * More older ms compiler/sdk fixes. * [Magiclysm] Add Druid spell caster_conditions (CleverRaven#86368) * Zoom persist fix on initial load (CleverRaven#86373) * Initial Commit pre-testing * Removed pre-testing comments * Formatting fixes Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * IWYU Fix Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Accidentally removed required library, fixed * added preprocessor block to fix IWYU error --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix Artifact Mutation ability (CleverRaven#86333) * Initial commit * Add debug message with category * Aftershock: Add a reactor outlet to the spaceship (CleverRaven#86350) * Add a reactor outlet to the spaceship * Add durability * Force door placements in main room upgrades * Remove warp obelisk from bunker entrance upgrade * Add `HANDS_CANNOT_USE_FIREARMS`, prevent it and `TEMPORARY_SHAPESHIFT_NO_HANDS` from using firearms (CleverRaven#86370) * Initial commit * Alphabetize * Add instructions and files for building inside Visual Studio Code (Windows) (CleverRaven#86347) * Add instructions for VSCode * Update to instructions * More instructions updates * Instruciton capitalization fix * Move build configs to a workspace file * Add code-workspace and don't ingore it * Mutant meat is disgusting * Fix drinking water from vehicle faucet (CleverRaven#86387) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix msvc solution. * Turn broad paws into a limb (CleverRaven#86374) * Initial commit * Adjustments * Knockback is crit only * Return crafting skill penalty * Fur covers paws * Fix opposite parts * Various fixes * Slightly reduce bear swim bonus * Add `HANDS_CANNOT_USE_FIREARMS` flag to paws * Update water movement test values * Update tests/water_movement_test.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Small change to trigger JSON validation to actually run * JSON/C++ change to force both checks to run * Update tests/water_movement_test.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fixes * Fixes * Update tests/water_movement_test.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Merge pull request CleverRaven#86393 from Standing-Storm/player-fire Mirror monster fire nerfs on the player side * [Xedra Evolved] Homullus' Golem (CleverRaven#86372) * Golem * Update data/mods/Xedra_Evolved/monsters/elementals.json Co-authored-by: Standing-Storm <120433252+Standing-Storm@users.noreply.github.com> * Update data/mods/Xedra_Evolved/monsters/elementals.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update elementals.json --------- Co-authored-by: Standing-Storm <120433252+Standing-Storm@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Add 8 newspaper snippets: predictive policing, brain drain, zombie videos, secret facility (CleverRaven#86353) New snippets across four arcs: - Cyonage predictive policing AI (many_years_old, years_old) - Academic brain drain from physics and biology departments (years_old, one_year_old) - FBI zombie video debunking and online pushback (months_old) - Secret federal facility construction in Winslow, Maine (one_year_old) * Add VI key navigation to menus that are missing them (CleverRaven#86366) * Start of defaulting vi keys * Blank space removal * Revive "Add target practice activity" (CleverRaven#85868) * add target practice activity * Finalize --------- Co-authored-by: Artem Manushenkov <artemmanusenkov@gmail.com> * Fix bug in gun mag/ammo inventory color Guns, magazines, and ammo in inventory are meant to be colored green when the player has a full set of compatible ammo, magazine, and gun. Fully loaded guns and magazines were displaying light red (partial readiness) even when the player had spare magazines or ammo because the find_ammo method was actually checking to see if the gun/magazine could be loaded right now (which it can't be, because there is no space, because it was already fully loaded). This commit just plumbs a new "now" parameter through find_ammo method. Defaults to "true" to preserve existing behavior everywhere except for the inventory color method. * Add lapin to no spawn list for SI raids * Move some in-item `passive_effects` to defined enchantments (CleverRaven#86403) * enchantments * spelling strikes again * Reduce damage from harmful_cough * [XE] Fix few CI issues (CleverRaven#86381) * Aftershock: Rocket Pack Sprint * initial commit * Update vitakinesis.json * Npcs dont freeze to death with NPC needs disabled (CleverRaven#86417) * Npcs dont freeze to death with NPC needs disabled * Update src/npc.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix under-alignment of small_literal_vector * miscellaneous UI fixes for character creator * move mutation/profession/scenario sorters * uilist changes for character creator * game constants for character creator * Imgui character creator * Aftershock: Basic data salvaging system. (CleverRaven#86434) * Aftershock: Basic data salvaging system. * Apply suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * text stuff --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * [Aftershock] Document esper lore (CleverRaven#86432) * Add organizations text * Add faction lore * Add bit about noetic house tattoos * Add noetic house slang for members without powers ("skip") * Winter wheat, a variety of wheat that can be grown... over winter. * Update comment-commands.yml (CleverRaven#86450) * Document f_pickup_items * Add hair dyes alongside hair dye kits in supermarkets * Highlight yield amount in crafting UI (CleverRaven#86416) * Highlight amount produced * Add string conversion to fix * Convert to string for plain * Change color to light blue * Initial commit * [MoM] Fix melee damage bonuses (CleverRaven#86444) * Weekly Changelog 2026-04-06 to 2026-04-13 (CleverRaven#86445) Co-authored-by: David Seguin <davidseguin@live.ca> Co-authored-by: Anton Simakov <67688115+GuardianDll@users.noreply.github.com> * Remove fire fields from library mapgen (CleverRaven#86392) * Initial commit * [Xedra Evolved] Fix Homullus city strider (CleverRaven#86352) * Add EoC to check if near a faction camp on OMT enter * Rework enchantment * Fixes * [MoM] Convert remaining paths over to psionic_power_modifiers() (CleverRaven#86457) * Finish consolidation * Fix parenthesis * Merge pull request CleverRaven#86407 from Inglonias/see_from_afar_extras Make certain map extras visible from afar by default * Text edits for CBMs (CleverRaven#86405) * CBMs inherit names * NO_I18N for unobtainable CBMs * Add description for Strength Injection System * Remove Trickle Charger installation data * Change Power Storage description * Fix CBM typos * Update spell checker dictionary * Fix monster attacking through terrain with TFLAG_SWIM_UNDER (CleverRaven#86390) * Added checks to fix bugs with aquatic/submerged monsters around TFLAG_SWIM_UNDER terrain * Remove redundant changes * Fix implemented & tested * Change Mangalpreet Singh's last name to more accurately reflect sikh traditions * Overmap vision based map extra visibility Allow map extras to specify the level of overmap vision at which they become visible. Replace the autonote/see_from_afar boolean values with a single autonote_visibility enum value covering all possible vision levels and an extra "same_tile" level that matches the see_from_afar: false behavior. Remove the deferred map extra visibility infrastructure in game and use the existing capability for that by calling add_extra_note for the entered overmap tile. * MOM/XE map extra visibility tweaks Co-authored-by: Standing-Storm <120433252+Standing-Storm@users.noreply.github.com> * move android-only block to uilist::query block needs an input_context * Newspaper snippets (CleverRaven#86460) * Update newspapers.json * Update data/json/snippets/newspapers.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update newspapers.json added extra spaces where necessary --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Support copy-from for overmap specials Mostly. Works as other copy-from does, by loading over the existing data. * Use copy-from for classic zombies mutable farm * option to size uilist to all categories * Fix control reaches end of non-void for old gcc Older gcc versions don't detect that the switch is exhaustive. * character creator: sort traits in summary * character creator: top bar alignment * name entry character limit for prompts * Limbify Paws (CleverRaven#86486) * Initial commit * Fixes * Adjust water movement test * Update tests/water_movement_test.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * [MoM] Convert biokinesis, clairsentience, and electrokinesis over to psionic_power_modifiers() (CleverRaven#86456) * Biokinesis * Clairsentience * Electrokinesis and fixes * Fix leading parentheses * Remove another parenthesis * Another parenthesis fix * Fix another parenthesis * Apply suggestion from @Maleclypse * Remove another ( * Continue parenthesis hunt * More parentheses --------- Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> * Duplicate the wheat processing chain for winter wheat * Add DocumentsProvider for Android to enable root-free backup of game data (CleverRaven#86428) * feat(android): add DocumentsProvider for root-free backup (API 19+) * feat(android): add DocumentsProvider for root-free backup * Extract applying tire faults into dedicated functions * Implement instant_damage for faults * Add faults for wooden cart wheels * Disable COUNTER in catch when building with clang See catchorg/Catch2#3076 The lowest impact workaround seems to be to disable the use of __COUNTER__ for internal name generation, using __LINE__ instead. Because astyle forbids any constructs like `INFO(...); INFO(...);`, this should not result in any issues. This only fixes the makefile build. It would be more robust to put this config in somewhere else, but I couldn't find a good way to do that. * Fix camp smithy only allowing one anvil type (CleverRaven#86495) * Update robot.json (Wraitheon Fulgent Dissassembly-fix) [Aftershock] (CleverRaven#86485) * Update robot.json * Update data/mods/aftershock_exoplanet/recipes/deconstruction/robot.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update data/mods/aftershock_exoplanet/recipes/deconstruction/robot.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update robot.json added requested change * Update robot.json --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix the generic expressions for limbs in medical ui Co-authored-by: GuardianDll <67688115+GuardianDll@users.noreply.github.com> * Segfault fix: sort companion armor * Fix minimap beacon colors not cycling during idle - Track whether pixel_minimap rendered blinking beacons - Mark minimap window dirty in idle loop when beacons active - Only minimap redraws, not full main UI * Fix chain-spawned overmaps skipping unique special deck draws - Deck-draw losers now get instances_placed = max instead of erase - Added >= max guard in place_special_attempt to skip them locally - Early-exit check uses any_of for real candidates, not batch empty * Removes direct cooked acorn recipe (CleverRaven#86494) * Limbify Bulging Eyes (CleverRaven#86493) * Use weighed not weighted in medical menu (CleverRaven#86480) * Migrated everything involving the deminer bot to obsoletion (CleverRaven#86511) * pathway outside reverb hint cabin is dirt not wood (CleverRaven#86502) * [Magiclysm] Enhanced Magic Circle have effect on recipe steps (CleverRaven#86467) * [CR] Add first stages of bullet penetration through multiple entities (CleverRaven#86465) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * [Magiclysm] Alchemic Circlets actually calmy to wear. (CleverRaven#86468) * Add a sewing machine and tweak the hoodie recipes to make use of it (CleverRaven#86455) * Add a sewing machine and tweak the hoodie recipes to make use of it * add the uncraft recipes properly, still out of scope * update the sewing machine description * fix uncraft material return * adjust cropped uncraft results * make the sewing machine consume power * [XE] Add anti-shabriri hedge magic spell (CleverRaven#86462) * Anti-Shabriri hedge spell * Add the deciphering EOC * Make spell work & easier to learn * Fix a typo * [MoM] Modify power effectiveness based on weariness (CleverRaven#86446) * Clean up tips (CleverRaven#86454) * Clean up tips * revert removing a snippet about burglar alarm (for now) * electric oven is not a fire container, gas oven is (CleverRaven#86287) * Allow copy-from, abstract, and using for recipe steps - Added reqs_external to recipe_step for step-level "using" - Root-level "using" now allowed on step recipes - Removed copy-from and abstract bans for step recipes - Step inheritance: child without "steps" array inherits base steps - Root "using" preserved across copy-from - Blacklist check extended to step-level reqs - Updated recipe steps documentation * Fix zone sort viewport stuck when nothing to sort - Store saved_zoom on avatar viewport struct - Check viewport struct directly in do_turn cleanup - Add tests for empty-source and no-destination cases * Initial commit * Limbify Elf-A eyes, remove hardcoded night vision bonuses (CleverRaven#86517) * Initial commit * Add subparts * Slight reaction bonus * Nightvision also cancels Fey sight * Updating firearm name/desc (and other misc strings) (pt.3) (CleverRaven#86022) * Update id: 50_incendiary * Update id: 22lr_ammo_box_5 * Update id: triple_honcho * Update id: triple_honcho * Update id: tavor_12 * Update id: dp_12 * Update shot.json (add bunch of "shotgun"); Update id: boss25 * Update id: saiga10mag; id: saige30mag * Update id: saiga10mag; id: saige30mag * Update id: mka_1919_5; id: mka_1919_10; id: mka_1919_20 * Update id: vr80 * Update 9x18.json * Update id: mp_15_22 * Update id: modular_h&k416a5 * Update id: modular_m27iar; id: modular_m38dmr * Update id: box_longarm * Update id: jar_3l_glass_sealed * Update id: leg_small_bag; id: armrig * Add Dextrous Paws mutation, remove Paws from Rat (CleverRaven#86506) * Add dextrous paws * Add paw limbs * Add sublimbs and integrate armor * Fix prereqs * Mixed effect * Fixing refugee center merc conversations (CleverRaven#86421) They say they want 'Single Malt' in order to tell you their background, but they really want plain whiskey. Fixing to make them actually want single malt as per the conversation. * reduce performance load of noncombatant perk (CleverRaven#86426) * reduce performance load of noncombatant perk * simplify json * Fix Fueling noise occurence (CleverRaven#86396) * Update bionic_eocs.json * Apply suggestion from @Maleclypse * Added faults to pipe spears and pipe pikes (CleverRaven#86523) * [ Dinomod ] Dinomod need DinoStrength (CleverRaven#86395) * Semicolons after function bodies are so last season * Extract post-process generators from mapgen.cpp - Moved riot damage and aftershock ruin to mapgen_post_process.cpp/.h - Added test OMT and characterization tests for post-process behavior * Fix multi-zone activities auto-resuming after non-resumable sub cancelled - Clear front backlog auto_resume when cancelled activity has can_resume=false - Prevents parent multi-zone from restoring via resume_backlog_activity * Merge pull request CleverRaven#86532 from Standing-Storm/infrared-vision Add monster infrared vision * Limbify Feline Eyes (CleverRaven#86529) * Add Feline eyes * Remove hardcoded FELINE_VISION check * Add High Glare Flag and functionality Co-authored-by: Venera3 <Venera3@users.noreply.github.com> * Update src/explosion.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Actually use dur_mod * Fix opposite --------- Co-authored-by: Venera3 <Venera3@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Prevent tindalos hounds teleporting before first establishing LoS (CleverRaven#86449) * Prevent tindalos teleport across z-levels * Attempted fix with new flag * Update flag documentation * Clang tidy suggestion test * Fixed sorting * Modify ring of sustenance to target BMI category (CleverRaven#86437) * Modify ring of sustenance to target BMI category This modifies the ring of sustenance item to dynamically target a weight category based on the character's height, replacing the assumption that the character is 180cm tall. * Add floor() * Apply autoformatter demands White-space added per the (tool's)[http://dev.narc.ro/cataclysm/format.html] demands. * Use new format parameter * Apply nonsensical suggestions from code review by a robot Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Resolve more XE CI issues (CleverRaven#86541) * Create pp_generator JSON type for post-process generators - Added pp_generator registered via generic_factory - Sub-generators read params from JSON instead of hardcoded locals - Three generators: riot_damage, riot_damage_road, aftershock_ruin - Dispatch in map::generate uses pp_generator_id lookups - Fixed double-roll bug in add_fire chance evaluation - Type-specific validation warns on ignored fields * Steel pipe/handle fault creation + implementation (CleverRaven#86538) * Added faults for short, steel pipe based items * Added faults for longer weapons based on steel pipes * Added the faults to some weapons and tools Non-makeshift crowbars got a weight multiplier below 1 since they are generally quite durable and shouldn't bend as quickly as other tools. * Update data/json/faults/fault_fixes_melee.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update data/json/faults/fault_fixes_melee.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update data/json/items/tool/entry_tools.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update fault_fixes_melee.json typo fix * Update data/json/faults/fault_fixes_tools.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update fault_fixes_tools.json typo fix * Update data/json/faults/fault_fixes_tools.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update data/json/faults/fault_groups_melee.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update data/json/faults/faults_melee.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update data/json/faults/faults_tools.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: dumb-kevin <dumb-kevin@users.noreply.github.com> Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> Co-authored-by: Tektolnes <43859252+Tektolnes@users.noreply.github.com> Co-authored-by: Anton Simakov <67688115+GuardianDll@users.noreply.github.com> Co-authored-by: Standing-StormStanding-Storm git config --global user.name Standing-Storm git config --global user.name Standing-Storm <dorchadas@gmail.com> Co-authored-by: gettingusedto <78019001+gettingusedto@users.noreply.github.com> Co-authored-by: thaelina <thaelina@gmail.com> Co-authored-by: evilbananas <evilbananas@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Mihály Verhás <misi.verhas@gmail.com> Co-authored-by: GuardianDll <antisim009@gmail.com> Co-authored-by: RenechCDDA <84619419+RenechCDDA@users.noreply.github.com> Co-authored-by: Kevin Granade <kevin.granade@gmail.com> Co-authored-by: David Seguin <davidseguin@live.ca> Co-authored-by: Standing-Storm <120433252+Standing-Storm@users.noreply.github.com> Co-authored-by: Inglonias <2125926+Inglonias@users.noreply.github.com> Co-authored-by: adamaxis <44177929+adamaxis@users.noreply.github.com> Co-authored-by: Draper, Daniel <ddraper@dmacc.edu> Co-authored-by: eso <eso@esotericist.org> Co-authored-by: Zerdocriil <heket123@gmail.com> Co-authored-by: PatrikLundell <j.patrik.r.lundell@gmail.com> Co-authored-by: Benjamin Mauer <Futuramalovr@gmail.com> Co-authored-by: thaelina <thaelina@users.noreply.github.com> Co-authored-by: Jack Dodge <51180872+jankyd@users.noreply.github.com> Co-authored-by: AnotherSeawhite <52661206+AnotherSeawhite@users.noreply.github.com> Co-authored-by: ParselyBunny <gunininanrunin@gmail.com> Co-authored-by: ParselyBunny <16728881+ParselyBunny@users.noreply.github.com> Co-authored-by: Tiareth <dvfedorchuk@gmail.com> Co-authored-by: rty275 <788335+rty275@users.noreply.github.com> Co-authored-by: Andrew Krieger <akrieger@users.noreply.github.com> Co-authored-by: John Candlebury <johncandlebury@gmail.com> Co-authored-by: Ethan Jones <66649248+ethanj801@users.noreply.github.com> Co-authored-by: Artem Manushenkov <artemmanusenkov@gmail.com> Co-authored-by: RAldrich <RAldrich@users.noreply.github.com> Co-authored-by: anoobindisguise <56016372+anoobindisguise@users.noreply.github.com> Co-authored-by: ShnitzelX2 <65314588+ShnitzelX2@users.noreply.github.com> Co-authored-by: BalthazarArgall <116303491+BalthazarArgall@users.noreply.github.com> Co-authored-by: Antti Riikonen <harava@gmail.com> Co-authored-by: Uwuewsky <99945024+Uwuewsky@users.noreply.github.com> Co-authored-by: ehughsbaird <44244083+ehughsbaird@users.noreply.github.com> Co-authored-by: BigBreug <150022683+BigBreug@users.noreply.github.com> Co-authored-by: dwvwvvwvwb <84421851+dwvwvvwvwb@users.noreply.github.com> Co-authored-by: Draper, Daniel <dannyboy00001111@gmail.com> Co-authored-by: Matty C. <71330200+BruhddyTheThird@users.noreply.github.com> Co-authored-by: SariusSkelrets <68650913+SariusSkelrets@users.noreply.github.com> Co-authored-by: Schrodinger_Sig <56752512+SchrodingerSig@users.noreply.github.com> Co-authored-by: ScionOfEris <scion@discordian.us> Co-authored-by: Venera3 <Venera3@users.noreply.github.com> Co-authored-by: Psithief <psithief@gmail.com>
b3brodie
added a commit
to b3brodie/Cataclysm-DDA
that referenced
this pull request
Apr 17, 2026
* Fix null ammo_data dereferences in NPC reload and turret code - npc::do_reload: use reload_option::qty() instead of manually computing quantity via ammo_data()->ammo->type. Crashes when select_ammo returns a non-ammo item (e.g. food for containers). - turret_data::can_reload: use remaining_ammo_capacity() > 0 instead of raw ammo_data()->ammo->type dereference. - item::remaining_ammo_capacity: guard against null ammo_data() and null islot_ammo, return 0 instead of crashing. * Exclude personal zones from NPC zone sorting NPC camp workers would pick up the avatar's personal zones (both source and destination) when the player stood nearby, delivering items to the player's personal FOOD/etc zones instead of the camp's static destinations. - Add zone_manager::has_nonpersonal() to check whether a point is covered by at least one non-personal zone of a given type. - Filter coord_set in stage_init so NPCs skip personal UNSORTED source tiles that have no backing static zone. - Filter dest_set in stage_do so NPCs skip personal destination tiles that have no backing static zone. - When a personal zone overlaps a static zone on the same tile, the static zone still works for NPCs. - Three new tests covering personal dest, personal source, and overlap scenarios. * Enable NPC mop tool fetching for zone mopping activity NPCs assigned to mop zones would always fail with "no required zone was found" when they didn't have a mop in inventory, even when moppable tiles and mops in loot zones were available. - Add NEEDS_MOP to activity_reason_continue so the framework enters the fetch path instead of silently skipping moppable tiles. - Add NEEDS_MOP to activity_reason_picks_up_tools so the NPC searches loot zones for a mop. - Add mopping_standard requirement (MOP quality level 1) and multi_mop_activity_actor::multi_activity_requirements override to tell the fetch system what to look for. * Allow creatures to ascend regular stairs The climb check in monster::move() blocked all non-flying creatures from ascending any z-level, including regular staircases. - Exempt regular stairs (GOES_UP without DIFFICULT_Z) from the climb check, matching what can_reach_to() already does. Ladders, ropes, and scaffolding still require climbing ability. - Expand the try_to_move neighbor scan to include z-level neighbors so creatures on stairs are not falsely considered stuck. - Add tests for stair ascent/descent with diverse creature types, and ladder blocking for non-climbers. * Add pre-rasterized scaled GUI fonts (1.5x, 2x) - Add font_size parameter to load_font(), load GUI font at 1.5x and 2x into the atlas alongside the regular gui and mono fonts - Expose PushGuiFont1_5x() and PushGuiFont2x() helpers in cata_imgui.h - Replace SetWindowFontScale(1.4f) in crafting GUI with PushGuiFont1_5x() for crisp text instead of blurry bitmap scaling - Loop over all fonts for fallback callbacks and validation * ambient mutation in inner cabins cellar depths is slower and more obvious (CleverRaven#86245) * tweaks * Update reverberations.json * Initial commit * Update vehicle_parts.json * Fix per-turn inventory rebuild for step recipe proficiency checks Step recipes called proficiency_time_malus() every turn via step_budget_moves(), which pulled book bonuses from crafting_inventory(). The inventory cache was always stale (invalidated by set_moves(0) earlier in the same do_turn call), causing a full O(N^2) inventory rebuild per turn -- the same bug pattern that was previously fixed for batch_time(). - Add crafting_cost_context struct bundling book_proficiency_bonuses and tool_speeds; require it on batch_time, time_to_craft_moves, step_budget_moves -- no implicit fallback, no hidden scans - Add for_recipe() and for_proficiencies() factories so callers compute the context once at the evaluation boundary - Add Character::book_bonuses_nearby() -- lightweight spatial query that walks map tiles and vehicle cargo in-place without copying items or running stacking logic - Add map::for_each_reachable_item() as shared primitive for reachability/accessibility/ownership/vehicle-cargo iteration, eliminating semantic duplication with form_from_map() - Thread required book_proficiency_bonuses through proficiency_time_malus, proficiency_skill_malus, and their wrappers so they cannot silently trigger inventory scans - Cache crafting_cost_context in craft_activity_actor, recomputed only on speed/assistant/proficiency changes (5% boundaries) - Precompute context in crafting GUI paths (availability cache, step display, recipe sort) to avoid redundant per-recipe scans * Create item_blacklist.json * Require the player to examine the statue to receive warp shards * Fix personal zone drift during sorting - Removed cache_data(false) call from vehicle::refresh_zones() - Added regression test for personal zone position stability * Remember crafting details panel state between sessions (CleverRaven#86276) * Persistent details expansion state * Apply suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Merge pull request CleverRaven#86273 from evilbananas/craft-menu-item-no-newline Improve expanded component view in new ImGui Crafting Menu * [Magiclysm] Add a way to craft everburning candle (CleverRaven#86224) * If aenor_paddock.* is already whitelisted, I guess it makes sense to whitelist aenor_farm.*, since they are part of the same overmap special and the tests are failing? * Revert "If aenor_paddock.* is already whitelisted, I guess it makes sense to whitelist aenor_farm.*, since they are part of the same overmap special and the tests are failing?" This reverts commit f8b4831. * Work in progress items for capturing embers from a balrog * Glass jar component in recipe, small change to proficiency required * Recipes and components! * Add fading embers to Balrog death drops * Add recipe book for crafting * Formatting * Plural of embers is embers * Apply suggestion from @Maleclypse * Apply suggestion * It should not take you that long to seal some fire into a flask * Apply suggestion from @Maleclypse * Apply suggestion from @Maleclypse * Apply suggestions from code review Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> --------- Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> * Snippets in loading screen + minor refactor of loading ui * Prevent using a trapped creature as an infinite training dummy (CleverRaven#86232) * Weekly Changelog 2026-03-30 to 2026-04-06 (CleverRaven#86285) Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> Co-authored-by: David Seguin <davidseguin@live.ca> * [MoM] Set Loci Technique volume limit (CleverRaven#86292) * Inner cabins, cellar depths: enemies (CleverRaven#86289) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Bionic fueling can be noisy (CleverRaven#84335) Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> * Create parse_shopkeeper_whitelist for string extractor (CleverRaven#86290) * Create parse_shopkeeper_whitelist for string extractor * fix syntax * Fix * Fix * fix * Fix starting TCL mutants not being able to unmute themselves (CleverRaven#86294) * Fix starting mutants not being able to unmute themselves * Make the JSON formatter happy Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * [Sky Island] Add merchant stall upgrade (CleverRaven#85035) * Nested mapgen * Add Exodii CBM merchant * More human ammo merchant work * Finish human ammo merchant * Add triffid merchant * Add lucre lure * Fix prices * Fixes * Fix testing chance * Mission fixes * Add bye messages * [MOM] Add "all" as an allowed bodypart for encumbrance_modifier enchant and apply to Enhanced Mobility effect (CleverRaven#86297) * Add "all" to encumbrance enchantment available bodyparts * document * style * Do that clang thingy * Stop Rubik from borging up the anti-borg PCs (CleverRaven#86256) * Update exodii_merchant_talk_exodization.json * Update data/json/npcs/exodii/exodii_merchant_talk_exodization.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Smart watch link_up CTD fix (CleverRaven#86301) * Smart watch link_up CTD fix * Update data/json/items/tool_armor.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update data/json/items/tool_armor.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update src/item_gun_tool_ammo.cpp Ugly but ok Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update src/iuse_actor.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: Draper, Daniel <ddraper@dmacc.edu> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update mutations.json * Update mutations.json * Crafting UI: List missing required proficiencies (CleverRaven#86291) * List missing crafting proficiencies * Apply suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Description of "metal smoking rack" warn you that it's worse than a regular smoking rack (CleverRaven#86303) * Fixes for XE CI (CleverRaven#86302) * Fix NPC infinite loop with NO_NPC_FOOD mod - Guard BT oracle predicates (needs_food/water_badly, urgency) on needs_food() - Guard address_needs() food/water handling on needs_food() - Make npc_noop consume moves when caller didn't - Add NO_NPC_FOOD sections to behavior_test and npc loop test * Fix faction-hostile NPCs sleeping instead of fighting - assess_danger() uses guaranteed_hostile() instead of is_enemy() - Re-run regen_ai_cache() after attitude flip in move() - Added two tests for faction-hostile NPC threat detection * remove `emit_clairvoyant` from pallid masters (CleverRaven#86309) * update `material` field with `portion` for various items I've touched/contributed (CleverRaven#86310) * add sorcerer to auto-labels for pull requests * Autonotes for berry bush patches * Add `fertilize_plant` spell effect (CleverRaven#86251) * Remove unused 2x scaled ImGui font to reduce atlas size - Removed 2x font loading from load_fonts() - Removed PushGuiFont2x() declaration and definition * Don't hide item pockets * Fixed break_stick return values * Remove ESP knowledge of map extras * Grammar Fix in XE spells (CleverRaven#86339) Energy is a collective noun and should be conjugation as singular. Muscles are treated as plural and should be conjugated as plural. * Remove random overmap_zoom_level from overmap zoom level changing. (CleverRaven#86338) * Change the copy from for speedway track overmap_terrain into roads, not buildings (CleverRaven#86343) * Fixed nuts and bolts spawning when adv_panel is taken down (CleverRaven#86329) * Tile fallback fixes (CleverRaven#86335) * Change the default ║ glyphs to │glyphs for fallback drawing * Revert CleverRaven#62443 change to stop rotating tiles into the wrong direction * Change linear drawing rotation check from checking symbols to if the overmap drawing is actually a linear drawing * Merge pull request CleverRaven#86332 from Standing-Storm/variable-fix [Sky Island] Fix Merchant Stall variable * Merge pull request CleverRaven#86321 from AnotherSeawhite/farthing-flip Shiny farthing and other coins can coin flip * Fix drystone and brick roof terrain (CleverRaven#86274) * Change brick floor to have brick roof * Add drystone roof definition * Change drystone wall to have a drystone roof --------- Co-authored-by: ParselyBunny <16728881+ParselyBunny@users.noreply.github.com> * [MoM] Mention Psychic Scream in MoM help files (CleverRaven#86324) * Update help_files.json * Update data/mods/MindOverMatter/help_files.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Merge pull request CleverRaven#86296 from Standing-Storm/jmath-replacement [MoM] Replace Intelligence/Nether Attunement calculations with `psionic_power_modifiers()` jmath (effects only) * Further tweak post-threshold interstitial mutations (CleverRaven#86340) * Update mutations.json * Update baseline.json * linting * [Magiclysm] Convert Seed of Growth to `fertilize_plant` effect (CleverRaven#86270) * Initial commit * Obsolete item * NO_HANDS so you can hold the knife while casting * Spellcasting UI: Don't assign hotkeys that are menu navigation keys (CleverRaven#86288) * Don't assign hotkeys that are navigation keys. * Formatting update * Attempted fix for failed build * Remove wrapper to try and fix build failure * Bionics UI: Don't assign hotkeys that are menu navigation keys (CleverRaven#86317) * Don't assign hotkeys that are navigation keys * Working * Apply suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix NPC activity assignment using wrong NPC from sorted menu - Sort NPC list before building both menu and lookup vector - Index selected NPCs from sorted list instead of original * Wrap remaining SDL2 calls behind abstraction layer for SDL3 dual support - Added sdl_version_wrappers.h for version queries without SDL_MAIN_HANDLED - Added wrappers for display, renderer, render ops, timer, cursor, clipboard - Added wrappers for window creation, fullscreen, text input, mouse, keyboard - Added event normalization helpers and CATA_WINDOWEVENT/FINGER constants - Added CataKeysym struct and GetKeysym() for keyboard event migration - Added CATA_WINDOW_* flag constants replacing raw SDL flag macros - Added CreateWindow, CreateRenderer, SetWindowFullscreen with FullscreenMode enum - Added per-texture SetTextureScaleQuality replacing SDL_HINT_RENDER_SCALE_QUALITY - Migrated sdltiles.cpp event loop, window/renderer creation, all raw SDL calls - Migrated cata_tiles.cpp, pixel_minimap.cpp, clipboard, cursor, version callers - Added gamepad dual-support constants, API branches, timestamp normalization * Fix camp NPC oscillation on expansion tiles - Add npc_within_camp() helper using basecamp::point_within_camp() - Replace base-OMT checks in all six camp BT predicates/scores - Fall back to base-OMT match when camp object is gone - Align return_to_camp_duties() with expansion-aware check - Add expansion-tile regression tests for free_time and camp_work * Fix restock time display for Hub 01 intercom - Added const overload of npc::get_trade_delegate() - Dialogue tags <interval> and <restock_time_point> now query the trade delegate * Skip pre-rasterized 1.5x font when CJK glyphs are enabled - Skip loading 1.5x gui font into atlas when IMGUI_LOAD_CHINESE is on - Fall back to SetWindowFontScale(1.5f) in PushGuiFont1_5x for CJK - Add PopGuiFont1_5x to handle both pre-rasterized and scaled paths - Update crafting_gui and loading_ui call sites to use PopGuiFont1_5x * Initial commit * Fix use-after-free in NPC zone sort viewport restore - Save viewport state to locals before base do_turn call - Inline viewport restore using saved locals after base returns - NPC revert_after_activity destroys actor before do_turn returns * Hideous Mutated Deformity is Forever, no more UNSTABLE for slime (CleverRaven#86085) * Readding old version of "A Beginner's Guide to Magic" (CleverRaven#86111) Co-authored-by: rty275 <788335+rty275@users.noreply.github.com> * [Bombastic Perks] Ascetic Empowerment fix (CleverRaven#86315) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * More older ms compiler/sdk fixes. * [Magiclysm] Add Druid spell caster_conditions (CleverRaven#86368) * Zoom persist fix on initial load (CleverRaven#86373) * Initial Commit pre-testing * Removed pre-testing comments * Formatting fixes Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * IWYU Fix Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Accidentally removed required library, fixed * added preprocessor block to fix IWYU error --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix Artifact Mutation ability (CleverRaven#86333) * Initial commit * Add debug message with category * Aftershock: Add a reactor outlet to the spaceship (CleverRaven#86350) * Add a reactor outlet to the spaceship * Add durability * Force door placements in main room upgrades * Remove warp obelisk from bunker entrance upgrade * Add `HANDS_CANNOT_USE_FIREARMS`, prevent it and `TEMPORARY_SHAPESHIFT_NO_HANDS` from using firearms (CleverRaven#86370) * Initial commit * Alphabetize * Add instructions and files for building inside Visual Studio Code (Windows) (CleverRaven#86347) * Add instructions for VSCode * Update to instructions * More instructions updates * Instruciton capitalization fix * Move build configs to a workspace file * Add code-workspace and don't ingore it * Mutant meat is disgusting * Fix drinking water from vehicle faucet (CleverRaven#86387) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix msvc solution. * Turn broad paws into a limb (CleverRaven#86374) * Initial commit * Adjustments * Knockback is crit only * Return crafting skill penalty * Fur covers paws * Fix opposite parts * Various fixes * Slightly reduce bear swim bonus * Add `HANDS_CANNOT_USE_FIREARMS` flag to paws * Update water movement test values * Update tests/water_movement_test.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Small change to trigger JSON validation to actually run * JSON/C++ change to force both checks to run * Update tests/water_movement_test.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fixes * Fixes * Update tests/water_movement_test.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Merge pull request CleverRaven#86393 from Standing-Storm/player-fire Mirror monster fire nerfs on the player side * [Xedra Evolved] Homullus' Golem (CleverRaven#86372) * Golem * Update data/mods/Xedra_Evolved/monsters/elementals.json Co-authored-by: Standing-Storm <120433252+Standing-Storm@users.noreply.github.com> * Update data/mods/Xedra_Evolved/monsters/elementals.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update elementals.json --------- Co-authored-by: Standing-Storm <120433252+Standing-Storm@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Add 8 newspaper snippets: predictive policing, brain drain, zombie videos, secret facility (CleverRaven#86353) New snippets across four arcs: - Cyonage predictive policing AI (many_years_old, years_old) - Academic brain drain from physics and biology departments (years_old, one_year_old) - FBI zombie video debunking and online pushback (months_old) - Secret federal facility construction in Winslow, Maine (one_year_old) * Add VI key navigation to menus that are missing them (CleverRaven#86366) * Start of defaulting vi keys * Blank space removal * Revive "Add target practice activity" (CleverRaven#85868) * add target practice activity * Finalize --------- Co-authored-by: Artem Manushenkov <artemmanusenkov@gmail.com> * Fix bug in gun mag/ammo inventory color Guns, magazines, and ammo in inventory are meant to be colored green when the player has a full set of compatible ammo, magazine, and gun. Fully loaded guns and magazines were displaying light red (partial readiness) even when the player had spare magazines or ammo because the find_ammo method was actually checking to see if the gun/magazine could be loaded right now (which it can't be, because there is no space, because it was already fully loaded). This commit just plumbs a new "now" parameter through find_ammo method. Defaults to "true" to preserve existing behavior everywhere except for the inventory color method. * Add lapin to no spawn list for SI raids * Move some in-item `passive_effects` to defined enchantments (CleverRaven#86403) * enchantments * spelling strikes again * Reduce damage from harmful_cough * [XE] Fix few CI issues (CleverRaven#86381) * Aftershock: Rocket Pack Sprint * initial commit * Update vitakinesis.json * Npcs dont freeze to death with NPC needs disabled (CleverRaven#86417) * Npcs dont freeze to death with NPC needs disabled * Update src/npc.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix under-alignment of small_literal_vector * miscellaneous UI fixes for character creator * move mutation/profession/scenario sorters * uilist changes for character creator * game constants for character creator * Imgui character creator * Aftershock: Basic data salvaging system. (CleverRaven#86434) * Aftershock: Basic data salvaging system. * Apply suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * text stuff --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * [Aftershock] Document esper lore (CleverRaven#86432) * Add organizations text * Add faction lore * Add bit about noetic house tattoos * Add noetic house slang for members without powers ("skip") * Winter wheat, a variety of wheat that can be grown... over winter. * Update comment-commands.yml (CleverRaven#86450) * Document f_pickup_items * Add hair dyes alongside hair dye kits in supermarkets * Highlight yield amount in crafting UI (CleverRaven#86416) * Highlight amount produced * Add string conversion to fix * Convert to string for plain * Change color to light blue * Initial commit * [MoM] Fix melee damage bonuses (CleverRaven#86444) * Weekly Changelog 2026-04-06 to 2026-04-13 (CleverRaven#86445) Co-authored-by: David Seguin <davidseguin@live.ca> Co-authored-by: Anton Simakov <67688115+GuardianDll@users.noreply.github.com> * Remove fire fields from library mapgen (CleverRaven#86392) * Initial commit * [Xedra Evolved] Fix Homullus city strider (CleverRaven#86352) * Add EoC to check if near a faction camp on OMT enter * Rework enchantment * Fixes * [MoM] Convert remaining paths over to psionic_power_modifiers() (CleverRaven#86457) * Finish consolidation * Fix parenthesis * Merge pull request CleverRaven#86407 from Inglonias/see_from_afar_extras Make certain map extras visible from afar by default * Text edits for CBMs (CleverRaven#86405) * CBMs inherit names * NO_I18N for unobtainable CBMs * Add description for Strength Injection System * Remove Trickle Charger installation data * Change Power Storage description * Fix CBM typos * Update spell checker dictionary * Fix monster attacking through terrain with TFLAG_SWIM_UNDER (CleverRaven#86390) * Added checks to fix bugs with aquatic/submerged monsters around TFLAG_SWIM_UNDER terrain * Remove redundant changes * Fix implemented & tested * Change Mangalpreet Singh's last name to more accurately reflect sikh traditions * Overmap vision based map extra visibility Allow map extras to specify the level of overmap vision at which they become visible. Replace the autonote/see_from_afar boolean values with a single autonote_visibility enum value covering all possible vision levels and an extra "same_tile" level that matches the see_from_afar: false behavior. Remove the deferred map extra visibility infrastructure in game and use the existing capability for that by calling add_extra_note for the entered overmap tile. * MOM/XE map extra visibility tweaks Co-authored-by: Standing-Storm <120433252+Standing-Storm@users.noreply.github.com> * move android-only block to uilist::query block needs an input_context * Newspaper snippets (CleverRaven#86460) * Update newspapers.json * Update data/json/snippets/newspapers.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update newspapers.json added extra spaces where necessary --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Support copy-from for overmap specials Mostly. Works as other copy-from does, by loading over the existing data. * Use copy-from for classic zombies mutable farm * option to size uilist to all categories * Fix control reaches end of non-void for old gcc Older gcc versions don't detect that the switch is exhaustive. * character creator: sort traits in summary * character creator: top bar alignment * name entry character limit for prompts * Limbify Paws (CleverRaven#86486) * Initial commit * Fixes * Adjust water movement test * Update tests/water_movement_test.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * [MoM] Convert biokinesis, clairsentience, and electrokinesis over to psionic_power_modifiers() (CleverRaven#86456) * Biokinesis * Clairsentience * Electrokinesis and fixes * Fix leading parentheses * Remove another parenthesis * Another parenthesis fix * Fix another parenthesis * Apply suggestion from @Maleclypse * Remove another ( * Continue parenthesis hunt * More parentheses --------- Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> * Duplicate the wheat processing chain for winter wheat * Add DocumentsProvider for Android to enable root-free backup of game data (CleverRaven#86428) * feat(android): add DocumentsProvider for root-free backup (API 19+) * feat(android): add DocumentsProvider for root-free backup * Extract applying tire faults into dedicated functions * Implement instant_damage for faults * Add faults for wooden cart wheels * Disable COUNTER in catch when building with clang See catchorg/Catch2#3076 The lowest impact workaround seems to be to disable the use of __COUNTER__ for internal name generation, using __LINE__ instead. Because astyle forbids any constructs like `INFO(...); INFO(...);`, this should not result in any issues. This only fixes the makefile build. It would be more robust to put this config in somewhere else, but I couldn't find a good way to do that. * Fix camp smithy only allowing one anvil type (CleverRaven#86495) * Update robot.json (Wraitheon Fulgent Dissassembly-fix) [Aftershock] (CleverRaven#86485) * Update robot.json * Update data/mods/aftershock_exoplanet/recipes/deconstruction/robot.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update data/mods/aftershock_exoplanet/recipes/deconstruction/robot.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update robot.json added requested change * Update robot.json --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix the generic expressions for limbs in medical ui Co-authored-by: GuardianDll <67688115+GuardianDll@users.noreply.github.com> * Segfault fix: sort companion armor * Fix minimap beacon colors not cycling during idle - Track whether pixel_minimap rendered blinking beacons - Mark minimap window dirty in idle loop when beacons active - Only minimap redraws, not full main UI * Fix chain-spawned overmaps skipping unique special deck draws - Deck-draw losers now get instances_placed = max instead of erase - Added >= max guard in place_special_attempt to skip them locally - Early-exit check uses any_of for real candidates, not batch empty * Removes direct cooked acorn recipe (CleverRaven#86494) * Limbify Bulging Eyes (CleverRaven#86493) * Use weighed not weighted in medical menu (CleverRaven#86480) * Migrated everything involving the deminer bot to obsoletion (CleverRaven#86511) * pathway outside reverb hint cabin is dirt not wood (CleverRaven#86502) * [Magiclysm] Enhanced Magic Circle have effect on recipe steps (CleverRaven#86467) * [CR] Add first stages of bullet penetration through multiple entities (CleverRaven#86465) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * [Magiclysm] Alchemic Circlets actually calmy to wear. (CleverRaven#86468) * Add a sewing machine and tweak the hoodie recipes to make use of it (CleverRaven#86455) * Add a sewing machine and tweak the hoodie recipes to make use of it * add the uncraft recipes properly, still out of scope * update the sewing machine description * fix uncraft material return * adjust cropped uncraft results * make the sewing machine consume power * [XE] Add anti-shabriri hedge magic spell (CleverRaven#86462) * Anti-Shabriri hedge spell * Add the deciphering EOC * Make spell work & easier to learn * Fix a typo * [MoM] Modify power effectiveness based on weariness (CleverRaven#86446) * Clean up tips (CleverRaven#86454) * Clean up tips * revert removing a snippet about burglar alarm (for now) * electric oven is not a fire container, gas oven is (CleverRaven#86287) * Allow copy-from, abstract, and using for recipe steps - Added reqs_external to recipe_step for step-level "using" - Root-level "using" now allowed on step recipes - Removed copy-from and abstract bans for step recipes - Step inheritance: child without "steps" array inherits base steps - Root "using" preserved across copy-from - Blacklist check extended to step-level reqs - Updated recipe steps documentation * Fix zone sort viewport stuck when nothing to sort - Store saved_zoom on avatar viewport struct - Check viewport struct directly in do_turn cleanup - Add tests for empty-source and no-destination cases * Initial commit * Limbify Elf-A eyes, remove hardcoded night vision bonuses (CleverRaven#86517) * Initial commit * Add subparts * Slight reaction bonus * Nightvision also cancels Fey sight * Updating firearm name/desc (and other misc strings) (pt.3) (CleverRaven#86022) * Update id: 50_incendiary * Update id: 22lr_ammo_box_5 * Update id: triple_honcho * Update id: triple_honcho * Update id: tavor_12 * Update id: dp_12 * Update shot.json (add bunch of "shotgun"); Update id: boss25 * Update id: saiga10mag; id: saige30mag * Update id: saiga10mag; id: saige30mag * Update id: mka_1919_5; id: mka_1919_10; id: mka_1919_20 * Update id: vr80 * Update 9x18.json * Update id: mp_15_22 * Update id: modular_h&k416a5 * Update id: modular_m27iar; id: modular_m38dmr * Update id: box_longarm * Update id: jar_3l_glass_sealed * Update id: leg_small_bag; id: armrig * Add Dextrous Paws mutation, remove Paws from Rat (CleverRaven#86506) * Add dextrous paws * Add paw limbs * Add sublimbs and integrate armor * Fix prereqs * Mixed effect * Fixing refugee center merc conversations (CleverRaven#86421) They say they want 'Single Malt' in order to tell you their background, but they really want plain whiskey. Fixing to make them actually want single malt as per the conversation. * reduce performance load of noncombatant perk (CleverRaven#86426) * reduce performance load of noncombatant perk * simplify json * Fix Fueling noise occurence (CleverRaven#86396) * Update bionic_eocs.json * Apply suggestion from @Maleclypse * Added faults to pipe spears and pipe pikes (CleverRaven#86523) * [ Dinomod ] Dinomod need DinoStrength (CleverRaven#86395) * Semicolons after function bodies are so last season * Extract post-process generators from mapgen.cpp - Moved riot damage and aftershock ruin to mapgen_post_process.cpp/.h - Added test OMT and characterization tests for post-process behavior * Fix multi-zone activities auto-resuming after non-resumable sub cancelled - Clear front backlog auto_resume when cancelled activity has can_resume=false - Prevents parent multi-zone from restoring via resume_backlog_activity * Merge pull request CleverRaven#86532 from Standing-Storm/infrared-vision Add monster infrared vision * Limbify Feline Eyes (CleverRaven#86529) * Add Feline eyes * Remove hardcoded FELINE_VISION check * Add High Glare Flag and functionality Co-authored-by: Venera3 <Venera3@users.noreply.github.com> * Update src/explosion.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Actually use dur_mod * Fix opposite --------- Co-authored-by: Venera3 <Venera3@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Prevent tindalos hounds teleporting before first establishing LoS (CleverRaven#86449) * Prevent tindalos teleport across z-levels * Attempted fix with new flag * Update flag documentation * Clang tidy suggestion test * Fixed sorting * Modify ring of sustenance to target BMI category (CleverRaven#86437) * Modify ring of sustenance to target BMI category This modifies the ring of sustenance item to dynamically target a weight category based on the character's height, replacing the assumption that the character is 180cm tall. * Add floor() * Apply autoformatter demands White-space added per the (tool's)[http://dev.narc.ro/cataclysm/format.html] demands. * Use new format parameter * Apply nonsensical suggestions from code review by a robot Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Resolve more XE CI issues (CleverRaven#86541) * Create pp_generator JSON type for post-process generators - Added pp_generator registered via generic_factory - Sub-generators read params from JSON instead of hardcoded locals - Three generators: riot_damage, riot_damage_road, aftershock_ruin - Dispatch in map::generate uses pp_generator_id lookups - Fixed double-roll bug in add_fire chance evaluation - Type-specific validation warns on ignored fields * Steel pipe/handle fault creation + implementation (CleverRaven#86538) * Added faults for short, steel pipe based items * Added faults for longer weapons based on steel pipes * Added the faults to some weapons and tools Non-makeshift crowbars got a weight multiplier below 1 since they are generally quite durable and shouldn't bend as quickly as other tools. * Update data/json/faults/fault_fixes_melee.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update data/json/faults/fault_fixes_melee.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update data/json/items/tool/entry_tools.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update fault_fixes_melee.json typo fix * Update data/json/faults/fault_fixes_tools.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update fault_fixes_tools.json typo fix * Update data/json/faults/fault_fixes_tools.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update data/json/faults/fault_groups_melee.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update data/json/faults/faults_melee.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update data/json/faults/faults_tools.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> Co-authored-by: dumb-kevin <dumb-kevin@users.noreply.github.com> Co-authored-by: Tektolnes <43859252+Tektolnes@users.noreply.github.com> Co-authored-by: Anton Simakov <67688115+GuardianDll@users.noreply.github.com> Co-authored-by: Standing-StormStanding-Storm git config --global user.name Standing-Storm git config --global user.name Standing-Storm <dorchadas@gmail.com> Co-authored-by: gettingusedto <78019001+gettingusedto@users.noreply.github.com> Co-authored-by: thaelina <thaelina@gmail.com> Co-authored-by: evilbananas <evilbananas@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Mihály Verhás <misi.verhas@gmail.com> Co-authored-by: GuardianDll <antisim009@gmail.com> Co-authored-by: RenechCDDA <84619419+RenechCDDA@users.noreply.github.com> Co-authored-by: Kevin Granade <kevin.granade@gmail.com> Co-authored-by: David Seguin <davidseguin@live.ca> Co-authored-by: Standing-Storm <120433252+Standing-Storm@users.noreply.github.com> Co-authored-by: Inglonias <2125926+Inglonias@users.noreply.github.com> Co-authored-by: adamaxis <44177929+adamaxis@users.noreply.github.com> Co-authored-by: Draper, Daniel <ddraper@dmacc.edu> Co-authored-by: eso <eso@esotericist.org> Co-authored-by: Zerdocriil <heket123@gmail.com> Co-authored-by: PatrikLundell <j.patrik.r.lundell@gmail.com> Co-authored-by: Benjamin Mauer <Futuramalovr@gmail.com> Co-authored-by: thaelina <thaelina@users.noreply.github.com> Co-authored-by: Jack Dodge <51180872+jankyd@users.noreply.github.com> Co-authored-by: AnotherSeawhite <52661206+AnotherSeawhite@users.noreply.github.com> Co-authored-by: ParselyBunny <gunininanrunin@gmail.com> Co-authored-by: ParselyBunny <16728881+ParselyBunny@users.noreply.github.com> Co-authored-by: Tiareth <dvfedorchuk@gmail.com> Co-authored-by: rty275 <788335+rty275@users.noreply.github.com> Co-authored-by: Andrew Krieger <akrieger@users.noreply.github.com> Co-authored-by: John Candlebury <johncandlebury@gmail.com> Co-authored-by: Ethan Jones <66649248+ethanj801@users.noreply.github.com> Co-authored-by: Artem Manushenkov <artemmanusenkov@gmail.com> Co-authored-by: RAldrich <RAldrich@users.noreply.github.com> Co-authored-by: anoobindisguise <56016372+anoobindisguise@users.noreply.github.com> Co-authored-by: ShnitzelX2 <65314588+ShnitzelX2@users.noreply.github.com> Co-authored-by: BalthazarArgall <116303491+BalthazarArgall@users.noreply.github.com> Co-authored-by: Antti Riikonen <harava@gmail.com> Co-authored-by: Uwuewsky <99945024+Uwuewsky@users.noreply.github.com> Co-authored-by: ehughsbaird <44244083+ehughsbaird@users.noreply.github.com> Co-authored-by: BigBreug <150022683+BigBreug@users.noreply.github.com> Co-authored-by: dwvwvvwvwb <84421851+dwvwvvwvwb@users.noreply.github.com> Co-authored-by: Draper, Daniel <dannyboy00001111@gmail.com> Co-authored-by: Matty C. <71330200+BruhddyTheThird@users.noreply.github.com> Co-authored-by: SariusSkelrets <68650913+SariusSkelrets@users.noreply.github.com> Co-authored-by: Schrodinger_Sig <56752512+SchrodingerSig@users.noreply.github.com> Co-authored-by: ScionOfEris <scion@discordian.us> Co-authored-by: Venera3 <Venera3@users.noreply.github.com> Co-authored-by: Psithief <psithief@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Features "Added four new faults for weapons with steel handles and applied them to some weapons and tools"
Purpose of change
Most weapons and tools based on the steel pipe item/that have a steel handle don't have faults attached to them yet. This PR intends to change that. This addition is related to issue #80881 and issue #64528 .
Describe the solution
I added four new faults (two tool faults, two weapon faults) and their fixes
Weapon faults:
Tool faults:
After making the faults, I applied them to some weapons and tools that I thought it made sense for (crowbars, pipe spears, sharpened rebar, etc.)
Describe alternatives you've considered
I could have used other faults, or could have not added any altogether.
Testing
Additional context
Both straightening methods have been based on https://ukf-group.com/how-to-straighten-stainless-steel-tubing/