Author Topic: [Tutorial] Add yellow/green affixes to the game!  (Read 1364 times)

0 Members and 1 Guest are viewing this topic.

Not Yet Rated!

Offline WNG

  • Forum Moderator
  • Full Member
  • *
  • Topic Author
  • Posts: 614
  • Country: ca
  • Karma: +10/-0
  • Gender: Male
    • View Profile
    • Awards
  • Time Zone: -4
[Tutorial] Add yellow/green affixes to the game!
« on: 16 February 2019, 03:20:18 »
↜  Add yellow/green affixes to the game! by WNG ↝

Introduction

Hello! This small tutorial will show you how to invent and implent new affixes that can appear on all items. The process is simple, quick and has a world of possibilities.

I may assume you have some basic knowledge and overlook some manipulations. Feel free to tell me if anything is unclear.

Without further ado, let's get started.

I. Creating the affixes files

I. Create a first affix file charisma
Open your Art Manager. Select the Database tab and, on the right window, right-click  > New > Record. Double click on it, and when you will be prompted to choose its template, select LootRandomizer.tpl.

You can now begin to create your affix. Check the spoiler below for the parameters to edit. Parameters that are irrelevant will be omitted, as always.

Spoiler for Hiden:
General Parameters
Spoiler for Hiden:
Header
File Description : For your eyes only! Leaves a description or a note for the developper. No effect in-game.

Configuration
Spoiler for Hiden:
Loot Randomizer Name : The displayed name of your affix. Reference it in your Modstrings.txt. More info here : https://titanquest.fandom.com/wiki/Modstrings.txt
Loot Randomizer Jitter : Value ranging from 0 to 50. Variation of the affix's price.
Loot Randomizer Cost : Base value of your affix's value, in gold.
Item Classification : Determines what color your affix is (Magical = Yellow, Rare = Green.)
Market Adjustment Percent : Percentage value that increases your affix's value.
Level Requirement : The level requirement to wear an item that has this affix on it.

Notice:
If you are unsure as to wich values to put in there, here's a small table containing values I deemed as okay if you don't want to put too much thought into it. Feel free to raise them if you want to make a particularly rare/strong affix.
Spoiler for Hiden:

Affixes' Bonuses Parameters
Spoiler for Hiden:
This is a review of the many (not all!) basic parameters you may set on your item. If you know about those, skip this.
Many of the parameters share the same proprietes. I'll explain them once.

Offensive Parameters
Spoiler for Hiden:
Offensive Global (for offensive bonuses with a global chance (5% of +10% Total Damage, +20% Poison Damage, ...))
Spoiler for Hiden:
  • offensiveGlobalChance : Chance of offensive global effects to occur (choose the effects with booleans in the sections below.)

Offensive Absolute (for flat/percent based damage bonuses)
Spoiler for Hiden:

  • offensiveXMin : Minimum of flat X damage.
  • offensiveXMax : Maximum of flat X damage.
  • offensiveXChance : Chance of the X damage set above to occur.
  • offensiveXXOR : Boolean. Set to 1 to select only one bonus in the global pool.
  • offensiveXGlobal : Boolean. Set to 1 to make the bonus part of the global chance pool.
  • offensiveXModifier : Increases by X% the damage of the selected type.
  • offensiveXModifierChance : Chance of the percent damage bonus to occur.

Offensive Duration (for damage/debuffs over time bonuses)
Spoiler for Hiden:

  • offensiveSlowXMin : Minimum of X damage over time (every second).
  • offensiveSlowXMax : Maximum of X damage over time (every second).
  • offensiveSlowXDurationMin : Minimal duration of the DoT effect.
  • offensiveSlowXDurationMax : Maximial duration of the DoT effect.
  • offensiveSlowXChance : Chance of the X damage over time set above to occur.
  • offensiveSlowXXOR : Boolean. Set to 1 to select only one bonus in the global pool.
  • offensiveSlowXGlobal : Boolean. Set to 1 to make the bonus part of the global chance pool.
  • offensiveSlowXModifier : Increases by X% the damage of the selected type.
  • offensiveSlowXModifierChance : Chance of the percent damage bonus to occur.
  • offensiveSlowXDurationModifier : Increases the duration of the DoT effect by x%.

