[Feature] Evolving Item Support for RoF2#4496
Conversation
|
Can't wait to try this out :D |
|
So Excited, Neckkola dropping the big features! |
There was a problem hiding this comment.
Is the sql for this table missing from the update manifest?
There was a problem hiding this comment.
It is missing at the moment as it will likely be a content table, and will be loaded that way.
|
Hi. Can't wait to try this. Will evolved items work on bots? Or is it limited to clients only? |
f569ba3 to
82b1b36
Compare
|
Updated based on review comments. Going to run through some tests |
How'd testing go. Are you ready for merge? |
Were you able to test this on bots? Curious if they'll evolve while equipped. ty! |
82b1b36 to
ffc964b
Compare
|
Good afternoon Update the items_evolving_details table to the content_db, and provided a sql in utils to populate. It only has two items with evolving details though all items flagged as evolving are present. As more detail is known, it can be easily updated and activated. Some cleanup as well. I need to create the documentation next. I believe that the other comments are complete. |
|
Documentation has been updated. |
|
Looking to get this one merged in this week |
ffc964b to
d84918d
Compare
Updates to resolve review comments and a rebase.
migrate to content_db for items_evolving_details
e11949e to
f3b4e48
Compare
Fix empty faction search results
* basic evolving items framework created * Implement evolving tab in the inventory window * Implement experience and number of kills * Move zone evolving map to a evolvingitemsmanager class * rework gm commands * rework GetInventory * wip * wip loot testing * Fix Duplicate Message * reworked evolving item looting, swapping, etc * reworked const functions for evolving methods * Functioning Player Trade of evolving items test item_id is 89550 * First pass of Final Result link working * First pass of item upgrading when reaching 100% * Add strings and logic for displaying the evolving item xp transfer window in Corathus * Prototype of xp transfer window sending items * WIP for evolve xp transfer * WIP for evolve xp transfer. First tests passed * XP Transfer Cleanup * XP Transfer Cleanup * Add Rule for evolving items equip timer/ default is 30 secs * Add logging and player events Add logging and player events * Formatting * Database updates * Updates for linux build * Perl/Cleanup * Command cleanup * Lua * Added a crash condition check if final item id is blank or not found. * Review Changes Updates to resolve review comments and a rebase. * migrate to content_db for items_evolving_details migrate to content_db for items_evolving_details * Simplify, don't hit database unless evolving * Update 2025_01_19_items_evolving_details.sql * Update client.cpp * Update manifest with items_evolving_details * character_id vs char_id * Remove _Struct from structs * Remove license header in evolving.cpp * Move evolving constants from eq_constants.h to evolving.h since it is more specific * Update database_schema.h * General cleanup * Be more specific with `evolving_items` vs `evolving` --------- Co-authored-by: Kinglykrab <kinglykrab@gmail.com> Co-authored-by: Akkadius <akkadius1@gmail.com>



Description
Provides evolving item support for the RoF2 Client. This is draft only at this time.
What it requires:

At the moment, a content table is required for the current design. A table 'items_evolving_details' is required with the following sql
This table contains the evolving criteria for each item as described here:
Details are in namespace EvolvingItems::Types and SubTypes.
Logic is in Client::ProcessEvolvingItem
Here is my test table with two items:

What it does:
Outstanding:
Perl
$item->AddEvolveAmount(amount).$item->GetAugmentEvolveUniqueID(slot_id).$item->GetEvolveActivated().$item->GetEvolveAmount().$item->GetEvolveCharacterID().$item->GetEvolveEquipped().$item->GetEvolveFinalItemID().$item->GetEvolveItemID().$item->GetEvolveLevel().$item->GetEvolveLoreID().$item->GetEvolveProgression().$item->GetEvolveUniqueID().$item->IsEvolving().$item->SetEvolveAmount(amount).$item->SetEvolveProgression(amount).Perl Example
Lua
item:AddEvolveAmount(amount).item:GetAugmentEvolveUniqueID(slot_id).item:GetEvolveActivated().item:GetEvolveAmount().item:GetEvolveCharacterID().item:GetEvolveEquipped().item:GetEvolveFinalItemID().item:GetEvolveItemID().item:GetEvolveLevel().item:GetEvolveLoreID().item:GetEvolveProgression().item:GetEvolveUniqueID().item:IsEvolving().item:SetEvolveAmount(amount).item:SetEvolveProgression(amount).Lua Example
Type of change
Testing
I have tested with RoF2 in various forms. Would appreciate others' testing results.
Clients tested:
RoF2
Checklist