Merge pull request #158 from teamfisk/SniperSprintBranch
Looks good// William
This commit is contained in:
@@ -30,6 +30,7 @@ public:
|
|||||||
void AssaultDashCheck(double dt, bool isJumping, double assaultDashCoolDownMaxTimer, double& assaultDashCoolDownTimer, EntityID playerID);
|
void AssaultDashCheck(double dt, bool isJumping, double assaultDashCoolDownMaxTimer, double& assaultDashCoolDownTimer, EntityID playerID);
|
||||||
virtual bool AssaultDashDoubleTapped() const { return m_AssaultDashDoubleTapped; }
|
virtual bool AssaultDashDoubleTapped() const { return m_AssaultDashDoubleTapped; }
|
||||||
virtual bool PlayerIsDashing() const { return m_PlayerIsDashing; }
|
virtual bool PlayerIsDashing() const { return m_PlayerIsDashing; }
|
||||||
|
bool SpecialAbilityKeyDown() const { return m_SpecialAbilityKeyDown; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
const int m_PlayerID;
|
const int m_PlayerID;
|
||||||
@@ -145,9 +146,9 @@ bool FirstPersonInputController<EventContext>::OnCommand(const Events::InputComm
|
|||||||
if (m_NumberOfMovementKeysDown == 0) {
|
if (m_NumberOfMovementKeysDown == 0) {
|
||||||
m_MovementKeyDown = false;
|
m_MovementKeyDown = false;
|
||||||
}
|
}
|
||||||
//you have just released the key, store what key it was and reset the doubletap-sensitivity-timer
|
//you have just released the key, store what key it was and reset the doubletap-sensitivity-timer
|
||||||
m_AssaultDashTapDirection = m_CurrentDirectionVector;
|
m_AssaultDashTapDirection = m_CurrentDirectionVector;
|
||||||
m_AssaultDashDoubleTapDeltaTime = 0.f;
|
m_AssaultDashDoubleTapDeltaTime = 0.f;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -161,18 +162,11 @@ bool FirstPersonInputController<EventContext>::OnCommand(const Events::InputComm
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (e.Command == "SpecialAbility") {
|
if (e.Command == "SpecialAbility") {
|
||||||
if (e.Value > 0) {
|
m_SpecialAbilityKeyDown = e.Value > 0;
|
||||||
m_SpecialAbilityKeyDown = true;
|
|
||||||
} else {
|
|
||||||
m_SpecialAbilityKeyDown = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (m_SpecialAbilityKeyDown && m_MovementKeyDown) {
|
|
||||||
m_ShiftDashing = true;
|
|
||||||
} else {
|
|
||||||
m_ShiftDashing = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_ShiftDashing = m_SpecialAbilityKeyDown && m_MovementKeyDown;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
<SprintAbility xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="SprintAbility.xsd">
|
<SprintAbility xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="SprintAbility.xsd">
|
||||||
<CoolDownMaxTimer>2.0</CoolDownMaxTimer>
|
<StrengthOfEffect>2.0</StrengthOfEffect>
|
||||||
</SprintAbility>
|
</SprintAbility>
|
||||||
@@ -9,8 +9,8 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:all>
|
<xs:all>
|
||||||
<xs:element name="CoolDownMaxTimer" type="t:double" minOccurs="0">
|
<xs:element name="StrengthOfEffect" type="t:double" minOccurs="0">
|
||||||
<xs:annotation><xs:documentation>This is the cooldown on sprint</xs:documentation></xs:annotation>
|
<xs:annotation><xs:documentation>This is the strength of the sprint effect</xs:documentation></xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:all>
|
</xs:all>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
|
|||||||
@@ -62,7 +62,14 @@ void PlayerMovementSystem::updateMovementControllers(double dt)
|
|||||||
playerMovementSpeed *= (double)playerBoostAssaultEntity["BoostAssault"]["StrengthOfEffect"];
|
playerMovementSpeed *= (double)playerBoostAssaultEntity["BoostAssault"]["StrengthOfEffect"];
|
||||||
playerCrouchSpeed *= (double)playerBoostAssaultEntity["BoostAssault"]["StrengthOfEffect"];
|
playerCrouchSpeed *= (double)playerBoostAssaultEntity["BoostAssault"]["StrengthOfEffect"];
|
||||||
}
|
}
|
||||||
|
bool sniperSprinting = false;
|
||||||
|
if (player.HasComponent("SprintAbility")) {
|
||||||
|
if (controller->SpecialAbilityKeyDown()) {
|
||||||
|
playerMovementSpeed *= (double)player["SprintAbility"]["StrengthOfEffect"];
|
||||||
|
playerCrouchSpeed *= (double)player["SprintAbility"]["StrengthOfEffect"];
|
||||||
|
sniperSprinting = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (player.HasComponent("Physics")) {
|
if (player.HasComponent("Physics")) {
|
||||||
ComponentWrapper cPhysics = player["Physics"];
|
ComponentWrapper cPhysics = player["Physics"];
|
||||||
@@ -118,6 +125,9 @@ void PlayerMovementSystem::updateMovementControllers(double dt)
|
|||||||
if (playerBoostAssaultEntity.Valid()) {
|
if (playerBoostAssaultEntity.Valid()) {
|
||||||
accelerationSpeed *= (double)playerBoostAssaultEntity["BoostAssault"]["StrengthOfEffect"];
|
accelerationSpeed *= (double)playerBoostAssaultEntity["BoostAssault"]["StrengthOfEffect"];
|
||||||
}
|
}
|
||||||
|
if (sniperSprinting) {
|
||||||
|
accelerationSpeed *= (double)player["SprintAbility"]["StrengthOfEffect"];
|
||||||
|
}
|
||||||
velocity += accelerationSpeed * wishDirection;
|
velocity += accelerationSpeed * wishDirection;
|
||||||
ImGui::Text("velocity: (%f, %f, %f) |%f|", velocity.x, velocity.y, velocity.z, glm::length(velocity));
|
ImGui::Text("velocity: (%f, %f, %f) |%f|", velocity.x, velocity.y, velocity.z, glm::length(velocity));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user