Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Merging changes from genericization to continue recipe review #1

Closed

Conversation

a-chancey
Copy link
Owner

Summary

None

Purpose of change

just merging changes to keep working

Describe the solution

Describe alternatives you've considered

Testing

Additional context

dseguin and others added 30 commits January 22, 2022 01:39
Change requested by wapcaplet.
This function has no other purpose outside of `widget::finalize`.

Co-authored-by: Eric Pierce <[email protected]>
Also refactored append_line() to reflect new alignment parameters.
Faalagorn and others added 16 commits January 30, 2022 23:15
Add `looks_like` to `bottle_bathroom` so it appears in tilesets as `bottle_plastic`.
…llow cane (#54944)

* Add makeshift cane and crutch, add `CRUTCH` tag to hollow cane

With a broken leg, the player has no way to craft a cane or crutch. The existing cane and ccrutch are only available via random drops. The hollow cane does not have the `CRUTCH` tag so cannot be used as a crutch.

Co-authored-by: Binrui Dong <[email protected]>
Misc spacing, capitalization and some ellipsis corrections
Consistently name saw tools and blades
Fix compile error on Clang compiler
Fix permanent effect default duration
Make most of the weaker alcohols mixable.
@a-chancey a-chancey closed this Feb 1, 2022
a-chancey pushed a commit that referenced this pull request May 2, 2022
a-chancey pushed a commit that referenced this pull request Oct 17, 2022
* Update scrap_trader.json

* Post-purchase screen update

* Scrapper sells via shop instead of dialogue

* Specialty metals update

* Tuning

* Fixed pricing

* Scrap merchant gets his own outfit and class

* Carried

* Linting

* Pricing adjustments

* Uyen Tran and Doctor now merchants

* Linting

* Update scrap_trader.json

* Discourage players from buying possessions

* Cash register not for sale

* Linting

* Removes cash register custom price

* No spawning with cash register unless from mapgen

* Mapgen Update #1

* Update fortified_scrap_yard.json

* More defensive tools for scrapper

* Tow Truck Variant, Appliances, Furniture, Remodel

* Coat rack, mechanics skill, tools

* Utility shelf, zones reorganization

* Decrease scrap count

* Lint

* lint

* Coordinates updates, tire change, skills

* Swimmin

* Minor changes

* Wheels
a-chancey pushed a commit that referenced this pull request Jul 18, 2023
* Modernize survivor boots

* commae

* Apply suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* recipes #1

* Update feet.json

* Update custom_boots.json

* a fix

* fixes

* thickness

* recipe stuff

* Apply suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update feet.json

* Apply suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* xl and xs recipes

* fixes

* nylon->leather

* nylon->leather

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
a-chancey pushed a commit that referenced this pull request Jul 18, 2023
…n#66347)

* increase penalties to dispersion at low skills.

* make skill effect on base_aim_speed_cap frontloaded

* Update src/character.cpp

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* make aiming a combo of limb scores

* Low marksman skill makes it harder to reorient your aim

* add a final divisor to aim speed based on skill

* Update src/character.cpp

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* attempt #1 to fix this test

* test fix

* more test fixes

* more fixes

* Update ranged_balance_test.cpp

* Update ranged_balance_test.cpp

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
a-chancey pushed a commit that referenced this pull request Aug 10, 2023
…63590)

* Prof Biology added

* Update data/mods/Megafauna/monsters/mf_domestic.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* First steps defining weakpoints

* The eyes #1

* Update data/mods/Megafauna/mf_weakpoint_sets.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Basic weakpoints and linting

* fix bad language

* Update data/mods/Megafauna/proficiencies/mf_weakpoints.json

* Update data/mods/Megafauna/proficiencies/mf_weakpoints.json

* Update data/mods/Megafauna/mf_weakpoint_sets.json

---------

Co-authored-by: merrygin <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Maleclypse <[email protected]>
Co-authored-by: David Seguin <[email protected]>
a-chancey pushed a commit that referenced this pull request Sep 24, 2023
* Update recipe_deconstruction.json

* Update recipe_deconstruction.json

* Update recipe_deconstruction.json

* Add myself to comment commands list

* Add the stuff

* Update data/mods/Defense_Mode/mapgen/survivor_forest_camp.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update data/mods/Defense_Mode/specials.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Bugfixer #1

* Add the overmap terrain entry

* Update eocs.json

* Use more default start location IDs, some to fit.

* Fix an ID typo

* Some om_special fixes

* More om_special fixes

* Update data/json/npcs/missiondef.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update data/json/npcs/other/NPC_pizzaiolo.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Final bug fix

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
a-chancey pushed a commit that referenced this pull request Nov 29, 2023
be more specific about what writing "Fixes: #1" does, it closes the
linked issue if your PR is merged

