Squashed commit:
[7d0ff84f5] more readme changes... i can't stop...
[8259163dc] added new removers for parity with getters, altered conditional logic
[d1db0e4a2] added getter/remover section
[0bec38d51] misc fixes
[614df9883] adding test for stack removal, fix to stack removal logic
[77149aaaf] third readme edit, buff module docstring edit, tweak to modgen samplebuff
[ca992fd1c] editing buff section of readme
[f33eec3d8] first edit of readme
Squashed commit:
[da8f778e1] fixed issue with buff instancing saving previous cache information
[50e381135] fixing clear to use new private method
[523196876] added new removal methods, spun boilerplate into private method
[ab2fe7a1b] misc
[4a2c2e887] added get_by_cachevalue, for arbitrary cache value comparison
[4e9199fd9] fix expired property
[cc6411eb2] added option to trigger buffs at the same time you check them
[eb112c12f] added get_by_source method to slice cache by source
[5d880d4f9] added "clear" method to remove all buffs
[49997e724] extended "expired" logic to include buffs with no stacks
[7ef357ade] docstring fixes
[306801d02] Added a little docstring bit for disconnecting autopause from signals and moving it to object puppet hooks
[7a120a2f8] fixed the sample buff for poison to demonstrate how playtime buff pause hooks happen (as at_pause fires after the object is moved to None, you can't message the None-room's contents)
[ada4457d1] made the pause variable assignments more verbose
[d64369908] nomenclature change: uid -> buffkey
[e5dd9a352] fixing places where the handler property name change from "db" to "buffcache" broke stuff on the buff class
[553d12b4b] lots of docstring updates and comments; also made conditional hook work with ticking
[b8d79583f] ran black autoformatter
[d5550f331] changing all the default dictionary assignments to None instead
[88c9a4889] sample buff of stat customizer
[72323a19e] added sample buff which allows stat customization, and unit test to cover it
[02453a79f] adding procgen ids for non-unique, non-refresh (ie, each time the buff is applied, it is as a full instance with a separate key)
[c72e5f2d7] added to_filter argument to slice methods, letting you slice an arbitrary dictionary as well as the main cache
[d8996f3a3] stress test for batch read/trigger
[f06f74463] last bit of cacheing, docstring update
[538afc676] fixing tests to not use __getattr__ on the handler
[905cfd6bb] removing __getattr__
[e588742ea] hooking caching into the buff instancing process
[7555ebae9] added method to instance entire cache, refactored dict-comprehension properties to use new method. should be more efficient?
[45f15fc46] fix to reapply logic; stacking and old cache
[d2460c9e6] docstring support for to_cache arg
[62f3f27d8] added to_cache arg for buff application, allows you to store arbitrary info in the buff cache
[6c2046497] general cleanup
[357945459] forgot to finish the mod for the "sated" moodlet sample buff
[b4b3ac48a] clamp minimum multiplier to 0
[da3e67fa6] allowing multiple stacks, cruft cleanup
[62110fd00] sample buffs
[77f6a56e8] fixing tests to work with new naming
[a9202f67c] misc cleanup
[887d9734b] allow infinite stacks
[887fb4b29] change duration setter
[da4277e2c] add at_pre_check
[6009469bc] fix pickling errors with handler properties
[89a2d02ee] allo ticking buffs to autopause
[a77bded93] fix flavor return
[60fcaa36f] swapping on_ to at_ for hooks to match evennia style
[130e600ea] import cleanup