Repeatable (tilt) & Spread System (Extension for projectile) (3.1) 🌟🔥
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)
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)'Want to continue the conversation?