mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-04-26 22:35:23 +00:00
no_projectile for Tools that have no projectile; condensing cases in WSA
This commit is contained in:
parent
ed7406f25f
commit
f8836f1cc4
3 changed files with 14 additions and 7 deletions
|
|
@ -69,6 +69,8 @@ object GlobalDefinitions {
|
||||||
/*
|
/*
|
||||||
Projectiles
|
Projectiles
|
||||||
*/
|
*/
|
||||||
|
val no_projectile = new ProjectileDefinition(0) //also called none in ADB
|
||||||
|
|
||||||
val bullet_105mm_projectile = ProjectileDefinition(Projectiles.bullet_105mm_projectile)
|
val bullet_105mm_projectile = ProjectileDefinition(Projectiles.bullet_105mm_projectile)
|
||||||
|
|
||||||
val bullet_12mm_projectile = ProjectileDefinition(Projectiles.bullet_12mm_projectile)
|
val bullet_12mm_projectile = ProjectileDefinition(Projectiles.bullet_12mm_projectile)
|
||||||
|
|
@ -1889,6 +1891,9 @@ object GlobalDefinitions {
|
||||||
private def init_projectile() : Unit = {
|
private def init_projectile() : Unit = {
|
||||||
val projectileConverter : ProjectileConverter = new ProjectileConverter
|
val projectileConverter : ProjectileConverter = new ProjectileConverter
|
||||||
|
|
||||||
|
no_projectile.Name = "none"
|
||||||
|
ProjectileDefinition.CalculateDerivedFields(no_projectile)
|
||||||
|
|
||||||
bullet_105mm_projectile.Name = "105mmbullet_projectile"
|
bullet_105mm_projectile.Name = "105mmbullet_projectile"
|
||||||
bullet_105mm_projectile.Damage0 = 150
|
bullet_105mm_projectile.Damage0 = 150
|
||||||
bullet_105mm_projectile.Damage1 = 300
|
bullet_105mm_projectile.Damage1 = 300
|
||||||
|
|
@ -4331,6 +4336,7 @@ object GlobalDefinitions {
|
||||||
medicalapplicator.Name = "medicalapplicator"
|
medicalapplicator.Name = "medicalapplicator"
|
||||||
medicalapplicator.Size = EquipmentSize.Pistol
|
medicalapplicator.Size = EquipmentSize.Pistol
|
||||||
medicalapplicator.AmmoTypes += health_canister
|
medicalapplicator.AmmoTypes += health_canister
|
||||||
|
medicalapplicator.ProjectileTypes += no_projectile
|
||||||
medicalapplicator.FireModes += new FireModeDefinition
|
medicalapplicator.FireModes += new FireModeDefinition
|
||||||
medicalapplicator.FireModes.head.AmmoTypeIndices += 0
|
medicalapplicator.FireModes.head.AmmoTypeIndices += 0
|
||||||
medicalapplicator.FireModes.head.AmmoSlotIndex = 0
|
medicalapplicator.FireModes.head.AmmoSlotIndex = 0
|
||||||
|
|
@ -4345,6 +4351,7 @@ object GlobalDefinitions {
|
||||||
nano_dispenser.Size = EquipmentSize.Rifle
|
nano_dispenser.Size = EquipmentSize.Rifle
|
||||||
nano_dispenser.AmmoTypes += armor_canister
|
nano_dispenser.AmmoTypes += armor_canister
|
||||||
nano_dispenser.AmmoTypes += upgrade_canister
|
nano_dispenser.AmmoTypes += upgrade_canister
|
||||||
|
nano_dispenser.ProjectileTypes += no_projectile
|
||||||
nano_dispenser.FireModes += new FireModeDefinition
|
nano_dispenser.FireModes += new FireModeDefinition
|
||||||
nano_dispenser.FireModes.head.AmmoTypeIndices += 0
|
nano_dispenser.FireModes.head.AmmoTypeIndices += 0
|
||||||
nano_dispenser.FireModes.head.AmmoTypeIndices += 1
|
nano_dispenser.FireModes.head.AmmoTypeIndices += 1
|
||||||
|
|
@ -4358,6 +4365,7 @@ object GlobalDefinitions {
|
||||||
bank.Name = "bank"
|
bank.Name = "bank"
|
||||||
bank.Size = EquipmentSize.Pistol
|
bank.Size = EquipmentSize.Pistol
|
||||||
bank.AmmoTypes += armor_canister
|
bank.AmmoTypes += armor_canister
|
||||||
|
bank.ProjectileTypes += no_projectile
|
||||||
bank.FireModes += new FireModeDefinition
|
bank.FireModes += new FireModeDefinition
|
||||||
bank.FireModes.head.AmmoTypeIndices += 0
|
bank.FireModes.head.AmmoTypeIndices += 0
|
||||||
bank.FireModes.head.AmmoSlotIndex = 0
|
bank.FireModes.head.AmmoSlotIndex = 0
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,8 @@ package net.psforever.objects.ballistics
|
||||||
* An `Enumeration` of all the projectile types in the game, paired with their object id as the `Value`.
|
* An `Enumeration` of all the projectile types in the game, paired with their object id as the `Value`.
|
||||||
*/
|
*/
|
||||||
object Projectiles extends Enumeration {
|
object Projectiles extends Enumeration {
|
||||||
|
final val no_projectile = Value(0)
|
||||||
|
|
||||||
final val bullet_105mm_projectile = Value(1)
|
final val bullet_105mm_projectile = Value(1)
|
||||||
final val bullet_12mm_projectile = Value(4)
|
final val bullet_12mm_projectile = Value(4)
|
||||||
final val bullet_12mm_projectileb = Value(5)
|
final val bullet_12mm_projectileb = Value(5)
|
||||||
|
|
|
||||||
|
|
@ -4325,17 +4325,14 @@ class WorldSessionActor extends Actor with MDCContextAware {
|
||||||
log.trace("ChangeFireState_Start: " + msg)
|
log.trace("ChangeFireState_Start: " + msg)
|
||||||
if(shooting.isEmpty) {
|
if(shooting.isEmpty) {
|
||||||
FindEquipment match {
|
FindEquipment match {
|
||||||
//special case - suppress the decimator's alternate fire mode
|
|
||||||
case Some(tool : Tool)
|
|
||||||
if tool.Projectile == GlobalDefinitions.phoenix_missile_guided_projectile &&
|
|
||||||
(tool.Magazine > 0 || prefire.contains(item_guid)) =>
|
|
||||||
prefire = None
|
|
||||||
shooting = Some(item_guid)
|
|
||||||
case Some(tool : Tool) =>
|
case Some(tool : Tool) =>
|
||||||
if(tool.Magazine > 0 || prefire.contains(item_guid)) {
|
if(tool.Magazine > 0 || prefire.contains(item_guid)) {
|
||||||
prefire = None
|
prefire = None
|
||||||
shooting = Some(item_guid)
|
shooting = Some(item_guid)
|
||||||
avatarService ! AvatarServiceMessage(continent.Id, AvatarAction.ChangeFireState_Start(player.GUID, item_guid))
|
//special case - suppress the decimator's alternate fire mode, by projectile
|
||||||
|
if(tool.Projectile != GlobalDefinitions.phoenix_missile_guided_projectile) {
|
||||||
|
avatarService ! AvatarServiceMessage(continent.Id, AvatarAction.ChangeFireState_Start(player.GUID, item_guid))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
log.warn(s"ChangeFireState_Start: ${tool.Definition.Name} magazine is empty before trying to shoot bullet")
|
log.warn(s"ChangeFireState_Start: ${tool.Definition.Name} magazine is empty before trying to shoot bullet")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue