From c91f592638f0707cac8a8966b0c79149abb17fa4 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Wed, 24 Nov 2010 20:01:30 +0100 Subject: [PATCH] better handle >100% accuracy --- qcsrc/client/Main.qc | 2 ++ qcsrc/server/accuracy.qc | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/qcsrc/client/Main.qc b/qcsrc/client/Main.qc index 0bcb9c46d..ef220acef 100644 --- a/qcsrc/client/Main.qc +++ b/qcsrc/client/Main.qc @@ -917,6 +917,8 @@ void Ent_ReadAccuracy(void) b = ReadByte(); if(b == 0) weapon_accuracy[w] = -1; + else if(b == 255) + weapon_accuracy[w] = 1.0; // no better error handling yet, sorry else weapon_accuracy[w] = (b - 1.0) / 100.0; } diff --git a/qcsrc/server/accuracy.qc b/qcsrc/server/accuracy.qc index 783c0aceb..335683c73 100644 --- a/qcsrc/server/accuracy.qc +++ b/qcsrc/server/accuracy.qc @@ -7,8 +7,10 @@ FTEQCC_YOU_SUCK_THIS_IS_NOT_UNREFERENCED(accuracy_fired); float accuracy_byte(float n, float d) { print(sprintf("accuracy: %d / %d\n", n, d)); - if(d == 0) + if(n <= 0) return 0; + if(n > d) + return 255; return 1 + rint(n * 100.0 / d); } -- 2.39.2