Malachor
-
Posts
78 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Calendar
Posts posted by Malachor
-
-
Really? From the testing I've done it seems it works above 12.
As a short example, the high elf's fireball was modified to have tokens 0-16, #14 and #16 are et_target_seeker, which I assume means that it goes after targets itself. Which is what it does. If it couldn't handle above 12, then that wouldn't work.
I do realise that is only one example though, and I haven't played sacred 2 in a while, but I think I would have noticed. Well, I also admit that I haven't played through every class, and/or used every combat art either, so there may well be some exceptions, although that seems a bit strange.
-
So I assume that that's where/how you add a skill to a creature/form (and possibly make it Mastered by changing the advanced = flag).
The advanced flag determines which column of the skill page it appears in. 0 is left, 1 is right.
To modify the skill and make it mastered, you go to:
mgr.createSkill { skill_name = "skill__enemy_focus", advance_level = 255, min_level = 1, mean_value = 200, advance_mean_value = 0, skillgroup = "SKG_ASPECTS", }
And change the advance_level value. Using 1 will mean that it's mastered straightaway.
-
How to disable it so I can have like both bronze/silver/gold modifications expect for Inquisitor's doppelganger and Shadow Warriors shadow veil modifications?
I'm not sure if it can be disabled, but you can create the same effect by modifying the combat arts.
Here's an example:
Original Seraphim combat art mgr.defineSpell( "se_co_schlaghagel", { eiStateName = "cSMSchlaghagel", fxTypeCast = "", fxTypeSpell = "", duration = 0.000000, animType = "ANIM_TYPE_SM02", animTypeApproach = "ANIM_TYPE_INVALID", animTypeRide = "ANIM_TYPE_INVALID", animTypeSpecial = "ANIM_TYPE_RIDESM02-SPECIAL", causesSpellDamage = 0, tokens = { entry0 = {"et_duration_sec", 1500, 10, 0, 8 }, entry1 = {"et_mult_weapondamage", 900, 3, 0, 9 }, entry2 = {"et_baseAW", 200, 250, 0, 5 }, entry3 = {"et_damage_any_rel", 320, 80, 0, 5 }, entry4 = {"et_chance_doublehit", 200, 0, 1, 5 }, entry5 = {"et_mult_weapondamage", 150, 1, 2, 9 }, entry6 = {"et_cost_thisSpell", 250, 0, 3, 4 }, entry7 = {"et_debuff_EVW", 1000, 10, 4, 42 }, entry8 = {"et_chance_criticalhit", 99, 1, 5, 5 }, entry9 = {"et_debuff_armor_phy", 500, 10, 6, 42 }, }, fightDistance = 45.000000, aspect = "EA_SE_COMBAT", cooldown = 0.000000, soundProfile = 0, cost_level = 250, cost_base = 500, focus_skill_name = "skill_SE_combat_focus", lore_skill_name = "skill_tactics_lore", spellClass = "cSpellSMove", spellcontroltype = "eCAtype_a_weapon_attack", magicType = "MAGIC_TYPE_ATTACK", sorting_rank = 2, })
Modified Seraphim combat art mgr.defineSpell( "se_co_schlaghagel", { eiStateName = "cSMSchlaghagel", fxTypeCast = "", fxTypeSpell = "", duration = 0.000000, animType = "ANIM_TYPE_SM02", animTypeApproach = "ANIM_TYPE_INVALID", animTypeRide = "ANIM_TYPE_INVALID", animTypeSpecial = "ANIM_TYPE_RIDESM02-SPECIAL", causesSpellDamage = 0, tokens = { entry0 = {"et_duration_sec", 1500, 10, 0, 8 }, entry1 = {"et_mult_weapondamage", 900, 3, 0, 9 }, entry2 = {"et_baseAW", 200, 250, 0, 5 }, entry3 = {"et_damage_any_rel", 320, 80, 0, 5 }, entry4 = {"et_chance_doublehit", 200, 0, 1, 5 }, entry5 = {"et_mult_weapondamage", 150, 1, 1, 9 }, entry6 = {"et_chance_doublehit", 200, 0, 2, 5 }, entry7 = {"et_mult_weapondamage", 150, 1, 2, 9 }, entry8 = {"et_cost_thisSpell", 250, 0, 3, 4 }, entry9 = {"et_debuff_EVW", 1000, 10, 3, 42 }, entry10 = {"et_cost_thisSpell", 250, 0, 4, 4 }, entry11 = {"et_debuff_EVW", 1000, 10, 4, 42 }, entry12 = {"et_chance_criticalhit", 99, 1, 5, 5 }, entry13 = {"et_debuff_armor_phy", 500, 10, 5, 42 }, entry14 = {"et_chance_criticalhit", 99, 1, 6, 5 }, entry15 = {"et_debuff_armor_phy", 500, 10, 6, 42 }, }, fightDistance = 45.000000, aspect = "EA_SE_COMBAT", cooldown = 0.000000, soundProfile = 0, cost_level = 25, cost_base = 50, focus_skill_name = "skill_SE_combat_focus", lore_skill_name = "skill_tactics_lore", spellClass = "cSpellSMove", spellcontroltype = "eCAtype_a_weapon_attack", magicType = "MAGIC_TYPE_ATTACK", sorting_rank = 2, })
If you compare the tokens, you'll see that there's 10 entries in the original, and 16 in the modified version. The second last value determines when you get the particular bonuses; 0 is as soon as you can use the combat art, 1 and 2 are the bronze mods, etc. So all I did was copy the token entries and change the second last value.
For example:
I copied
entry4 = {"et_chance_doublehit", 200, 0, 1, 5 },
entry5 = {"et_mult_weapondamage", 150, 1, 2, 9 },
So it looked like:
entry4 = {"et_chance_doublehit", 200, 0, 1, 5 },
entry5 = {"et_mult_weapondamage", 150, 1, 2, 9 },
entry4 = {"et_chance_doublehit", 200, 0, 1, 5 },
entry5 = {"et_mult_weapondamage", 150, 1, 2, 9 },
And then changed it to look like this
entry4 = {"et_chance_doublehit", 200, 0, 1, 5 },
entry5 = {"et_mult_weapondamage", 150, 1, 1, 9 },
entry6 = {"et_chance_doublehit", 200, 0, 2, 5 },
entry7 = {"et_mult_weapondamage", 150, 1, 2, 9 },
I don't know if it's possible to just change the second last values, without adding the extra entries, but I wasn't certain enough of the bonuses to try that, so that's why I did it this way. You'll notice that I changed the entry values as well.
-
In scripts\server\spawn.txt, the first instance of zombie shows me:
mgr.addSpawn (47,29,0,{ -- Swamp Zombies Warrior total_density = 20, layermap_id = 2, {1098,8,"",0,0,0,0}, {1082,6,"",0,0,1,0}, {1083,6,"",0,0,2,0}, {1097,2,"",0,0,3,0}, } )
So there's 4 different types of zombie in that spawn group. The first value in {1098,8,"",0,0,0,0} is the id from server\creatures.txt. And there are more zombie id values in creatures.txt. I don't know what the other values are in the groups, I think there is a topic that talks about them though.
I think all you would have to do is replace the other creature ids from the various spawn groups in spawn.txt with the zombie ids.
Using the first spawn group as an example:
From mgr.addSpawn (1,52,0,{ -- Kristallregion V total_density = 35, layermap_id = 3, {2036,4,"",0,0,0,0}, {2050,5,"",0,0,1,0}, {2041,2,"",0,0,2,0}, {2042,1,"",0,0,3,0}, } ) To mgr.addSpawn (1,52,0,{ -- Kristallregion V total_density = 35, layermap_id = 3, {1082,4,"",0,0,0,0}, {1083,5,"",0,0,1,0}, {1097,2,"",0,0,2,0}, {1098,1,"",0,0,3,0}, } )
I hope this helps.
-
I've never modded those files, so I don't know. Just make a backup and experiment, if it all goes wrong, use the backed up file.
-
If the idea is to allow all classes to use all combat arts, perhaps the best way would be to copy the class specific bonuses onto the correct class items.
So, if you wanted seraphim combat arts for your shadow warrior, then copy the seraphim set bonuses onto shadow warrior items. Probably onto copies of shadow warrior items rather than adding them to existing items, if that makes sense.
-
A quick search in blueprint.txt yielded:
Drop_Gold_junk00
Drop_Gold_normal01
Drop_Gold_rare09
They each have different minconstraints, well that, and also the id, and name are the only things different.
Also, there is a few references to Drop_Gold_junk00(id of 697), none for Drop_Gold_normal01(id of 699), and only 1 for Drop_Gold_rare09(id of 700). Maybe experimenting with them might help, I don't know.
-
You're welcome.
I hadn't noticed that the forum removed most of the spaces between type and =, because I had copied it straight from the file, so it should have included them.
The earlier one was done in a longer way, mainly so people could work out how to get the type value in case something changed/was added, like the dragonmage. Obviously, that's not going to happen again now, so I did it the quicker way.
- 1
-
Open scripts\shared\creatureinfo.txt
search for: (don't include the names of the classes)
type = 1, (seraphim)
type = 2, (dryad)
type = 3, (shadowwarrior)
type = 4, (inquisitor)
type = 5, (highelf)
type = 6, (templeguardian)
type = 7, (dragonmage)
And change their runSpeed. I'm currently using 400 for all of them. You could also change their walkSpeed if you wanted, but I didn't, since they don't walk that much.
I hope this helps.
-
Furian67, in windows 7, debug.log is in C:\Users\"Name"\AppData\Local\Temp\Ascaron Entertainment\Sacred 2. I don't know where it would be in either vista or XP though.
-
Just like this mod? http://darkmatters.org/forums/index.php?showtopic=14706
And if you didn't want them quite so small, there's this one. http://darkmatters.org/forums/index.php?showtopic=15695
-
in equipsets.txt in scripts/server:
ORB_1 = 31,
ORB_3 = 33,
ORB_2 = 32,
ORB_4 = 34,
ORB_5 = 35,
ORB_6 = 36,
ORB_7 = 37,
ORB_8 = 38,
ORB_9 = 39,
ORB_10 = 40,
ORB_11 = 41,
ORB_12 = 42
I think that if I change ORB_4-12 to 1-3 then they might be able to stack
I think what will happen is that if you have relics in ORB_1-3, then those same relics will be in ORB_4-12. They will be in those slots, so if you put new ones into 4-12 then it will replace those that are in 1-3 as well.
For example, if you were to do this:
ORB_1 = 31;
ORB_4 = 31;
I think these will show the same relic, not have them both active.
I'm not sure what would happen if you do:
ORB_1 = 31;
ORB_1 = 34;
That might work, then again it might not.
-
Is there anything that can be done to allow you to change what skills rather than CAs a class has ie could you give Dragon Mage ranged or an Inquisitor the shield skill.
Yes you can without hex editing the save file.
However, before we get started.
The user interface has a limit on the number of skills that can be added to each of the 3 sections, so it would pay to look at the section you're going to add the skill to(the skills are fixed in the section they will appear in, so no combat skills in the general skill section for example), and see if there's enough room. If there isn't then you may need to modify the user interface so that there is enough room. The skill can be placed in the right hand column easily enough if there's room there, and not in the left hand column. I'll go over that down the page.
Open scripts\server\creatures.txt
You'll need the "id" of the class(es) you want to change. Note: Not the "item_id" though.
Using the inquisitor as an example, search for sc_in and you should arrive at:
mgr.createCreature {id = 51,
itemtype_id = 4,
name = "SC_Inquisitor",
So the id is 51.
Now search for addCreatureSkill
It will take you to line 84678, where you'll see this:
if not mgr.addCreatureSkill thenmgr.addCreatureSkill = function(a,b) end
end
That's the start of the section, so we now need to find the correct addCreatureSkill.
Search for skill_shield_lore, and you should see this:
mgr.addCreatureSkill( 146, {skill_id = 12,
advanced = 0,
skill_name = "skill_shield_lore",
})
That's the first shield lore skill. They are grouped together; all creatures with shield lore will be here, then the next skill will be after. As opposed to each creature having all of their skills together. If it makes it clearer, each skill is arranged by skill, not by creature.
Before moving on, I've found that you can put the addCreatureSkill entries where you like. You're not limited to having to put them at the end of the list, but I put them at the end of the list of the same skill. So for the shield lore, I'd go down to the end of them, and add the inquisitor's entry there. But that's just me.
So copy one of the shield lore entries like this:
mgr.addCreatureSkill( 146, {skill_id = 12,
advanced = 0,
skill_name = "skill_shield_lore",
})
Paste it where you want, and then change it so it looks like this:
mgr.addCreatureSkill( 51, {skill_id = 12,
advanced = 0,
skill_name = "skill_shield_lore",
})
Not a big change. Now here's where we change which column the skill appears in, in the user interface(if this is necessary).
advanced = 0,This means that the skill will be in the left hand column, changing 0 to 1 will place it in the right column. And it will obviously require 5 skill points to be allocated to skills in the left column before you will be able to select it. But it means that you can use that if you don't have the room for it on the left and you don't want to change the user interface.
So that's giving a class a skill it doesn't already have.
Changing it so the class can then use the skill is a whole other story, which I haven't tried. But I hope this helps.
Disclaimer: I haven't done this in a while, so some things may not be completely accurate, but that is what I remember doing
- 1
-
I'd be more impressed if there was a download link
-
Sorry for the double(triple?) post, but I wasn't sure what the maximum character amount that is allowed per post.
Next idea is dealing with another of the hydras, and a different quest type; a collect quest.
This is the quest:
quest.createQuest(2421, { id = 2421, name = "S_MA_1a_G_nn-Die Zungen der Hydra", questtype = 4, -- Collectquest silent=0, reward_exp=0, reward_gold=0, reward_drop=0, reward_attr=0, reward_skill=0, dangerclass=7, stopquestid=2422, stopqueststate=10, continues_quest_id = 0, mainquestchapter = 0, continues_bookentry = 0, reservedforgod = 0, questbookstrategy = 1, reservedforpath = 1, releasestage = 10, progress = 0, ismainquest = 0, showdlgonwin = 0, author_ready = 0, qa_ready = 1, report_required = 0, forpathnot = 0, autostart = 0, anyprequest = 0, lostondecline = 0, questgiver = { taskcreature = 7182, ispersistent = 0, isproactive = 0, isrefusable = 1, position = { 59,25,0 , 1527.950,863.602,-1584.710, 193.000 }, }, groupchanges = { { 7182,7,1,"Hireling_brave",8 }, { 7184,7,0,"Invalid",0 }, { 7185,7,0,"Invalid",0 }, { 7186,7,0,"Invalid",0 }, { 7182,9,2,"questCreatures",1 }, }, questCollect = { drop0 = { taskitem = 1128, amount = 3, dropper0 = { creature = 182, dropchance = 100, }, }, drop1 = { taskitem = 1129, amount = 3, dropper0 = { creature = 182, dropchance = 100, }, }, drop2 = { taskitem = 1130, amount = 3, dropper0 = { creature = 182, dropchance = 100, }, }, }, })
Notice in
questCollect = { drop0 = { taskitem = 1128, amount = 3, dropper0 = { creature = 182, dropchance = 100, }, }, drop1 = { taskitem = 1129, amount = 3, dropper0 = { creature = 182, dropchance = 100, }, }, drop2 = { taskitem = 1130, amount = 3, dropper0 = { creature = 182, dropchance = 100, }, }, },
there's 3 instances of creature 182(id=182, itemtype_id=7367. If creature and id are the same then that is one of the hydras.), dropping a different item for each instance.
There is one small problem though. The first and last in this:
groupchanges = { { 7182,7,1,"Hireling_brave",8 }, { 7184,7,0,"Invalid",0 }, { 7185,7,0,"Invalid",0 }, { 7186,7,0,"Invalid",0 }, { 7182,9,2,"questCreatures",1 }, },
aren't hydras, but are
mgr.createCreature { id = 228, itemtype_id = 4584, name = "Monst_werewolf_fem_elite",
And the others are called invalid, and yet they're the hydras.
If this was a working quest(I have no idea), and the hydras are a working part of it, then perhaps changing the amount = 3 to amount = "your favourite number" might be enough.
I think I'll leave this here for the moment, it is pretty late.
If anyone wants to check these, by all means, be my guest. I'm not sure when I'll get a chance to do so myself.
-
Ok, I think I've found them.
In scripts\server\quest.txt
Actually I couldn't find the first one(id=181, itemtype_id=1152), but the others are there(id=182, itemtype_id=7367; id=264, itemtype_id=7523; and id=1894, itemtype_id=11749).
In quest.txt the creature's itemtype_id is the itemtype, while id is creature.
Here's an example:
quest.createTaskCreature(8698, { itemtype = 7523, creature = 264, behaviour = "questCreatures", ismortal = 0, isfighting = 0, persistent = 0, position = { x = 66300.00, y = 179300.00, z = 0.00, layer = 0, orientation = 0.000, }, })
mgr.createCreature { id = 264, itemtype_id = 7523, name = "tenerg_hydra_mutate",
So itemtype, and itemtype_id are the same, while creature and id are the same.
Right, so how do we increase the number of them, you ask.
Good question.
Since there's no amount, or group count in the first code section, there's probably something else that says what your target monster is.
So let's look for that, by searching for more instances of 7523.
And here's something:
quest.createQuest(2599, { id = 2599, name = "S_HE_1d_DY_nn-Classquest Dryade", questtype = 1, -- Killquest reportcompletion_to = 7526, silent=0, reward_exp=0, reward_gold=0, reward_drop=0, reward_attr=0, reward_skill=0, dangerclass=1, continues_quest_id = 2549, mainquestchapter = 0, continues_bookentry = 2549, reservedforgod = 0, questbookstrategy = 2, releasestage = 30, progress = 0, ismainquest = 0, showdlgonwin = 0, author_ready = 0, qa_ready = 0, report_required = 1, forpathnot = 0, autostart = 0, anyprequest = 0, lostondecline = 0, reportposition = { x = 65900.00, y = 88200.00, z = 0.00, layer = 0, orientation = 0.000, }, questgiver = { taskcreature = 9276, ispersistent = 0, isproactive = 0, isrefusable = 0, position = { 21,27,0 , 1228.290,524.469,99.371, 56.000 }, }, reservedforhero = 2 , precond_quest0 = { quest_dbid = 2598, queststate = 9, }, groupchanges = { { 9104,2,0,"Invalid",0 }, { 9105,2,0,"Invalid",0 }, { 7526,2,0,"Invalid",0 }, { 7526,8,0,"questCreatures",0 }, }, questKill = { anyofthem = 0, useprefightdlg = 1, bodycount = 0, kill0 = { taskcreature = 7521, }, kill1 = { taskcreature = 7522, }, kill2 = { taskcreature = 7523, }, kill3 = { taskcreature = 7524, }, }, })
There's a lot here, so let's cut it down to:
questKill = { anyofthem = 0, useprefightdlg = 1, bodycount = 0, kill0 = { taskcreature = 7521, }, kill1 = { taskcreature = 7522, }, kill2 = { taskcreature = 7523, }, kill3 = { taskcreature = 7524, }, },
See kill2? taskcreature = 7523, perhaps this is what we're looking for.
Perhaps not. Notice that there's 7521, 7522, 7523, and 7524? Well I think that they're actually looking for these lines:
quest.createTaskCreature(7521, { quest.createTaskCreature(7522, { quest.createTaskCreature(7523, { quest.createTaskCreature(7524, {
which all have JOB_MERCENARY as their behaviour, which I can't imagine that hydras have.
Next idea is look for 8698, from this:
quest.createTaskCreature(8698, {
Since the itemtype is one of the hydra ones.
Ok, I find this quest:
quest.createQuest(3010, { id = 3010, name = "S_HU_2c_nn-MI_ProofYourStrength", questtype = 1, -- Killquest
That's how it starts, but I won't quote all of it, since I think it's unnecessary, so let me quote the last part.
questKill = { anyofthem = 0, useprefightdlg = 0, bodycount = 8, kill0 = { taskcreature = 8424, }, kill1 = { taskcreature = 8425, }, kill2 = { taskcreature = 8695, }, kill3 = { taskcreature = 8696, }, kill4 = { taskcreature = 8697, }, kill5 = { taskcreature = 8698, }, kill6 = { taskcreature = 8699, }, kill7 = { taskcreature = 8700, }, },
So 8698 is one of the entries, let's look at the others before anything else though, just in case.
quest.createTaskCreature(8424, { itemtype = 7526, creature = 250,
in creatures.txt there's:
mgr.createCreature { id = 250, itemtype_id = 7526, name = "tenerg_ogre_warrior_mutate",
quest.createTaskCreature(8425, { itemtype = 7517, creature = 1103,
mgr.createCreature { id = 1103, itemtype_id = 7517, name = "tenerg_ent_a",
quest.createTaskCreature(8695, { itemtype = 7800, creature = 282,
mgr.createCreature { id = 282, itemtype_id = 7800, name = "tenerg_griffin_bird_mutate",
Not looking terribly good so far. We seem to have a bit of a diverse group, with an ogre, an ent(?), and a griffin, plus the hydra(8698), and the others, which I haven't looked at yet.
quest.createTaskCreature(8696, { itemtype = 7527, creature = 265,
mgr.createCreature { id = 265, itemtype_id = 7527, name = "tenerg_troll_warrior_mutate",
quest.createTaskCreature(8697, { itemtype = 7528, creature = 268,
mgr.createCreature { id = 268, itemtype_id = 7528, name = "tenerg_werewolf_mutate",
quest.createTaskCreature(8699, { itemtype = 6775, creature = 281,
mgr.createCreature { id = 281, itemtype_id = 6775, name = "tenerg_IS_giantspider_mutate",
quest.createTaskCreature(8700, { itemtype = 7518, creature = 1104,
mgr.createCreature { id = 1104, itemtype_id = 7518, name = "tenerg_ent_b",
If this is all correct, then this is one motley crew.
I don't remember this quest, it's been a while since I've played, so I have no idea if this group is correct.
Let's assume it is correct. There's eight of them, from kill0 to kill7, and there's a bodycount of 8, somehow I don't think that's coincidence
So what do we do to increase the amount of hydras? We might be able to just copy:
kill3 = { taskcreature = 8696, },
pasting it after kill7, and then changing the 3 to 8, and then changing the bodycount to 9. and this might work. I don't know, I haven't tried(it's getting a bit late here, and I probably should have stopped typing several minutes ago, but oh well).
Alternatively, we could copy/paste/change this:
quest.createTaskCreature(8698, { itemtype = 7523, creature = 264, behaviour = "questCreatures", ismortal = 0, isfighting = 0, persistent = 0, position = { x = 66300.00, y = 179300.00, z = 0.00, layer = 0, orientation = 0.000, }, })
Perhaps changing 8698 to 8701, and then adding
kill8 = { taskcreature = 8701, },
after the kill7 entry. Perhaps the position would need to be changed as well.
-
No problem desm.
I'm not on my normal computer, so I can't look for it for you, but I should be back within the next couple of days, so if you haven't found it by then, I'll have a look.
-
So you found the hydra entry in creatures?
I think spawn.txt uses one of the id values(whether it's item_id, or id, I'm not sure) from creatures.txt.
What you could do, is search for those id values in spawn.txt, and see if they are there, and change the spawn chance.
-
Hello to all, I'm new to the forum and I have one question:
is there a way to make more Hydras to spawn in the swamps ?
I've looked into the spawn.txt file but couldn't find any "hydra" or something.
so, can anyone please tell me the thing to do to increase Hydras spawn ?
Thanks.
I play in singleplayer offline.
Most of the words in the text files are german, and Hydra doesn't seem to change, when translating from english to german using babelfish, so perhaps it's another word completely. I can't look myself, the laptop I'm currently using would have too much trouble running sacred2, so I don't have any of the files.
I'd suggest looking through creatures.txt(not creatureinfo.txt), you could increase the group count.
-
Have you looked at the character editor?Hey guys, I'm here again with an even bigger request than before! Do you guys know if there is a way to Hex your character so that:1) You can basically turn him into another character in the middle of the campaign without losing his level and so on...
That sounds like texture editing. And there's a couple of topics that talk about that.2) You can change an items color because I don't like some of the items and their respective colors... -
The commonspeedcreatureeinfo.txt was a file I'd renamed for a speed mod I'd created, which I can't seem to find the topic for now.
Have a look at my post in this topic http://darkmatters.org/forums/index.php?showtopic=14639 which goes over what to change.
I hope this helps.
-
Download: (pack contains also alt bars and party avatars - it doesn't contains short hair for seraph - look for the Asukas mod)
I just successfully downloaded this mod using the Main link I quoted. I didn't need to join either.
-
Have a look at this post rnarchlord: http://darkmatters.org/forums/index.php?sh...t&p=6899214
-
This topic has a bit of information on the files: http://darkmatters.org/forums/index.php?showtopic=14180
But it doesn't mention the _h.dds files.
It appears to me, that the _h.dds files are colourmasks, and perhaps are used when changing the colour of the model's skin
Combat Art Modifications Restrictions
in Sacred 2 Modding
Posted
So I've gone through and checked all of the combat arts of each class.
No problems for me using more than 12 tokens with any of the combat arts.
I'm on version 2.65.1 though, maybe 2.65.2 has changed it.