summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/GameTick.cpp83
1 files changed, 44 insertions, 39 deletions
diff --git a/src/GameTick.cpp b/src/GameTick.cpp
index 3c44bdb..64d8614 100644
--- a/src/GameTick.cpp
+++ b/src/GameTick.cpp
@@ -753,6 +753,49 @@ void renderBloodSprite(Game* game, size_t i)
 		{}, person.bleeding * 3.0f);
 }
 
+void recoil(Game* game, size_t i)
+{
+	auto& person = game->person[i];
+	switch (person.type) {
+	case playertype:
+		switch (person.whichgun) {
+		case shotgun:
+			person.recoil -= multiplier * 4;
+			break;
+		case sniperrifle:
+			person.recoil -= multiplier * 2;
+			break;
+		case handgun1:
+		case handgun2:
+			person.recoil -= multiplier * 5;
+			break;
+		case assaultrifle:
+			person.recoil -= multiplier * 10;
+			break;
+		}
+		if (!person.aiming || visions)
+			game->zoom = false;
+		break;
+	case eviltype:
+		switch (person.whichgun) {
+		case shotgun:
+		case sniperrifle:
+			person.recoil -= multiplier * 1;
+			break;
+		case handgun1:
+		case handgun2:
+			person.recoil -= multiplier * 2;
+			break;
+		case assaultrifle:
+			person.recoil -= multiplier * 10;
+			break;
+		}
+		break;
+	}
+	if (person.recoil < 0)
+		person.recoil = 0;
+}
+
 void renderLaser(Game* game)
 {
 	auto& player = game->person[0];
@@ -969,45 +1012,7 @@ void Game::Tick()
 
 		renderBloodSprite(this, i);
 		if (!person[i].skeleton.free) {
-			// Gun
-			switch (person[i].type) {
-			case playertype:
-				switch (person[i].whichgun) {
-				case shotgun:
-					person[i].recoil -= multiplier * 4;
-					break;
-				case sniperrifle:
-					person[i].recoil -= multiplier * 2;
-					break;
-				case handgun1:
-				case handgun2:
-					person[i].recoil -= multiplier * 5;
-					break;
-				case assaultrifle:
-					person[i].recoil-=multiplier * 10;
-					break;
-				}
-				if (!person[0].aiming || visions)
-					this->zoom = false;
-				break;
-			case eviltype:
-				switch (person[i].whichgun) {
-				case shotgun:
-				case sniperrifle:
-					person[i].recoil -= multiplier * 1;
-					break;
-				case handgun1:
-				case handgun2:
-					person[i].recoil -= multiplier * 2;
-					break;
-				case assaultrifle:
-					person[i].recoil-=multiplier * 10;
-					break;
-				}
-				break;
-			}
-			if (person[i].recoil < 0)
-				person[i].recoil = 0;
+			recoil(this, i);
 
 			//Zombie eat
 			if(i > 0