From 3a5b909419962f3a28a200fc58bea676b2507520 Mon Sep 17 00:00:00 2001 From: George Pittarelli Date: Thu, 9 Mar 2017 22:06:42 -0800 Subject: [PATCH 1/2] Fix possibly-null type errors --- src/Data/SendPropDefinition.ts | 4 ++-- src/PacketHandler/PacketEntities.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Data/SendPropDefinition.ts b/src/Data/SendPropDefinition.ts index f8d6d5c..5cddce5 100644 --- a/src/Data/SendPropDefinition.ts +++ b/src/Data/SendPropDefinition.ts @@ -8,7 +8,7 @@ export class SendPropDefinition { highValue: number; bitCount: number; table: SendTable|null; - numElements: number|null; + numElements: number; arrayProperty: SendPropDefinition|null; ownerTableName: string; @@ -21,7 +21,7 @@ export class SendPropDefinition { this.highValue = 0; this.bitCount = 0; this.table = null; - this.numElements = null; + this.numElements = 0; this.arrayProperty = null; this.ownerTableName = ownerTableName; } diff --git a/src/PacketHandler/PacketEntities.ts b/src/PacketHandler/PacketEntities.ts index fcbea2e..05c4e11 100644 --- a/src/PacketHandler/PacketEntities.ts +++ b/src/PacketHandler/PacketEntities.ts @@ -94,7 +94,7 @@ function handleEntity(entity: PacketEntity, match: Match) { } } if (prop.definition.ownerTableName === 'm_iAmmo') { - if (prop.value > 0) { + if (prop.value && prop.value > 0) { player.ammo[parseInt(prop.definition.name, 10)] = prop.value; } } From 10650528f504bfd6b9ffd3b0cc2951a374ad84f3 Mon Sep 17 00:00:00 2001 From: George Pittarelli Date: Fri, 10 Mar 2017 10:28:38 -0800 Subject: [PATCH 2/2] Make null check more specific, not just falsy --- src/PacketHandler/PacketEntities.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PacketHandler/PacketEntities.ts b/src/PacketHandler/PacketEntities.ts index 05c4e11..ed2502f 100644 --- a/src/PacketHandler/PacketEntities.ts +++ b/src/PacketHandler/PacketEntities.ts @@ -94,7 +94,7 @@ function handleEntity(entity: PacketEntity, match: Match) { } } if (prop.definition.ownerTableName === 'm_iAmmo') { - if (prop.value && prop.value > 0) { + if (prop.value !== null && prop.value > 0) { player.ammo[parseInt(prop.definition.name, 10)] = prop.value; } }