Commit Graph

15900 Commits

Author SHA1 Message Date
Crypto City
fdc57b9463 db_lmdb: save space in events table
overlong event text is truncated and ellipses added if necessary
2024-02-07 08:03:46 +00:00
Crypto City
3357c2ce31 cc: fix missing nonce in game update command events 2024-02-07 08:03:46 +00:00
Crypto City
82049e5be0 cc: fix flag gemstone bonuses using player inventory 2024-02-07 08:03:46 +00:00
Crypto City
65b77be690 game: fix double click on flag using previously selected building 2024-02-07 08:03:46 +00:00
Crypto City
e50340da45 named places can now be set to prevent buying land
by the game account

also remove the nonce based id, and rename priority to id,
so places are always enumerated in priority order

the game account now has no limit on places named, so this
can be used for storytelling purposes without having to play
the game competitively with the game account
2024-02-07 08:03:46 +00:00
Lee *!* Clagett
052df1b28c Zero initialize rctSigBase elements 2024-02-06 13:23:10 -05:00
Crypto City
dd3a367adb unit_tests: add an intersection test 2024-02-04 10:45:51 +00:00
Crypto City
978244b4c1 fix new building starting active 2024-02-04 10:45:51 +00:00
Crypto City
bd1b70efd5 cc: guard against possible integer overflow 2024-02-04 10:45:51 +00:00
Crypto City
75f7a79367 cc: bump prestige from fish collection and lightsources 2024-02-04 10:45:51 +00:00
Lee Clagett
98ee46f249 Disable/fix ports with I2P 2024-01-30 13:36:21 -05:00
Lee *!* Clagett
f5b86342e8 Add <cstdint> to aligned test 2024-01-29 21:40:50 -05:00
jeffro256
dfb990e8bb
wallet: mitigate statistical dependence for decoy selection within rings
Since we are required to check for uniqueness of decoy picks within any given
ring, and since some decoy picks may fail due to unlock time or malformed EC points,
the wallet2 decoy selection code was building up a larger than needed *unique* set of
decoys for each ring according to a certain distribution *without replacement*. After
filtering out the outputs that it couldn't use, it chooses from the remaining decoys
uniformly random *without replacement*.

The problem with this is that the picks later in the picking process are not independent
from the picks earlier in the picking process, and the later picks do not follow the
intended decoy distribution as closely as the earlier picks. To understand this
intuitively, imagine that you have 1023 marbles. You label 512 marbles with the letter A,
label 256 with the letter B, so on and so forth, finally labelling one marble with the
letter J. You put them all into a bag, shake it well, and pick 8 marbles from the bag,
but everytime you pick a marble of a certain letter, you remove all the other marbles
from that bag with the same letter. That very first pick, the odds of picking a certain
marble are exactly how you would expect: you are twice as likely to pick A as you are B,
twice as likely to pick B as you are C, etc. However, on the second pick, the odds of
getting the first pick are 0%, and the chances for everything else is higher. As you go
down the line, your picked marbles will have letters that are increasingly more unlikely
to pick if you hadn't remove the other marbles. In other words, the distribution of the
later marbles will be more "skewed" in comparison to your original distribution of marbles.

