The following are the two versions, i.e. decompiled from the game vs. the original source snippet, side by side for comparison:
750: (instance hitNineShot of Script ; (instance hitNineShot of Script
751: (method (changeState newState) ; (method (changestate newstate)
752: (switchto (= state newState) ; (switchto (= state newState)
753: ( ; (
754: (theGame handsOff:) ; (theGame handsOff
755: (qualProd dispose:, delete:) ; (qualProd dispose:,delete:)
756: (++ nineShotCntr) ; (messager say: ALL ALL QUAL-HIT-9-C ALL self 320)
757: (if (== nineShotCntr 9) ; )
758: (qualList dispose:) ; (
759: (Bset fQualifiedSniper) ; (++ nineShotCntr)
760: (ego awardMedal: 256) ; (qualList dispose:)
761: (= local43 1) ; (target1 dispose:)
762: (curRoom newRoom: 320) ; (messager say: ALL ALL QUAL-RELOAD-9-C ALL self 320)
763: else ; )
764: (messager say: 0 0 88 0 self 320) ; (
765: ) ; (if (== nineShotCntr 9)
766: ) ; (Bset fQualifiedSniper)
767: ( ; (curroom newroom: ANGELES-TABLES)
768: (messager say: 0 0 89 0 self 320) ; else
769: ) ; (targetl view: 3329, setloop: 2, setcel: 0, posn: 495 370,
770: ( ; setPri: 470, init: ((snipeplane casts?) at: 0) ftrInitializer)
771: (= qualList (List new:)) ; (= qualList (List new:))
772: (qualProd setReal: qualProd 6) ; (qualProd setReal: qualprod 6)
773: (theGame hands0n:) ; (theGame hands0n:)
774: (self dispose:) ; (self dispose:)
775: ) ; )
776: ) ; )
777: ) ; )
778: ) ; )
; )
So the first 6 or so lines are the same, the last 8 or so lines are the same. It's the 15 lines in the middle that are a bit different. The same two (messager say:) calls appear in the same cases in each version. And in both we have the nineShortCntr being incremented and compared to 9.
One bit missing from the original source snippet is the (ego awardMedal: 256), which seems like a fairly important message.