Scooters can't be used when stunned, limb damage sound position fix, longer view distance when outside
This commit is contained in:
@@ -89,7 +89,7 @@
|
|||||||
<StatusEffect type="OnWearing" target="Contained,Character" Oxygen="30.0" Condition="-0.5">
|
<StatusEffect type="OnWearing" target="Contained,Character" Oxygen="30.0" Condition="-0.5">
|
||||||
<RequiredItem type="Contained" name="Oxygen Tank"/>
|
<RequiredItem type="Contained" name="Oxygen Tank"/>
|
||||||
</StatusEffect>
|
</StatusEffect>
|
||||||
<StatusEffect type="OnWearing" target="Character" Oxygen="-15.0"/>
|
<StatusEffect type="OnWearing" target="Character" Oxygen="-11.0"/>
|
||||||
</Wearable>
|
</Wearable>
|
||||||
|
|
||||||
<ItemContainer capacity="1" hideitems="true">
|
<ItemContainer capacity="1" hideitems="true">
|
||||||
|
|||||||
@@ -34,6 +34,8 @@
|
|||||||
<fabricableitem name="RegEx Find Component" requireditems="Steel Bar, FPGA Circuit" requiredtime="10"/>
|
<fabricableitem name="RegEx Find Component" requireditems="Steel Bar, FPGA Circuit" requiredtime="10"/>
|
||||||
<fabricableitem name="Wifi Component" requireditems="Steel Bar, FPGA Circuit" requiredtime="10"/>
|
<fabricableitem name="Wifi Component" requireditems="Steel Bar, FPGA Circuit" requiredtime="10"/>
|
||||||
|
|
||||||
|
<fabricableitem name="Underwater Scooter" requireditems="Steel Bar, Polycarbonate Bar, Polycarbonate Bar, FPGA Circuit" requiredtime="30"/>
|
||||||
|
|
||||||
<fabricableitem name="Fulgurium Battery Cell" requireditems="Steel Bar, Fulgurium Bar, FPGA Circuit" requiredtime="10"/>
|
<fabricableitem name="Fulgurium Battery Cell" requireditems="Steel Bar, Fulgurium Bar, FPGA Circuit" requiredtime="10"/>
|
||||||
|
|
||||||
<fabricableitem name ="Incendium Grenade" requireditems="Stun Grenade, Incendium Bar" requiredtime="20"/>
|
<fabricableitem name ="Incendium Grenade" requireditems="Stun Grenade, Incendium Bar" requiredtime="20"/>
|
||||||
|
|||||||
@@ -378,7 +378,8 @@ namespace Barotrauma
|
|||||||
|
|
||||||
if (damageTarget is Character && dist<limb.attack.Range*0.5f)
|
if (damageTarget is Character && dist<limb.attack.Range*0.5f)
|
||||||
{
|
{
|
||||||
limb.attack.DoDamage(Character, damageTarget, limb.WorldPosition, deltaTime, false);
|
limb.attack.DoDamage(Character, damageTarget, limb.WorldPosition, deltaTime, (limb.soundTimer <= 0.0f));
|
||||||
|
limb.soundTimer = Limb.SoundInterval;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -560,7 +560,8 @@ namespace Barotrauma
|
|||||||
{
|
{
|
||||||
if (newHull == null && currentHull.Submarine != null)
|
if (newHull == null && currentHull.Submarine != null)
|
||||||
{
|
{
|
||||||
SetPosition(refLimb.SimPosition + ConvertUnits.ToSimUnits(currentHull.Submarine.Position));
|
Vector2 ragdollSpeed = refLimb.LinearVelocity == Vector2.Zero ? Vector2.Zero : Vector2.Normalize(refLimb.LinearVelocity);
|
||||||
|
SetPosition(refLimb.SimPosition + ragdollSpeed + ConvertUnits.ToSimUnits(currentHull.Submarine.Position));
|
||||||
character.CursorPosition += currentHull.Submarine.Position;
|
character.CursorPosition += currentHull.Submarine.Position;
|
||||||
}
|
}
|
||||||
else if (currentHull == null && newHull != null && newHull.Submarine != null)
|
else if (currentHull == null && newHull != null && newHull.Submarine != null)
|
||||||
|
|||||||
@@ -799,7 +799,7 @@ namespace Barotrauma
|
|||||||
|
|
||||||
if (moveCam)
|
if (moveCam)
|
||||||
{
|
{
|
||||||
cam.OffsetAmount = MathHelper.Lerp(cam.OffsetAmount, 250.0f, 0.05f);
|
cam.OffsetAmount = MathHelper.Lerp(cam.OffsetAmount, Submarine == null ? 400.0f : 250.0f, 0.05f);
|
||||||
}
|
}
|
||||||
|
|
||||||
cursorPosition = cam.ScreenToWorld(PlayerInput.MousePosition);
|
cursorPosition = cam.ScreenToWorld(PlayerInput.MousePosition);
|
||||||
@@ -807,7 +807,7 @@ namespace Barotrauma
|
|||||||
|
|
||||||
Vector2 mouseSimPos = ConvertUnits.ToSimUnits(cursorPosition);
|
Vector2 mouseSimPos = ConvertUnits.ToSimUnits(cursorPosition);
|
||||||
|
|
||||||
if (Vector2.Distance(AnimController.Limbs[0].SimPosition, mouseSimPos)>1.0f)
|
if (Lights.LightManager.ViewTarget == this && Vector2.Distance(AnimController.Limbs[0].SimPosition, mouseSimPos) > 1.0f)
|
||||||
{
|
{
|
||||||
Body body = Submarine.PickBody(AnimController.Limbs[0].SimPosition, mouseSimPos);
|
Body body = Submarine.PickBody(AnimController.Limbs[0].SimPosition, mouseSimPos);
|
||||||
Structure structure = null;
|
Structure structure = null;
|
||||||
@@ -1134,7 +1134,7 @@ namespace Barotrauma
|
|||||||
AttackResult attackResult = closestLimb.AddDamage(simPosition, damageType, amount, bleedingAmount, playSound);
|
AttackResult attackResult = closestLimb.AddDamage(simPosition, damageType, amount, bleedingAmount, playSound);
|
||||||
|
|
||||||
AddDamage(damageType == DamageType.Burn ? CauseOfDeath.Burn : causeOfDeath, attackResult.Damage, null);
|
AddDamage(damageType == DamageType.Burn ? CauseOfDeath.Burn : causeOfDeath, attackResult.Damage, null);
|
||||||
|
|
||||||
//health -= attackResult.Damage;
|
//health -= attackResult.Damage;
|
||||||
//if (health <= 0.0f && damageType == DamageType.Burn) Kill(CauseOfDeath.Burn);
|
//if (health <= 0.0f && damageType == DamageType.Burn) Kill(CauseOfDeath.Burn);
|
||||||
if (DoesBleed)
|
if (DoesBleed)
|
||||||
|
|||||||
@@ -315,14 +315,14 @@ namespace Barotrauma
|
|||||||
body.ApplyLinearImpulse((deltaPos - vel * 0.5f) * body.Mass, pullPos);
|
body.ApplyLinearImpulse((deltaPos - vel * 0.5f) * body.Mass, pullPos);
|
||||||
}
|
}
|
||||||
|
|
||||||
public AttackResult AddDamage(Vector2 simPosition, DamageType damageType, float amount, float bleedingAmount, bool playSound)
|
public AttackResult AddDamage(Vector2 position, DamageType damageType, float amount, float bleedingAmount, bool playSound)
|
||||||
{
|
{
|
||||||
DamageSoundType damageSoundType = (damageType == DamageType.Blunt) ? DamageSoundType.LimbBlunt : DamageSoundType.LimbSlash;
|
DamageSoundType damageSoundType = (damageType == DamageType.Blunt) ? DamageSoundType.LimbBlunt : DamageSoundType.LimbSlash;
|
||||||
|
|
||||||
bool hitArmor = false;
|
bool hitArmor = false;
|
||||||
float totalArmorValue = 0.0f;
|
float totalArmorValue = 0.0f;
|
||||||
|
|
||||||
if (armorValue>0.0f && SectorHit(armorSector, simPosition))
|
if (armorValue>0.0f && SectorHit(armorSector, position))
|
||||||
{
|
{
|
||||||
hitArmor = true;
|
hitArmor = true;
|
||||||
totalArmorValue += armorValue;
|
totalArmorValue += armorValue;
|
||||||
@@ -330,7 +330,7 @@ namespace Barotrauma
|
|||||||
|
|
||||||
if (wearingItem!=null &&
|
if (wearingItem!=null &&
|
||||||
wearingItem.ArmorValue>0.0f &&
|
wearingItem.ArmorValue>0.0f &&
|
||||||
SectorHit(wearingItem.ArmorSectorLimits, simPosition))
|
SectorHit(wearingItem.ArmorSectorLimits, position))
|
||||||
{
|
{
|
||||||
hitArmor = true;
|
hitArmor = true;
|
||||||
totalArmorValue += wearingItem.ArmorValue;
|
totalArmorValue += wearingItem.ArmorValue;
|
||||||
@@ -347,7 +347,7 @@ namespace Barotrauma
|
|||||||
|
|
||||||
if (playSound)
|
if (playSound)
|
||||||
{
|
{
|
||||||
SoundPlayer.PlayDamageSound(damageSoundType, amount, ConvertUnits.ToDisplayUnits(simPosition));
|
SoundPlayer.PlayDamageSound(damageSoundType, amount, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Bleeding += bleedingAmount;
|
//Bleeding += bleedingAmount;
|
||||||
@@ -357,7 +357,7 @@ namespace Barotrauma
|
|||||||
|
|
||||||
for (int i = 0; i < bloodAmount; i++)
|
for (int i = 0; i < bloodAmount; i++)
|
||||||
{
|
{
|
||||||
Vector2 particleVel = SimPosition - simPosition;
|
Vector2 particleVel = SimPosition - position;
|
||||||
if (particleVel != Vector2.Zero) particleVel = Vector2.Normalize(particleVel);
|
if (particleVel != Vector2.Zero) particleVel = Vector2.Normalize(particleVel);
|
||||||
|
|
||||||
GameMain.ParticleManager.CreateParticle("blood",
|
GameMain.ParticleManager.CreateParticle("blood",
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ namespace Barotrauma.Items.Components
|
|||||||
public override bool Use(float deltaTime, Character character = null)
|
public override bool Use(float deltaTime, Character character = null)
|
||||||
{
|
{
|
||||||
if (character == null) return false;
|
if (character == null) return false;
|
||||||
if (!character.IsKeyDown(InputType.Aim)) return false;
|
if (!character.IsKeyDown(InputType.Aim) || character.Stun>0.0f) return false;
|
||||||
|
|
||||||
if (item.InWater)
|
if (item.InWater)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1286,6 +1286,11 @@ namespace Barotrauma.Networking
|
|||||||
targetClient = ConnectedClients.Find(c =>
|
targetClient = ConnectedClients.Find(c =>
|
||||||
words[0] == "/" + c.name.ToLower() ||
|
words[0] == "/" + c.name.ToLower() ||
|
||||||
c.Character != null && words[0] == "/" + c.Character.Name.ToLower());
|
c.Character != null && words[0] == "/" + c.Character.Name.ToLower());
|
||||||
|
|
||||||
|
if (targetClient==null)
|
||||||
|
{
|
||||||
|
AddChatMessage("Player ''"+words[0].Replace("/", "")+"'' not found!", ChatMessageType.Admin);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
message = words[0] + " " + string.Join(" ", words, 2, words.Length - 2);
|
message = words[0] + " " + string.Join(" ", words, 2, words.Length - 2);
|
||||||
|
|||||||
@@ -6,7 +6,10 @@ v0.3.2.0
|
|||||||
- more reliable door syncing
|
- more reliable door syncing
|
||||||
- deattaching items takes some time
|
- deattaching items takes some time
|
||||||
- welders and cutters do damage to players/enemies again
|
- welders and cutters do damage to players/enemies again
|
||||||
|
- molochs can do damage to players
|
||||||
|
- server admins have the option to send messages only to dead players and spectators (/d [message]) or
|
||||||
|
to one specific player (/name [message])
|
||||||
|
- a new enemy
|
||||||
|
|
||||||
---------------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------------
|
||||||
v0.3.1.5
|
v0.3.1.5
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user