← Back to all addons

Repeatable (tilt) & Spread System (Extension for projectile) (3.1) 🌟🔥

Posted by Mr.Titan on Apr 26, 2025 at 3:45 PM

ExperimentalFeature3.0 Verified
💡 6

It gives repeatable projectile abilities that are OVERPOWERED! Perfect for bosses. 💩 So the concept it’s simple, but implementing it in a “DataBlock” makes it a bit messy i would say.

Technical Doc: So the ability sheet as all the variables. Problem is the script that manages the instantiation, it’s a “DataBlock” and this shares info among all instances - and when an ability it’s instantiated from 2 sources (player and monster) things goes sideways

The way it was implemented was using promises, meaning coroutine methods. Now i don’t know how advisable it is, but i don’t really like the approach. Besides, the character animation are not playing the “throw” animation eveytime, and that sucks!

** Required: **

  • First follow the tutorial of the add-on:https://discord.com/channels/1090763611938496553/1365685019879673958

** Steps: **

  • Add the following properties to ProjectileAvilitySheet.cs

        [Header("Repetition")]
        [SerializeField] private int m_repetition = 0;
        [SerializeField] private int m_tiltDegree = 25; //i find this to be the perfect degreeAngle
        [SerializeField] private float m_repetitionDelay = 0.5f;



        public int repetition => m_repetition;
        public int tiltDegree => m_tiltDegree;
        public float repetitionDelay => m_repetitionDelay;
  • Replace the iAbilityProjectileSpreadType.cs from the previous tutorial/add-on with this one. This just adds extra features in the CircularSpreadType method.

** How to Use:**

  • Change the parameters of Repetition in your projectile sheet.
  • Parameters: repetition:number of repetitions. 0=no repeat, lauch only once; TiltDegree: tilts the even index of repetition (ex: 2,4,6); Repetition Delay: delay between repetitions.

** Example Usage **:

  • Duplicate “AB_FIRESTART” and name it “AB_FireStar_Elite”, set value: repetition:3; tilt:25; delay:0.4;

💬 Comments (12)

8Bit Rpg Jul 06, 2025 at 04:31 AM
Hey, how’s it going? Sorry for bothering, but I was testing the addon in version 3.1 and I have a problem with the ProjectileAbility script:
8Bit Rpg Jul 06, 2025 at 04:31 AM
8Bit Rpg Jul 06, 2025 at 04:32 AM
I think is missing the repetition index parameter
8Bit Rpg Jul 06, 2025 at 04:42 AM
Maybe you forgot to add some modifications to the steps in the ProjectileAbility script
8Bit Rpg Jul 14, 2025 at 08:10 AM
@MrMystery I’m tagging you because I saw that you haven’t been using the other account lately, and I wanted to know if you had any idea why this is happening to me. I think it’s because you forgot to share the updated ProjectileAbility.cs script maybe?
Mr.Titan Jul 14, 2025 at 09:10 AM
It’s 2 different people mate! 😅
😆 1
Mr.Titan Jul 14, 2025 at 09:12 AM
One of the steps its to look at other tutorial that has some scripts.
Mr.Titan Jul 14, 2025 at 09:13 AM
Look at the “Required” on top.
8Bit Rpg Jul 14, 2025 at 01:50 PM
Oh yes, I followed the steps in the first tutorial, in fact that version without repetitions works perfectly for me, but when following the steps of this version with the repetition function, and replacing this iAbilityProjectileSpreadType script, I get this error
8Bit Rpg Jul 14, 2025 at 01:51 PM
Assets\Mythril2D\Core\Runtime\Scripts\Combat\Abilities\Active\ProjectileAbility.cs(54,67): error CS7036: There is no argument given that corresponds to the required formal parameter 'repetitionIndex' of 'AbilityProjectileSpreadType.getDirection(SpreadTypeEnum, ProjectileAbility, CharacterBase, int, int)'
8Bit Rpg Jul 15, 2025 at 03:41 PM
@Mr.Titan Sorry to bother you again, but I think the tutorial is missing a part 😅

Want to continue the conversation?