Offensive Influence (for debuffs for a set duration, such as Confusion, Mind-Control, etc.)
Spoiler for Hiden:
See the above sections, they share similar parameters.
Retaliation Parameters

Spoiler for Hiden:
Retaliation Global (for retaliation bonuses with a global chance (5% of 15 Piercing Retaliation, 20 Elemental Retaliation, ...))
Spoiler for Hiden:
  • retaliationGlobalChance : Chance of retaliation global effects to occur (choose the effects with booleans in the sections below.)
Retaliation Absolute (for flat retaliation bonuses)
Spoiler for Hiden:

  • retaliationXMin : Minimal damage of the retaliation of the set type.
  • retaliationXMax : Maximal damage of the retaliation of the set type.
  • retaliationXChance : Chance of the retaliation to occur.
  • retaliationXXOR : Boolean. Set to 1 to select only one bonus in the global pool.
  • retaliationXGlobal : Boolean. Set to 1 to make the bonus part of the global chance pool.
  • retaliationXModifier : Boosts the damage of the retaliation of X type by a set percent.
  • retaliationXModifierChance : Chance of the percent damage boost to occur.
Retaliation Duration (for DoT retaliation bonuses)
Spoiler for Hiden:

  • retaliationSlowXMin : Minimal damage of the retaliation of the set type (per second.)
  • retaliationSlowXMax : Maximal damage of the retaliation of the set type (per second.)
  • retaliationSlowXDurationMin : Minimal duration of the DoT of the set type.
  • retaliationSlowXDurationMax : Minimal damage of the DoT of the set type.
  • retaliationSlowXChance : Chance of the retaliation to occur.
  • retaliationSlowXXOR : Boolean. Set to 1 to select only one bonus in the global pool.
  • retaliationSlowXGlobal : Boolean. Set to 1 to make the bonus part of the global chance pool.
  • retaliationSlowXModifier : Boosts the DoT of the retaliation of X type by a set percent.
  • retaliationSlowXModifierChance : Chance of the percent DoT boost to occur.
  • retaliationSlowXDurationModifier : Boosts the DoT of X type's duration by a set percent.
  • retaliationSlowXDurationModifierChance : Chance of the percent duration boost to occur.


Defensive Parameters
Spoiler for Hiden:
Defensive Absolute (for resistances bonuses)
Spoiler for Hiden:

  • defensiveX :  Increases resistance to the damage type of by a set percent.
  • defensiveXChance : Chance of the resistance to the damage type of by the percent set above.
  • defensiveXModifier :  Increases the resistance bonus by a set percent.
  • defensiveXModifierChance : Chance of the resistance bonus to the damage type by the percent set above.
  • defensiveXDuration : Same as above, for the matching DoT.
  • defensiveXDurationChance : Same as above, for the matching DoT.
  • defensiveXDurationModifier : Same as above, for the matching DoT.
  • defensiveXDurationModifierChance : Same as above, for the matching DoT.
Defensive Special (for resistances versus certain DoTs)
Spoiler for Hiden:
    See the Defensive Absolute section, they share similar parameters.
Defensive Misc (for blocking/reflecting bonuses)
Spoiler for Hiden:
    See the Defensive Absolute section, they share similar parameters.
Defensive Influence (for secondary resistances)
Spoiler for Hiden:
    See the Defensive Absolute section, they share similar parameters.
Monster Defense (for tertiary resistances)
Spoiler for Hiden:
    See the Defensive Absolute section, they share similar parameters.

Character Parameters
Spoiler for Hiden:
Character Base Attributes (Is irrelevant, do not touch.)
Spoiler for Hiden:
    No need to touch this.
