Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - WNG

Pages: [1] 2 3
1
Difficulty Mods / [Tutorial] Create a difficulty mod!
« on: 18 April 2020, 21:14:03 »
↜ Create a difficulty mod! by WNG ↝

Introduction

Hello! This guide will show you how to create a simple mod that adjusts difficulty settings of the game. Difficulty mods are very popular, and for a reason: they are simple to make and can modify the game experience by a lot. In this tutorial, we will look at numerous files that can be modified to change the difficulty of the game. There's more that you can do than simply spawning in more monsters; in fact, there's numerous ways to get creative here.

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

I. gameengine.dbr

Code: [Select]
records\xpack\game\gameengine.dbrThis file controls a myriad of general settings of the game. Here, you can alter some different options to make the game potentially harder. Let's have a look at some of them.

gameengine.dbr
Spoiler for Hiden:
Rewards and Penalties
Spoiler for Hiden:
deathPenaltyEquation: This equation controls the experience lost when a character dies.
deathPenaltyMin: Minimum of experience a character can lose upon death.
deathPenaltyMax: Maximum of experience a character can lose upon death.
RedemptionMultiplier: When the player recovers its grave, it will regain experience by the percentage set here. For reference, 1 would be equivalent to 100% and 0 to 0%.
OneShot Info
Spoiler for Hiden:
potionStackLimit: Amount of potions the player can stack per inventory square. Remember how you could only stack 5 in IT days? I do...
scrollStackLimit: Amount of scrollsthe player can stack on top of one another.
Monster Info
Spoiler for Hiden:
monsterRunSpeedCapMin/Max: The minimum and maximum values a monster's movement speed can have.
monsterSpellCastSpeedCapMin/Max: The minimum and maximum values a monster's casting speed can have.
monsterAttackSpeedMin/Max: The minimum and maximum values a monster's attack speed can have.
bossRunSpeedCapMin/Max: The minimum and maximum values a boss' movement speed can have.
bossSpellCastSpeedCapMin/Max: The minimum and maximum values a boss' monster's casting speed can have.
bossAttackSpeedMin/Max: The minimum and maximum values a boss' attack speed can have.
Player Info
Spoiler for Hiden:
playerDefenseCap: The maximum value the player's resistances can have.
playerDodgePercentCap: The maximum value the player's CTDA can have.
playerDodgeProjectileCap: The maximum value the player's CTAP can have.
playerRacialBonusPercentDefenseCap: The maximum value the player's Less Damage from X race can have.
playeCooldownReductionCap: The maximum value the player's Recharge can have.
playerManaCostReductionCap: The maximum value the player's Energy Cost Reduction can have.
characterDefensiveBlockRecoveryReductionCap: The maximum value the player's Shield Block Recovery Time Reduction can have.
playerRunSpeedCapMin/Max: The minimum and maximum values the player's movement speed can have.
playerSpellCastSpeedCapMin/Max: The minimum and maximum values the player's casting speed can have.
playerAttackSpeedCapMin/Max: The minimum and maximum values the player's attack speed can have.
Proxy Info
Spoiler for Hiden:
spawnMin/MaxModifier: Multiplier of the spawn rate of regular units in proxies (in percentage.)
championMin/MaxModifier: Multiplier of the spawn rate of champion units in proxies (in percentage.)

II. monstergamebalanceattributes.dbr

Code: [Select]
records\game\monstergamebalanceattributes.dbrThis file is referenced in the gameengine.dbr seen above and is used to improve monsters based on the number of players and the difficulty level you play on. For example, you can decide the bonus of health or damage granted to enemy creatures here.

Look over here to find details on the characteristics you can change (it is another tutorial but the same characteristics are seen in detail here) : https://titanquestfans.net/index.php?topic=886.0

Notice how each field is an array where you can input multiple values. You have 3 options:
  • 0 values: Leave empty or with a zero; the game will ignore this characteristic.
  • 3 values: Input up to 3 values; the first value will be used for Normal, the second for Epic and the last for Legendary.
  • 18 values: Input up to 18 values; the first value being Normal difficulty with 1 player, then 2 players... up until 6 players. The seventh value is Epic with 1 player, and so on so forth. In other terms, have 1 value for each number of players per difficulty.

III. femalepc01.dbr/malepc01.dbr

Code: [Select]
records\xpack\creatures\pc\femalepc01.dbr
records\xpack\creatures\pc\malepc01.dbr
These files are the actual characters you can control. You can modify some of their innate characteristics. The male and female characters have technically different files, although they look identical. You could, if you so desire, make them different in certain aspects.

femalepc01.dbr/malepc01.dbr
Spoiler for Hiden:
Character Bio
Spoiler for Hiden:
defaultGold: Starting amount of gold when you first create a character.
Natural Resistance: Innate resistances. By default, the character has no resistances.
Character Parameters
Spoiler for Hiden:
Self-explanatory, but you can also look at the link from step II.
Skill Manager
Spoiler for Hiden:
masteryIncrementLevel: Determines the levels where the player unlocks their first and second masteries.
reclamationPointTiers: Sets the increment tiers when reclaiming points from a mystic.
reclamationPointCosts: Sets the cost of each tier when reclaiming points from a mystic.

IV. playerlevels.dbr

Code: [Select]
records\creatures\pc\playerlevels.dbrThis file sets some parameters related to experience and the level-up system.

femalepc01.dbr/malepc01.dbr
Spoiler for Hiden:
Level Up Parameters
Spoiler for Hiden:
characterModifierPoints: Amount of attribute points received on level-up.
skillModifierPoints: Amount of skill points received on level-up.
initialSkillPoints: Starting amount of skill points when you first create a character.
lifeIncrement: When spending an attribute point in Health, it will go up by this much.
manaIncrement: When spending an attribute point in Energy, it will go up by this much.
strengthIncrement: When spending an attribute point in Strength, it will go up by this much.
dexterityIncrement: When spending an attribute point in Dexterity, it will go up by this much.
intelligenceIncrement: When spending an attribute point in Intelligence, it will go up by this much.
Experience Levels
Spoiler for Hiden:
maxPlayerLevel: Maximal level your character can reach.

2
↜ Getting started with the Editor! by WNG ↝
Part 3 : Layer Painting



Introduction

Hello! This short guide will show you how to use the Layer Painting tool. It will allow you to add small details that are essential to make a good and clean map. We have briefly used this tool in the part II; this time we will explore it a bit more in-depth.

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

I. Fog/Lightning Layer

I. Fog/Lightning Layers:

This type of layer allows you to add fog effects to your maps and adjust the color of the ambient light. With these precise parameters, you have full control over the look of your areas. Let's start from this small section of map.

Spoiler for Hiden:

It is pretty bland and flavorless as of now, so let's fix it by clicking on the Layer Painting tool icon, on the toolbar. From the side menu, select "Fog/Lightning Layer" as type of layer and click New. This will create a new Fog layer.

