Trying to proc a skill/buff of another

Hello there !

I am trying to create a teleport skill in the Coronus mastery (needed a place to start :D) and so far so good, I do have a teleport skill, working with a nice little animation on end.

The teleport spell is based of the template Skill_AttackSpellTeleportSelf

My issue now is that I am trying to add an effect to the base teleport skill, maybe damage on landing or a buff. I’d like it to be on the base teleport skill, not a skill modifier and I am hitting a wall.

I’ve been trying to use the autoCastSkill/autoCastController with an awful lot of triggers (creating a cast_@ally controller which should proc when my life is less than 101% for instance) but nothing worked.

So I’ve been searching a lot in the topics around here and came accross the SkillSecondary which if I understand correctly should proc once another spell has finished.

So I’ve created two new SkillSecondary skills :

  • teleportation_modifier.dbr which is an instance of skillsecondary_buffselfduration.tpl and has a buffSkillName set to :
  • teleportation_buff.dbr, the actual buff skill (template: SkillBuff_Passive), based of cadence third modifier.

I have added both teleportation.dbr and teleportation_modifier.dbr to my mastery skill tree (skills/playerclasscoronus/_classtree_classcoronus.dbr) in the correct order.

From what I understand, GD code seems to use the order of the skills to make one depend from the other but I am not sure about it. I am not even sure the teleportation is actually linked to its modifier (it does not feel like it in game, I just teleport and nothing else happens)
Am I missing a step to link those three files (teleportation.dbr, teleportation_modifier.dbr and teleportation_buff.dbr) ?
How does GD links the skills to their modifiers when they are not connected in the UI ?

I have made screenshots of all the dbrs to help out.

Maybe I am also using the wrong templates, I am not sure about anything.

If anybody has a lead I would be so glad !

Also, a last question : the teleport spell allows the player to go to offlimit areas, is it possible to remove that aspect of the skill ?

Thanks a lot guys !

Attachment: Capture d’écran (130).jpg
Attachment: Capture d’écran (129).jpg
Attachment: Capture d’écran (128).jpg
Attachment: Capture d’écran (127).jpg

From my experience, there are a few things wrong with the Skill_AttackSpellTeleportSelf template.
First, it allows the player to teleport inside an enemy instead of next to it.
As you mentioned, the off limit areas also includes passing through doors and obstacles.
Lastly, the autoCastSkill simply does not work with it. :cry:

I’m assuming it was mainly used for npc quest steps, scripts or perhaps testing purposes instead of using the console command. So that template needs additional code to be viable in gameplay.

However, it could probably be used as a quest item skill to be used temporarily until an assigned quest step removes the item from the player.

No, it’s actually used by a creature in-game.

A Nemesis boss. He can teleport to the player or even teleport-swap place with the player.

If you search Skill_AttackSpellTeleportSelf in the database you will find it.

You can’t really proc autoCast like you said but you can use modifier (skillsecondary even) on it tho.

Teleport is really cheezy… you can teleport across huge rooms, evade any combat risky situations and you can also teleport outside the map boundaries. (Not the map itself but play-area)

The worst part about is that if you have the Maximum range in Distance Profile you can even skip bridges that need to be repair :smiley:

tl:dr It’s good for a pet skill or if you create a creature but I wouldn’t bother too much about for a mastery, it gave me a lot of trouble and even with the added debuff I gave it, it’s still OP!

To gave it a debuff, I made the modifier then a made the base skill requires the modifier, it’s pretty stupid how it works but it work :smiley:

I’ll just scratch it anyway… waste of time.

Ah…yeah. Its not as noticeable how he teleports inside the player 0,0,0 point location because of his scale size.
Unfortunately the template still remains player skill unfriendly since TQ. (which is similar to: Skill_Teleport) :cry:

Thanks for the answers guys.

Yeah I followed your thread about it really carefully, you seem to have managed to use a modifier though. How did you do it ? How do you link the teleport and a Skillsecondary ? Even if I scrap everything I really want to be able to understand how to do it !

Yeah I was either planning on using like the minimum distance for the teleport to prevent abuses but I was also thinking of a non-targeted dash. Does anybody happen to know if there is a dash of some sort implemented in game ?

Thanks !

Blitz…? :wink:

Thought making it untargeted could become a problem.

You can try to set targetingMode to “Point” but I doubt that that will work.

To link Teleport to a Skillsecondary (Skill Modifier in SkillTree) I used the template skillsecondary_buffselfduration and in the _classtree_classXX.dbr you need to place them in order.

Order is as follows.

skillName2 Main Skill (Teleport)
skillName3 Skill Secondary / Modifier
skillName4 Skill Secondary / Modifier
skillName5 Main Skill (“Fireball”)

You also need to create a SkillXX.dbr in your UI/Class folder for each modifiers or they won’t show up in the Skill Tree.
Use the Skill Grid provided in the Tutorials thread.
http://www.grimdawn.com/forums/showthread.php?t=37952

They don’t need to be visually connected to work together (the lines that connect them in the Skill Tree are just visual, look at another skill to understand how they work, very simple)
What this mean is that the main skill need to be placed before the modifiers.
The way they are shown in the Skill Tree is set in the UI folder.

I don’t know if it’s possible to create a .dbr that modify a skill without having to spend a point to unlock a modifier in the Skill Tree.
If you happen to find out let me know.

Anyway, with this method I was able to add a modifier for the teleport skill.



Not related with what I did, but might help you.

If you create a passive skill and you want it to effect specified skills, you have to do like above, set the main skill then place the passive skill under it and then the modifiers and your next skill… etc…

You don’t need to set the passive separately once you have at least one entry in the Skill Tree.
In the UI folder, in classXX, you’re gonna create ONE skill for the passive and set his position for wherever you want it to appear.

Maybe you can figure something out with this information, I have not tried anything else after being successful with my modifier on Teleport :slight_smile:

I’ll try that thanks !

In the mean time, do you or anybody else happen to know if it is possible to change the targeting system of the charges ? I’m not sure where it is specified but I am trying to work with the boar_charge skill and make it so it does not need a target. I have tried to change the targetingMode but it does not change anything. What’s the targetingMode option’s use if it does not change that kind of things ?

Funny you ask that :stuck_out_tongue: I had a dream about it last night and from what I dreamed, It doesn’t seem possible.

The skill seems to require a target to be casted.
Probably hard-coded, AGAIN… :furious:

I was thinking about making a dash skill, where you can dash through enemies and damage them, the skill would have gained cooldown reduction per targets hits.

But yeah… all a dream…

EDIT: Maybe there’s a way to do it with “LINE” attack and teleport the player at the end of the wave.
Not sure if this is possible but seems more doable then rewriting the game :wink:

EDIT: Yeah, forget about the above… unless there’s a function in the API that allow teleporting the player and even then you would have to sync it with the skill and that seems complex.
Also, you can’t autoCast or proc a skill that move your character.
Time to crawl under a rock… Crab mode

I never had any luck with it…then realizing there would be various player dash/dodge type movements skills already. Many of the templates seem designed for specific uses but weren’t coded to the full extent to be functional globally. :confused:

Ah damn ! Hope someone will eventually find out how to do that :confused:

Another alternative I would have would be either :

  • Create a buff that adds a lot of move speed for a very short time but when I try that it seems there is a movement speed cap (135% in the ModdingTutorial) am I doing something wrong ? Or is there an option to remove the cap ?
  • Keep the boar charge but knockback every ennemy in a radius upon landing. Is there a knockback in the game ? Haven’t seen one :confused:

Edit :
@Murlocking : thanks for the ideas, that would be so good, I was looking for a skill like that too (was thinking Psyloke dash in the Marvel Heroes MMO). It’s so sad that so many parts are hardcoded :confused:

For movement cap:
records/game/gameengine.dbr
under:
Player Info / Monster Info

There’s a knockdown but no knockback…(I’m so looking forward to editing animations once that becomes available):wink: The takehit/knockdown animations will be a good start. The tricky part is that the animation would need to smoothly return the the enemy to its original position…

But with the knockdown, you would have to make sure the enemies you’re testing on have little to no resistance to it.

Had a new idea, require animation importing or probably doing a really cool texture (require artist) but you could use the LINE attack and for the animation of the skill you will see your character rush forward and back.
You could trick the game and deal extra hit (1 hit forward, 1 hit backward) with Damage over Time for 1 tick.

I don’t know about animations tho… the slots seems limited.
Maybe a really well done looping texture would work better.

