Tetra

Tetra

12M Downloads

Feature Request: Sockets

Deshiba opened this issue ยท 7 comments

commented

Feature Request

Feature description
Socket slots on the modular weapons and tools that house gems that hold the enchantments.

How it improves the player experience
This would make the enchanting clearer as you'd have 1 spot per tool where the enchantments are. It would also open up options for tool and enchantment interaction

Tetra synergies
Sockets would fit right in with tetra's modular design. These could be added to already existing tools, the pommel of a sword and the binding of a multi-tool for example.

It would also give another purpose to geodes as the gems to enchant and place in sockets could be found trough cracking them open.

commented

Optional;

Gems could be attuned to elements in the classical western scheme
Ruby [fire/red]: Fire aspect (sword) & Auto-smelt (multi-tool). Possibly Flame (bow) & Fire protection (armor)
Sapphire [water/blue]: Aqua affinity (multi-tool). Possibly respiration (helmet) , Depth strider (boots)
Emerald [earth/green]: Durability (all)
Topaz [wind/Yellow]: Knockback (sword), Haste (multi-tool). Possibly feather falling (boots)

Enchantments could be put on these gems in the work table. Stuff like mending, efficiency, looting etc.

commented

Optional;

Hot swappable gem-sockets. Sockets where you could hot swap gems out in the field. because sometimes you just want silk touch and others you want fortune. Could come with an XP cost for each swap.

commented

I really like the idea of sockets in minor module slots because:

  • it has the potential to look visually pleasing and to set the look of the tool/weapon apart
  • it's a fitting use of diamonds and emerals
  • additional gems could be added that would drop from the geode
  • sometimes geodes could drop pristine gems, which would yield improved stats
  • they could provide unique, magical abilities and effects, at the cost of some xp when crafted
  • gems (diamonds and emerals) are somewhat rare and the socket could have significant impact
  • preparing for battle or actions (like swapping the gems) sound like a fun mechanic
  • I really like the idea of elemental gems (we just need to get diamond in there somehow as well, perhaps wind?)

I want tetra to interact with vanilla mechanics as far as possible and would prefer it they provided unique effects rather than doing the same thing as enchantments

commented

I feel like we're on the same page here, thanks for the feedback.

About those effects. Vanilla enchantments take up a big chunk of standard possibilities. There's only a small window of possibilities that would allow for meaningful effects without being niche. For example, an effect like over time regeneration out of combat. This would take up the same space as mending for repairing tools and will either always be stronger or weaker resulting in people probably taking something else in there. So taking that in account I can see a couple of holes in vanilla that tetra could fill.

  • On-hit debuffs to enemies. (weakness, slowness, poison, blindness, etc.)
    • The only vanilla enchantments that do something like this are flame/fire aspect and punch/knockback
  • Raw stat boosts to tools/weapons.
    • Fire for damage, Earth for durability, Wind for attack speed, Water for integrity
  • Raw stat boosts to players
  • Special abilities
    • Effects like siphoning (life stealing and other general statistic theft)
    • Ramp-up effects (where the more you preform an action consecutively the faster it goes up to a cap)
    • Charge-up effects (where you charge up a tool and release to get an increased effect)
    • Bonus storing effects (where a bar gets filled when you preform an action and an additional effect gets triggered once it's full up, this could be effects like haste I etc.)
commented

Added some sockets in 0.28.0, they have to be toggled on in the config (B:experimentalSockets=true). They are only decorative but they are there :).

Regarding providing unique effects, I like effects like "over time regeneration out of combat". I does recover item durability over time but in a different manner than mending, making it fit for other situations. What I would like to avoid is choices like "Should I spend 1 diamond for mending, or should I spend (possibly) hours getting a mending book?", as in that case you would go with the tetra (1 diamond) alternative every time.

I've got some plans for ramp-up effects in the backlog, perhaps this is where we put it in!

commented

The problem with over time regeneration of tools is that it it's a balance tightrope. Mending takes up XP in order to repair. So then regeneration should have a cost too in order to not replace it. If the cost is XP here then the possibility of draining levels arises, which is something that might confuse players. "wasn't I level 30 before, where'd my 3 levels go?" To get around that a different cost could be considered.

  • Raw materials in the inventory could be consumed for a temporary over time effect (this would turn it into auto repair (this also has a similar drawback, "where'd my materials go?"))
  • It could be a temporary ramp up effect on use, the longer the use the stronger the repair factor.

I'd personally be in favor of the latter as that would make for a more versatile system which also works with possible enhancements of the effect trough honing. Something like below could work;

"On x uses, grant factor y/y.I/y.II/y.III [boon] for z ticks/seconds"

To put that into effect would look something like

"On 100 uses, give [Recovery I] for 1000 seconds."
"On 73 uses, give [Recovery III] for 730 seconds."

This is configurable in several ways;

  • The ratio between tool uses and effect duration could be governed by honing or ramp-up
  • The amount recovery level could be governed by honing or ramp-up
  • The tool recovery effect could be implemented different ways
    • A % chance to repair per X seconds, where the seconds required decreases per level
    • A % chance to repair per X seconds, where the percentage increases per level
    • A # repair per X seconds, where the seconds required decreases per level
    • A # repair per X seconds, where the number increases per level

It would be usable for all effects, increasing swing speed, increasing damage, etc. Nothing in here is actually new though, there's other mods that do similar things. Like TiCon;

  • Ecological: 1% chance every second to restore 1 durability. 1% chance on use to deal armor-piercing damage to the wearer.
  • Momentum: When tool is used, increases tool's mining speed up to 40%. Momentum is lost when tool stops being used.
commented

I rounded up a few effects which where:

  • somewhat interesting
  • easy to implement
  • works for both weapons and tools

And I added them as effects for the sockets, also removed the experimental flag so the sockets are on by default.

  • emerald: critical strike - chance to deal double damage when hitting entities and to instantly break mined blocks
  • diamond: increases durability, durability gained is increased for items with low durability, also slightly increases efficiency for all tools
  • lapiz: intuit - grants honing progress when the player breaks blocks or kills entities that drop xp

It's available in 0.33.0, feel free to try it out!

This is what remains on my backlog for this iteration:

  • add pristine items classes for gems
  • add pristine gems to oredict (as regular gems)
  • add modules for pristine gems
  • add schema outcomes for pristine gems
  • add slightly different textures for pristine gems
  • add xp cost field to OutcomeDefinition
  • add xp cost method to schemas
  • add xp cost display to schema detail, tint if not enough xp is available
  • check that xp cost is met (in the same place as we check capabilities)
  • deduct experience when craft if consumeMaterials