In Monero's decoy selection, this same statistical effect applies. It is not as dramatic
since the distribution is not so steep, and we have more unique values to choose from,
but the effect *is* measureable. Because of the protocol rules, we cannot have duplicate
ring members, so unless that restriction is removed, we will never have perfectly
independent picking. However, since the earlier picks are less affected by this
statistical effect, the workaround that this commit offers is to store the order that
the outputs were picked and commit to this order after fetching output information over RPC.
2024-01-19 13:31:15 -06:00
luigi1111
8eab181fe1
Merge pull request #9080
47d8899 Fix missing checks for IsObject in ZMQ jsonrpc reading (Lee Clagett)
2024-01-18 18:03:43 -05:00
luigi1111
9a70f43440
Merge pull request #9053
fe746dc Fix EAGAIN bug in ZMQ-RPC/ZMQ-PUB (Lee *!* Clagett)
2024-01-18 17:57:54 -05:00
Crypto City
5e70882298 game: allow script-choice://N uri scheme for script choices
allows more freedom in creating a custom script ui
2024-01-07 16:21:36 +00:00
Crypto City
ac583e7a40 add a break news command 2024-01-07 16:21:36 +00:00
Crypto City
efe7623567 fix a few warnings 2023-12-19 12:06:48 +00:00
Crypto City
6dfaf7ec22 add -Wno-string-compare to avoid false positive spam in typeinfo 2023-12-19 12:06:48 +00:00
Crypto City
1f8994d0a8 remove some fork conditionals in preparation for next testnet 2023-12-19 12:06:48 +00:00
Crypto City
6b49171ec1 increase coin minting/smelting fees 2023-12-19 12:06:47 +00:00
Crypto City
64ed4ed7a6 game: disable repair all and fight fire buttons in player screen as needed 2023-12-17 15:09:38 +00:00
Crypto City
faec973079 functional_tests: testing parsing a script using every feature 2023-12-17 13:32:56 +00:00
Crypto City
ab9c1c0b58 game: add extra "gold" and "item" replacements in script text 2023-12-17 13:32:56 +00:00
Crypto City
062f8610e0 hide script choices disabled by unmet reserves in game 2023-12-17 13:32:56 +00:00
Crypto City
69af2630f1 game: fix scripts screen not updating after mining a choice command 2023-12-14 17:22:56 +00:00
Crypto City
e1e0d32fbf game: fix variable processing in script output after switch to HTML 2023-12-14 17:22:56 +00:00
Crypto City
9fb73e7aeb game: warn when adding a script with no icon 2023-12-14 17:22:56 +00:00
Crypto City
9f86f590ee game: better delineation between storyline/technical/building scripts
when adding scripts
2023-12-14 17:22:56 +00:00
Crypto City
cddca6d567 game: change wording in advice screen 2023-12-14 17:22:56 +00:00
Crypto City
f10b81d27e allow scripts to refer to others by name 2023-12-14 17:22:56 +00:00
Crypto City
3372880ed3 new "times played script X" and "times played this script" operands
this is a common need, and avoids the wasteful and error prone use
of a player variable per script
2023-12-14 17:22:55 +00:00
Crypto City
eb55af8933 cc: fix restore bug with background scripts 2023-12-14 11:38:32 +00:00
Crypto City
501a6ba0c7 game: add a "a minute a day" tutorial 2023-12-14 11:38:32 +00:00
Crypto City
ca6da423d6 allow compound strings in scripts (using "" + "" syntax) in some places 2023-12-14 11:38:32 +00:00
Crypto City
5ef5ee1e4c game: explicitely remove avatar on wallet change or game exit 2023-12-08 21:13:24 +00:00
Crypto City
6055f7a619 game: add a "come back tomorrow" entry to the what can i do screen 2023-12-08 21:13:24 +00:00
Crypto City
e5c3b94450 cc: tweak land tax decrease with town level 2023-12-08 21:13:24 +00:00
Crypto City
514550fa68 badges can now be automatically awarded based on a player variable 2023-12-08 21:13:24 +00:00
Crypto City
93c5179c88 factor script effect apply/revert 2023-12-08 21:13:24 +00:00
Crypto City
c9d97af3ea allow selecting where a fire starts in a script 2023-12-08 21:13:24 +00:00
Crypto City
5e769467d4 serialization: add 5-tuple serialization 2023-12-08 21:13:24 +00:00
Crypto City
983b0707a8 move fire special event from weather to misc 2023-12-08 21:13:24 +00:00
Crypto City
6983e3032a special events can now be started/stopped from scripts 2023-12-08 21:13:24 +00:00
Crypto City
1c6e8eec6f store full special event duration, not just number of game updates 2023-11-30 17:11:43 +00:00
Crypto City
0cbcee10f3 game: improve intro
rework "arrival" intro image (the mountains are now actual mountains)
fix small blotches of color in last image
add music
tweak text
2023-11-30 17:11:43 +00:00
Crypto City
bfbacb60aa game: save sent messages in the wallet cache
in addition to received messages
2023-11-30 17:11:43 +00:00
Crypto City
86febe9a62 prevent a wallet creating an account while still auctioning one 2023-11-30 17:11:43 +00:00
Crypto City
8b40c9d1bd game: insert smilies at the cursor position in chat 2023-11-30 17:11:43 +00:00
Crypto City
662c70c3f1 increase inactivity detection threshold 2023-11-30 17:11:43 +00:00