# PSF-LoginServer - master - net.psforever.objects.equipment.FireModeSwitch
PSF - LoginServer - master - net.psforever.objects.equipment.FireModeSwitch
Keywords: PSF LoginServer master net.psforever.objects.equipment.FireModeSwitch

PSF-LoginServer - master < Back


# Packages

-  package root
  Definition Classes
    root
-  package net
  Definition Classes
    root
-  package psforever
  Definition Classes
    net
-  package objects
  Definition Classes
    psforever
-  package equipment
  Definition Classes
    objects
- Ammo
- CItem
- ChargeFireModeDefinition
- EffectTarget
- Equipment
- EquipmentSize
- EquipmentSlot
- FireModeDefinition
- FireModeSwitch
- InfiniteFireModeDefinition
- JammableBehavior
- JammableMountedWeapons
- JammableUnit
- JammingUnit
- Kits
- PelletFireModeDefinition
- RemoteUnit
- SItem
- TargetValidation

t

net.psforever.objects.equipment

# FireModeSwitch

###

#### trait FireModeSwitch[Mode] extends AnyRef

Fire mode is a non-complex method of representing variance in `Equipment` output.
All weapons and some support items have fire modes, though most only have one. The number of fire modes is visually indicated by the bubbles next to the icon of the `Equipment` in a holster slot. The specifics of how a fire mode affects the output is left to implementation and execution. Contrast how `Tool`s deal with multiple types of ammunition.
While most `Tools` - weapons and such - are known to have fire modes, `ConstructionItem` equipment that produce deployable entities in the game world also support fire modes. The mechanism is different, however, even while the user interactions work in a similar way. For most weapons, the fire mode is just a modification of how the projectiles behave or the weapon behaves. For example, the bounciness of the grenades or the number of shots fired by the Jackhammer. One has to change tool ammo types to actual swap out different ammunitions such as, most commonly, grey normal ammo for gold armor-piercing ammo. For deployable-constructing entities, fire mode switches between the categories of deployables that can be built and "changing ammunition" actually changes the subtype of deployable within that deployable category. For example, fire modes go from "Boomers" to "Mines" while ammo types for "Mines" goes from "HE mines" to "Disruptor Mines".

Mode

  the type parameter representing the fire mode

Source
  FireModeSwitch.scala

Linear Supertypes
AnyRef, Any
Known Subclasses
ConstructionItem, Telepad, Tool, TurretWeapon

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. FireModeSwitch
2. AnyRef
3. Any

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### Abstract Value Members

1.  abstract def FireMode: Mode
2.  abstract def FireModeIndex: Int
3.  abstract def FireModeIndex_=(index: Int): Int
4.  abstract def NextFireMode: Mode

### Concrete Value Members

1.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
2.  final def ##: Int
   Definition Classes
     AnyRef → Any
3.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
4.  final def asInstanceOf[T0]: T0
   Definition Classes
     Any
5.  def clone(): AnyRef
   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws(classOf[java.lang.CloneNotSupportedException]) @native()
6.  final def eq(arg0: AnyRef): Boolean
   Definition Classes
     AnyRef
7.  def equals(arg0: AnyRef): Boolean
   Definition Classes
     AnyRef → Any
8.  def finalize(): Unit
   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws(classOf[java.lang.Throwable])
9.  final def getClass(): Class[_ <: AnyRef]
   Definition Classes
     AnyRef → Any
   Annotations
     @native()
10.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
11.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
12.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
13.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
14.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
15.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
16.  def toString(): String
    Definition Classes
      AnyRef → Any
17.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
18.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
19.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException]) @native()

### Inherited from AnyRef

### Inherited from Any

### Ungrouped