004F: create_thread SNAKEMOD00

:SNAKEMOD00
0001: wait  0 ms
00D6: if  0
0256:   player $PLAYER_CHAR defined
004D: jump_if_false SNAKEMOD00
02A9: set_actor $PLAYER_ACTOR immune_to_nonplayer  1
0223: set_actor $PLAYER_ACTOR health_to  1000
02AB: set_actor $PLAYER_ACTOR immunities  1  1  1  1  1
035F: set_actor $PLAYER_ACTOR armour_to  250
0330: set_player $PLAYER_CHAR infinite_run_to  1 (true)
055D: make_player $PLAYER_CHAR fireproof  1
0629: change_stat  225 (lung capasity) to  1000  ; integer see statdisp.dat
0629: change_stat  22 (stamina) to  1000  ; integer see statdisp.dat
0629: change_stat  230 (cycling skill) to  1000  ; integer see statdisp.dat
0629: change_stat  229 (bike skill) to  1000  ; integer see statdisp.dat
0629: change_stat  223 (flying skill) to  1000  ; integer see statdisp.dat
062A: change_stat  23 (muscle) to  1000.0  ; float
062A: change_stat  21 (fat) to  0.0  ; float
062A: change_stat  160 (driving skill) to  1000.0  ; float
062A: change_stat  69 (Weap skill: pistol) to  1000.0  ; float
062A: change_stat  70 to  1000.0  ; float
062A: change_stat  71 to  1000.0  ; float
062A: change_stat  72 to  1000.0  ; float
062A: change_stat  73 to  1000.0  ; float
062A: change_stat  74 to  1000.0  ; float
062A: change_stat  75 to  1000.0  ; float
062A: change_stat  76 to  1000.0  ; float
062A: change_stat  77 to  1000.0  ; float
062A: change_stat  78 to  1000.0  ; float
062A: change_stat  79 to  1000.0  ; float
0572: set_taxi_boost_jump  1
0A1F:  24 1000.0 ;; health
0629: change_stat  80 () to  2000  ; integer see statdisp.dat
062A: change_stat  165 (energy) to  1000.0  ; float
0653: @0 = stat  64  ; float
0653: @1 = stat  65  ; float
0653: @2 = stat  66  ; float
0653: @3 = stat  68  ; float
00D6: if  23
0023:    900.0 > @0  ;; floating-point values
0023:    900.0 > @1  ;; floating-point values
0023:    900.0 > @2  ;; floating-point values
0023:    900.0 > @3  ;; floating-point values
004D: jump_if_false SNAKEMOD00B
062A: change_stat  64 to  1000.0  ;; respect
062A: change_stat  65 to  1000.0  ;; respect
062A: change_stat  66 to  1000.0  ;; respect
062A: change_stat  68 to  1000.0  ;; respect

:SNAKEMOD00B
0653: @0 = stat  81  ;; gambling
0652: @1 = stat  252 (denis)  ; integer
0652: @2 = stat  253 (miche)  ; integer
0652: @3 = stat  254 (helen)  ; integer
0652: @4 = stat  255 (barba)  ; integer
0652: @5 = stat  256 (katie)  ; integer
0652: @6 = stat  257 (milli)  ; integer
00D6: if  26
0023:    900.0 > @0  ;; floating-point values
001B:    99 > @1  ;; integer values
001B:    99 > @2  ;; integer values
001B:    99 > @3  ;; integer values
001B:    99 > @4  ;; integer values
001B:    99 > @5  ;; integer values
001B:    99 > @6  ;; integer values
004D: jump_if_false SNAKEMOD00C
062A: change_stat  81 (gambling) to  1000.0  ; float
0629: change_stat  252 (progress with denis) to 100  ; integer see statdisp.dat
0629: change_stat  253 (progress with miche) to 100  ; integer see statdisp.dat
0629: change_stat  254 (progress with helen) to 100  ; integer see statdisp.dat
0629: change_stat  255 (progress with barba) to 100  ; integer see statdisp.dat
0629: change_stat  256 (progress with katie) to 100  ; integer see statdisp.dat
0629: change_stat  257 (progress with milli) to 100  ; integer see statdisp.dat

:SNAKEMOD00C
0470: @1 = actor $PLAYER_ACTOR armed_weapon unknown
041A: @2 = actor $PLAYER_ACTOR weapon  @1 ammo
017B: set_actor $PLAYER_ACTOR weapon  @1 ammo_to  32000
00D6: if  0
0449:   actor $PLAYER_ACTOR in_a_car
004D: jump_if_false SNAKEMOD01
0114: set_actor $PLAYER_ACTOR car_weapon  @1 ammo_to  32000

:SNAKEMOD01
00D6: if  0
00DF:   actor $PLAYER_ACTOR driving
004D: jump_if_false SNAKEMOD02
03C0: @0 = actor $PLAYER_ACTOR car
02AC: set_car @0 immunities  1  1  1  1  1
0224: set_car @0 health_to  32000
053F: set_car @0 tires_vulnerable  0
02AA: set_car @0 immune_to_nonplayer  1
020A: set_car @0 door_status_to  2
00D6: if  5
80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type 430
80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type 452
80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type 453
80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type 446
80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type 454
80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type 472
004D: jump_if_false SNAKEMOD01B
00D6: if  4
80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type 493
80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type 473
80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type 484
80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type 595
80DD:   NOT   actor $PLAYER_ACTOR driving_vehicle_type 460
004D: jump_if_false SNAKEMOD01B
01EC: make_car @0 very_heavy  1