Character Bonus Attributes (for direct stats bonuses)
Spoiler for Hiden:

  • characterStrenght : Flat strenght increase.
  • characterDexterity : Flat dexterity increase.
  • characterIntelligence : Flat intelligence increase.
  • characterLife : Flat health points increase.
  • characterMana : Flat energy points increase.
  • characterStrenghtModifier : Percent strenght increase.
  • characterDexterityModifier  : Percent dexterity increase.
  • characterIntelligenceModifier  : Percent intelligence increase.
  • characterLifeModifier  : Percent health points increase.
  • characterManaModifier  : Percent energy points increase.
  • characterIncreasedExperience  : Increases experience gained.
  • characterPhysToElementalRation  : x% converted to elemental damage.
Character Speed (for speed bonuses)
Spoiler for Hiden:

  • characterRunSpeed : Increases base run speed. Unused at this date.
  • characterAttackSpeed : Increases base attack speed. Unused at this date.
  • characterSpellCastSpeed : Increases base spell cast speed. Unused at this date.
  • characterRunSpeedModifier : Increases run speed by x%.
  • characterAttackSpeedModifier : Increases attack speed by x%.
  • characterSpellCastSpeedModifier : Increases spell cast speed by x%.
  • characterTotalSpeedModifier : Increases total speed by x%.
Character Regeneration (for regeneration bonuses)
Spoiler for Hiden:

  • characterLifeRegen : Increases health regeneration by a flat amount.
  • characterManaRegen : Increases energy regeneration by a flat amount.
  • characterLifeRegenModifier : Increases health regeneration by a percent amount.
  • characterManaRegenModifier : Increases energy regeneration by a percent amount.

Character Ability (for dodge/critical hit bonuses)
Spoiler for Hiden:

  • characterOffensiveAbility : Increases OA by a flat amount.
  • characterDefensiveAbility : Increases DA by a flat amount.
  • characterOffensiveAbilityModifier : Increases OA by a percent amount.
  • characterDefensiveAbilityModifier : Increases DA by a percent amount.
  • characterDefensiveBlockRecoveryReduction : Reduces shield recovery time.
  • characterEnergyAbsorptionPercent : Recovers energy when hit by spells by percent amount.
  • characterDodgePercent : Increases melee attack dodge chance.
  • characterDeflectProjectile : Increases projectile dodge chance.

Character Reserve (for mana reservation reduction bonuses)
Spoiler for Hiden:

  • characterManaLimitReserve : Not quite sure...
  • characterManaLimitReserveReduction : Decreases energy reserved by a flat amount.
  • characterManaLimitReserveModifier : Not quite sure...
  • characterManaLimitReserveReductionModifier : Decreases energy reserved by a percent amount.

Requirement Reduction (for requirement reduction bonuses)
Spoiler for Hiden:

Self-explanatory. Also, you do NOT need to add the negative.

Skill Parameters (for bonuses that regard spells)
Spoiler for Hiden:
Skill Reduction (for reduced recharge and mana costs)
Spoiler for Hiden:

  • skillCooldownReduction  : Flat cooldown reduction.
  • skillCooldownReductionChance : Chance of flat cooldown reduction.
  • skillManaCostReduction : Flat mana cost reduction.
  • skillManaCostReductionChance : Chance of flat mana cost reduction.
  • skillCooldownReductionModifier : Percent cooldown reduction.
  • skillCooldownReductionModifierChance : Chance of percent cooldown reduction.
  • skillManaCostReductionModifier : Percent mana cost reduction.
  • skillManaCostReductionModifierChance : Chance of percent mana cost reduction.
Projectile Bonus (for projectile speed)
Spoiler for Hiden:
  • skillProjectileSpeedModifier  : Percent increase of the projectile speed.
  • skillProjectileSpeedModifierChance : Chance of percent increase of the projectile speed.
Skill Augment (boosts or grants skills)
Spoiler for Hiden:

  • augmentSkillName1  : The database entry of the skill you wish to boost. (ex.: records\skills\stealth\envenomweapon.dbr)
  • augmentSkillLevel1  : Level by wich the skill above is increased.
  • augmentSkillName2  : The database entry of ANOTHER the skill you wish to boost.
  • augmentSkillLevel2  : Level by wich the skill above is increased.
  • augmentMasteryName1  : The database entry of a mastery you wish to boost all of its skills.
  • augmentMasteryLevel2  : Level by wich the skills of the mastery above is increased.
  • augmentMasteryName2  : The database entry of ANOTHER mastery you wish to boost all of its skills.
  • augmentMasteryLevel2  : Level by wich the skills of the mastery above is increased.
See this for masteries names :
Spoiler for Hiden:
  • Warfare : records\skills\warfare\warfaremastery.dbr
  • Defense : records\skills\defensive\defensivemastery.dbr
  • Rogue : records\skills\stealth\stealthmastery.dbr
  • Hunting : records\skills\hunting\huntingmastery.dbr
  • Dream : records\xpack\skills\dream\dreammastery.dbr
  • Nature : records\skills\nature\naturemastery.dbr
  • Earth : records\skills\earth\earthmastery.dbr
  • Storm :records\skills\storm\stormmastery.dbr
  • Runes : records\xpack2\skills\runemaster\runemaster_mastery.dbr
  • Spirit :records\skills\spirit\spiritmastery.dbr
  • augmentAllLevel : Level by wich all skills should be increased.
  • itemSkillName : See the part IV.
  • itemSkillLevel : See the part IV.
  • itemSkillAutoController : See the part IV.
Racial Bonus (for increased offense/defense versus certain races)
Spoiler for Hiden:

  • racialBonusRace  : Races that will be affected by the bonuses below. You can have as many as you like.
  • racialBonusPercentDamage  : Percent damage increase versus the race.
  • racialBonusAbsoluteDamage  : Flat damage increase versus the race.
  • racialBonusPercentDefense  : Percent reduced damage received from the race.
  • racialBonusAbsoluteDefense  : Flat reduced damage received from the race.
Pet Bonus (for bonuses to all pets)
Spoiler for Hiden:
  • petBonusName  : Select a pet bonus for the item. May explain the creation of one of these later.

Notice how you are not asked to define whether your affix is a prefix or a suffix. This is because the prefixes and suffixes are stored in different tables. You will see this below shortly.

II. Create multiple versions

Depending on what you have in mind, you might want to create upgraded versions of your affix (of Life < of Endurance < of Survival ...). Doing this is very simple, as you only have to copy and paste your .dbr the number of times you wish, rename the new .dbrs accordingly and make the needed changes, that is increase the power of the bonus, increase the cost and perhaps even a new name. Once your work is done, do not forget to build your .dbrs.

Spoiler for Hiden:

III. Include your affixes to tables

Now that your affixes are fully done, it is now time to include them in the affixes tables to finally make them appear on items from chests and merchants. To do so, you will need to import the needed tables. This is where they are located.

records\item\lootmagicalaffixes\... => for the Vanilla Game
records\xpack\item\lootmagicalaffixes\... => for the Immortal Throne Expansion
*Ragnarök does not have its own tables, therefore it uses the same as IT's.

From there, you will have to select if you want to add your affix to the prefix or suffix tables. With this exemple, I'll go with suffixes.

records\item\lootmagicalaffixes\suffix...
records\xpack\item\lootmagicalaffixes\suffix...

Thereafter, you select for what type of item it'll be. My suffixes will be exclusively for shields (but nothing prevents you from including it to swords and mage bracelets at the same time.)

records\item\lootmagicalaffixes\suffix\tablesshields...
records\xpack\item\lootmagicalaffixes\tablesshields...

Here you see the .dbr files that contain all possible affixes for specified category of items, for the difficulty X and the act Y. If I want to include it from the beginning to the end of the game, I'll need to import all the entirety of the two folders mentionned just above.

Open the files you just imported. You will see an array containing other affixes (or in this case, suffixes) that can drop. To include yours, all you need to do is to double-click on an empty space named "randomizerNameX" and insert the access path of the .dbr of your affix.

Spoiler for Hiden:

Just under, there should be a slot "randomizerWeightX". Here, input a flat number that will act as the odds for your affix to be selected by the table.

Keep on editing all the tables you have imported and build them when your work is done. Since those tables are the ones used by the original game, your work is now over, and your new affixes may now begin to appear.

Tags:
 


SimplePortal 2.3.7 © 2008-2020, SimplePortal