comment commands regex can get... elaborate add a comment with an
example where it gets complex, also indicate the maintainer and curator
of the comment commands action
a-chancey pushed a commit that referenced this pull request Nov 29, 2023
* Prevents game occasionally seemingly hanging when moving to new submaps

The reason for the previous problem was an infinite loop caused by:
1. `map::spawn_monsters_submap` for-loops the list of `current_submap->spawns`
2. for every spawned monster, it calls `monster::on_load`
3. `monster::on_load` calls `monster::try_reproduce`, which in turn calls
   `map::add_spawn`
4. So a new spawn is added, thus invalidating the iterator used in step 1
5. Undefined behavior caused by using invaliated iterators.

On my compiler (gcc 13.2.0), the above problem had the following effect:
* The reference `spawn_point &i` pointed to something totally different, so
  that in particular, `i.count` had garbage values
* Instead of `i.count` being reasonable values such as `3` or `1`, the above
  undefined behavior made it have values such as `925969776` or `-632214304`
* `i.count` is the upper bound for the inner for-loop in
  `map::spawn_monsters_submap`, so depending on the garbage value, it might
  seem like an infinite loop.

Stacktrace of app when frozen and problem happened:
```
 #0  0x000055a1eaf36dcb in creature_tracker::find(coords::coord_point<tripoint, (coords::origin)1, (coords::scale)0> const&) const ()
 #1  0x000055a1eaf39253 in Creature* creature_tracker::creature_at<Creature>(coords::coord_point<tripoint, (coords::origin)1, (coords::scale)0> const&, bool) ()
 #2  0x000055a1eaf393b5 in Creature* creature_tracker::creature_at<Creature>(tripoint const&, bool) ()
 #3  0x000055a1eb357a53 in map::spawn_monsters_submap(tripoint const&, bool, bool)::{lambda(tripoint const&)#1}::operator()(tripoint const&) const ()
 #4  0x000055a1eb3a976e in random_point(tripoint_range<tripoint> const&, std::function<bool (tripoint const&)> const&) ()
 #5  0x000055a1eb37dd2d in map::spawn_monsters_submap(tripoint const&, bool, bool) ()
 #6  0x000055a1eb37de77 in map::spawn_monsters(bool, bool) ()
 #7  0x000055a1eb093981 in game::update_map(int&, int&, bool) ()
 #8  0x000055a1eb094451 in game::update_map(Character&, bool) ()
 #9  0x000055a1eb09530f in game::place_player(tripoint const&, bool) ()
 #10 0x000055a1eb0b3a0e in game::walk_move(tripoint const&, bool, bool) ()
 #11 0x000055a1ead27490 in avatar_action::move(avatar&, map&, tripoint const&) ()
 #12 0x000055a1eb0f338c in game::do_regular_action(action_id&, avatar&, std::optional<tripoint> const&) ()
 #13 0x000055a1eb0f6e63 in game::handle_action() ()
 CleverRaven#14 0x000055a1eafbd9ea in do_turn() ()
 CleverRaven#15 0x000055a1eaa5ec13 in main ()
```

This commit instead changes the loop in step 1 above so that it explicitly
*not* uses iterators, but instead old-fashioned indexed loop. The intention
with the change is to allow other parts of the code to add items to the vector
`current_submap->spawns` while we are iterating it here. If new items are
added, they will be handled in later steps of the loop.
a-chancey pushed a commit that referenced this pull request Jul 10, 2024
Add example, clarify some wording, and link to the name of the test in
the script that enforces it.
a-chancey pushed a commit that referenced this pull request Aug 6, 2024
Prevents segfault when performing `firstaid_activity_actor` but the
bandage tool disappeared. Backtrace of fixed segfault:
```
Thread 1 "cataclysm-tiles" received signal SIGSEGV, Segmentation fault.
(gdb) bt
 #0  0x0000555555ece5a4 in item::get_usable_item_helper<item> (use_name="heal", self=...) at src/item.cpp:11584
 #1  item::get_usable_item (this=0x0, use_name="heal") at src/item.cpp:11606
 #2  0x000055555599c6bf in firstaid_activity_actor::finish (this=0x55559b583f20, act=..., who=...) at src/activity_actor.cpp:6651
 #3  0x00005555564d8c6b in player_activity::do_turn (this=0x555558108218, you=...) at src/player_activity.cpp:391
 #4  0x0000555555ce3fa6 in do_turn () at src/do_turn.cpp:532
 #5  0x000055555577511a in main (argc=<optimized out>, argv=<optimized out>) at src/main.cpp:873
```

