1901 Commits

Author SHA1 Message Date
Aaron Suen
2270f84336 Unique per-player default skin
Colorize player clothes based on a hash of player
name.  This should make it easier to distinguish
players from each other even when you can't see
their names, by remembering clothing colors.

Unfortunately there's no good way currently to
prevent some ugly color combinations, which may
risk incentivizing players to mess with their name
until they get a combination they like, creating a
bunch of junk accounts.  Making colors never
clash (i.e. always matching or complementary
hues) would reduce the variation in colorations,
causing more player color collisions.

Finding a way to ensure colors are "pretty" but
still having enough variation to give each player
name a unique color scheme would be ideal.  Also
there's room for more variations, e.g. adding some
stripes, patterns, emblems, etc. that can be
colorized separately, ideally something visible
from every angle.
2021-02-28 14:09:29 -05:00
Aaron Suen
15fd56f954 Re-remove old JSON metadata 2021-02-28 08:27:21 -05:00
Aaron Suen
4ef1d9b04a Oops, wrong type 2021-02-28 08:18:09 -05:00
Aaron Suen
f91178f96b Rebuild package metadata from template
Consolidate back into .cdbrelease.lua, and fix any
typos or field name issues for new stricter
cdbrelease option parsing.
2021-02-28 08:15:15 -05:00
Aaron Suen
205f264ae6 Fix one more field name 2021-02-27 18:58:42 -05:00
Aaron Suen
92d9926349 Add player_effects tag
The changes in player mobility are notable enough
that it warrants this tag, according to its
description in CDB.
2021-02-27 11:50:26 -05:00
Aaron Suen
3720bba890 Fix license specifiers 2021-02-27 10:13:42 -05:00
Aaron Suen
0ccf932c11 JSON typo 2021-02-27 10:07:06 -05:00
Aaron Suen
efdf54d301 Migrate CDB metadata to new cdbrelease format
- Move static stuff into .cdb.json
- Use new official API key names
2021-02-27 10:01:03 -05:00
Aaron Suen
a7a4a0f614 Move min version metadata into game.conf
CDB will now support this and not manually
passing it at release time.
2021-02-27 08:27:41 -05:00
Aaron Suen
c020726ae6 Fix lens flicker
Lenses won't transition directly from active to
shining, which only happens in flicker scenarios
2021-02-27 08:05:53 -05:00
Aaron Suen
d60d0041cc More bugs reported 2021-02-27 07:51:17 -05:00
Aaron Suen
05f43d6dd6 Officially drop 5.2 support
5.4 has been released, so we now support
only 5.3 and 5.4 (and hypothetical future
versions).
2021-02-26 09:42:33 -05:00
Aaron Suen
32a5f30565 Merge in personal notes 2021-02-26 09:01:54 -05:00
Aaron Suen
c85ad5d662 Compat hack for 5.3- use_texture_alpha. 2021-02-07 13:33:58 -05:00
Aaron Suen
dabf8ac697 Fix node registration alpha for 5.4+ 2021-02-07 12:40:10 -05:00
Aaron Suen
d348b04668 Fix torch AISM bugs
Torches being inert when not wielded
- Not snuffing in water
- Not getting ashy as they approach expiry
2021-02-03 22:02:30 -05:00
Aaron Suen
36981fe24a Clean up oudated client rejection
- Be more specific in messages
- Show fewer messages to in-game players; hide
  the outdated player's join/leave messages and
  collapse all info into the kick message.
2021-01-03 08:57:39 -05:00
Aaron Suen
8e5428cedf Fix lux infusion
Tables containing lists of items to register AISMs
for are broken out into indexes at the time of
registration, so if we delay building the lists, we
need to delay registering the AISMs.  Luckily
AISMs can be registered later at runtime.
2021-01-03 08:56:47 -05:00
Aaron Suen
3548dc9c12 Fix loose humus repose bug 2020-12-31 09:51:29 -05:00
Aaron Suen
e1dc632779 New lux tool infusion API
- Split infusion logic from tool registration
  so tools aren't depending on sharing local
  tables with infusion logic.
- Use alternative_lux_* fields on tool item
  registrations to control how lux infusion and
  boost/unboost applies to tools.
- It should now be possible to register tools
  independently that can tap into lux infusion
  and boost features.
- It should now be possible to make tools
  boostable, unboostable, and infusable all
  independently, so they don't need to support
  all those actions, and they don't need to
  round-trip from e.g. a boost/unboost operation.
- We no longer depend on a naming convention
  for boost/unboost pairs (though in practice we
  follow it in the core game, but mods are not
  required to).