You wouldn’t actually dash but it would look sick as hell. :cool:

Murlock: Yeah that would actually be really cool !
But I really like the idea of having a tool for repositionning and kiting so the fact that you really just stay in place defeats this goal for me :confused:

Solemn: Thanks, I don’t really like the idea of modifying the gameengine.dbr for a Standalone mastery, but I guess there is no other way ?

Yeah I figured that out for the knockback, just wanted confirmation, I would have loved to be able to “project” ennemies far away on impact would have been so cool !

Have you tried Blitz before?
It pretty much exactly does what you want to do, knockback enemies on impact.

To create a knockback you have to use Knockdown status and add a ragdoll push effect.

Pretty simple.

Yeah I have tried with Blitz even before thinking about the Boar charge skill but I wanted it to be non-targeted so I tried with the boar charge afterwards with no success.
I think I am going to go back to a moderate-range teleport on a somewhat long cooldown with a few modifiers (one that knockdown/back and one with stats buff).

How does the ragdoll push effect works ?

Thanks a lot for you continued help Murlock :slight_smile:

Edit question : I was wondering, if some skills like Shadowstrike can give 500% Movement Speed, how can the cap can be as low as 135% ? Isn’t there a way to break the cap without modifying the gameengine.dbr ? How does shadowstrike handles that ?

humm… never thought of that. Makes me wonder if its coded that way for that particular template. Unless…500 breaks a run speed cap threshold, but I doubt it.

I don’t know either but I have tried setting a 500% speed bonus using a buff skill and it did not break the cap.

My take on that is that the speed cap threshold may be broken during animations, that’s why both boar charge and shadowstrike have those bonus (shadowstrike is 500% and boar charge like 300% I think). It allows the character to move way faster, otherwise the character would still blink/charge but at normal pace or something like that.

But if it is like that it is probably hardcoded :confused:

Hard-Coded for that template almost 99% sure.

About the ragdoll push effect, here’s how it works.
Once mobs are knocked down, they become your puppets for ragdoll effect, this include the initial knockdown effect.

Here’s how you do it:

Give your skill a 100% (or leave field blank) to knockdown for x seconds.
Set ragDollEffect: TakeHit
Set ragDollDirection: Push
Set ragDollPush: None (Or Left/Right) if you want to push them on a specific side.
Set ragDollElevation: None (Upward/Downward, if you want to push them Up or Down)
Set ragDollAmplification: 1.5 = Blitz (RagDoll Amp)
^ Use higher value to increase the ragdoll effect.
The TQ Devs loved this attribute :slight_smile:
You could send enemies flying to the sky on critical attacks, was pretty damn funny!

Good luck and if you have more questions feel free to ask!

EXTRA NOTE: If you look at blitz in the DBR Editor, there’s a field in Melee Config to set the Angle for Targeting, try changing that to 360 and Max Targets to “Blank” (delete the array).
This should make you hit all enemies on arrival.
You could try using the Projectile Config section and ‘spit’ a projectile behind you (piercing) to hit everything that was on your path.
Not 100% sure if that works or how it would looks but that’s probably the closest you can get to a dash ability.
If you set the projectile speed really high it will look like a trail behind you but damage the enemies.
I have not used or tested skillProjectileAngle yet but I assume you can set an angle to launch projectiles behind your back.

Let me know what you think :slight_smile:

Thanks Murlock, you truly are amazing, got so many answers from you ! (Thank you Solemn too <3)

It works perfectly so far, it’s so fun messing with the ragdoll amplification, you are right.

I finally got back to my teleport instead of a dash so I won’t be doing a blitz based spell for now but I’ll keep it in mind :slight_smile: Those are some nice ideas !

Anyway, got my two teleports modifiers working so far, one with a selfbuff the other with an attackradius (had a lot of trouble with this one I first tried to create a debuff like Olexra’s flash freeze but it would not work :/)

I’m currently asking myself two things:

  • Is it possible to create a skill modifier that “locks” other modifiers ? I mean you select it and then you cannot add points to any other for this skill ?
  • Have you (or anyone) got any idea how we could create a “Charge” spell ? We have like charge attacks but I’d like for me to able to create a modifier on a spell that allows to cast it like 5 times (5 charges) before going into cooldown for a longer time. I know there are charges for attacks but haven’t seen anything about spells and modifiers.