An example where this happened was when the bandage was inside a
spillable container (clay canning pot), that spilled its contents when
starting the activity. Spiling the clay canning pot invalidates the
`item_location`. Backtrace of when the clay canning pot was spilled:
```
 #0  item_pocket::get_name (this=0x555557fa7540) at src/item_pocket.cpp:2117
 #1  item_pocket::handle_liquid_or_spill (this=this@entry=0x555557fa7540, guy=..., avoid=0x555557fa8060) at src/item_pocket.cpp:806
 #2  0x0000555555a6aa60 in avatar_action::use_item (you=..., loc=..., method="heal") at src/avatar_action.cpp:1212
 #3  0x0000555555a6dda7 in avatar_action::eat_or_use (you=..., loc=...) at src/avatar_action.cpp:988
 #4  0x0000555555e3e1c5 in game::do_regular_action (this=this@entry=0x555557f94a60, act=@0x7fffffffd1b0: ACTION_EAT, player_character=..., mouse_target=std::optional [no contained value]) at src/handle_action.cpp:2479
 #5  0x0000555555e41260 in game::handle_action (this=0x555557f94a60) at src/handle_action.cpp:3176
 #6  0x0000555555ce422f in do_turn () at /usr/include/c++/13/bits/unique_ptr.h:199
 #7  0x000055555577511a in main (argc=<optimized out>, argv=<optimized out>) at src/main.cpp:873
```
a-chancey pushed a commit that referenced this pull request Aug 6, 2024
Prevents segfault that could previously occur if the item being repaired
was invalidated. The target item being repaired could get invalidated
for various reasons, such as a follower moving it via zone sorting, the
item could burn up in a fire, etc.

Previous segfault that this commit attempts to prevent:
```
 #0  0x0000555555ef9057 in item::is_null (this=this@entry=0x0) at src/item.cpp:943
 #1  0x000055555602322c in repair_item_actor::can_repair_target (this=this@entry=0x555560003e80, pl=..., fix=..., print_msg=print_msg@entry=true, check_consumed_available=check_consumed_available@entry=true) at src/iuse_actor.cpp:2920
 #2  0x00005555560243c2 in repair_item_actor::repair (this=this@entry=0x555560003e80, pl=..., tool=..., fix=..., refit_only=refit_only@entry=false) at src/iuse_actor.cpp:3106
 #3  0x00005555559d5b55 in repair_item_finish (act=0x5555580cdf58, you=0x5555580cd890, no_menu=false) at src/activity_handlers.cpp:2477
 #4  0x0000555555a00f52 in std::function<void (player_activity*, Character*)>::operator()(player_activity*, Character*) const (this=<optimized out>, __args#0=<optimized out>, __args#0@entry=0x5555580cdf58, __args#1=<optimized out>, __args#1@entry=0x5555580cd890) at /usr/include/c++/13/bits/std_function.h:591
 #5  0x00005555559ff229 in activity_type::call_finish (this=<optimized out>, act=act@entry=0x5555580cdf58, you=you@entry=0x5555580cd890) at src/activity_type.cpp:168
 #6  0x00005555564e368b in player_activity::do_turn (this=0x5555580cdf58, you=...) at src/player_activity.cpp:393
 #7  0x0000555555cec856 in do_turn () at src/do_turn.cpp:532
 #8  0x0000555555776e74 in main (argc=<optimized out>, argv=<optimized out>) at src/main.cpp:873
```

Instead, this commit adds a message shown to the player if the target
item is no longer valid for whatever reason.
a-chancey pushed a commit that referenced this pull request Oct 11, 2024
just turn off NavInputs in uilist windows entirely
a-chancey pushed a commit that referenced this pull request Oct 11, 2024
)

* Add adjust mentality power and its options alongside minor Gateway fix

* Add power infrastructure

* Add Mentality Adjustment Spell Level Requirements

* Add specific requirements to some traits

* Get rid of illiterate because I cannot figure out how to check if nearby npcs (don't) have the illiterate trait within the eoc structure I've used

* Move from power to recipe

* Change name + more conversion necessary for recipe version

* Add Side Effects

* Apply TheShadowFerret's grammatical fixes

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

* Apply more fixes

* Use mutate_towards instead of add_trait and remove condition requirements for consequence selector

* spelling

* Further shorten consequences eoc

* Make side effects only negative (gameplay or roleplaying-wise)

* adjustment to nyctophobia custom requirements

* Remove ability to intentionally gain negative traits

* Move from mutate_towards

* Squish variable numbers to match lost eocs

* Make ritual doable without light

* Wording changes

* lint

* lint bot #1

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Linting will never end

* Apply grammar / style suggestions

* Fix crash by moving away from u_mutate_towards

* extra space

* Hopefully Make Everything a double space

* triple dots got vaporized by replace all somehow

* Move back to u_mutate_towards

* return to u_add_trait

* misc

* finishing touches

---------

Co-authored-by: TheShadowFerret <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.