You will be granted a brush to paint the zone you want to apply on. Click and drag to paint the area, and hold SHIFT while clicking to remove any paint (regardless of the layer selected.) You can also click+CTRL to fill the entire map with the selected layer. If you do not see the painted areas, make sure the View Layers option is checked in the side menu. You should also notice the blue arrow that has appeared, which accurately shows the layer you are currently in.

Spoiler for Hiden:

All that is nice, but our fog is non-existent. Let's add some fog now. There's two different types of fog you can use.

II. Depth Fog:

This type of fog appears in the distance, in front of the player. You can use the Near and Far Distance values to determine where it starts and where it ends. You can also adjust its opacity. Here's the initial map with a layer that uses this kind of fog.

Spoiler for Hiden:

III. Height Fog:

This type of fog appears from the bottom. It is working best when used in areas of high altitude. You can use the Top and Bottom Distance values to determine where it starts and where it ends. You can also adjust its opacity. Here's the initial map with a layer that uses this kind of fog.

Spoiler for Hiden:

IV. Color options:

The following array of options adjusts different settings to change the color of your fog (set above) on top of other miscellanous details such as light and ground color. Adjust them as you see fit to design your areas in every detail. Here's the initial map that now uses both kinds of fog with new color settings.

Spoiler for Hiden:

V. Import/Export:

If you wish to save your fog settings, you can use the Export button to save a file containing your fog data. You may then use the Import command to give a layer the same parameters.

II. Name Layer

This type of layer allows you to name your regions. Without a Name Layer, your map name would be blank and that's pretty undesirable. Let's fix this.

Creating a Name Layer is just as easy as a Fog Layer. Press New and get painting to define the boundaries of a named region.

Spoiler for Hiden:
Style Name: The name of your layer in the Editor. No effect in-game.
Localization Tag: The name of your region that will appear in-game. Leave your tag from ModStrings.txt here.
Cinematic Display: When the player enters this region, the name will display at the center of the screen.
Display Once: If true, Cinematic Display will only fire once ever.

When Cinematic Display is checked for that region, not only will it display in-game, but it will also display in the Editor. Note that the Editor will not recognize your ModStrings.txt tags, but it will still display normally in-game.

Spoiler for Hiden:

III. Sound Layer

This type of layer allows you to insert pre-determined music when the player enters it. Self-explanatory.

IV. Boss Layer

This type of layer fires a boss music, which stops when the boss dies. To function proprely, a monster tagged as Boss with a valid music file (set in its Monster Parameters) must be present in the zone layer.

3
Quest Modding / [Tutorial] Create your own quests!
« on: 04 April 2020, 19:36:42 »
↜ Create your own quests! by WNG ↝

Introduction

In this tutorial, you will learn how to make and play your own quests and include them in your custom maps. Quests can be logged into your journal or used to control some events in the world every session, making them very powerful tools to make your world interactive.

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. Create a .qst file

This step will require:
  • Quest Editor
    Located in your game installation file, this tool is necessary to create quest files, manage triggers and whatnot.

Procedure:

I. Have a functioning mod (optional but recommended):
Prepare a mod that will include in its database all the new entries that will be used for your quests. If you need custom monsters or new rewards, you should prepare them before using the Quest Editor.

II. Load your mod in the Quest Editor:
Locate the Quest Editor in your game folder and open it. It might take a while to open. It may prompt you to select a mod; this allows the Quest Editor to use your mod's database and use any new ressources you've added. If you aren't prompted, you can still proceed by selecting File > Select Mod...

III. Create a .qst file:
You can now simply press on File > New Quest Document or the Two-pages icon to create a new quest document!

II. Understanding the quest components

I. Quest Steps:

Quest steps are the big sections of your quest. You can name them by clicking on them and leave comments on them too. Their only use is to contain triggers. Quest steps can contain multiple triggers at once, although I suggest you stick to using one trigger per quest step.

II. Triggers:

Triggers represent the events that can occur. You can name them by clicking on them and leave comments on them too. Triggers contain conditions and actions.

III. Conditions:

Self-explanatory; conditions are criterias that need to be met to trigger the action below. All conditions must be fulfilled before proceeding.

IV. Actions:

Self-explanatory; actions are events that will occur once the conditions are fulfilled.

V. Tokens:

Tokens are switches that can be used to keep track of the progress of the player's quests, enemies defeated, who it has talked to or not and a lot more. Unlike switches, however, tokens are not exactly booleans; they are granted to the player which means you can either own a token or miss a token (the difference is very subtle.)
You must create your own tokens; they are not generated automatically. Simply press on the wrench icon on the top bar and on the Create Token button.
!! If the window says the Tokens.bin file is not editable, make sure 1) the file exists in your mod directory, 2) the file itself (and its parent directories) are not set on Read-only. !!

III. Analyzing a quest example

To build a quest from scratch, it is necessary to understand how each action and condition operates, but we will get to that later. For now, let's make sure that you understand how a quest is built by looking at an example quest from one of my old custom maps.

The Broodmother : To complete this simple quest, the player must find a kill a huge spider. Here is the structure as seen in its .qst file.
Spoiler for Hiden:

Step 1: Initialization
Spoiler for Hiden:
Conditions
  • When the game loads
  • If the player does NOT own the token "sq1_complete" (which will be granted later upon finishing the quest)
Actions
  • Add the "!" indicator on the top of the head of the NPC "shanzung_qg1"

Step 2: Receive quest
Spoiler for Hiden:
Conditions
  • When the player discusses with the NPC "shanzung_qg1"
  • If the player does NOT own the token "sq1_spiderkilled" (which will be granted later upon killing the spider)
Actions
  • Adds/updates the quest to the player's journal

Step 3: Defeat spider
Spoiler for Hiden:
Conditions
  • Upon killing the creature "giantwidow_1"
Actions
  • Adds/updates the quest to the player's journal (with new information)
  • Grant the token "sq1_spiderkilled" to the player
  • Add the "!" indicator on the top of the head of the NPC "shanzung_qg1" anew
  • Changes the dialog package of the NPC "shanzung_qg1"

Step 4: Report back
Spoiler for Hiden:
Conditions
  • When the player discusses with the NPC "shanzung_qg1"
  • If the player does owns the token "sq1_spiderkilled" (which has been granted at step 3)
Actions
  • Updates the quest to the player's journal (with new information) and now tags it as completed
  • Give the player one instance of a random item from the referenced loot table (in this case, a relic shard)
  • Grant the player some experience points
  • Give the player the token "sq1_spiderkilled"
  • Changes the dialog package of the NPC "shanzung_qg1" once more
  • Completes the quest (the .qst file is now sealed)

IV. Implement a quest in your mod

We now know how a quest file looks like and how it is built. I will explain in the posts below the function of some conditions and actions, but before that, let's look how we include a new quest to our mod.

