Cube recipe for magic item with exact stats
Moderator: Nizari
Cube recipe for magic item with exact stats
Hello, im trying to make cube recipe that rerolls skiller grand charms into other skiller grand charm, is it possible to make it work? I can't find a way to make the recipe check for required suffix.
Re: Cube recipe for magic item with exact stats
Twizz, if you are modding 1.10f and don't mind using plugins, you can use cubemainops to find the stat and parameter. Otherwise, you'd have to use an invisible stat that corresponds to the suffix, for example maybe if the stat value is equal to:
1, then it's an amazon bow skiller
2, then it's an amazon magic/passive skiller
3, then it's an amazon spear/javelin skiller
4, then it's a sorceress fire skiller
etc
And if you get a successful match, you'd generate a magic charm of the same ilvl with the same skiller suffix.
1, then it's an amazon bow skiller
2, then it's an amazon magic/passive skiller
3, then it's an amazon spear/javelin skiller
4, then it's a sorceress fire skiller
etc
And if you get a successful match, you'd generate a magic charm of the same ilvl with the same skiller suffix.
Re: Cube recipe for magic item with exact stats
Sorry, but could you give an example? Im not sure what you mean by invisible stat
Re: Cube recipe for magic item with exact stats
Actually, could you describe your desired recipe inputs and outputs? Would be easier if I know exactly what you are trying to achieve.
But as an example, Grand Charms don't spawn with Energy. So if you made it so the skiller charm affix also gives +1 Energy, then you'd know that every Grand Charm that has Energy is a skiller. This convoluted identification system is necessary, as the game cannot identify the +skilltab stats, but can identify the +energy stat. I suggest an invisible stat (that is, a new stat made in itemstatcost.txt with no display string, hence invisible), since you probably want to pretend the identifying stat does not exist, as it's only purpose is to tell the game whether your charm is a skiller or not.
But as an example, Grand Charms don't spawn with Energy. So if you made it so the skiller charm affix also gives +1 Energy, then you'd know that every Grand Charm that has Energy is a skiller. This convoluted identification system is necessary, as the game cannot identify the +skilltab stats, but can identify the +energy stat. I suggest an invisible stat (that is, a new stat made in itemstatcost.txt with no display string, hence invisible), since you probably want to pretend the identifying stat does not exist, as it's only purpose is to tell the game whether your charm is a skiller or not.
Re: Cube recipe for magic item with exact stats
The recipe im trying to make is like Sorc Skiller GC + key -> Other Sorc Skiller GC. For example If you cube Harpoonist's Grand Charm of Vita with 37life and key, it turns it into Fletcher's Grand Charm of Vita with 37life etc etc. Output charm being random class skilltab is also fine.
So does this mean i have to edit all skiller prefixes to have invisible +1 energy?Cypress wrote: ↑Thu Jun 20, 2024 11:53 pmBut as an example, Grand Charms don't spawn with Energy. So if you made it so the skiller charm affix also gives +1 Energy, then you'd know that every Grand Charm that has Energy is a skiller. This convoluted identification system is necessary, as the game cannot identify the +skilltab stats, but can identify the +energy stat. I suggest an invisible stat (that is, a new stat made in itemstatcost.txt with no display string, hence invisible), since you probably want to pretend the identifying stat does not exist, as it's only purpose is to tell the game whether your charm is a skiller or not.
Re: Cube recipe for magic item with exact stats
The recipe im trying to make is like Sorc Skiller GC + key -> Other Sorc Skiller GC. For example If you cube Harpoonist's Grand Charm of Vita with 37life and key, it turns it into Fletcher's Grand Charm of Vita with 37life, and cubing Fletcher's charm makes Acrobat's GC etc etc. Output charm being random class skilltab is also fine.
So does this mean i have to edit all skiller prefixes to have invisible +1 energy? (Oops replied twice)Cypress wrote: ↑Thu Jun 20, 2024 11:53 pmBut as an example, Grand Charms don't spawn with Energy. So if you made it so the skiller charm affix also gives +1 Energy, then you'd know that every Grand Charm that has Energy is a skiller. This convoluted identification system is necessary, as the game cannot identify the +skilltab stats, but can identify the +energy stat. I suggest an invisible stat (that is, a new stat made in itemstatcost.txt with no display string, hence invisible), since you probably want to pretend the identifying stat does not exist, as it's only purpose is to tell the game whether your charm is a skiller or not.
Re: Cube recipe for magic item with exact stats
Twizz, in that case, you would want a different value for each charm. To make it easier, start by using Energy, we can change it to another stat later.
We need a way to apply our identifying stat to items, and we don't want to use a property that already exists, this way we can change the property's stat later easily if we want to. Start with properties.txt. Find the "enr" row, for energy. Copy it and paste it to the end of the file and rename it to "identify". Here's what I put at the end of properties.txt:
Our skiller prefixes are in magicprefix.txt. Find them and add the identify stat to each, starting from 1 and incrementing by 1 per skiller, that way we can associate each suffix with a specific energy value. This is what results:
Now we need to make cube recipes in cubemain.txt that read the identify value and transform to the next skiller. We'll need 21 recipes, one for each of the 21 tabs.
OP COLUMN is set to 18 since this tells the game to only use the recipe if the item has that same value of stat.
PARAM COLUMN reads stats from itemstatcost.txt, matching param value with itemstatcost ID, so if we put in 0 we get strength, 1 is energy, 2 is dexterity, 3 is vitality, 4 is statpts, etc. We use param=1 since we are using energy.
VALUE COLUMN determines the value to use for the parameter, since we have it so energy 1 = amazon bow, energy 2 = amazon magic, energy 3 = amazon javelin, etc, we'll want to apply it accordingly. The rest is simple number crunching and matching so that the energy and skiller bonuses stay synchronized.
We need a way to apply our identifying stat to items, and we don't want to use a property that already exists, this way we can change the property's stat later easily if we want to. Start with properties.txt. Find the "enr" row, for energy. Copy it and paste it to the end of the file and rename it to "identify". Here's what I put at the end of properties.txt:
Code: Select all
identify 1 1 energy none 0
Code: Select all
Fletcher's 100 1 50 42 ama 1 125 skilltab 0 1 1 identify 1 1 lcha 0
Acrobat's 100 1 50 42 ama 1 125 skilltab 1 1 1 identify 2 2 lcha 0
Harpoonist's 100 1 50 42 ama 1 125 skilltab 2 1 1 identify 3 3 lcha 0
Burning 100 1 1 50 42 sor 1 125 skilltab 3 1 1 identify 4 4 lcha 0
Sparking 100 1 1 50 42 sor 1 125 skilltab 4 1 1 identify 5 5 lcha 0
Chilling 100 1 1 50 42 sor 1 125 skilltab 5 1 1 identify 6 6 lcha 0
Hexing 100 1 1 50 42 nec 1 125 skilltab 6 1 1 identify 7 7 lcha 0
Fungal 100 1 1 50 42 nec 1 125 skilltab 7 1 1 identify 8 8 lcha 0
Graverobber's 100 1 1 50 42 nec 1 125 skilltab 8 1 1 identify 9 9 lcha 0
Lion Branded 100 1 1 50 42 pal 1 125 skilltab 9 1 1 identify 10 10 lcha 0
Captain's 100 1 1 50 42 pal 1 125 skilltab 10 1 1 identify 11 11 lcha 0
Preserver's 100 1 1 50 42 pal 1 125 skilltab 11 1 1 identify 12 12 lcha 0
Expert's 100 1 1 50 42 bar 1 125 skilltab 12 1 1 identify 13 13 lcha 0
Fanatic 100 1 1 50 42 bar 1 125 skilltab 13 1 1 identify 14 14 lcha 0
Sounding 100 1 1 50 42 bar 1 125 skilltab 14 1 1 identify 15 15 lcha 0
Trainer's 100 1 1 50 42 dru 1 125 skilltab 15 1 1 identify 16 16 lcha 0
Spiritual 100 1 1 50 42 dru 1 125 skilltab 16 1 1 identify 17 17 lcha 0
Nature's 100 1 1 50 42 dru 1 125 skilltab 17 1 1 identify 18 18 lcha 0
Entrapping 100 1 1 50 42 ass 1 125 skilltab 18 1 1 identify 19 19 lcha 0
Mentalist's 100 1 1 50 42 ass 1 125 skilltab 19 1 1 identify 20 20 lcha 0
Shogukusha's 100 1 1 50 42 ass 1 125 skilltab 20 1 1 identify 21 21 lcha 0
OP COLUMN is set to 18 since this tells the game to only use the recipe if the item has that same value of stat.
PARAM COLUMN reads stats from itemstatcost.txt, matching param value with itemstatcost ID, so if we put in 0 we get strength, 1 is energy, 2 is dexterity, 3 is vitality, 4 is statpts, etc. We use param=1 since we are using energy.
VALUE COLUMN determines the value to use for the parameter, since we have it so energy 1 = amazon bow, energy 2 = amazon magic, energy 3 = amazon javelin, etc, we'll want to apply it accordingly. The rest is simple number crunching and matching so that the energy and skiller bonuses stay synchronized.
Code: Select all
ama0->1 1 100 18 1 1 2 lcha,mag key useitem 100 skilltab 0 -1 -1 skilltab 1 1 1 identify 1 1 key,qty=1 0
ama1->2 1 100 18 1 2 2 lcha,mag key useitem 100 skilltab 1 -1 -1 skilltab 2 1 1 identify 1 1 key,qty=1 0
ama2->0 1 100 18 1 3 2 lcha,mag key useitem 100 skilltab 2 -1 -1 skilltab 0 1 1 identify -2 -2 key,qty=1 0
sor0->1 1 100 18 1 4 2 lcha,mag key useitem 100 skilltab 3 -1 -1 skilltab 4 1 1 identify 1 1 key,qty=1 0
sor1->2 1 100 18 1 5 2 lcha,mag key useitem 100 skilltab 4 -1 -1 skilltab 5 1 1 identify 1 1 key,qty=1 0
sor2->0 1 100 18 1 6 2 lcha,mag key useitem 100 skilltab 5 -1 -1 skilltab 3 1 1 identify -2 -2 key,qty=1 0
nec0->1 1 100 18 1 7 2 lcha,mag key useitem 100 skilltab 6 -1 -1 skilltab 7 1 1 identify 1 1 key,qty=1 0
nec1->2 1 100 18 1 8 2 lcha,mag key useitem 100 skilltab 7 -1 -1 skilltab 8 1 1 identify 1 1 key,qty=1 0
nec2->0 1 100 18 1 9 2 lcha,mag key useitem 100 skilltab 8 -1 -1 skilltab 6 1 1 identify -2 -2 key,qty=1 0
pal0->1 1 100 18 1 10 2 lcha,mag key useitem 100 skilltab 9 -1 -1 skilltab 10 1 1 identify 1 1 key,qty=1 0
pal1->2 1 100 18 1 11 2 lcha,mag key useitem 100 skilltab 10 -1 -1 skilltab 11 1 1 identify 1 1 key,qty=1 0
pal2->0 1 100 18 1 12 2 lcha,mag key useitem 100 skilltab 11 -1 -1 skilltab 9 1 1 identify -2 -2 key,qty=1 0
bar0->1 1 100 18 1 13 2 lcha,mag key useitem 100 skilltab 12 -1 -1 skilltab 13 1 1 identify 1 1 key,qty=1 0
bar1->2 1 100 18 1 14 2 lcha,mag key useitem 100 skilltab 13 -1 -1 skilltab 14 1 1 identify 1 1 key,qty=1 0
bar2->0 1 100 18 1 15 2 lcha,mag key useitem 100 skilltab 14 -1 -1 skilltab 12 1 1 identify -2 -2 key,qty=1 0
dru0->1 1 100 18 1 16 2 lcha,mag key useitem 100 skilltab 15 -1 -1 skilltab 16 1 1 identify 1 1 key,qty=1 0
dru1->2 1 100 18 1 17 2 lcha,mag key useitem 100 skilltab 16 -1 -1 skilltab 17 1 1 identify 1 1 key,qty=1 0
dru2->0 1 100 18 1 18 2 lcha,mag key useitem 100 skilltab 17 -1 -1 skilltab 15 1 1 identify -2 -2 key,qty=1 0
asn0->1 1 100 18 1 19 2 lcha,mag key useitem 100 skilltab 18 -1 -1 skilltab 19 1 1 identify 1 1 key,qty=1 0
asn1->2 1 100 18 1 20 2 lcha,mag key useitem 100 skilltab 19 -1 -1 skilltab 20 1 1 identify 1 1 key,qty=1 0
asn2->0 1 100 18 1 21 2 lcha,mag key useitem 100 skilltab 20 -1 -1 skilltab 18 1 1 identify -2 -2 key,qty=1 0