News: Go to the front page portal to create a Torchmodders account | Visit the wiki!
January 27, 2020, 12:38:28 PM
collapse

Author Topic: [TL1] Backporting Skills from TL2  (Read 2291 times)

Offline Lord Nyriox

  • Moderator
  • Rare
  • *
  • Posts: 160
  • Country: us
    • status busy
    • View Profile
    • Github Profile
  • Mood: mood evil
[TL1] Backporting Skills from TL2
« on: March 22, 2017, 12:05:08 AM »
EDIT:  For now, this project is going on the backburner.  I really am not feeling up to hunting down every resource used for these skills—not to mention my Asus has the "black screen of death" again. 



Hi Guys!  Another newbie question from Lord Nyriox… 

I am trying to backport vanilla monster skills from TL2 to TL1, and I have run into a little roadblock.

In particular, I have no idea how to identify all the resources used by any particular skill.  I need to copy all resources (Particles, Units, Sounds, Affixes, etc.) used by all the skills of this particular monster—and I am completely at sea trying to figure out where they all are.

Does anyone know of some easy-to-use "dependency checker" for TL mods? 

For full disclosure, see my prior discussion with @Phanjam
Spoiler

What will alert you to look into further are all those lines that have <STRING>DESCRIPTOR:. These are things the .LAYOUT will need to execute properly.  Descriptors can be...