This step will require:
  • Art Manager
    Also located in your game installation file, this tool manages your mod's assets and database. Here, it is required to build your quest into your mod and make it usable.
  • Editor
    Also located in your game installation file, this powerful tool is used to make maps. It will be necessary later to include your quest in your map.

Procedure:

I. Make an asset of your .qst:
Once you have finished and saved your .qst file, open the ArtManager with your mod selected. In the Source tab, select the folder you want to store your quests in (every mod starts with a Quests folder by default.) Right-click on the window on the right and click Import... From there, find your quest. Once it's imported, right-click on it and press Auto-Create Asset.

II. Build the asset:
Visit the Assets tab and locate your quest file in the same folder you left it in Sources. Right click on it and click on Build. Once it's done (should display "added: ./_questname_.qst" in the console), press F7 to build your mod. The quest is now incorporated in your mod, but remains unused...

III. Add the quest in your map:
Launch your custom map. On the top bar, press on Quest > Selected Files... You will see the entirety of the quest files used by this map. Press Add and locate your quest. Once it's added, make sure to save your map (no need to rebuild pathing or maps.) For changes to take effect, you may need to rebuild your map and your mod with the Art Manager.

4
Modifications / Set bonuses get corrupted/mixed up
« on: 15 February 2020, 13:58:53 »
Hi, this question is aimed at other modders who have changed set bonuses in any their mods.

Have any of you noticed how they sometimes tend to switch for the Vanilla bonuses and sometimes are granted the modified bonuses? It's probalby not a multiplayer issue or a display issue, but it happens every few game sessions and that seems pretty worrying. It might also be another issue with Vanilla game, then again I have no idea of the source of the bug.

5
Art Manager / [Tutorial] Create a new skill!
« on: 24 November 2019, 01:44:02 »
↜ Create a new skill! by WNG ↝

Introduction

Hello! This guide will show you how to setup a new skill and learn the different skill templates to have different skills.

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

I. Table of Contents

Attacks

Weapon Attacks

Debuffs

Projectiles

Passives

Movement

Misc/Others

II. Universal skills parameters

Almost every skill in the game has those parameters in common. They include many core parameters of a skill. Any omitted parameter is either irrelevant, strange or I do not know its function.

Also note that any parameter stored in a array needs an entry for each level. If the number of entries is lower than the ultimate level, it will take the highest value. Any parameter stored in a string, boolean or integer/real will remain the same regardless of the level.

I. Skill Config:
Spoiler for Hiden:
skillTier: The tier in the mastery at which the skill is available. Unused by monsters.
skillMasteryLevelRequired: The mastery level necessary to access this skill. Unused by monsters.
skillMaxLevel: The maximum level of the skill, without taking bonus skill points into account.
skillSpecialAnimationName: String of the reference of a Special Animation from the entity's animation table.
skillUltimateLevel: The maximum level of the skill, while taking bonus skill points into account.
excludeRacialDamage: Boolean. Determines whether the skill should take racial bonuses into account or not.
exclusiveSkill: Boolean. Only one exclusive skill can be activated a time.
skillCooldownTime: Recharge time of the skill (in seconds).
skillManaCost: Energy cost of the skill.
distanceProfile: Distance at which the skill can be used.
damageAbsorption: Amount of flat damage absorption granted by the skill.
damageAbsorptionPercent: Amount of percent damage absorption granted by the skill.
allSkillEnhancement: Amount of bonus points granted to all skills by the skill.
notDispelable: Boolean. Determines if this skill can resist Dispelling (Spellbreaker skills.)

II. UI Information:
Spoiler for Hiden:
hideFromUI:  Boolean. If set to 1, hides the skill (buff) from the active effects in the game UI.
skillDisplayName: The name of the skill.
skillBaseDescription: The description of the skill.
skillUpBitmapName: Texture of the skill icon, when inactive.
skillDownBitmapName: Texture of the skill icon, when it is pressed on.
skillConnectionOff: This array contains line segments to create links in the mastery screen.
Spoiler for Hiden:
  • InGameUI\Icons\Skills\SkillBars\SkillBarBottomOff01.tex
  • InGameUI\Icons\Skills\SkillBars\SkillBarConnectOff01.tex
  • InGameUI\Icons\Skills\SkillBars\SkillBarMiddleOff01.tex
  • InGameUI\Icons\Skills\SkillBars\SkillBarTopOff01.tex

skillConnectionOn: Same as above, when a point is invested in the skill. Simply replace "Off" to "On" on every texture name from the array above.
skillConnectionSpacing: Spacing in pixels of each skillConnection. Default value is 62.
isPetDisplayable: Boolean. If attached to a pet, this skill will appear in the tooltip description.

III. Qualifying Weapons:
Spoiler for Hiden:
Booleans. Set to 1 to force the entity to wield the weapon type to use this skill.

IV. Skill Dependancy:
Spoiler for Hiden:
An array of skills that need at least 1 skill point in to use this skill.

V. Parameters:
Due to a limit of characters, please follow this link to another tutorial where you can discover the parameters. (section II, step II) : https://titanquestfans.net/index.php?topic=579.0

6
Art Manager / [Tutorial] Setup a new mastery!
« on: 05 November 2019, 01:09:04 »
↜ Setup a new mastery! by WNG ↝

Introduction

This tutorial will explain in detail the anatomy of a mastery and what needs to be setup so you can fully understand the functioning behind it and the editing possibilities. This is NOT a tutorial about making skills; this will be seen in great detail in a future tutorial (most likely my next one.)

It's important to note that the game doesn't allow adding new masteries, but rather overwriting the current ones. That means, you cannot add an 11th mastery, but you can create your own which will replace an existing mastery while your mod is running. When you replace files from a mastery with your own, remain consistant : if you are replacing the Defense mastery, only edit the Defense mastery-related files.

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 this started.

I. Setup your mod
I. Download the mod template
There is a lot of files to import and to edit. To avoid this, simply download the mod base I have made a small mod with all the files needed to edit for the full customization of your masteries. It also contains some visual assets.

Download it here : https://mega.nz/#!NMNRFIDa!OijXfq3gmE2xSCUSDboMmxmqe4O9ZhqVyTIVtbW9Ivo

Place the downloaded mod here :
Code: [Select]
C:\Documents\My Games\Titan Quest - Immortal Throne\Working\
Make sure that inside your folder there's the folders "assets", "database" and "source". If there's an intermediary folder, remove it. If that has all been done correctly, your mod is now ready to be opened with the ArtManager, as always located in your game installation folder.

II. Anatomy of a Mastery Mod

This section will now discuss the multiple components that are related to the masteries.

I. Mastery Skill Trees (skills/.. skilltree.dbr & mastery.dbr)

Those files are the essential components to a mastery, the very core where you can decide the skills and the bonuses your masteries will provide. Those are located in your mod's database, more commonly under the "skills" folder (or xpack/skills or xpack2/skills, if we speak of the Dream or Rune mastery.) In the mod template, you can find a folder inside the "skills" folder which is named "new_mastery", containing the two files mentionned above.

