Browse Source

Fixed breaking /speed command

Have to force SetSpeed to default the new speed set by client
Image 4 years ago
parent
commit
69cdfe945f

+ 1 - 1
EQ2/source/WorldServer/Commands/Commands.cpp

@@ -7197,7 +7197,7 @@ void Commands::Command_Speed(Client* client, Seperator* sep) {
 		float new_speed = atof(sep->arg[0]);
 		if (new_speed > 0.0f)
 		{
-			client->GetPlayer()->SetSpeed(new_speed);
+			client->GetPlayer()->SetSpeed(new_speed, true);
 			client->GetPlayer()->SetCharSheetChanged(true);
 			database.insertCharacterProperty(client, CHAR_PROPERTY_SPEED, sep->arg[0]);
 			client->Message(CHANNEL_STATUS, "Setting speed to %.2f.", new_speed);

+ 1 - 1
EQ2/source/WorldServer/Entity.h

@@ -743,7 +743,7 @@ public:
 	float GetSpeed();
 	float GetAirSpeed();
 	float GetBaseSpeed() { return base_speed; }
-	void SetSpeed(float val) { if (base_speed == 0.0f && val > 0.0f) base_speed = val;  speed = val; }
+void SetSpeed(float val, bool override_ = false) { if ((base_speed == 0.0f && val > 0.0f) || override_) base_speed = val;  speed = val; }
 	void SetSpeedMultiplier(float val) { speed_multiplier = val; }
 
 	void SetThreatTransfer(ThreatTransfer* transfer) { m_threatTransfer = transfer; }

+ 1 - 1
EQ2/source/WorldServer/WorldDatabase.cpp

@@ -1658,7 +1658,7 @@ bool WorldDatabase::loadCharacterProperties(Client* client) {
 		if (!stricmp(prop_name, CHAR_PROPERTY_SPEED))
 		{
 			float new_speed = atof(prop_value);
-			client->GetPlayer()->SetSpeed(new_speed);
+			client->GetPlayer()->SetSpeed(new_speed,true);
 			client->GetPlayer()->SetCharSheetChanged(true);
 		}
 		else if (!stricmp(prop_name, CHAR_PROPERTY_FLYMODE))