2020-12-28 20:54:57 -05:00
Aaron Suen
aae1ed78bb Support unboostable infused tools
Just make sure the boost/unboosted item is
actually registered before trying to overwrite
the stack.
2020-12-28 00:31:51 -05:00
Aaron Suen
8456899bad Update notes/issues 2020-11-28 20:09:25 -05:00
Aaron Suen
dde05141d0 Make wet concrete transmit light
While I'd like these to be opaque, The MT
engine unfortunately does not allow this
without introducing dark shadows inside the
node the fluid occupies, which is evident if
flowing opaque liquid is up against the side
of a container.
2020-11-28 20:02:42 -05:00
Aaron Suen
0e507a6646 Minor translation update 2020-11-28 20:00:00 -05:00
Aaron Suen
e05de5647f Update ideas 2020-11-07 07:19:53 -05:00
Aaron Suen
7f011b9025 Get rid of all [REMOVED] in translations
The use of [REMOVED] was originally intended to
keep translations of past strings when removed, so if
they were re-added later we could revive the
translations without relying on Weblate to keep them
for us, i.e. we should be able to regenerate Weblate
state (including hidden strings) from this repo.

Since we are now committing copies of the raw
weblate files, we should be able to revive anything
we need from git history anyway.

So far it looks like Weblate does not automatically
remove translation strings from target languages
when the source language is changed.  If this
becomes an issue later then we can scrape the git
repo history to reconstruct lost strings at that time.

This also cleans up some translations that were being
mistakenly included in the final compiled output
despite being removed, because we weren't
correctly filtering out [REMOVED] strings after the
punctuation was added to silence Weblate warnings.
2020-10-18 11:55:23 -04:00
Aaron Suen
dc912f776c Make sure all things have explicit descriptions
This avoids issues with the translation informer
including technical names in the translation source
2020-10-18 11:50:04 -04:00
Aaron Suen
2856398c08 Support auth in weblate pull
There are strict rate limits for anon users.  If an auth
token is available, use it to avoid those limits.
2020-10-18 11:38:57 -04:00
Aaron Suen
b3af182427 Prevent a door item destruction bug
If two stacks try to move into the same spot at the
same time, both will be placed there and one will
overwrite the other; instead, we should do a check for
the "head" of a moving item chain (the only one that
can be moving into a space not being vacated by
another) and block collisions.
2020-10-15 20:04:01 -04:00
Aaron Suen
40d915141b Restore some missing translation strings 2020-10-05 22:12:27 -04:00
Aaron Suen
b4f3ffccfb Fix some translation registration issues 2020-10-05 22:10:47 -04:00
Aaron Suen
08be3a497e Hint wording tweak 2020-10-05 22:01:18 -04:00
Aaron Suen
9bb5c23c39 Fix silk touch when digging by machine 2020-10-05 21:34:28 -04:00
Aaron Suen
12f7419d84 Guard against crash on invalid ent state
Somehow an ent can get into a state where
it needs to set velocity but doesn't know what
velocity to set; velocities are transient
phenomena anyway, so just ignore this.
2020-10-04 08:20:05 -04:00
Aaron Suen
42d4cef19b Log splitting relaxations
- Allow splitting "upside down" logs.
- Allow splitting logs from the bottom using at least lode-tier
  tools (allowing automation options).
2020-09-30 06:38:46 -04:00
Aaron Suen
a83e2e9e25 New door automation hints 2020-09-29 23:27:41 -04:00
Aaron Suen
16641ff3e9 Fixed door pummel/dig handling
- Use catapult infrastructure instead
- Checks for storebox open sides
- All manual tests passed
2020-09-29 22:54:28 -04:00
Aaron Suen
15282c88a7 Initial working door digging/pummeling 2020-09-29 22:44:09 -04:00
Aaron Suen
6b3e5f21a1 Allow custom toolgroups for craft check 2020-09-29 22:39:55 -04:00
Aaron Suen
7cbd681d54 Fix issues with dig-by-mod
Crashes when a non-player digs a node, i.e.
having mod automation perform a dig_node()
2020-09-29 22:39:06 -04:00
Aaron Suen
8bb999f631 Make sure stack fits in target box 2020-09-29 22:27:05 -04:00
Aaron Suen
a78bf0ea2a "Lazy" crafting API
Instead of checking for and immediately
completing a craft, the API can be told to
search for a recipe and return a function that
can be used to commit it later.  This way,
we can search for a valid recipe during the
"check" phase of a craft check and then
commit it during the "after" phase.
2020-09-29 21:44:26 -04:00
Aaron Suen
a63b38f72a Press injecting into storeboxes 2020-09-29 21:28:34 -04:00
Aaron Suen
9a23e1f65f Separate press/catapult code 2020-09-29 21:13:31 -04:00
Aaron Suen
ed2cfc18a1 Register capabilities for tool heads
This allows tool heads to be used in crafting,
esp. presscraft.  Note that certain tiers do not
have tool heads, like stone and infused.
2020-09-29 21:10:26 -04:00
Aaron Suen
e776723a3f Code format 2020-09-29 20:52:31 -04:00
Aaron Suen
502192b6ab Presses can eject items out of shelves 2020-09-29 20:52:18 -04:00
Aaron Suen
bca338246c Tweak rad hud math again
Use an exponential scale for alpha intensity so
subtler shading gets narrower gradations
2020-09-28 23:07:43 -04:00
Aaron Suen
d1134a1e42 Quick "cheat" codes for fire management 2020-09-28 22:17:22 -04:00