• mastery.dbr will contain all the necessary information that is related to the mastery button (which increases your mastery level.) As I usually tend to do in my tutorials, I'll list the important fields to edit. Anything that is omitted shouldn't (or rather doesn't have to) be edited.

Spoiler for Hiden:
Header
Spoiler for Hiden:
Properties > Mastery Enumeration
The "identity" of you mastery to the game's eyes. Choose only one per mastery you make. This seemingly irrelevant and easy-to-miss step is actually very important. If your choice doesn't match the mastery you intend to replace, there will be issues such as launching the game and having your skill tree opening the tree of another mastery.

Very important notice here : you will notice that there is 10 choices in the droplist; one per mastery in the game. HOWEVER, the option that seems to match the Rune Mastery (Berserk) is actually useless. To resolve that, simply import and copy-paste the .dbr file below and edit it normally without EVER touching this field.

Code: [Select]
records\xpack2\skills\runemaster\runemaster_mastery.dbr
UI Information
Spoiler for Hiden:
skillDisplayName
The name that will appear when you hover the "+" button in your skill tree.
skillBaseDescription
The description that will appear under the skillDisplayName when you hover the "+" button in your skill tree.
skillUpBitmapName / skillDownBitmapName
The texture files that are used for your "+" button, the first being the button in its regular state and the latter being when the button is clicked on.
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 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.
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.

As this may suggests, you can introduce any sort of bonus to your mastery bar. The developpers from Iron Lore preferred to stick with attribute bonuses, but you can go beyond those boundaries.

• skilltree.dbr will be used by the game to determine which skills are part of your mastery. As you open it, you will see there's 26 slots for skills (one of them being your mastery.dbr from earlier), which means your mastery can hold up to 25 skills with the current hardcoded limits. Make sure to reference your mastery.dbr at the first field, and any of your skills in the following fields. There's also a field for the skill level, which is normally set at 0. If any value other than 0 is given, the skill will be directly available to your skill bar at the specified level.

Very important notice : Make sure to include any skill modifier directly under the parent skill. If you do not, the skills in question may not function as intended. See the spoiler below for an example.

Spoiler for Hiden:



7
Modifications / Custom Maps in MP since Atlantis?
« on: 04 August 2019, 17:38:46 »
Hi, I was asking if any of you found weird issues playing custom maps in multiplayer since the Atlantis update. Since I could in the past, I'm very confident Atlantis threw a wrench in the MP system and causes inevitable crashes on load, but I wanted to verify with other people if it was your case. Not talking of bounce mods here, but mods that play in the Custom Quest with or without modifications to the world map.

Any ideas?

8
Around the world / Community game : True or false?
« on: 18 May 2019, 01:37:22 »
I had this silly idea that a community-driven game would be very enjoyable on this forum. So for this reason I suggest one for you all. This one is very simple, it's called True or False.

Basically, every poster says 3 facts about himself or herself, 2 of them will be true, the other one will be false. The other people have to figure out which one of those facts is the false one.



Alright, so I start :

1] I dislike rain
2] I dislike vegetables
3] I dislike cats

9
I rebuilt the mod with the new Art Manager to "update" it to Atlantis as per recommended by developpers. I launched the game and my mod worked just as fine as it did.

I then proceeded to send it to two friends for them to try it, but it wouldn't work for them. Custom textures and UI pictures weren't loaded, the text tags from Modstrings does not load, etc. What I sent was the folder of my mod from "custommaps", only leaving .arc and .arz files.

Anyone else suffering the same issue? Have you tried to see if your mod runs on other machines?

10
Modifications / Bug rebuilding pathing of Vanilla map
« on: 21 April 2019, 00:59:40 »
This issue seems really odd to me. I first imported the map of the game in the Editor for modifications, following those steps :

Is there an possibility to open the original Titan Quest map so it can be modified?

Here's a link to the game map I extracted:
https://mega.nz/#!94IjWQaa!0tG2WcGzqv70OkDGAZhmtFi8X2cgnHzRCh-1X82DRZE

Extract the "Levels" directory to a mod's Source directory root. Don't use the "Maps" for this. Xpack and Xpack2 are self explanatory.

Here's the World01.wrl and the World01.sd I forgot to add. Place them in the YouMod/Source/Levels/World directory.
https://mega.nz/#!shgmjK7R!zgItf1TSosSLLRCJHQt6Ii-Yfdz-pBWevLrj3582gQg

Once all is in place, right-click the World01.wrl file and "Auto Create Asset". Hit build and wait a while for it to build.

I then modified parts of the map, rebuilt the pathing, and it works! Or, it works in certain places. I edited the map in the act 3 and it works fine. I also edited a part of the map in the Act 4, but my character now can't step in this part of the map at all.

Is there a special manipulation needed for XPack maps?

11
↜ Getting started with the Editor! by WNG ↝
Part 2 : Building Grids



Introduction

Hello! This guide will show you how to create your first basic map with the Editor, the tool to create custom maps for Titan Quest. Part 2 will show how to create a basic cave environment.

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

I. Getting started

I. Open the editor:

Open the editor and load your worldmap file to begin creating a cave.

II. Create a new grid:

Caves are built with grids. To build a cave, you need to create a new grid. To proceed, be in Layout Mode, and on the upper bar, choose Region > Add New Grid... Here, you can setup the name of your grid, the width and length in cells and the number of height levels. Make sure to save it in 'Maps' folder.

Spoiler for Hiden:

When satisfied, press OK. This will generate your grid in your map.

II. Grid Design

I. Select a grid style and paint:

Select your grid and press on Jump to Region. You will notice that regular terrain-sculpting tools do not work here, because you have no terrain to work with. Grids are edited differently. To begin setting it up, press on the Grid button. This should open up a menu and make a blue grid appear on the screen. If you are currently editing a regular terrain, there will be no grid, and the menu has no effect.

On this menu, you can setup many proprieties for your grid (see picture for details.)

Spoiler for Hiden:
Grid Types
System : Determines the style of your cave. Each file modifies the look of the ground tiles, look of the walls and the feature tiles.
Walls : Select Wall to draw the bounds of your cave. You need ground tiles for them to display. Select No Wall to erase walls.
Floor : Select Floor to draw the terrain your player can walk on. Select No Ground to erase tiles you have placed. It will also destroy walls that were placed on the tiles.
Features : Special tiles for greater looks or transitions. We will get to that later…
Resize Tool
Self-explanatory. Allows you to resize your whole grid by adding or removing cells in the fitting axis.

With this, you can draw a very basic cave shape. I drew this using the following grid system.
Code: [Select]
records\underground\naturalcave\greece\naturalcave\greecenatcave.dbr
Spoiler for Hiden:

II. Create darkness:

