Torchmodders

Modding => Modding Questions => Topic started by: DiakEagle on November 17, 2019, 05:15:38 pm


Title: Help Making Custom Minion Skills
Post by: DiakEagle on November 17, 2019, 05:15:38 pm
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
Title: Re: Help Making Custom Minion Skills
Post by: Phanjam on November 17, 2019, 10:04:40 pm
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 (http://torchmodders.com/wiki/doku.php?id=elements_of_a_basic_skill), by @OedipusTex
2. How To Make Things Actually Happen Through Skills (http://torchmodders.com/wiki/doku.php?id=mechanics: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 (http://torchmodders.com/wiki/doku.php?id=events_info).

In EVENT_START it says: as soon as the skill is activated, trigger the file at "media/skills/arbiter/iceelemental/warmup.layout". 

In EVENT_TRIGGER it says: When the skill reaches the trigger named "HIT", trigger the file at "media/skills/arbiter/iceelemental/summoniceelem.layout".

In EVENT_TRIGGER_FOUR it says: When the skill reaches HIT_FOUR, apply the affix named "DUMMY_EMBERMAGE_AVATAR_DAMAGE."

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

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
Title: Re: Help Making Custom Minion Skills
Post by: DiakEagle on November 18, 2019, 08:11:40 am
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.