[1.18.2] Integration with Apotheosis Adventure Module
WFPhantom opened this issue · 8 comments
Feature description
The new update to 1.18.2 ver of apotheosis ports the deadly (now called adventure) module. It adds many cool features such as affixes and gems. It would be cool if apotheosis gems could be used in the tetra bench. Also converting a tool that has affixes to a tetra tool currently makes it lose the affixes and its name.
How it improves the player experience
Players wouldn't lose affix items, would be able to socket gems into their tools and still use tetra, because killing an apotheosis boss usually drops pretty cool tools which would be even better as tetra tools :)
Tetra synergies
Tetra already has sockets for gems and apotheosis gems add cool effects.
I was briefly thinking about manually adding compatibility for gem socketing before realizing that is far beyond my limited skill set, but this is what I found:
variant:0
is the Parity Gem, which can give apotheosis:draw_speed
or apotheosis:arrow_velocity
and is therefore only ever socketable in bows and crossbows
variant:1
is the Arcane Gem, which can give apotheosis:cold_damage
for weapons or apotheosis:swim_speed
for armor
variant:2
is the Splendor Gem, which only gives apotheosis:luck
(applicable to armor, maybe?)
variant:3
is the Breach Gem, which can give apotheosis:arrow_damage
(bows/crossbows) or apotheosis:attack_damage
(presumably melee weapons)
variant:4
is the Guardian Gem, which only gives armor traits (so won't be relevant until tetra armor releases)
variant:5
is the Chaotic Gem, which is... interesting. It can give mining speed, crit damage, crit chance, speed, or entity gravity. I'm not sure if speed refers to player speed or swing speed, and I have no clue what entity gravity does.
variant:6
is the Necrotic Gem, which can give apotheosis:fire_damage
, minecraft:generic.attack_speed
, or apotheosis:life_steal
(socketable for weapons).
variant:7
is the Mirror Gem, which only gives minecraft:generic.armor_toughness
variant:8
is the Geometric Gem, which can give step height (armor), reach distance (unsure), attack range and attack knockback (weapons).
variant:9
is the Valence Gem, which only gives minecraft:generic.knockback_resistance
and finally, variant:10
is the Endersurge Gem, which can give apotheosis:piercing
or apotheosis:current_hp_damage
(melee weapons).
Each gem has a {modifier:{amount}} that is usually a float, but some values like damage are integers. This determines the value of the modifier given (for example, a splendor gem with {modifier:{amount:3d}} would give +3 luck). They also have lots of other NBT data that I don't understand.
Each gem can only give one stat, which makes things a little easier, I guess.
/apoth is an incredibly useful command, as it can give you example gems with correctly formatted NBT, as well as quite a lot of other stuff.
Hopefully this answers some of the question about NBT!
Entity Gravity affects the gravity on the player. I don’t remember how the positive and negative values work, but in one direction the player will jump higher and fall slower, and in the other the player will have shorter jumps and fall faster. I believe it also affects fall damage but I could be wrong.
I personally feel like the Apotheosis gems don’t really mesh with Tetra that well, because they have randomised stats when you acquire them. That being said, I also have no clue how you’d manually implement them, I’ve personally only ever done custom materials and a few custom sockets but they were difficult to get working and I’m definitely not informed enough to help.
I was coming to the issues tab to request this as well but since you have I'll add my opinions.
I don't think Apotheosis gems should be slotted inside the sockets of tetra tools, but instead be used like apotheosis intends with the smithing table and higher rarities having more slots for gems. The Apotheosis gems add simple stats and aren't as in-depth as Tetra sockets, so in my opinion they should remain separate.
That being said, they should totally be compatible. Converting an item with affixes to a Tetra tool should keep the affixes on the item and still allow Apotheosis gems to be slotted into the item's slots.
Also, if the item has a custom Apotheosis name (e.g. Greg's Fat Sword of Fire or something), Tetra shouldn't override this when you change a module, as I think that ruins the immersion of it.
I agree that apotheosis compat would be cool, there are a few things I need to know to be able to work on this:
What determines if an item can be socketed in a smithing table?
How are the affixes and sockets stored? If nbt, which keys are used for what?
How is the name stored?
I still think it would be cool if the apotheosis gems could be used with normal tetra tools because they add cool stats (although I'm not sure how you'd implement that) for example +10% armor piercing, +10% overheal, etc. As for what determines if an item can be socketed or how affixes are stored, I'm not sure, but here is what apotheosis items look like with tooltips enabled: https://imgur.com/a/aNt42tD
I still think it would be cool if the apotheosis gems could be used with normal tetra tools because they add cool stats (although I'm not sure how you'd implement that) for example +10% armor piercing, +10% overheal, etc. As for what determines if an item can be socketed or how affixes are stored, I'm not sure, but here is what apotheosis items look like with tooltips enabled: https://imgur.com/a/aNt42tD
To add to this: https://imgur.com/a/D32egU3
The first is a bow with affixes, the second is a gem that can be socketed, and the third is a helmet with gems slotted into it. I've also included the formatted text view of each, and a screenshot of the base helmet item for reference. Legendary Tooltips bugged out on the third item, ignore that.
I'm not sure if these shed any light on how names are stored.
Edit: The second line of the tooltip of the helmet is a separate mod that I keep forgetting to disable, it can be ignored.
Some affixes seem like they give number bonuses without a line of description, like the "+43% Arrow Damage", "50% Draw Speed", and "+16% Speed". I don't know if its possible to integrate this with Tetra, but if so it'd be awesome if it could be, because then you can take an already powerful item from Apotheosis and tune it to be what you want and further increase the stats that matter to you inside of Tetra.