Scooters can't be used when stunned, limb damage sound position fix, longer view distance when outside

This commit is contained in:
Regalis
2016-02-15 17:50:17 +02:00
parent 35e2d441fc
commit a57f1feb63
10 changed files with 25 additions and 13 deletions
@@ -89,7 +89,7 @@
<StatusEffect type="OnWearing" target="Contained,Character" Oxygen="30.0" Condition="-0.5">
<RequiredItem type="Contained" name="Oxygen Tank"/>
</StatusEffect>
<StatusEffect type="OnWearing" target="Character" Oxygen="-15.0"/>
<StatusEffect type="OnWearing" target="Character" Oxygen="-11.0"/>
</Wearable>
<ItemContainer capacity="1" hideitems="true">
@@ -34,6 +34,8 @@
<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="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 ="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)
{
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)
{
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;
}
else if (currentHull == null && newHull != null && newHull.Submarine != null)
+3 -3
View File
@@ -799,7 +799,7 @@ namespace Barotrauma
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);
@@ -807,7 +807,7 @@ namespace Barotrauma
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);
Structure structure = null;
@@ -1134,7 +1134,7 @@ namespace Barotrauma
AttackResult attackResult = closestLimb.AddDamage(simPosition, damageType, amount, bleedingAmount, playSound);
AddDamage(damageType == DamageType.Burn ? CauseOfDeath.Burn : causeOfDeath, attackResult.Damage, null);
//health -= attackResult.Damage;
//if (health <= 0.0f && damageType == DamageType.Burn) Kill(CauseOfDeath.Burn);
if (DoesBleed)
+5 -5
View File
@@ -315,14 +315,14 @@ namespace Barotrauma
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;
bool hitArmor = false;
float totalArmorValue = 0.0f;
if (armorValue>0.0f && SectorHit(armorSector, simPosition))
if (armorValue>0.0f && SectorHit(armorSector, position))
{
hitArmor = true;
totalArmorValue += armorValue;
@@ -330,7 +330,7 @@ namespace Barotrauma
if (wearingItem!=null &&
wearingItem.ArmorValue>0.0f &&
SectorHit(wearingItem.ArmorSectorLimits, simPosition))
SectorHit(wearingItem.ArmorSectorLimits, position))
{
hitArmor = true;
totalArmorValue += wearingItem.ArmorValue;
@@ -347,7 +347,7 @@ namespace Barotrauma
if (playSound)
{
SoundPlayer.PlayDamageSound(damageSoundType, amount, ConvertUnits.ToDisplayUnits(simPosition));
SoundPlayer.PlayDamageSound(damageSoundType, amount, position);
}
//Bleeding += bleedingAmount;
@@ -357,7 +357,7 @@ namespace Barotrauma
for (int i = 0; i < bloodAmount; i++)
{
Vector2 particleVel = SimPosition - simPosition;
Vector2 particleVel = SimPosition - position;
if (particleVel != Vector2.Zero) particleVel = Vector2.Normalize(particleVel);
GameMain.ParticleManager.CreateParticle("blood",
@@ -51,7 +51,7 @@ namespace Barotrauma.Items.Components
public override bool Use(float deltaTime, Character character = null)
{
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)
{
@@ -1286,6 +1286,11 @@ namespace Barotrauma.Networking
targetClient = ConnectedClients.Find(c =>
words[0] == "/" + c.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);
+4 -1
View File
@@ -6,7 +6,10 @@ v0.3.2.0
- more reliable door syncing
- deattaching items takes some time
- 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
Binary file not shown.