Titan Quest Fans Forum

Titan Quest - Anniversary Edition => Modifications => Art Manager => Topic started by: WNG on 07 August 2018, 13:47:59

Title: [Tutorial] Create a custom artifact!
Post by: WNG on 07 August 2018, 13:47:59
↜ Create a custom artifact! by WNG ↝

Introduction

Many thanks to @nargil66, he inspired me to become sort-of useful to the community and make my own tutorials. I hope I will not mess up my first one. :S

This guide will show you how to create an artifact with (hopefully) clear explanations. You will be shown how to insert your own custom images, give bonuses to your items and create new skills for your artefact so you may showoff your modding skills to your family and friends.

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 your own image

This step will require:

Procedure:

I. Load your canvas and draw a picture:
If you haven't used such software in the past, you should try out a few tools and experiment. Also, you may use some images as models to get the shape of an item just right. Anyways, we're not here to make work of art.

This is one I done in around 15 mins (not going to lie, I used a model.)
(https://i.imgur.com/KzlQq8f.png)

Very important to save your picture in .tga/.psd format! Those are the only formats the Art Manager can read.

II. Import your picture in your mod:
Open the Art Manager and select your mod. It will now be time to import your texture into your mod. Before importing it, I'd recommend creating a folder specifically for your custom textures. To do so, right-click on "name_of_your_mod/source > Create New Directory".

Now, select the matching folder, right-click, and select "Import...". Find your texture and select it. It should appear in the menu. Right-click it and choose Auto-Create Asset. You will be prompted to choose between Texture or Bitmap. Choose Bitmap, and proceed by pressing OK.

(https://i.imgur.com/nG0qJO1.png)

III. Build your texture:
Your texture isn't quite in your mod yet. You will need to visit the "Assets" tab, and seek your texture in the folder structure, wich should be the same as in your "Source" tab. Right-click on it and choose "Build". When that is done, build your mod by pressing F7. Your texture will now become usable in your mod.

(https://i.imgur.com/U2MkcqC.png)

II. Create the artifact itself

Procedure:

I. Grabbing some templates:
Iron Lore has been very nice to us. They granted us blank artifact and formula files for an easy creation. Go in "Databse > Import Record..." and import those two files (they are handy when you intend to create multiple artifacts/formulas.) Those do not need to be built.

II. Create the artifact:

Make a copy of "records\xpack\item\artifacts\blank_artifact.dbr" and paste it in a directory where you see fit (ideally a directory of yours that is proprely identified.) Let's open it and look at the inside. Below I will list the parameters you may modify. Irrelevant parameters will be omitted.

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

Artifact Config
Artifact Bitmap : Tells the game wich texture will appear in the inventory. !!! Modify it to show your own texture !!!
Artifact Classification : Selects the quality of the artefact.

Item Parameters
Most of the parameters are irrelevant for us.

Item Requirements
Self-explanatory.

Actor Variables
Description : The name of your artefact.
The other parameters are irrelevant for us.

Item's Bonuses Parameters
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
Offensive Global (for offensive bonuses with a global chance (5% of +10% Total Damage, +20% Poison Damage, ...))
  • 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)
(https://i.imgur.com/Xxvinq4.png)
  • 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)
(https://i.imgur.com/poQSMAJ.png)
  • 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.)
See the above sections, they share similar parameters.
Retaliation Parameters

Retaliation Global (for retaliation bonuses with a global chance (5% of 15 Piercing Retaliation, 20 Elemental Retaliation, ...))
  • retaliationGlobalChance : Chance of retaliation global effects to occur (choose the effects with booleans in the sections below.)
Retaliation Absolute (for flat retaliation bonuses)
(https://i.imgur.com/kQrDqM6.png)
  • 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)
(https://i.imgur.com/ABXC3sK.png)
  • 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
Defensive Absolute (for resistances bonuses)
(https://i.imgur.com/QRTHLNF.png)
  • 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)
    See the Defensive Absolute section, they share similar parameters.
Defensive Misc (for blocking/reflecting bonuses)
    See the Defensive Absolute section, they share similar parameters.
Defensive Influence (for secondary resistances)
    See the Defensive Absolute section, they share similar parameters.
Monster Defense (for tertiary resistances)
    See the Defensive Absolute section, they share similar parameters.

Character Parameters
Character Base Attributes (Is irrelevant, do not touch.)
    No need to touch this.
Character Bonus Attributes (for direct stats bonuses)
(https://i.imgur.com/9Ujupm4.png)
  • 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)
(https://i.imgur.com/ISOF79h.png)
  • 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)
(https://i.imgur.com/AYKUZ7F.png)
  • 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)
(https://i.imgur.com/lBlQEQq.png)
  • 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)
(https://i.imgur.com/M1j6qj9.png)
  • 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)
(https://i.imgur.com/6lN23fu.png)
Self-explanatory. Also, you do NOT need to add the negative.

Skill Parameters (for bonuses that regard spells)
Skill Reduction (for reduced recharge and mana costs)
(https://i.imgur.com/q6UV1Nj.png)
  • 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)
  • skillProjectileSpeedModifier  : Percent increase of the projectile speed.
  • skillProjectileSpeedModifierChance : Chance of percent increase of the projectile speed.
Skill Augment (boosts or grants skills)
(https://i.imgur.com/ExDpbM2.png)
  • 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 :
  • 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)
(https://i.imgur.com/DdRCtNL.png)
  • 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)
  • petBonusName  : Select a pet bonus for the item. May explain the creation of one of these later.

Play around those bonuses, experiment, and try to make something original. Once your work is done, save it. Then, right-click on your database file, build it. Then, F7 for mod building.

Check out next post for the rest of the tutorial.
Title: Re: [Tutorial] Create a custom artifact!
Post by: WNG on 07 August 2018, 13:48:11
III. Create the formula

Procedure:

I. Create the formula:

Make a copy of "records\xpack\item\artifacts\arcaneformulae\blank_arcane_formula.dbr" and paste it in a directory where you see fit (ideally a directory of yours that is proprely identified.) Let's open it and look at the inside. Below I will list the parameters you may modify. Irrelevant parameters will be omitted.

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

Formula Config
Artifact Formula Bitmap Name : Indicates to the game wich picture to use when your formula is in your inventory. You will want to modify it, depending on the rarity of your artifact.
  • XPack\Items\Artifacts\ArcaneFormulae\X_Recipe01.tex  > Lesser
  • XPack\Items\Artifacts\ArcaneFormulae\X_Recipe03.tex  > Greater
  • XPack\Items\Artifacts\ArcaneFormulae\X_Recipe02.tex  > Divine
Artifact Name : The .dbr file of your artifact. If you built it proprely, it should appear in the folder you left it.
Artifact Bonus Table Name : The completion bonuses. We will get to that later.
Artifact Creation Cost : The cost in gold for the creation of the artifact.
Reagent 1 Base Name : The .dbr file of the first regeant goes here. Make sure the .dbr is an item!
Reagent 2 Base Name : The .dbr file of the second regeant goes here. Make sure the .dbr is an item!
Reagent 3 Base Name : The .dbr file of the third regeant goes here. Make sure the .dbr is an item!

You will notice how your regeants have a Prefix Name/Suffix Name parameters. As far as I know, they aren't used, so they may or may not function.

Item Parameters
Most of the parameters are irrelevant for us.

Item Requirements
You may leave it empty.

Actor Variables
Description : The name of your formula (likely Arcane Formula ~ Name of your artefact).
Mesh : The model that will appear when your formula is in the 3D world. Modify the last digits like you did for the UI texture to get the right color.
The other parameters are irrelevant for us.

II. Completion Bonuses:

Completion bonuses are important to make your artifact appealing and is another layer of customization. How do I make one? Very simple. For this step, I'd recommend making another directory where you will keep those, for the sake of organization. Right-click on the right portion of the Art Manager, and select New > Record. A new .dbr file will be created, open it. You will be prompted to choose a template (wich indicates what type of item it is, hence wich parameters you will be editing.) Normally you should see a list of .tpl files, for this step we will need "lootrandomizer.tpl".

(https://i.imgur.com/KhqDkwP.png)

You will notice there's a "Configuration" tab, wich you can leave empty in this case. As for the stats bonuses, it is the same parameters that we seen earlier. Determine what will the bonus be, and save your file. Repeat until you have a amount of completion bonuses you are satisfied with. When you are done, do not forget to build them, or they will be usable by other files.

Then, create a new record and this time we will choose "lootrandomizertable.tpl". This file will contain all the possible completion bonus of your artifact. Insert all the bonuses you want in the "randomizerNameX" spaces.

(https://i.imgur.com/6OsWMJS.png)

Below every "randomizerNameX", there is a "randomizerWeightX". This is used to determine how often will a bonus appear. The value will be a flat chance of the matching bonus to appear. Edit this file as you see fit, then save it, build it, and build your mod.

Now, go back at the .dbr of your formula, and look for Formula Config > Artifact Bonus Table Name. On this space, insert your table that contains all your completion bonus. Save, and build your formula.

At this point, you should have a working artefact/formula. But you know how Greater/Divine artefacts sometimes have skills associated to them? Yes, let's make one.

IV. Add a skill to your artefact (Optional)

Procedure:

I. Choose a skill:

Open your artefact file, and select the Skill Augment tab. We will be working with the three last entries. For the sake of simplicity, we will be picking an existing skill. Let's take a look at them.

itemSkillName : The .dbr name of the skill you wish to use.
itemSkillLevel : The level of the skill. Must have a value for the skill to be granted.
itemSkillAutoController : This defines the conditions under wich a skill will be launched, hence not directly usable by the player. When omitted, the skill becomes available to its skillbar.

For this tutorial, I will include the skill Regrowth to my artefact (records\skills\nature\regrowth.dbr) and give it a level of 10. This will make it usable by the player whenever he wishes to.

You may grant the player a skill only usable by a monster, such as Hades' Death Ring, or Barmanu's Hail Rain. Bear in mind that some skills may not be compatible or not function proprely.

II. Include a Auto-Controller:

An auto-controller will make the skill automatically launch when certain conditions are met. Think of Blood of Ares, for example. To create an auto-controller, make a new record and use the "skillautocastcontroller.tpl" template. Click OK.

(https://i.imgur.com/PlsiTZn.png)

Under the Config tab, there is a set of parameters that will fix exactly what are the conditions we want to be met for the skill to be used.

chanceToRun : Percent chance for the skill to run when the triggerType occurs.
triggerType : The event that must occur for the skill to fire.
targetType : Defines wich unit will be targeted by the spell.
autoTargetRadius : Determines the size of the area where a unit should be present for the skill to hit it.

To continue my example, I'll make in sort that Regrowth has 100% chance to be fired when the player is on low health (the threshold is hardcoded in auto-controllers.)

chanceToRun : 100.000000
triggerType : LowHealth
targetType : Self
autoTargetRadius : 10.000000

Save your file, build it. Then, open again the artefact file, and include your new auto-controller in the designed spot (Skill Augment > itemSkillAutoController).
SimplePortal 2.3.7 © 2008-2024, SimplePortal