mirror of
https://github.com/psforever/PSF-LoginServer.git
synced 2026-01-19 18:44:45 +00:00
radiation shielding of some vehicles and mountable entities restored
This commit is contained in:
parent
0a030bd109
commit
3bf7ef27a4
|
|
@ -1634,6 +1634,7 @@ object GlobalDefinitionsVehicle {
|
|||
droppod.Packet = new DroppodConverter()
|
||||
droppod.DeconstructionTime = Some(5 seconds)
|
||||
droppod.DestroyedModel = None //the adb calls out a droppod; the cyclic nature of this confounds me
|
||||
droppod.RadiationShielding = 1.0f
|
||||
droppod.DamageUsing = DamageCalculations.AgainstAircraft
|
||||
droppod.DrownAtMaxDepth = false
|
||||
droppod.mass = 2500f
|
||||
|
|
@ -1667,6 +1668,7 @@ object GlobalDefinitionsVehicle {
|
|||
orbital_shuttle.Packet = new OrbitalShuttleConverter
|
||||
orbital_shuttle.DeconstructionTime = None
|
||||
orbital_shuttle.DestroyedModel = None
|
||||
orbital_shuttle.RadiationShielding = 1.0f
|
||||
orbital_shuttle.DamageUsing = DamageCalculations.AgainstNothing
|
||||
orbital_shuttle.DrownAtMaxDepth = false
|
||||
orbital_shuttle.mass = 25000f
|
||||
|
|
|
|||
|
|
@ -2,9 +2,11 @@
|
|||
package net.psforever.objects.serverobject.terminals.implant
|
||||
|
||||
import net.psforever.objects.serverobject.hackable.Hackable
|
||||
import net.psforever.objects.serverobject.mount.{Mountable, Seat}
|
||||
import net.psforever.objects.serverobject.mount.{InteractWithRadiationCloudsSeatedInEntity, Mountable, Seat}
|
||||
import net.psforever.objects.serverobject.structures.Amenity
|
||||
import net.psforever.objects.serverobject.terminals.capture.CaptureTerminalAware
|
||||
import net.psforever.objects.vital.resistance.StandardResistanceProfile
|
||||
import net.psforever.objects.zones.interaction.InteractsWithZone
|
||||
import net.psforever.packet.game.TriggeredSound
|
||||
import net.psforever.types.Vector3
|
||||
|
||||
|
|
@ -17,7 +19,10 @@ class ImplantTerminalMech(private val idef: ImplantTerminalMechDefinition)
|
|||
extends Amenity
|
||||
with Mountable
|
||||
with Hackable
|
||||
with StandardResistanceProfile
|
||||
with InteractsWithZone
|
||||
with CaptureTerminalAware {
|
||||
interaction(new InteractWithRadiationCloudsSeatedInEntity(obj = this, range = 50f))
|
||||
seats = Map(0 -> new Seat(idef.Seats.head._2))
|
||||
|
||||
HackSound = TriggeredSound.HackTerminal
|
||||
|
|
|
|||
|
|
@ -3,17 +3,23 @@ package net.psforever.objects.serverobject.turret
|
|||
|
||||
import net.psforever.objects.equipment.JammableUnit
|
||||
import net.psforever.objects.serverobject.interior.Sidedness
|
||||
import net.psforever.objects.serverobject.mount.InteractWithRadiationCloudsSeatedInEntity
|
||||
import net.psforever.objects.serverobject.structures.{Amenity, AmenityOwner, Building}
|
||||
import net.psforever.objects.serverobject.terminals.capture.CaptureTerminalAware
|
||||
import net.psforever.objects.serverobject.turret.auto.AutomatedTurret
|
||||
import net.psforever.objects.sourcing.SourceEntry
|
||||
import net.psforever.objects.vital.resistance.StandardResistanceProfile
|
||||
import net.psforever.objects.zones.interaction.InteractsWithZone
|
||||
import net.psforever.types.Vector3
|
||||
|
||||
class FacilityTurret(tDef: FacilityTurretDefinition)
|
||||
extends Amenity
|
||||
with AutomatedTurret
|
||||
with StandardResistanceProfile
|
||||
with JammableUnit
|
||||
with InteractsWithZone
|
||||
with CaptureTerminalAware {
|
||||
interaction(new InteractWithRadiationCloudsSeatedInEntity(obj = this, range = 100f))
|
||||
WeaponTurret.LoadDefinition(turret = this)
|
||||
WhichSide = Sidedness.OutsideOf
|
||||
|
||||
|
|
|
|||
|
|
@ -10,9 +10,9 @@ import net.psforever.objects.vital.damage.DamageProfile
|
|||
* based on the assumption that the implementing object's `Definition` is the primary `ResistanceProfile`.
|
||||
*/
|
||||
trait StandardResistanceProfile extends ResistanceProfile {
|
||||
this: PlanetSideGameObject =>
|
||||
_: PlanetSideGameObject =>
|
||||
//actually check that this will work for this implementing class
|
||||
assert(Definition.isInstanceOf[ResistanceProfile], s"$this object definition must extend ResistanceProfile")
|
||||
assert(Definition.isInstanceOf[ResistanceProfile], s"${this.getClass.getSimpleName} object definition must extend ResistanceProfile")
|
||||
private val resistDef = Definition.asInstanceOf[ResistanceProfile] //cast only once
|
||||
|
||||
def Subtract: DamageProfile = resistDef.Subtract
|
||||
|
|
@ -23,5 +23,5 @@ trait StandardResistanceProfile extends ResistanceProfile {
|
|||
|
||||
def ResistanceAggravated: Int = resistDef.ResistanceDirectHit
|
||||
|
||||
def RadiationShielding: Float = resistDef.ResistanceDirectHit.toFloat
|
||||
def RadiationShielding: Float = resistDef.RadiationShielding
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue