Skip to content

Making a Module: What kind of attacks exist?

Aimsucks edited this page Aug 29, 2024 · 1 revision

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.

Index

Adds/Multi-Adds

AOE Shapes

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)

Ads/Multiple Ads

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

Bait Away Cast/Personal AOE's

Image Example grabbed from the 91 Dungeon: Ihuykatumu. Boss: Apollyon (3rd boss)
image

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: