Loaded sounds are properly freed, ObjectProperty optimization, expanded skill effects (rangedweapon accuracy, welding efficiency, electrical shocks), armored wearables + ballistic vest & helmet

This commit is contained in:
Regalis
2015-09-28 19:48:31 +03:00
parent 97c3ac1412
commit cc16bb3ad7
34 changed files with 411 additions and 183 deletions

View File

@@ -104,13 +104,21 @@ namespace Subsurface.Items.Components
if (character == null) return false;
if (!character.GetInputState(InputType.SecondaryHeld)) return false;
if (DoesUseFail(character)) return false;
//if (DoesUseFail(character)) return false;
isActive = true;
Vector2 targetPosition = item.body.SimPosition;
//targetPosition = targetPosition.X, -targetPosition.Y);
float degreeOfSuccess = DegreeOfSuccess(character);
if (Rand.Range(0.0f, 1.0f) > degreeOfSuccess * degreeOfSuccess)
{
ApplyStatusEffects(ActionType.OnFailure, 1.0f, character);
return false;
}
targetPosition += new Vector2(
(float)Math.Cos(item.body.Rotation),
(float)Math.Sin(item.body.Rotation)) * range * item.body.Dir;
@@ -118,6 +126,7 @@ namespace Subsurface.Items.Components
List<Body> ignoredBodies = new List<Body>();
foreach (Limb limb in character.AnimController.Limbs)
{
if (Rand.Range(0.0f, 1.0f) > degreeOfSuccess) continue;
ignoredBodies.Add(limb.body.FarseerBody);
}