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
- Alphabetic
- By Inheritance
- FireModeSwitch
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()