<STRING>DESCRIPTOR:Camera Shake
<STRING>DESCRIPTOR:Damage Shape
<STRING>DESCRIPTOR:Layout Link Particle
<STRING>DESCRIPTOR:Timeline
<STRING>DESCRIPTOR:Sound
<STRING>DESCRIPTOR:Unit Spawner
(I think that's it, but there may be others)

The Particles should be easy to find since they are referenced explicitly by their .layout filename with a full path to boot.

Sounds are a little tricky because they are referenced by their GUID. You will have to find that GUID in one of the several .DAT files in the MEDIA\SOUNDS folder (player.dat, skills.dat, etc.) to find out which actual sound files are being used.

I forgot to mention in addition to the Particles and Sounds, the Unit Spawner is important too because it spawns any units (duh) that the skill wants to call.

Within a <STRING>DESCRIPTOR:Unit Spawner "block", the unit referenced is the one in the line <STRING>Resource:.

EDIT:  For the sake of clarity, the problem I am having is that backported attack skills, when triggered, render their associated monster animations but do not render any particle effects or deal any kind of damage. 

Thanks again,
~ Lord Nyriox,
Necromancer of Torchlight

« Last Edit: July 23, 2018, 12:54:42 AM by Lord Nyriox »

Offline gytfunke

  • Developer
  • Legendary
  • *
  • Posts: 827
  • Country: us
    • status idle
    • View Profile
  • Mood: mood azn
Re: [TL1] Backporting Skills from TL2
« Reply #1 on: March 22, 2017, 04:24:56 PM »
Does anyone know of some easy-to-use "dependency checker" for TL mods? 

That would be fantastic.  Someone with coding skills should write a program to do this!

Offline Phanjam

  • Operator
  • Legendary
  • *
  • Posts: 2729
  • Country: ph
    • status ready
    • View Profile
  • Mood: mood angel
Re: [TL1] Backporting Skills from TL2
« Reply #2 on: March 23, 2017, 02:50:54 AM »
Another thng I forgot to mention about Layout Link Particle DESCRIPTORS...

Particle systems are themselves defined via .LAYOUT files (all those under MEDIA\PARTICLES and subfolders).  So, like the .LAYOUT files discussed previously, these will also point to several DESCRIPTORS it also needs to work.

The DESCRIPTORS here are very different, but rather than having to learn all about them at this point, it should suffice to just notice/look for those DESCRIPTOR blocks which specify a recognizable file-path and file-name, like...

Quote
[PROPERTIES]
   <STRING>DESCRIPTOR:Particle
   <STRING>NAME:lines
   <INTEGER64>PARENTID:-1
   <INTEGER64>ID:-8443570909190749228
   <FLOAT>POSITIONX:-0
   <FLOAT>POSITIONY:0
   <FLOAT>POSITIONZ:0
   <STRING>RENDER TYPE:Billboard Self
   <BOOL>VISIBLE:true
   <STRING>TEXTURE:MEDIA/PARTICLES/TEXTURES/MULTIPARTICLE/LINESGLOW_ADDITIVE.DDS
   <STRING>RENDER STYLE:Additive
   <STRING>ORIGIN:Bottom Center
   <INTEGER>FRAMES WIDE:2
   <INTEGER>FRAMES HIGH:2
[/PROPERTIES]


These will be the resources you need to make sure are available to your own mod. For the most part these will be texture files (like the example above).

About an automated "dependency checker" I do not know of one (and we would have heard about it by now, if it existed). But Pls allow me to assert that doing it as above/the hard way, is best for learning purposes because, well, lessons learned with a little bit of pain are better remembered.
« Last Edit: March 23, 2017, 03:05:51 AM by Phanjam »



Offline Phanjam

  • Operator
  • Legendary
  • *
  • Posts: 2729
  • Country: ph
    • status ready
    • View Profile
  • Mood: mood angel
Re: [TL1] Backporting Skills from TL2
« Reply #3 on: March 23, 2017, 02:55:46 AM »
The DESCRIPTORS here are very different, but rather than having to learn all about them at this point, it should suffice to just notice/look for those DESCRIPTOR blocks which specify a recognizable file-path and file-name...

If you would like to learn more about the DESCRIPTORS specific to particle systems, there's an excellent series of articles here (just look for the "Particles" section) by OedipusRex.
« Last Edit: March 23, 2017, 05:41:24 AM by Phanjam »



Offline TwinkleToes

  • Developer
  • Legendary
  • *
  • Posts: 515
  • Country: 00
    • status idle
    • View Profile
  • Mood: mood smiley
Re: [TL1] Backporting Skills from TL2
« Reply #4 on: March 23, 2017, 04:47:29 AM »
feels like this is one of those things you just gotta do manually
some skills have particles inside animation files or even inside affixes and effects which can make the whole thing even more confusing

Offline TwinkleToes

  • Developer
  • Legendary
  • *
  • Posts: 515
  • Country: 00
    • status idle
    • View Profile
  • Mood: mood smiley
Re: [TL1] Backporting Skills from TL2
« Reply #5 on: March 23, 2017, 06:02:01 PM »
if your concerned about damage, it comes from 4 sources

damage shapes
which are inside layout files that are inside the SKILLS folder, inside there should be a directories that catagorize the skills, eg. the MONSTER folder, but some layouts can be shared by multiple skills

missiles
the MISSILE folder, is its own thing, very easy to spot in the main directory(MEDIA folder)

the skill itself
if you noticed by now skills can come with thier own damage numbers
the two layout types i mentioned above are what deliver the damage, but the values in the skill are what determine it.

affixes
this is whats used to deal flat magical damage, all of them are in the AFFIXES folder.

you can trace all of these back from the skill, although some skills have multiple parts and all of these components can be mixed matched and stacked with each other into varying degrees of complexity.
« Last Edit: March 23, 2017, 06:05:21 PM by TwinkleToes »

Offline RnF

  • Developer
  • Rare
  • *
  • Posts: 234
  • Country: us
    • status idle
    • View Profile
  • Mood: mood smiley
Re: [TL1] Backporting Skills from TL2
« Reply #6 on: March 23, 2017, 06:51:54 PM »
@Phanjam

Honestly, I could not care less about the particle effects (which are only visual) at the moment.  I will figure out those eventually. 

Far more concerning to me is the fact that the attack skills are activating successfully (judging by the animations triggered), but are not dealing damage on activation. 

After all, what point is there in an attack skill that has no effect? 

Thanks again,
~ Nyriox

@Lord Nyriox Not sure if this will help or not, but I have dabbled in porting TL1 skills into TL2 skills.  It was some time ago, but I do remember the structure being different enough that some tweaking will need to done to the TL2 skill to make them work in TL1.  I don't remember the exact differences though.

I would advise you to find similar skills between TL1 and TL2 and compare the differences and then edit the TL2 skills to be in a similar format as the TL1 skills.  At least a place to start.

Offline Phanjam

  • Operator
  • Legendary
  • *
  • Posts: 2729
  • Country: ph
    • status ready
    • View Profile
  • Mood: mood angel
Re: [TL1] Backporting Skills from TL2
« Reply #7 on: March 24, 2017, 01:37:11 AM »
Hi Nyriox! Oops I only answered your first point...
...I have no idea how to identify all the resources used by any particular skill.  I need to copy all resources (Particles, Units, Sounds, Affixes, etc.) used by all the skills of this particular monster—and I am completely at sea trying to figure out where they all are.

but forgot to answer your more pressing concern!
...the problem I am having is that backported attack skills, when triggered, render their associated monster animations but do not render any particle effects or deal any kind of damage. 

Yes, Twinkle's answer is best. And since you're back-porting, I'll just reiterate the same theme of "making sure the resources are there/present"...

Inside skills, those resources would be...

- any .layouts it's looking for
- any AFFIXES it's looking for (tho Virax's skills seem to all use EFFECTS directly, rather than affixes)

There are more resources a skill can use, but these should be all that are involved for Vyrax's skills. There's a good skills overview article by Chthon on the wiki too.



Offline Lord Nyriox

  • Moderator
  • Rare
  • *
  • Posts: 160
  • Country: us
    • status busy
    • View Profile
    • Github Profile
  • Mood: mood evil
