Re: Last Epoch Save Editor
Posted: Sat Mar 09, 2024 5:39 pm
Guys, I would like to understand something, but the save editor and the Mod are only for the offline version, right?
Community Cheat Tables of Cheat Engine
https://fearlessrevolution.com/
Hey man, I just wanted to say thank you. This was exactly what I needed. I was able to dump all the affix roll ranges, then figured out that the byte holding the tier value is also range mapped on 0-100, using those, I was able to calculate the rolls on the individual affixes.
No worries, glad to help. The items are a bit straightforward, especially the affixes. What's a bit more strange would be the unique rolls, which are not treated as affixes like in other games but are a totally different (but still similar) class. It also follows the same logic (it gets rolled from 0-255 times, etc), but is closer in concept to implicit rolls. The _number_ of rolls are stored in an array of bytes (0-255) which are then subsequently mapped into another array of actual stats. Code-wise, looks like so:Rukongai wrote: ↑Mon Mar 11, 2024 3:47 amHey man, I just wanted to say thank you. This was exactly what I needed. I was able to dump all the affix roll ranges, then figured out that the byte holding the tier value is also range mapped on 0-100, using those, I was able to calculate the rolls on the individual affixes.
Code: Select all
for (int i = 0; i < o_ItemDataUnpacked.implicitRolls.Count; i++)
{
o_ItemDataUnpacked.implicitRolls[i] = byte.MaxValue;
}
for (int i = 0; i < o_ItemDataUnpacked.uniqueRolls.Count; i++)
{
o_ItemDataUnpacked.uniqueRolls[i] = byte.MaxValue;
}
Code: Select all
int unique_index = 0; //Edit for your unique
byte unique_base_type = UniqueList.instance.uniques[unique_index].baseType;
byte unique_sub_type = UniqueList.instance.uniques[unique_index].subTypes[0];
foreach (ItemList.BaseEquipmentItem base_item in ItemList.instance.EquippableItems)
{
if (base_item.baseTypeID == unique_base_type)
{
foreach (ItemList.EquipmentItem sub_item in base_item.subItems)
{
if (sub_item.subTypeID == unique_sub_type)
{
Il2CppSystem.Collections.Generic.List<ItemList.EquipmentImplicit> implicits = sub_item.implicits;
//Edit Implicits here
break;
}
}
break;
}
}
int mod_index = 0; //0 to 2
UniqueItemMod mods = UniqueList.instance.uniques[unique_index].mods[mod_index];
SP propertie = mods.property;
//edit Unique Mods here
Hi Ash06,Ash06 wrote: ↑Mon Mar 11, 2024 11:42 amHave to be done before you start with a characterCode: Select all
int unique_index = 0; //Edit for your unique byte unique_base_type = UniqueList.instance.uniques[unique_index].baseType; byte unique_sub_type = UniqueList.instance.uniques[unique_index].subTypes[0]; foreach (ItemList.BaseEquipmentItem base_item in ItemList.instance.EquippableItems) { if (base_item.baseTypeID == unique_base_type) { foreach (ItemList.EquipmentItem sub_item in base_item.subItems) { if (sub_item.subTypeID == unique_sub_type) { Il2CppSystem.Collections.Generic.List<ItemList.EquipmentImplicit> implicits = sub_item.implicits; //Edit Implicits here break; } } break; } } int mod_index = 0; //0 to 2 UniqueItemMod mods = UniqueList.instance.uniques[unique_index].mods[mod_index]; SP propertie = mods.property; //edit Unique Mods here
Happened after game patch yesterday. ForceDrops doesn't work anymore plus all random drops in game are common rarity.Chindopopito wrote: ↑Thu Mar 14, 2024 4:49 am
Im on the 1.0.3 version of the game and Force drop drops nothing.