Lots of questions on orbiting projectiles

Hello everyone !

I am trying to craft an orbiting skill, here is the gist :

  • Base skill is a spammable spell that adds oribiting projectiles around you on a low cooldown
  • Transmuter makes the orbiting projectiles follows you at close range might stun ennemies and gives you defense.
    This skill is toggled and reserves part of your mana
  • Transmuter makes the orbiting projectiles follows you at long range, slow ennemies and gives you speed.
    This skill is toggled and reserves part of your mana

What I have successfuly achieved:
So far I have succeeded into creating the orbiting projectile and two skill_transmuters that uses projectileOverride to change the missle_flight_fx (for more swag and more projectile speed, but I can’t seem to be able to spawn more projectiles ?) and adds offensive stuff like stun/slow.

And I am stuck there.
I cannot add any defensive buff to my character nor can add reserved mana for instance.

So here are “a few” questions :

  • How the hell can I make a transmuter that makes the projectile cast give me a buff ? I have set many defensive parameters but none are working. Only offensive parameters seems to.
    My take on that is that transmuters can’t add properties that would not be on the original template (skill_projectile_orbiting.tpl or something) and this one only has offensive properties.

So how can I do that ? I have tried adding a skill_secondary on my base skill while the transmuters would only change the range and not give buff themselves… to no end.
I created a skill_secondary_buffselfduration (and tried the radius one too) and attached many types of skill_buffx but none is working. There must be a way to have a projectile proc a defensive buff for your character (not talking autoCast) right ?

  • Same goes for reserved mana :frowning:

  • What’s the difference bewtween skill_transmuter and skill_modifier ?

  • Is there a way to make two transmuters exclusive ? (if you pick one you cannot pick the other) apart from setting different weapon requirements ?

  • Is there a way to change the animations as the skill levels up ? One transmuter I would love to make would be one that growingly increases the range according to the number of points in the skill and change the missile_flight_fx every like 4 levels to make the orbiting projectile look more badass with more points

  • With the skill_projectile_orbiting template adding even more projectiles with levels seems impossible (it seems to be an Int and not an array of Ints :frowning: ), any way of overcoming that ?

  • Is there a way to make a buff skill that procs an offensive projectile on cast (an orbiting one :stuck_out_tongue: ) that lives for the buff duration and scale with levels ? (I am trying to see the problem for another angle)

Thanks a lot for any answer you could give me guys :slight_smile:

Cheers !

[Edit of original: Nevermind. It’s 6am and I’m stupid.]

As for your questions:
What you’re trying to achieve might be possible by creating a buff which casts a spell on a triggerType CastBuff
That spell being your orbiting projectiles

I think it’s possible to spawn multiple projectiles by specifiying multiple fx in the skillProjectileName, each with their own offset. But you couldn’t increase that per level.

I’m going to bed for now, but if there’s no update on this tomorrow I’ll try it out myself and report back how it goes.

About all the rest:
Sadly I don’t know of a way to change the fun stuff, like fx or even cast spells with level :frowning:

Edit: Aaaah, I forgot that you wouldn’t be able to despawn the projectiles on buff deactivation :c

Edit 2: While I have been able to create a spell which procs multiple orbiting projectiles, lasting 90 seconds and reserving some of your mana, there’s a few inherent problems to this spell:

  1. You can disable the spell, but the projectiles remain. There’s no way to despawn the projectiles.
  2. The 90 seconds are a fixed value, set as the proc cooldown and projectile lifespan.
  3. You can not add more projectiles per level.
  4. I can’t seem to get the itemskills/basetemplates/base_atself_oncastbuff to do anything at all. Instead I’m using a controller to cast at 100% low health… but you need to take damage first for it to activate.

Edit 3: I just had a crazy idea, which I’ll try out later today.
Instead of spawning projectiles with a long duration, just have the spell spawn projectiles with the exact duration it takes them to go full circle.
However, you’d still need a controller to automatically activate. I’ve tried one with health<110%, but that just never triggers at all. And you still wouldn’t be able to add more projectiles.

Edit 4: Testing this out again I noticed that if you spawn, say, two projectiles via skillProjectileName and skillProjectileNumber, only the first one registers hits? The second one just … doesn’t? What the fuck?

Edit 5: Happy editing! Implenting Edit 3 was easier than I thought, so I just did it. It works and looks good - until you turn into some other direction. Since you can’t specify an absolute degree value relative to world coordinates for projectileStart, it will start looking crappy as you run around.

And you still need <100% health for it to trigger… although I’ve gotten “around” that by setting skillActiveLifeCost and characterLifeRegen both to 1. This will disable constitution however, which is undesirable.

Edit 6: Silly me. Just set the trigger to low mana.

Conclusion:

It is possible to create a toggleable buff-type spell which launches orbiting projectiles.
It is possible to set the amount of projectiles based on your level.
It’s a tad hacky though and will look crappy when you turn.

Here’s how:

Create a toggleable buff, set the autoCastSkill to a skill which launches one orbiting projectile and the autoCastController to a controler triggerType LowMana and triggerParam 100. Skill 1 will need some skillActiveManaCost for this to work, otherwise the controller will not be triggered.

Now, set the projectile of the projectile skill to have a projectileDuration equal to 360/projectileOrbitRate - this will make it live for exactly one 360 turn.

To finish it off, set the skillCooldownTime of the projectile skill to projectileDuration/<amount of orbiting projectiles>. Since skillCooldownTime is an array, you can thusly increase the amount of orbiting projectiles based on level.

If you want multiple orbits, you need to create a new projectile skill with a custom projectile fx and assign that new projectile skill to the last projectile skill via autoCastSkill, “chaining” the skills. This also allows you to set projectiles fx based on level, by making “older” projectile skills impossible to cast (via “infinte” mana cost) and in turn making “newer” projectile skills with different fx castable.

If anyone finds a solution to the ugliness of always launching the projectle at front, I’d love to know it.

Last Edit, I swear:
Also note that due to the projectile starting and ending at 0deg, it hits targets at 0deg twice. A workaround would be to slightly reduce the projectileDuration, but that would look even more ugly.
Additionally the trigger seems to be bugged. When using the buff with less than 100% mana, it doesn’t trigger the projectile spell (?)

Really really last edit:
The trigger isn’t bugged, but it works only when you pass the % mana border (so when you go from 100% to 99%), not afterwards. You will need to toggle the spell at full mana with no mana reserved (or reach full mana with no mana reserved after toggling it), otherwise it won’t launch projectiles.

1 Like