Re: [TL1] Backporting Skills from TL2
« Reply #8 on: March 24, 2017, 09:23:51 PM »
Question:  If damage handling is primarily through internal "Effects", and those effects are not dealing damage, what might be causing the problem? 





« Last Edit: June 06, 2018, 10:27:04 AM by Lord Nyriox »

Offline TwinkleToes

  • Developer
  • Legendary
  • *
  • Posts: 515
  • Country: 00
    • status idle
    • View Profile
  • Mood: mood smiley
Re: [TL1] Backporting Skills from TL2
« Reply #9 on: March 24, 2017, 10:59:32 PM »
ill try break down my own process for procuring the right files from a skill, ill use a vyrax skill as an example
ill be leaving out lots of details, since there is so much that the whole thing will be convoluted if i attempt to explain everything.
check out the wiki here if you still haven't
i highly recommend reading up everything from the skills section, the tidbits of information will add up, understanding how skills are made will come with how to find and use files for them.
Code: [Select]
[SKILL]
<STRING>NAME:Boss_Dragon_Fire_Line
<STRING>ACTIVATION_TYPE:NORMAL
<STRING>TARGET_ALIGNMENT:EVIL
<STRING>ANIMATION:Special_Breath
<FLOAT>RANDOMRANGE:0
<FLOAT>RANGE:20
<BOOL>CAN_PROC_FROM_SKILL:0
<FLOAT>SPEED:0.8
<INTEGER>NUM_PETS_ALLOWED:15
<INTEGER>COOLDOWNMS:7500
<FLOAT>FINDTARGETANGLE:360
<FLOAT>TURNRATEOVERRIDE:-1
<BOOL>CAN_BE_SILENCED:0
<BOOL>ALLOWS_TURNING:0
<BOOL>CAN_APPROACH:0
<INTEGER64>UNIQUE_GUID:5098754330261549009
[EVENT_TRIGGER]
<STRING>FILE:media/skills/monsters/boss_dragon/fire_line.layout
<FLOAT>WEAPONDAMAGEPCT:100
<STRING>DAMAGE_TYPE:FIRE
<BOOL>NOSTRIKEEFFECTS:1
<BOOL>NOSTRIKEPARTICLES:1
<INTEGER>CLONECOUNT:10
[/EVENT_TRIGGER]
[EVENT_TRIGGER]
<STRING>FILE:media/skills/monsters/boss_dragon/fire_line_missiles.layout
<FLOAT>WEAPONDAMAGEPCT:25
<FLOAT>SOAKSCALEPCT:25
<STRING>DAMAGE_TYPE:FIRE
[EFFECTS]
<STRING>TARGET:ENEMY
[EFFECT]
<STRING>ACTIVATION:DYNAMIC
<STRING>DURATION:.5
<STRING>TYPE:KNOCK BACK EFFECT
<FLOAT>FORCE:25
[/EFFECT]
[/EFFECTS]
[/EVENT_TRIGGER]
[EVENT_TRIGGER]
<STRING>FILE:media/skills/monsters/boss_dragon/fire_line_knockback.layout
<FLOAT>WEAPONDAMAGEPCT:1
[EFFECTS]
<STRING>TARGET:ENEMY
[EFFECT]
<STRING>ACTIVATION:DYNAMIC
<STRING>DURATION:.5
<STRING>TYPE:KNOCK BACK EFFECT
<FLOAT>FORCE:25
[/EFFECT]
[/EFFECTS]
[/EVENT_TRIGGER]
[/SKILL]
so heres the code for one of his attacks, its a pretty straight forward one, the layout files are directly referenced in each EVENT_TRIGGER

<STRING>FILE:media/skills/monsters/boss_dragon/fire_line.layout
<STRING>FILE:media/skills/monsters/boss_dragon/fire_line_missiles.layout
<STRING>FILE:media/skills/monsters/boss_dragon/fire_line_knockback.layout


looking at them will tell you where these layout files are
if you click and highlight the EVENT_TRIGGERS a new option appears just bellow the raw code,
that is: Open Layout
this will open the layout that the event uses inside GUTS, so you can see whats inside
typically skills will have:
damage shapes (this determines the area of effect a skill will have)
time lines (this is what triggers everything in the layout files and allows you to fine tune the order of when each component will triggers in the layout)
particle links (which also reference the directory of the particle layout, you will see this under the resource section to the right if you have this component selected to see its properties menu)
sounds (which reference sound files, same as particles, look to the right)
unit spawners (these are used to summon units or spawn missiles, these are referenced by their internal names, typically the internal name will be the same name used for the actual layout file, to see it scroll down the properties menu on the right and look for the resources heading)
missile files are inside the Media/Missiles directory
units files are inside the Media/Units directory
read this tutorial by gyt for a more detailed look into missiles

