-
Notifications
You must be signed in to change notification settings - Fork 115
Making a Module: What kind of attacks exist?
There's a lot of components in VBM. The purpose of this guide is to try and at least cover the basics, and where to find them as well.
There's... a lot to cover. So lets get this started!
All the beginning the attacks will start with
class NameofAttack(BossModule module) :
just as a gentle reminder. The name NameofAttack
can be anything you want. Just... please make it reasonable/make it make sense.
These are used -a lot- so let's break them down and how they work
Circle:
new AOEShapeCircle(float radius)
// example
new AOEShapeCircle(5) // this will make the attack have a shape with the radius of it being 5
// if you want it to be not a whole number
new AOEShapeCircle(4.5f) // attack size will be 4.5
Cone:
new AOEShapeCone(float Radius, Angle HalfAngle, [Angle DirectionOffset = default])
// Radius = size
// Angle HalfAngle = Angle the attack has /2 (Example would be 30.Degrees())
// Angle DirectionOffset = ??? (need to experiment on this one)
Use case: In fights where you need to make adds that are targetable/visible either shown on the mini-map, or part of the list of selectable ads in a boss module.
- Single Target code:
class Adds(BossModule module) : Components.Adds(module, (uint)OID.AdNameHere);
Example
public enum OID : uint
{
Boss = 0xE68, // R6.000, x1
CohortEques = 0xE70, // R0.500, x0 (spawn during fight)
}
class Test(BossModule module) : Components.Adds(module, (uint)OID.CohortEques);
- Multi-Target code:
class MultiAddModule(BossModule module) : Components.AddsMulti(module, [(uint)OID.AdName1, (uint)OID.AdName2]);
Multi-Target Example:
// pulled from D18TheKeeperoftheLake.D182MagitekGunship
public enum OID : uint
{
Boss = 0xE68, // R6.000, x1
CohortSignifer = 0xE72, // R0.500, x0 (spawn during fight)
CohortSecutor = 0xE71, // R0.500, x0 (spawn during fight)
CohortLaquearius = 0xE6F, // R0.500, x0 (spawn during fight)
CohortEques = 0xE70, // R0.500, x0 (spawn during fight)
CohortVanguard = 0xE69, // R2.800, x0 (spawn during fight)
}
class MagitekGunshipAdds(BossModule module) : Components.AddsMulti(module, [(uint)OID.CohortSignifer, (uint)OID.CohortSecutor, (uint)OID.CohortLaquearius, (uint)OID.CohortEques, (uint)OID.CohortVanguard]);
For things to be considered an "add" they must be: -> Targetable -> and not dead
Image Example grabbed from the 91 Dungeon: Ihuykatumu. Boss: Apollyon (3rd boss)
Use case: You have a personal targeted AOE that you need to not stack on top of your team mates (least they hate you).
Base Code Example: