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

Merge #6

Merged
merged 541 commits into from
Jun 24, 2019
Merged

Merge #6

merged 541 commits into from
Jun 24, 2019

Conversation

eilaattwood
Copy link
Owner

Summary

Purpose of change

Describe the solution

Describe alternatives you've considered

Additional context

egorzaderiy and others added 30 commits June 19, 2019 09:19
* Photos expansion: selfie photos include more features

* Photos expansion: allow monsters to have extended photo descriptions.

* Camera expansion: refactor of iuse::camera, allow more than one figure in photo.

* Photos expansion: allow photos of any point; more refactoring

* Photos expansion: npc/creature effects

* Photos expansion: include unusual terrain in photo.

* Photos expansion: fields and traps

* Photos expansion: more refactoring, create method for enumerating objects around point.

* Photos expansion: minor bug fix, extend description of field effects.

* Photos expansion: include time of day, outside/inside status, overmap name. Refactor long effects_description_for_creature method.

* Photos expansion: can view photos on e-ink, make all creatures in photo blinded, save all monsters in photo to memory

* Photos expansion: do not capture items inside of SEALABLE and CONTAINER furniture. Added "balancing" pose.

* Photos expansion: correctly remove object at aim_point from list of nearby object, for cases when no creature in photo area.

* Photos expansion: support for riding states. Fixed not being able to update quality in monster collection.
This requires a version of clang-tidy that supports plugins, which the
regular clang-tidy does not.
This was previously working for my local LLVM build.  Now I want it to
work on Travis, so I have prepared a release of clang-tidy that's
suitable to run there, and set it up to work with either version.
To find non-standard check_clang_tidy.py, was previously using an
environment variable.  Switch to a CMake option instead, so that it's
not necessary to set the env var wherever you run the plugins tests.
colony has a better memory layout and faster random access than
the previous std::list while mantaining pointer/iterator
stability
The goal here is to remove all raw indexes to items on the map
or in vehicles as indexes to colonies are unstable while pointers
and iterators are stable.

In this commit ACT_MOVE_ITEMS, ACT_PICKUP, and ACT_WEAR were
refactored to use item_location with significant code cleanup.
Notably `Pickup::pick_up()` now uses item_stack iterators instead of
indexes since the previous hack proved to be too fragile.

Since items are now stored unordered on the map, the order of items
displayed in the pickup ui is now sorted using `item::operator<()`
Indexes to a colony are not stable through insertion/erasure
and should be avoided for everything except serialization
Indexes to colonies are unstable and everything has now been converted
to use iterators and pointers.

Also fixed a few minor style issues and typos.
"front" no longer makes sense since items in a colony are unordered.

The new function gives a debug message if there is not exactly one item
at the location.

Also fixed a few bugs caused by previous refactoring and caught in
code review
Rewrite the item management of the the invlet test to use an item
unique id hack to make it more robust and functional now that items on
the map are unordered.

Note: this test seems to have been giving false positives since #30603
was merged, since the AUTO_INV_ASSIGN option was not being properly
set.  This only became apparent after implementing the more robust
item management code with unique ids.

This also fixes a few remaing calls in the tests to a removed vehicle
function which still compiled due to implicit conversion of 0 to a pointer.
Previously we would not flag uses of long if cv-qualified or a reference
type.  Now we will.
DemAvalon and others added 29 commits June 22, 2019 19:19
* move lw guns out of military itemgroups

* move lw magazines out of military itemgroups

* remove fictional weapons from professions
* avoid confusion.

* Update seed.json
* Treat inventory more like map in AIM

In advanced inventory, when handling a stack from a character inventory,
it was stored only as a pointer-to-first-item-and-count.  Store it
instead as a list-of-item-pointers.  This provides more consistency in
rendering between inventory and map items.  In particular, cash cards
were previously rendering differently.

* Add item::is_money()

After the recent change to allow multiple ammo types, cash cards needed
different code to identify them as such.  This check was happening in
many places, some of which were updated, but not all.

Add a new function item::is_money() to make factor out this logic and
use it in all the places.

This fixes various issues related to cash cards like them not stacking
any more or strange messages when you pick them up.

* Add tests for cash card stacking
Add installable gunmods to provide slots for other gunmods
Edited the formulas to determine pickaxe dig time
Fix martial arts buff duration and intensity stacking
* Templatize shift_bitset_cache

* Establish and use a bitset cache for which submaps contain active fields
Make "Skin corpses" correctly identified.
and little typesetting.
It will cause the game to crash when this condition is met
Fix game crashes when full butchery
* Support non-const containers in random_entry_opt

Want to get a non-const pointer out when providing a non-const
container.

Take advantage of C++14 trailing return types to make this easier to
write.

* Add tests for random_entry_opt
* Have inventory_entry contain list of locations

inventory_entry represents an entry on the inventory UI.  Such an entry
can represent multiple items, but inventory_entry only contained a
single item_location.

This led to a hack where item_locations started to contain multiple
items.

That seems like the wrong place for this change.

Instead, we allow inventory_entry to contain multiple item_locations.
The only purpose for the extra locations currently is for correctly
handling stacked cash cards.

* Remove support for multiple items in item_location

Having support for multiple items in an item_location is problematic for
multiple reasons.  Most prominently: it isn't serialized correctly, so
it is dangerous to use.

It was only being used for the inventory UI; we don't want to add that
complexity to item_locations just for that.  Now it's not being used for
that we can rip it out.

* Try to work around clang warning
* Use the correct Boolean value to confirm the food.

The old judgment will treat all "FOOD" as a drink.
Fix a missing symbol for  "Skin corpses"
…31770)

* Fix spelling errors

Fix spelling errors "elecricity"

*  changed it back cause it is a misunderstanding

 The last revision was a misunderstanding, so I changed it back.

* Update data/mods/Magiclysm/Spells/stormshaper.json

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

* Different from"Light"(Verb.)

The action of "Light"(Verb.) a candle or some fire source is also "Light".
This is difficult to translate unless the context is increased.
* A couple of new band t-shirts.

* Update armor.json
* Egg cracking recipe

* Owlbear items spawn in Magic locations

Chances of any Owlbear item spawning are about the same as any other individual magic_shop_potions item. Numbers could be bumped up more to increase visibility and increase the chances of !!FUN!! from an enraged Owlbear hatching in a shop.

Also fixed a few small errors in mana_crystals.json
* add new spell flags

* add sound at spell location

* add spell flags to flags.json

* add flags to animist spells

* add flags to biomancer spells

* add flags to classless spells

* add flags to druid spells

* add flags to earthshaper spells

* add flags to kelvinist spells

* add flags to magus spells

* add flags to stormshaper spells

* add flags to technomancer spells
* Fixed tools for use with UPS

Addec calls to units_sufficient for everything I could find in iuse and iuse_actor that could potentially use batteries.

* Removed unnecessary ammo_sufficient calls
* separate .270 from .30-06

* add .270 Winchester Remington 700

* obsolete old .270 recipe
Suppress warnings when loading old save with obsolete recipe list
@eilaattwood eilaattwood merged commit 9de9a42 into eilaattwood:master Jun 24, 2019
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.