to look specifically where damage can come from in a skill you should look for these lines, they can be found here in vyraxes skill
      
<FLOAT>WEAPONDAMAGEPCT:X      
<FLOAT>SOAKSCALEPCT:X      
<STRING>DAMAGE_TYPE:FIRE

WEAPONDAMAGEPCT directly controls damage which uses the characters attack stats, this is what i mentioned when i said that the damage can come from the skill itself
SOAKSCALEPCT determines how much of the damage is not considered when caluculated against a targets armor values
at 100% all of the damage will go through armor
DAMAGE_TYPE this determines what kind of damage the skill will do

in the event triggers this also shows up
           [EFFECTS]
         <STRING>TARGET:ENEMY
         [EFFECT]
            <STRING>ACTIVATION:DYNAMIC
            <STRING>DURATION:.5
            <STRING>TYPE:KNOCK BACK EFFECT
            <FLOAT>FORCE:25
         [/EFFECT]
      [/EFFECTS]

i forgot to mention it, but this is also a source of damage, that is, an effect directly attached to an event
functionally these work the same as affixes, since they are what make them up
affixes are just effects that are bulked together and can be further modified, which makes them far more flexible than directly using effects
for this particular skill it doesn't require the extra hassle of making an affix so it just attaches the knock back effect directly to the event

thats about what i would look at to ascertain where all the files are, certain skills can be far more complex, but looking at the vyrax skills i dont think any of them are too complicated, this methodology should work for all of them.

its highly likey that your gonna bump into some compatibility issues, GUTS and TORCHED are for the most part similar but have some differences, im not 100% sure of what they are.
« Last Edit: March 25, 2017, 04:43:26 AM by TwinkleToes »

Offline Phanjam

  • Operator
  • Legendary
  • *
  • Posts: 2729
  • Country: ph
    • status ready
    • View Profile
  • Mood: mood angel
Re: [TL1] Backporting Skills from TL2
« Reply #10 on: March 25, 2017, 11:48:26 AM »
If damage handling is primarily through internal "Effects", and those effects are not dealing damage, what might be causing the problem? 
Well, the first EVENT block in the skill Twinkle used as an example...

Code: [Select]
    [EVENT_TRIGGER]
        <STRING>FILE:media/skills/monsters/boss_dragon/fire_line.layout
        <FLOAT>WEAPONDAMAGEPCT:100
        <STRING>DAMAGE_TYPE:FIRE
        <BOOL>NOSTRIKEEFFECTS:1
        <BOOL>NOSTRIKEPARTICLES:1
        <INTEGER>CLONECOUNT:10
    [/EVENT_TRIGGER]

should deal damage since it contains all its own EFFECTS. The only other thing I can think of is that those EFFECTS are "delivered" by the damage shape that's defined in the .LAYOUT (fire_line.layout) it's packaged with. Maybe you should check that .LAYOUT is finding all the things in its DESCRIPTORS.



Tags:
 

* Quick Search


* Member Information

 
 
Welcome, Guest. Please login or register.

* Mod Boards Activity

* Who's Online

  • Dot Guests: 3
  • Dot Hidden: 0
  • Dot Users: 0

There aren't any users online.

* Calendar

January 2020
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 [27] 28 29 30 31

No calendar events were found.

* Recent Topics

Variant Classes Mod Information by Awkward
[January 24, 2020, 11:50:50 AM]


What free software do you guys use? by Phanjam
[January 24, 2020, 06:25:40 AM]


Essentials and Tenebris conflict by Awkward
[January 20, 2020, 03:57:51 PM]


[Tool] another localization tool by Awkward
[January 18, 2020, 06:58:06 PM]


[SCRIPT] Automatic Mesh Rebuilding by Kva3imoda
[January 10, 2020, 01:33:48 AM]


FEP+ by Sch123
[January 08, 2020, 05:59:25 AM]


First Topic by Phanjam
[December 01, 2019, 03:05:25 AM]


Trouble with summons by Phanjam
[November 23, 2019, 12:16:19 PM]


Help Making Custom Minion Skills by DiakEagle
[November 18, 2019, 04:11:40 PM]


Diablo II Charms possible in Torchlight II? by Waves_Blade
[November 11, 2019, 05:40:43 PM]


[TOOL] TL2 Translation Utility by Phanjam
[November 06, 2019, 07:11:09 AM]


[Tool] Item Unit file maker Script by Phanjam
[October 21, 2019, 01:36:42 PM]


Will these plans be even possible to do? by Saber
[October 15, 2019, 06:13:17 PM]


Variant Classes Bug Reports by negreanu11
[October 05, 2019, 07:23:09 PM]


Mod Changelogs by Viz
[September 22, 2019, 05:06:52 AM]

* Popular Topics