:SNAKEMOD01B
00D6: if  21
00E1:   key_pressed  0  6 ;; handbrake
8449:   NOT   actor $PLAYER_ACTOR in_a_car
004D: jump_if_false SNAKEMOD01C
020A: set_car @0 door_status_to  1

:SNAKEMOD01C
00D6: if  0
0241:   player $PLAYER_CHAR in_remote_mode
004D: jump_if_false SNAKEMOD02
0484: @0 = player $PLAYER_CHAR rc_car
02AC: set_car @0 immunities  1  1  1  1  1
02AA: set_car @0 immune_to_nonplayer  1

:SNAKEMOD02
;;coords
00D6: if  0
00DF:   actor $PLAYER_ACTOR driving
004D: jump_if_false SNAKEMOD02B
03C0: @0 = actor $PLAYER_ACTOR car
00AA: store_car @0 position_to @1 @2 @3
0174: @4 = car @0 z_angle
00D6: if  6
00E1:   key_pressed  0  4 ;; weapon 2
00E1:   key_pressed  0  18 ;; horn
80E1:   NOT   key_pressed  0  6 ;; handbrake
80E1:   NOT   key_pressed  0  5 ;; look left
80E1:   NOT   key_pressed  0  7 ;; look right
80E1:   NOT   key_pressed  0  16 ;; gas
80E1:   NOT   key_pressed  0  17 ;; shoot
004D: jump_if_false SNAKEMOD02E
0002: jump SNAKEMOD02C

:SNAKEMOD02B
00A0:  store_actor $PLAYER_ACTOR position_to @1 @2 @3
0172:  @4 = actor $PLAYER_ACTOR z_angle
00D6: if  2
00E1:   key_pressed  0  4 ;; action
00E1:   key_pressed  0  18 ;; crouch
80E1:   NOT   key_pressed  0  6 ;; aim
004D: jump_if_false SNAKEMOD02E

:SNAKEMOD02C
0001: wait  70 ms
00D6: if  0
0038:   $SNAKECOORD ==  0 ;; integer values
004D: jump_if_false SNAKEMOD02D
0004: $SNAKECOORD =  1;; integer values
0002: jump SNAKEMOD02E

:SNAKEMOD02D
0004: $SNAKECOORD =  0;; integer values

:SNAKEMOD02E
00D6: if  0
0038:   $SNAKECOORD ==  1 ;; integer values
004D: jump_if_false SNAKEMOD03
0013:  @1 *=  10.0
0013:  @2 *=  10.0
0013:  @3 *=  10.0
0013:  @4 *=  10.0
0092: @1 = float_to_integer @1  
0092: @2 = float_to_integer @2  
0092: @3 = float_to_integer @3  
0092: @4 = float_to_integer @4  
03F0:  1
0341:  1
03E4:  0
0348:  0
045A:  text_draw_1number  25.0 430.0 "NUMBER" @1
045A:  text_draw_1number  125.0 430.0 "NUMBER" @2
045A:  text_draw_1number  225.0 430.0 "NUMBER" @3
045A:  text_draw_1number  325.0 430.0 "NUMBER" @4

:SNAKEMOD03
00D6: if  3
80DF:   NOT   actor $PLAYER_ACTOR driving
8449:   NOT   actor $PLAYER_ACTOR in_a_car
00E1:   key_pressed  0  19 ;; look behind
00E1:   key_pressed  0  4 ;; action
004D: jump_if_false SNAKEMOD04
0629: change_stat  243 (oysters) to 50  ; integer see statdisp.dat
0629: change_stat  231 (photos) to 50  ; integer see statdisp.dat
0629: change_stat  241 (horseshoes) to 50  ; integer see statdisp.dat

:SNAKEMOD04
;;stat scroller
00D6: if  0
00E1:   key_pressed  0  19 ;; look behind
004D: jump_if_false SNAKEMOD05
0652: @1 = stat  $SMSTAT  ;; integer
0653: @2 = stat  $SMSTAT  ;; float
0092: @2 = float_to_integer @2  
03F0:  1
0341:  1
03E4:  0
0348:  0
045A:  25.0 25.0 "NUMBER" $SMSTAT
045A:  25.0 33.0 "NUMBER" @1
045A:  25.0 41.0 "NUMBER" @2
00D6: if  0
00E1:   key_pressed  0  5 ;; look left
004D: jump_if_false SNAKEMOD04B
000C: $SMSTAT -=  1;; integer values
0001: wait  50 ms

:SNAKEMOD04B
00D6: if  0
00E1:   key_pressed  0  7 ;; look right
004D: jump_if_false SNAKEMOD05
0008: $SMSTAT +=  1 ;; integer values
0001: wait  50 ms
  
:SNAKEMOD05
0002: jump SNAKEMOD00