You will inevitably notice how the cave looks anything but sinister. It is way too flashy inside. Let's fix this by visiting the Layer Painting menu.

Layer Painting has multiple uses. One of those being creating custom lightning for specific zones. By default, when you open the menu, the Layer type is set to "Fog/Lightning Layer". This is exactly what we want. Press New to create a new layer. Name it if you wish.

Spoiler for Hiden:

Below will appear many options to setup your custom lightning/fog. For this tutorial, I simply want to make my cave more dark. To do this, I set the values of Red/Green/Blue of both Sky Ambient Color and Ground Ambient Color to 0.50, using the sliders. Then, you can use the left-mouse button to paint the zone where you want this layer to be effective. Hold Shift key to remove paint, and press Ctrl key to paint all the current area. This is the expected result.

Spoiler for Hiden:

III. Adding light particles:

We can also add lights to add more life to our caves. To do this, go to the Entity menu. Lights are stored as objects which can be placed anywhere around the world. Here's where you can find them.

Code: [Select]
records\lights\...
records\xpack\effects\lights\...
records\xpack2\lights\...

Inside those directories are stored multiple light objects that are particularly noticeable in dark areas, allowing you to do something like this :

Spoiler for Hiden:

IV. Adding decorations:

Still in the Entity menu, you can find decorations fitting the natural caves in the following directories.

Code: [Select]
records\underground\...
records\xpack\sceneryunderground\...
records\xpack2\underground\...

Inside, there is more folders which split cleverly the decorations into acts. Since I'm currently working on a Greece-looking type of cave, I will use exclusively stuff from this directory:

Code: [Select]
records\underground\naturalcave\greece\naturalcave\...

I re-edited the base shape of my grid, and added many decorations, and you find yourself with a decent-looking lair.

Spoiler for Hiden:

III. Grid Linking

I. Placing entrances:

Your cave looks cool and all, but right now it is unaccessible... or if your hero starts inside, it can't exit it, which is fine if your custom map is limited to a single cave, but that's unlikely. So let's link it to the real world.

In the Grid menu, place a feature tile that acts like an entrance (often specified in the tile name.) For example : "GreeceDngEntrance_C01_Int". Do not try to simply put a ground tile and put walls around it; you must use a feature tile to allow transition.

Spoiler for Hiden:

In the Entity menu, place an entrance to an underground level. The one I will use for this tutorial :
Code: [Select]
records\underground\naturalcave\greece\naturalcave\greecedngentrance_a01_ext.dbr
Spoiler for Hiden:

A gentle reminder to save your hard work.

II. Placing UI indicators (optional):

If you are one that wishes to place indicators on the minimap for "Cave Entrance", you can do so by visiting the Entity menu and browsing into this folder:
Code: [Select]
records\poi\...
Names of the indicators are self-explanatory. Place them in the editor and the POI icon will appear at this location on your minimap.

III. Link entrances together:

Time to link your entrances together. Press on the Portal menu. In front of the entrances you placed earlier should appear yellow rectangles.

Spoiler for Hiden:



Here, all you have to do is select one of the two [...] buttons and press one of the rectangles. Do the same process for the other one, so both portals are inserted in the fields. Then press "Link". Do it the other way around so the portals work both-ways.

If the linking was succesful, the yellow rectangles will turn green. If any of the portals is deleted, the one it was associated with will be red instead.

!!If you receive this error message, here's what to do!!

This will disallow you to link portals. To fix this issue, save your work and relaunch the editor, then try again. This issue often apepars when you place entrances and try to link them on the same session.

12
↜ Getting started with the Editor! by WNG ↝
Part 1 : Basic Tools



Introduction

Hello! This guide will show you how to create your first basic map with the Editor, the tool to create custom maps for Titan Quest. Part 1 will show all the basic tools to shape your world and how to make it playable in-game.

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

I. Getting started

I. Setup your mod:
If this hasn't already been done yet, open the Art Manager and create your mod. To do so, select Mod > New... and give your mod a name. When this has been completed, you can close it for now.

II. Open the editor:
When you have a mod to work with, open the Editor tool. After some loading, you will be prompted to select the world file you want to work on. You probably don't have a map in your mod yet, so select the "Maps" folder, then give a name to your map file. When you are satisfied, press OK.

Spoiler for Hiden:

You will be welcomed with a black screen. This is your map which will contain all your regions. To add a new region, go to Region > Add New Terrain... Create one inside your "Maps" folder, name it, and choose the map size. Proceed by pressing OK.

Your map will be created in space. To see it from closer, select the map and press on the button. Your map will be empty and textured with sand alone.

To move the camera around, drag your mouse with the right-click. Click with the mouse wheel to change camera rotation.

II. Sculpting Tools

Raise Tool
Lifts a surface. On the left side, you can adjust the radius, strength and speed of the brush effect.
Spoiler for Hiden:

Roughen Tool
Roughen the terrain. On the left side, you can adjust the radius, strength and speed of the brush effect.
Spoiler for Hiden:

Smooth Tool
Smooth the terrain. On the left side, you can adjust the radius, strength and speed of the brush effect.
Spoiler for Hiden:

Plateau Tool
Flattens the terrain at the set height. On the left side, you can adjust the radius, strength and speed of the brush effect. You can also modify the height of the plateau effect, either by input a value in meters on the left or adjusting it with Ctrl+Mouse wheel.
Spoiler for Hiden:

Relative Plateau Tool
Raise or dig the terrain by the set amount of meters. On the left side, you can adjust the radius, strength and speed of the brush effect. You can also modify the height of the plateau effect, either by input a value in meters on the left or adjusting it with Ctrl+Mouse wheel.
Spoiler for Hiden:

Copy Terrain Tool
Press Ctrl+C to get a mold of a terrain, and paste it around with Ctrl+V or a left click.
Spoiler for Hiden:

Ramp Tool
Create a ramp. Drag your mouse to choose the length of the ramp. Adjust the width, in meters, on the left part of the screen.
Spoiler for Hiden:

III. Painting Tools

Painting Tool
Used to paint textures. You can add textures to your region in the Texture Layers array.

Add Layer: Add a texture to your map, that you can use to paint.
Remove Layer: Remove the texture from the map.
Move Up: Move the selected texture up, making the texture appearing behind the ones below.
Move Down: Move the selected texture down, making the texture appearing over the ones above.
Load Layers: Load a set of textures.
Save Layers: Save a set of textures to be loaded later on another region.
Set Top Layer: Set the selected texture above all the others.
Toggle Layer: Toggle the visibility of the layer.

Use the brush properties to adjust the strength and the opacity to create different texture effects.

Strength:
Spoiler for Hiden:
Comparison between 10% - 100%
Opacity:
Spoiler for Hiden:
Comparison between 100% - 50% - 20%

Combine multiple textures at once, play with different opacities and you can come up with a quite basic terrain like this.
Spoiler for Hiden:

