News: Go to the front page portal to create a Torchmodders account | Visit the wiki!
December 07, 2019, 02:29:25 PM
collapse

*
Information

Please contribute to our


Sign up for a forum account at the Front Page. | Remember to Tag your posts.
Having problems logging in to the forums? Go the front page, log out and back in again.

Author Topic: Help Making Custom Minion Skills  (Read 398 times)

Offline DiakEagle

  • New Member
  • *
  • Posts: 2
  • just got here
    • View Profile
Help Making Custom Minion Skills
« on: November 18, 2019, 01:15:38 AM »
Hello! I'm a very new modder with a desire to customize the Embermage class for my personal use. The basic premise is to convert three embermage skills into minion summoning skills, along with supporting two passive skills. I've tried going through and reverse engineering skills in GUTS, but I honestly have no idea what I'm doing. Any help offered would be greatly appreciated, and thank you in advance!

Here's the current concept:

Fire Golems (Replace Firebombs): Summon two fire golems at attack enemies and set them on fire.
Level 1 - 15: +% Damage, +% Attack Speed
- Level 5: Summon an additional fire golem.
- Level 10: Summon an additional fire golem.
- Level 15: Summon an additional fire golem.

Ice Golem (Replace Elemental Boon): Summon a hardy ice golem to buff and heal you.
Level 1 - 15: +% Armor, +% Health
- Level 5: The ice golem gains a protective aura, increasing the elemental resistances of nearby allies.
- Level 10: The protective aura now regenerates health.
- Level 15: The protective aura becomes stronger.

Lightning Golem (Replace Shocking Burst): Summon a lightning golem to attack and stun your enemies.
Level 1 - 15: +% Damage, +% Chance to Stun
- Level 5: The lightning golem deals greater damage.
- Level 10: The lightning golem gains a powerful AoE spell.
- Level 15: Summon an additional lightning golem.

Elemental Encasement (Replace Frozen Fate): Encase your golems with protective energy, increasing thier armor and health.
Level 1 - 15: +% Armor, +% Health

Elemental Surge (Replace Wand Chaos): Send elemental energy surging through your golems, increasing their power and attack speed.
Level 1 - 15: +% Damage, +% Attack Speed

Offline Phanjam

  • Operator
  • Legendary
  • *
  • Posts: 2714
  • Country: ph
    • status ready
    • View Profile
  • Mood: mood angel
Re: Help Making Custom Minion Skills
« Reply #1 on: November 18, 2019, 06:04:40 AM »
hi @DiakEagle , welcome aboard, firstly!

Skill "replacement" has 2 major work areas: first is the new skill itself, and second is substituting your new skill into the skilltree slot of the skill you wanted to replace.  The larger work area is that new skill, so let's start there.

You wanted to substitute a summon skill for Firebomb.  Since Firebomb is an AOE-missile skill, i'll assume there isn't anything you're wanting to keep from it (let me know if that's incorrect).  So you will just make a totally new summon skill for the skilltree to point to (instead of firebomb).

By the way, cloning/reverse-engineering similar skills is still the fastest way for a new modder to go.  But doing it in GUTS can be confusing because you need more basic familiarity with the parts of skills, which GUTS just assumes you already have.  Here are 2 great summary-type articles about skill-making in TL2, that talk about that very basic info...
1. Elements of a Basic Skill, by @OedipusTex
2. How To Make Things Actually Happen Through Skills, by @Chthon

About tutorials - at this point i'd normally refer you to a more detailed "how to" type tutorial for you to try out.  But i couldnt find a tut specifically for a summon skill, so i'm going to end up writing one (sort of) in this reply (or set of replies).

So let's look at an existing Embermage summon skill to work from, "Astral Ally".  Its data file (extension = .DAT) is at (MEDIA\SKILLS\ARBITER\ICEELEMENTAL\ICE_ELEMENTAL.DAT).  Jumping straight into the skill's LEVEL EVENT blocks (see those summary articles for the other stuff) you see this code...

Code: [Select]
	[LEVEL1]
<FLOAT>RANDOMRANGE:0
<INTEGER>COOLDOWNMS:60000
[EVENT_START]
<STRING>FILE:media/skills/arbiter/iceelemental/warmup.layout
[/EVENT_START]
[EVENT_TRIGGER]
<STRING>FILE:media/skills/arbiter/iceelemental/summoniceelem.layout
<STRING>TRIGGERNAME:hit
[AFFIXES]
<INTEGER>AFFIXLEVEL:1
<STRING>TARGET:PET
<STRING>AFFIX:ARBITER_ICEELEM_DUR0
[/AFFIXES]
[/EVENT_TRIGGER]
[EVENT_TRIGGER_FOUR]
<BOOL>CAN_CLONE:false
[AFFIXES]
<STRING>AFFIX:DUMMY_EMBERMAGE_AVATAR_DAMAGE
[/AFFIXES]
[/EVENT_TRIGGER_FOUR]
[/LEVEL1]

Lot's of cryptic stuff! What's important to remember is that a skill is executed by instructions placed in those "EVENT" blocks.  There's only so many types of EVENT blocks in skills and you can read-up on them here.

In EVENT_START it says: as soon as the skill is activated, trigger the file at "media/skills/arbiter/iceelemental/warmup.layout". 
  • Sidenote: Usually stuff that says "warmup" is some pretty particle effects to give the skill that pizzazz.
  • If you leave it as is, it'll play the same warmup effects used in the Astral Ally skill.  You'll probably want to make it unique to your new skill, but that is outside of the scope of this little tut (but if you really want to, you can read up on that here).
  • So you can either leave it in as-is, or delete the block entirely (in which case there wont be any warm-up particles,  but the summon part will still work fine).

In EVENT_TRIGGER it says: When the skill reaches the trigger named "HIT", trigger the file at "media/skills/arbiter/iceelemental/summoniceelem.layout".
  • Sidenote: "HIT" is a specific frame in the animation that the skill is using, which has been labeled "HIT".  All the vanilla animations have defined HIT points so this is something you can also just come back to later.
  • This is the meat of this skill (given away by the word "summon") since summoniceelem.layout is the file that summons the "astral ally".

In EVENT_TRIGGER_FOUR it says: When the skill reaches HIT_FOUR, apply the affix named "DUMMY_EMBERMAGE_AVATAR_DAMAGE."
  • Sidenote: This is a "trick" EVENT used just to get the skill tooltip to display what kind of damage the summoned unit has.  You'll find it a very useful trick, but for now you can just get back to it later.
  • For the purpose of this tut, I actually recommend you just delete this whole block (the skill doesn't actually need it to work properly, so it's safe to delete) since you don't want to worry about its innards just yet.

So now open up that target layout file media/skills/arbiter/iceelemental/summoniceelem.layout.  There's a lot of stuff in it, but for this quick tut the important stuff is in that OBJECT block at the bottom...

Code: [Select]
		[BASEOBJECT]
[PROPERTIES]
<STRING>DESCRIPTOR:Unit Spawner
<STRING>NAME:Unit Spawner0
<INTEGER64>PARENTID:-1
<INTEGER64>ID:4923483157928677854
<STRING>MIN RADIUS:0,1.5
<STRING>MAX RADIUS:0,4
<UNSIGNED INT>COUNT:1
<BOOL>SPAWN ON CREATE:false
<FLOAT>DURATION:0
<BOOL>DESTROY BODY:true
<STRING>RESOURCE:EMBERMAGEAVATAR
[/PROPERTIES]
[/BASEOBJECT]

It's a "Unit Spawner" OBJECT which is standard for any skill that summons/spawns anything. It spawns whatever is defined in the line that starts with <STRING>RESOURCE:Sidenote: RESOURCES to spawn are called by the internal NAME of the unit, rather than by a path+file-name.

Other useful parts of this Spawner OBJECT...
  • <STRING>MIN RADIUS: / MAX RADIUS: - set the radius for the area within which the resource/s will be spawned
  • <UNSIGNED INT>COUNT: - how many of the resource unit should be spawned
  • <BOOL>SPAWN ON CREATE: - i only mention this one to say "do NOT set this to "true", even though the "false" setting seems so counter-intuitive!
  • <FLOAT>DURATION: - time period over which the spawn/s should take place (so "0" is "instant")

Okay, so that covers how things get spawned. I gotta take care of stuff now, but i'll come back and edit this later.

Next up - A "Fire Golem" unit
« Last Edit: November 18, 2019, 07:04:59 AM by Phanjam »



Offline DiakEagle

  • New Member
  • *
  • Posts: 2
  • just got here
    • View Profile
Re: Help Making Custom Minion Skills
« Reply #2 on: November 18, 2019, 04:11:40 PM »
Thank you for the prompt reply. This is exactly the kind of help I'm looking for! I should clarify two things, though. I'm making this as a unique class seperate from th normal embermage, and I would like it to be compatible with SynergiesMOB and Torchlight Essentials.

I already have the class set up, I just need help with making the skills and possibly making it compatible.

Tags:
 

* Quick Search


* Member Information

 
 
Welcome, Guest. Please login or register.

* Mod Boards Activity

* Who's Online

  • Dot Guests: 2
  • Dot Hidden: 0
  • Dot Users: 0

There aren't any users online.

* Calendar

December 2019
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

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


Variant Classes Mod Information by Sch123
[November 24, 2019, 09:53:51 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]


[SCRIPT] Automatic Mesh Rebuilding by Phanjam
[October 31, 2019, 05:58:39 PM]


[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]


idea/Request for a new torchlight 2 custom werewolf class by Phanjam
[September 16, 2019, 02:29:05 PM]


Utility to split ogre3d multi-animation skeleton xml files by Phanjam
[September 14, 2019, 02:22:10 AM]


FEP+ April 2019 Update by Sch123
[August 24, 2019, 09:40:03 AM]


Learning Quest Making by Phanjam
[August 21, 2019, 02:46:04 AM]

* Popular Topics