mirror of
https://github.com/psforever/PSF-LoginServer.git
synced 2026-01-19 18:44:45 +00:00
reactivating maelstrom availability; restore damage dealing potential to the maelstrom grenades; changing damage profile to 'no radial degrade'
This commit is contained in:
parent
049e8a2293
commit
64b86a984e
|
|
@ -55,7 +55,7 @@ add_property lasher holstertime 750
|
|||
add_property lasher_projectile_ap lasher_projectile_ap false
|
||||
add_property lasher_projectile_ap lasher_projectile true
|
||||
add_property lightgunship maxhealth 855
|
||||
add_property maelstrom allowed false
|
||||
add_property maelstrom allowed true
|
||||
add_property maelstrom equiptime 1000
|
||||
add_property maelstrom holstertime 1000
|
||||
add_property magcutter equiptime 250
|
||||
|
|
|
|||
|
|
@ -132,7 +132,10 @@ class WeaponAndProjectileLogic(val ops: WeaponAndProjectileOperations, implicit
|
|||
}
|
||||
//...
|
||||
if (list.isEmpty) {
|
||||
ops.handleProxyDamage(pkt.projectile_guid, pkt.hit_info.map(_.hit_pos).getOrElse(Vector3.Zero))
|
||||
ops.handleProxyDamage(pkt.projectile_guid, pkt.hit_info.map(_.hit_pos).getOrElse(Vector3.Zero)).foreach {
|
||||
case (target, proxy, hitPos, _) =>
|
||||
ops.resolveProjectileInteraction(target, proxy, DamageResolution.Hit, hitPos)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -182,7 +185,10 @@ class WeaponAndProjectileLogic(val ops: WeaponAndProjectileOperations, implicit
|
|||
}
|
||||
}
|
||||
//...
|
||||
ops.handleProxyDamage(pkt.projectile_uid, pkt.projectile_pos)
|
||||
ops.handleProxyDamage(pkt.projectile_uid, pkt.projectile_pos).foreach {
|
||||
case (target, proxy, hitPos, _) =>
|
||||
ops.resolveProjectileInteraction(target, proxy, DamageResolution.Splash, hitPos)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ import net.psforever.objects.serverobject.{CommonMessages, PlanetSideServerObjec
|
|||
import net.psforever.objects.{BoomerDeployable, BoomerTrigger, Player, SpecialEmp, Tool, Vehicle}
|
||||
import net.psforever.objects.vital.base.{DamageResolution, DamageType}
|
||||
import net.psforever.objects.zones.{Zone, ZoneProjectile}
|
||||
import net.psforever.packet.game.{AIDamage, AvatarGrenadeStateMessage, ChangeAmmoMessage, ChangeFireModeMessage, ChangeFireStateMessage_Start, ChangeFireStateMessage_Stop, HitMessage, LashMessage, LongRangeProjectileInfoMessage, OrbitalStrikeWaypointMessage, ProjectileStateMessage, ReloadMessage, SplashHitMessage, TriggerEffectMessage, TriggeredEffectLocation, UplinkRequest, UplinkRequestType, UplinkResponse, WeaponDelayFireMessage, WeaponDryFireMessage, WeaponFireMessage, WeaponLazeTargetPositionMessage}
|
||||
import net.psforever.types.{ValidPlanetSideGUID, Vector3}
|
||||
import net.psforever.packet.game.{AIDamage, AvatarGrenadeStateMessage, ChangeAmmoMessage, ChangeFireModeMessage, ChangeFireStateMessage_Start, ChangeFireStateMessage_Stop, HitMessage, LashMessage, LongRangeProjectileInfoMessage, ProjectileStateMessage, ReloadMessage, SplashHitMessage, UplinkRequest, WeaponDelayFireMessage, WeaponDryFireMessage, WeaponFireMessage, WeaponLazeTargetPositionMessage}
|
||||
import net.psforever.types.Vector3
|
||||
|
||||
object WeaponAndProjectileLogic {
|
||||
def apply(ops: WeaponAndProjectileOperations): WeaponAndProjectileLogic = {
|
||||
|
|
@ -153,6 +153,7 @@ class WeaponAndProjectileLogic(val ops: WeaponAndProjectileOperations, implicit
|
|||
ops.handleProxyDamage(pkt.projectile_guid, pkt.hit_info.map(_.hit_pos).getOrElse(Vector3.Zero)).foreach {
|
||||
case (target, proxy, hitPos, _) =>
|
||||
ops.checkForHitPositionDiscrepancy(proxy.GUID, hitPos, target)
|
||||
ops.resolveProjectileInteraction(target, proxy, DamageResolution.Hit, hitPos)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -207,6 +208,7 @@ class WeaponAndProjectileLogic(val ops: WeaponAndProjectileOperations, implicit
|
|||
ops.handleProxyDamage(pkt.projectile_uid, pkt.projectile_pos).foreach {
|
||||
case (target, proxy, hitPos, _) =>
|
||||
ops.checkForHitPositionDiscrepancy(proxy.GUID, hitPos, target)
|
||||
ops.resolveProjectileInteraction(target, proxy, DamageResolution.Splash, hitPos)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import net.psforever.objects.definition.converter.{
|
|||
import net.psforever.objects.equipment.{ArmorSiphonRepairHost, EffectTarget, TargetValidation}
|
||||
import net.psforever.objects.serverobject.aura.Aura
|
||||
import net.psforever.objects.vital.base.DamageType
|
||||
import net.psforever.objects.vital.damage.{RadialDegrade, StandardDamageProfile}
|
||||
import net.psforever.objects.vital.damage.{RadialDegrade, SameHit, StandardDamageProfile}
|
||||
import net.psforever.objects.vital.etc.{
|
||||
ArmorSiphonMaxDistanceCutoff,
|
||||
ExplosionDamagesOnlyAbove,
|
||||
|
|
@ -1054,7 +1054,7 @@ object GlobalDefinitionsProjectile {
|
|||
maelstrom_grenade_projectile.Lifespan = 2f
|
||||
maelstrom_grenade_projectile.DamageProxy = 464 //maelstrom_grenade_damager
|
||||
ProjectileDefinition.CalculateDerivedFields(maelstrom_grenade_projectile)
|
||||
maelstrom_grenade_projectile.Modifiers = RadialDegrade
|
||||
maelstrom_grenade_projectile.Modifiers = SameHit
|
||||
|
||||
maelstrom_grenade_projectile_contact.Name = "maelstrom_grenade_projectile_contact"
|
||||
// TODO for later, maybe : set_resource_parent maelstrom_grenade_projectile_contact game_objects maelstrom_grenade_projectile
|
||||
|
|
@ -1069,7 +1069,7 @@ object GlobalDefinitionsProjectile {
|
|||
maelstrom_grenade_projectile_contact.Lifespan = 15f
|
||||
maelstrom_grenade_projectile_contact.DamageProxy = 464 //maelstrom_grenade_damager
|
||||
ProjectileDefinition.CalculateDerivedFields(maelstrom_grenade_projectile_contact)
|
||||
maelstrom_grenade_projectile_contact.Modifiers = RadialDegrade
|
||||
maelstrom_grenade_projectile_contact.Modifiers = SameHit
|
||||
|
||||
maelstrom_stream_projectile.Name = "maelstrom_stream_projectile"
|
||||
maelstrom_stream_projectile.Damage0 = 15
|
||||
|
|
|
|||
Loading…
Reference in a new issue