Impassable Area Tool
Used to paint impassable terrain. Players can not walk over this terrain. Paint with Shift pressed to remove the impassable area.

IV. Water Tools

Water Brush Tool
Select a water type and paint it on the world with the set Radius and Height, on the left. Select "None" to remove painted water.

Add: Add a new water type.
Edit: Edit the selected water type. See the spoiler below for the editable parameters.
Spoiler for Hiden:
Name: Name of the water type, in the editor.
Sky: Sky effect.
Noise: Noise emitted of the water type.
Speed: Speed of the water.
Smoothness: Smooth factor of the water.
Specular: ???
Reflectivity: Ability of the water to reflect objets and light.
Direction: Change the direction of the flow of the water.
Scale X: Scale of the water texture on the X axis.
Scale Y: Scale of the water texture on the Y axis.
Min-Max Depth: Displayed depth of the water.
Min-Max Opacity: Opacity of the water.
Color: Color of the water using Red, Green and Blue values.
Remove: Remove the selected water type from the world.
Copy: Duplicate the selected water type.
Import: Import a previously exported water type.
Export: Export a water type.
Spoiler for Hiden:

River Tool
Select a water type and draw a river using Bezier curves. Press Shift to place points, Backspace to remove one. Adjust them with their own curves, and press ENTER to confirm your river.
Spoiler for Hiden:

V. Placing Objects

Place Entity
Press on this icon to have access to all the entities of the game (and the custom ones you have created, if you have made any.) It contains items, monsters, NPCs and environnement objects. Those are the ones we will be interested in. Not all (but most) scenery objects are located in these folders:

Code: [Select]
records\scenerybabylon\...
records\sceneryegypt\...
records\scenerygreece\...
records\sceneryolympus\...
records\sceneryorient\...
records\xpack\sceneryhades\...
records\xpack\scenerymedit\...
records\xpack\sceneryunderground\...
records\xpack2\scenery\...
records\xpack2\sceneryasgard\...
records\xpack2\scenerycelticheartlands\...
records\xpack2\scenerydarklands\...
records\xpack2\scenerygreece\...
records\xpack2\sceneryjotunheim\...
records\xpack2\scenerymuspelheim\...
records\xpack2\sceneryscandia\...
records\xpack2\scenerywildlands\...

These folders are generally composed of two other folders: "nature" (for natural landscapes) and "structure" (for towns, cities, etc.) When placing an object, you can select it to move it around and turn it around the X axis alone.

With what we have seen so far, we are already able to make in a few minutes a very simple forest scenery. Only by adding trees and water, we can give an entirely new feeling to our map.

Spoiler for Hiden:

Looking better, yes? Now let's add rocks and bushes and let's see what it looks like.

Spoiler for Hiden:

Decent enough. When you are satisfied with your map, let's make it playable.

VI. Make the map playable

I. Place the spawn point:
To make your map playable, you need to define where your character will spawn at the beginning of its journey. To do so, place the player spawner found here :

Code: [Select]
records\controls\spawnplayer.dbr
II. Compile your map:
On the bottom of the Editor, switch to the Layout view, back where we were previously. We will compile the map to build later in the Art Manager.

Go to Build > Rebuild All Pathing. This will update the items on the map and the pathing obviously.
Afterwards, go to Build > Rebuild All Maps. This will generate the map texture for your map(s).

Those options exists with a "Selected Maps" alternative, instead of "All Maps". It's particularly useful to select specific maps to build when your maps become full of regions.

Spoiler for Hiden:

When the texture has been generated, it could look like something similar to this picture below.

Spoiler for Hiden:

When you have built your maps, do not forget to save all!

III. Build your map's assets:

Launch Art Manager. Browse to your Maps folder; you should see new things inside. From all the files you will see, you only need to build the .wrl and the .tga file(s). When building the .tga texture, you can select "Texture" and ignore the other parameters without worries.

Spoiler for Hiden:

When this has been proprely done, go to the Assets tab and build the assets by right-clicking on them.

Spoiler for Hiden:

You are now ready to build your mod, using F7, and can playtest your map. In Part 2, we will explore more things to do with the Editor.

13
Other Modifications / [Tutorial] PSEditor!
« on: 13 March 2019, 02:20:29 »
↜ PSEditor! by WNG ↝

Introduction

Hello! This guide will show you how to use the PSEditor tool, wich allows you to create and edit special effects to use them in the game. It is very flexible and opens a lot 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 this started.

I. Create the effect

I. Launch PSEditor:

This tool is located at the root of TQ's installation folder. Assuming you use Steam's AE version, it should normally be in there.

Code: [Select]
C:\Program Files (x86)\Steam\steamapps\common\Titan Quest Anniversary Edition
Double-click on it to open it. The interface will be a gray screen. To proceed, simply go to File > New. A smaller interface should appear. The dark-blue screen is your scene where you will be able to visualize your effect. Right now, your scene is empty. To get started, click on Create New, on the left of the screen, to add a particle emitter to your scene.

!!!Before we go any further...!!!

Many parameters in PSEditor are adjusted with curves (like seen in this spoiler below.) The curves represent the evolution of a parameter over the lifespan of the emitter, the left part being the start of its life and the right part, the end. You can adjust the values using the handles at the extremities of the curve. Also, if you desire, you can add new breakpoints by right-clicking where you want one. They can be removed at anytime, by right-clicking on them a second time.

Also, note that you can adjust the value range of your curves in the field of the same name.

Spoiler for Hiden:

II. Overview of Effect Options:

Create New: Add a new particle emitter to the scene.
Clone: Duplicates the selected emitter and adds it to the scene.
Delete: Deletes the selected emitter.

III. Overview of Global Options:

Debug Lines: Displays the X, Y and Z axis, along with the size of your emitters in the editing screen.
Simulate Flight: Runs a simulation of your effect following a looping, circular movement.
Pause: Freezes the particles in place.
Reset Camera: Resets the camera to its default position.
Run System: Restarts the particle system.

IV. Overview of Emitter Options:

Name: Name of your particle emitter in the scene. No effect in-game.
Pick Texture: Selects the texture of your particle effect. You may browse in a huge amount of directories, but the best place to look is here: "Effects\textures\...". The file must be of the type ".tex". Note that if you use an incompatible file type or a texture that the editor doesn't recognize, it will be replaced by a yellow-blue checkerboard.
Pick Shader: Selects a shader for the particles from this emitter. The file selected must be of the type ".ssh". Here are the two principal shaders that are used for effects :
Shaders\particle\particleadditive.ssh (Black is transparent)
Shaders\particle\particlecombine.ssh (Black is opaque)
Frames Per Second: ???
Type: Shape of your emitter.
Emitter Life Span: The lifespan of your emitter is the duration, in seconds, during which it will emit particles.
Looping: If checked, the emitter will start playing again when the lifespan is up.
Flatten Motion: Requires the Velocity parameter to have a value greater than zero. If checked, it repulses the particles away from the center of the emitter.
Render: If checked, the effect is visible in the editor screen. When too many particles are on the screen, it can be useful to toggle other emitters off and focus your attention on a single emitter.
Implode: Requires the Velocity parameter to have a value greater than zero. If checked, it attracts the particles in the center of the emitter.
Emit Locally: If checked, it makes the particles stick to the emitter despite movement. You can only see the difference with Simulate Flight activated.
Velocity: Speed given to your particles.
Emitter Size: Size of the area inside which your particles can appear.
Emit Angle: Angle of the emitter.
Emit Rate: Emission rate of the emitter. The higher it is, the more particles will be created at once.
X Offset: Offset of your emitter on the X axis.
Y Offset: Offset of your emitter on the Y axis.
Z Offset:Offset of your emitter on the Z axis.
X Rotation: Rotation speed of your emitter on the X axis.
Y Rotation: Rotation speed of your emitter on the Y axis.
Z Rotation:Rotation speed of your emitter on the Z axis.
Initial Rotation: Initial rotation angle of your emitter on the X, Y and Z axis respectively.

V. Overview of Particle Options:

Particle Life Span: Lifespan of a single particle.
Size: Size of a single particle.
Rotation: Rotation speed of a single particle.
Color/Alpha: Manages the color/alpha  of a single particle. Unlike other parameters, this one has 4 curves to adjust. The colored curves adjusts the corresponding color value. The gray one controls the alpha.
Gravity: Effect of gravity on a single particle.
Stretch: Only works when either Gravity or Velocity has a value greater than zero. Stretches the texture of a single particle.
Friction: "Weight" of a particle. It diminishes the effect of Gravity or Velocity.
Orient Vertically: If checked, makes your particles face up.
Random Orientation: If checked, your particles are given a random orientation.
Motion Orient: ???

VI. Overview of Light Options:

**Thanks to Bumbleguppy for illuminating me.**

Adds a light effect to your particles.

Enabled: If checked, renders the light.
Shadows: If checked, allows the light to cast shadows.
Off During Day: If checked, the effect doesn't display during ingame daytime.
Simple: ???
Color: Color of the light effect. Unlike other parameters, this one has 4 curves to adjust. The colored curves adjusts the corresponding color value. The gray one controls the alpha.
Radius: Range of your light effect.

VII. Save your work:

Explore, experiment, and try new things! When you are satisfied of your work, go to File > Save As, and save it under the name you like. Add ".pfx" extension before saving!

II. Make your effect usable

I. Import your effect in your mod:

Launch the Art Manager and load your mod. Create a directory called "Effects" where you could store your future effects (or not, it's up to you, really.) Import your new effect by browsing in this directory.

Code: [Select]
C:\Users\xxxxxxxx\Documents\My Games\Titan Quest - Immortal Throne\Working\source
Spoiler for Hiden:

When imported, create its asset. Then, visit the Assets tab and build your effect here as well. Build your mod by pressing F7.

Spoiler for Hiden:

II. Create the .dbr of your effect:

It is time to create the database entry for your effect. Create a new record and set its template to "Effect.tpl". Rename the new record if you feel like it (you probably do.)

Open the new record. The file is very small, and only has one field worth editing for us: "effectFile". Browse for your custom effect use it to replace the placeholder. If your effect doesn't appear, make sure you have built it proprely in the previous step.

Spoiler for Hiden:

When your modification has been completed, save your work, build your record and build your mod. Your effect will now be usable in the game.


14
Other Modifications / Customized animations cause crash
« on: 06 March 2019, 22:11:33 »
Hi.

I've edited some dragonian animations. I extracted the breathing animation and, with a text editor, changed the special effect of the breath. I've then put them in an archive and applied them to new heroes. The thing is, whenever they attempt to use this animation, the game crashes 100% of the time.

What could be causing this?

15
Art Manager / [Tutorial] Add a custom monster to the game!
« on: 25 February 2019, 01:53:05 »
↜ Add a custom monster to the game! by WNG ↝

Introduction

Hello! This guide will show you how to create new enemies and include them to the monster pools to make them appear in the game among others. This was requested by sauruz. Hope you like it!

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 this started.

I. Create a new texture (optional)

This step will require:

I. Gather ressources:
The plan is to create a new Hero Epiales, because Epiales are awesome. I want to give my new hero a new texture, and to do this I will import an existing texture from them. Open ARC Explorer, and browse in the directory of your game. My access path is this one :

C:\Program Files (x86)\Steam\steamapps\common\Titan Quest Anniversary Edition\Resources

Inside, you will see a bunch of .arc files. The textures of monsters are stored in Creatures.arc. If you want to pick a creature from an expansion, pick the Creatures.arc from the folder XPack (Immortal Throne) or XPack2 (Ragnarok). Following this example, my Epiales texture is in the XPack's Creatures.arc. Load this .arc file in ARC Explorer. From there, you will see multiple folders named after the monsters. I will pick "epialeshero.tex". Save the file where you can retrieve it.

Spoiler for Hiden:

Launch TEX Viewer and open your texture. You will see it appear on the screen. All you have to do is export it and save it under the ".tga" format.

Spoiler for Hiden:

II. Edit the texture:

Open your image-editing tool, and open your texture. Do the edits you wish to it and save your changes, still in ".tga" format. If you want to follow my example, you can take this texture for the following steps. (Make sure to save it in .tga!)

Spoiler for Hiden:

III. Import your texture into 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 (or Texture > DXT5 if your texture has transparency), and proceed by pressing OK.

Spoiler for Hiden:

IV. 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.

Spoiler for Hiden:

II. Create the monster

I. Copy an instance of the base monster:
To make it simple, it is easier to work from an existing instance of the monster. Let's import an Epiales. In the upper bar, go to Database > Import Record... This will be the record I will be importing.

"records\xpack\creatures\monster\epiales\xhero_cthulekes_45.dbr"

In the Database tab of the ArtManager, open the folders to access the record you just imported. Right-click on it, and duplicate this record and rename it (to not overwrite stuff already in the game.)

Spoiler for Hiden:

II. Edit the monster:

Double-click on it to edit its parameters. You will see there is a lot of tabs and parameters, but worry not : I will identify the most important ones to edit and the ones you are the most susceptible to be interested in.

Spoiler for Hiden:
Monster Parameters
Spoiler for Hiden:
Monster Classification
A droplist out of which you can select the type of enemy this one is.

Character
Spoiler for Hiden:
Char Level
Level of your enemy. It's an array; so you can input multiple values for each difficulty.
Experience Points
Experience reward upon killing the enemy.
Hand Hit Damage Min/Max
Physical attack damage when your enemy attacks with bare hands (or tentacles, in Epiales' case.) You can input minimum and maximum values.
Character Racial Profile
The race of your enemy. Ghost, Beast, Olympian... it's an array, so you can put as much as you want at once.

Actor Variables
Spoiler for Hiden:
Description
Name of your enemy. Refer your tag in your 'ModStrings.txt', more info here : https://titanquest.fandom.com/wiki/Modstrings.txt
Base Texture
Base texture of your enemy. !!! This is where you put your custom texture !!!

Character Bio
Spoiler for Hiden:
Self-Explanatory. This is where you put innate values of your enemy, being resistances, attributes and others.

Reward
Spoiler for Hiden:
Gold Generator Chance
Chance to drop gold. If left blank, it will never drop gold.
Gold Generator
The formula of gold associated to your monster. Here's the two you are the most susceptible to be using.

For regular mobs : records\item\miscellaneous\gold\monstergoldgenerator.dbr
For champion/hero mobs : records\item\miscellaneous\gold\championgoldgenerator.dbr

The full list of gold generators are here : "records\item\miscellaneous\gold\...".

Skill Tree
Spoiler for Hiden:
Self-Explanatory. Refer in 'skillNameX' fields the .dbr of a skill you want to give to your hero. Here you need to refer both active skills and passive skills (this includes "racial" passives, such as Undeads' resistances.) Keep in mind you have to put the level of the skill in the fitting 'skillLevelX' field. It's an array, so you can have 3 values : one for every difficulty level.

Useful links
Spoiler for Hiden:
You can find skills from Vanilla masteries here :
records\skills\defensive\...
records\skills\earth\...
records\skills\hunting\...
records\skills\nature\...
records\skills\spirit\...
records\skills\stealth\...
records\skills\storm\...
records\skills\warfare\...
records\xpack\skills\dream\...
records\xpack2\skills\runemaster\...

You can find monster skills here :
records\skills\monster skills\...
records\xpack\skills\monsterskills\...
records\xpack2\skills\monster skills\...

Finally, useful passives you may want to use :
records\skills\monster skills\defense\dodge_1%perlevelx100.dbr (Grants Chance to Dodge attacks, it may not work as an inherent ability)
records\skills\monster skills\defense\dodgeprojectile_1%perlevelx100.dbr (Grants Chance to Avoid projectiles, it may not work as an inherent ability)
records\skills\monster skills\defense\armor_passive.dbr (Grants passive armor protection)
records\skills\monster skills\defense\construct_resists.dbr (Passive resistances for Construct Race)
records\skills\monster skills\defense\resist_ghost.dbr (Passive resistances for Ghost Race)
records\skills\monster skills\defense\resist_undead.dbr (Passive resistances for Undead Race)
records\skills\monster skills\defense\trap_resists.dbr (Passive resistances for Device Race)

I won't show how to create custom skills here though. This is for another time.

Skill Configuration
Spoiler for Hiden:
This is where you setup how your enemy will use its active skills (granted it has the necessary energy to cast it.) All the skills mentionned here have to be included in the Skill Tree, otherwise the enemy will be unable to cast it.

Attack Skill Name
Instead of attacking, it will use this skill. For example : Mage Empusas throwing poison bolts with staves that aren't poison staves.

Buff Self Skill Name
A skill that the enemy will use on itself during the fight.

Buff Other Skill Name
A skill that the enemy will use on an ally during the fight.

Heal Skill Name/Delay
A skill that the enemy will use to heal during the fight (and the delay between each use.)

Heal Skill Name/Delay
A skill that the enemy will use to heal during the fight (and the delay between each use.)

Beserk Skill Name
A skill that the monster uses on low health. The % health is determined by the value of lowHealthTriggerLevel, located in the Character Sounds tab.

Dying Skill Name
A skill casted immediately upon dying (I think it is casted without taking energy cost and cooldown into account.)

Initial Skill Name
A skill that is used as soon as the enemy identifies you.

Special Attack X Skill Name
A skill that is available to the enemy during the battle.

Special Attack X Timeout
Cooldown of Special Attack X, during which the skill will be unavailable.

Special Attack X Delay
Delay before possibly reusing the Special Attack X.

Special Attack X Chance
Chance to use Special Attack X.

Special Attack X Range
Picklist that determines various ranges at which the enemy has to be from the player to use the Special Attack X. The range values are in meters, and can be individually modified for every monster below. Select 'AnyRange' to make it use the skill regardless of the distance the monster is from the player.

x Range Min/Max
Specifies the minimum/maximum distance in meters that is "Short/Medium/Long Range".

Chain Initial Skill
A skill that, when used, forces the enemy to use a specific skill in sequence.

Chain Next Skill
When the enemy uses the skill specified at 'Chain Initial Skill', it will use this skill afterwards.

Chain Behavior
Determines the target of the skill specified at "Chain Next Skill".



Modify the parameters you wish. Feel free to explore and try new stuff as well. When your work is done, save, then right-click on your .dbr and build it.

III. Include your monster in monster pools

I. Import a monster pool:

Monster pools select a number of enemies from a table and makes them appear in-game. This is what makes every run of TQ different, because we never come across the same
combination of monsters at the same place. To include our monster in the game, we will have to take the exisitng monster pools. Proceed by importing a record, and visit those folders to find them :

records\proxies greek\area001\pools\...
records\proxies egypt\pools\...
records\proxies orient\pools\...
records\xpack\proxieshades\pools\...
records\xpack2\proxiesnorth\pools\...

From there, navigate into the folders (named after racial types) and pick one or multiple tables you want to include your monster in. For my hero Epiales, I will import all the tables related to Epiales. That is :

records\xpack\proxieshades\pools\demon\epiales_01_general01.dbr
records\xpack\proxieshades\pools\demon\epiales_01_general02.dbr
records\xpack\proxieshades\pools\demon\epiales_02_general01.dbr
records\xpack\proxieshades\pools\demon\epiales_02_general02.dbr
records\xpack\proxieshades\pools\demon\epiales_03_general01.dbr
records\xpack\proxieshades\pools\demon\epiales_03_general02.dbr

II. Include your monster in the pools :

Open your newly imported monster tables. To include your monster, you will need to refer it inside either "Pool" (if it is a regular monster) or "Champion Pool" (if it is a champion/hero monster.) Technically, you can include it in both, but there's no point.

So, since my Epiales is a hero, I will include it in "Champion Pool", but it works just the same for regular mobs. Here is, in the spoiler, a quick description of the fields to edit.

Spoiler for Hiden:

nameX
The .dbr file of the monster you wish to include. !!! This is where you put the .dbr file of your new creature !!!
weightX
The flat odds for it to appear, in comparison to the other creatures in the file.
difficultyX
Related to difficulty equations??? (can be left blank)
difficultyCutoffX
Related to difficulty equations??? (can be left blank)
alwaysSpawnX
Forces to spawn the specified number of said creature.

Save your changes, and build those tables to apply the changes to your mod.

Pages: [1] 2 3

SimplePortal 2.3.7 © 2008-2020, SimplePortal