Spell-Mastery-Game-Prototype / Scripts / DataCollections / ModuleNameCollection.js
ModuleNameCollection.js
Raw
class ModuleNameCollection
{
  static attributeModuleCollection = [
    AreaModule, CooldownModule, CriticalModule, ElementalDamageModule, ElementalResistanceModule, TravelerModule
  ]
  //5
  static castModuleCollection = [
    BurstModule, ChannelModule, ChargeModule, RandomModule, RepeatModule
  ]
  //10
  static lifeModuleCollection = [
    LifeModule, LifeRechargeModule, HealModule, DrainModule, ReserveModule
  ]
  //15
  static travelModuleCollection = [
    AttachModule, OrbitModule, PhysicalModule, ChainModule
  ]
  //19
  static specialModuleCollection = [
    BlindModule, DurationModule, GravityModule, LeechModule, StackModule, StunModule
  ]
//28
  static triggerModuleCollection = [
    CastOnCriticalStrikeModule, CastOnDamageTakenModule, CastOnDeathModule, CastOnHitModule, CastOnKillModule//, MineModule, TrapModule
  ]

  static names = [
    ...ModuleNameCollection.attributeModuleCollection,
    ...ModuleNameCollection.castModuleCollection,
    ...ModuleNameCollection.lifeModuleCollection,
    ...ModuleNameCollection.travelModuleCollection,
    ...ModuleNameCollection.specialModuleCollection,
    ...ModuleNameCollection.triggerModuleCollection
    ]
    
  static getIndex(name)
  {
    for(let [i,n] of ModuleNameCollection.names.entries())
      if(name == n)
        return i
  }
  
  static getName(i)
  {
    return ModuleNameCollection.names[i]
  }
  
  static getRandomIndex()
  {
    return Math.round(Math.random()*(ModuleNameCollection.names.length-1))
  }
}
  
console.log('ModuleNameCollection loaded...')