News:

SMFNew Installed

+-+-

User+-

Welcome, Guest.
Please login or register.
 
 
 

Login with your social network

Forgot your password?

Site Stats+-

Members
Total Members: 728
Latest: Cho
New This Month: 0
New This Week: 0
New Today: 0
Stats
Total Posts: 10932
Total Topics: 795
Most Online Today: 298
Most Online Ever: 854
(September 18, 2024, 07:49:37 am)
Users Online
Members: 0
Guests: 334
Total: 334

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

0 Members and 66 Guests are viewing this topic.

Help Making Custom Minion Skills
« on: »
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

Share on Bluesky Share on Facebook


Re: Help Making Custom Minion Skills
« Reply #1 on: »
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 17, 2019, 11:04:59 pm by Phanjam »


Re: Help Making Custom Minion Skills
« Reply #2 on: »
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.

 

Recent Topics+-