Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- :Abuse
- HEX
- 0A00 01 @InitProc
- END
- {
- VAR_1 - Last Time Sync'd (Weed)
- VAR_2 - fWavyness
- VAR_3 - Green-ness
- VAR_4 - Blurryness
- VAR_5 - Last Drug Drop
- VAR_6 - Puke Particle
- VAR_7 - OD Stage
- }
- IF NOT IS_PLAYER_PLAYING player1
- THEN
- CALL @ClearAllDrugLevels 0
- GOTO @Abuse_End
- END
- WRITE_MEMORY 0x8CBA6C 4 0.5 FALSE // revert audio speed to default in case we're not messing with it...
- GET_GAME_TIMER TEMP_1
- 0062: TEMP_1 -= gTimeOverdosed
- IF 0039: gHasOverdosed == 0
- THEN
- 0087: TEMP_1 = gSaveStatDrugExperience
- TEMP_1 /= 5.0
- 0093: TEMP_2 = int_to_float gDrugLevelInSystem
- 0063: TEMP_2 -= TEMP_1
- IF TEMP_2 < 25.0
- THEN
- IF TEMP_2 > 0
- THEN
- 0006: gHasOverdosed = 1
- VAR_7 = 0
- GET_GAME_TIMER gTimeOverdosed
- SHUT_CHAR_UP scplayer TRUE
- DAMAGE_CHAR scplayer 10 FALSE
- REQUEST_ANIMATION "FOOD"
- IF NOT HAS_ANIMATION_LOADED "BLACKMARKET"
- THEN REQUEST_ANIMATION "BLACKMARKET"
- END
- 000A: gNumAnimReferences += 1
- END
- ELSE
- 0006: gHasOverdosed = 1
- VAR_7 = -1 // K/O
- GET_GAME_TIMER gTimeOverdosed
- END
- ELSE
- IF VAR_7 == -1
- THEN
- DO_FADE FADE_OUT 3000
- VAR_7 = -2
- ELSE
- IF VAR_7 == -2
- THEN
- IF NOT GET_FADING_STATUS
- THEN
- SET_CHAR_HEALTH scplayer 0
- 0006: gHasOverdosed = 0
- VAR_7 = 0
- GET_GAME_TIMER gTimeOverdosed
- END
- END
- END
- IF VAR_7 == 0
- THEN
- IF TEMP_1 >= 20000
- THEN
- IF AND
- HAS_ANIMATION_LOADED "FOOD"
- HAS_ANIMATION_LOADED "BLACKMARKET"
- THEN
- GET_GAME_TIMER gTimeOverdosed
- DIM_SCREEN ON -1
- IF IS_CHAR_ON_FOOT scplayer
- THEN
- GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer 0.355 -0.116 -0.048 STORE_TO TEMP_2 TEMP_3 TEMP_4
- CREATE_PARTICLE "PUKE" TEMP_2 TEMP_3 TEMP_4 1 VAR_6
- TASK_PLAY_ANIM_NON_INTERRUPTABLE scplayer "EAT_VOMIT_P" "FOOD" 1004.0 0 0 0 0 -1
- VAR_7 = 1
- ELSE
- VAR_7 = 3
- FOR TEMP_2 = MIN_DRUG TO MAX_DRUG
- CALL @DecDrugLevel 2 TEMP_2 5
- END
- 0006: gHasOverdosed = 0
- END
- END
- END
- ELSE
- IF TEMP_1 >= 2000
- THEN
- IF IS_CHAR_PLAYING_ANIM scplayer "EAT_VOMIT_P"
- THEN
- GET_CHAR_ANIM_CURRENT_TIME scplayer "EAT_VOMIT_P" TEMP_2
- ELSE
- TEMP_2 = 1.0
- END
- IF VAR_7 == 1
- THEN
- IF TEMP_2 >= 0.463
- THEN
- SAY_AMBIENT_SPEECH scplayer 353 TEMP_3
- VAR_7 = 2
- END
- ELSE
- IF VAR_7 == 2
- THEN
- IF TEMP_2 >= 0.52
- THEN
- VAR_7 = 3
- FOR TEMP_2 = MIN_DRUG TO MAX_DRUG
- CALL @DecDrugLevel 2 TEMP_2 5
- END
- MARK_PARTICLE_AS_NO_LONGER_NEEDED VAR_6
- GET_GAME_TIMER gTimeOverdosed
- END
- ELSE
- IF VAR_7 == 3
- THEN
- GET_GAME_TIMER TEMP_1
- 0062: TEMP_1 -= gTimeOverdosed
- END
- IF VAR_7 == 4
- THEN
- REMOVE_ANIMATION "FOOD"
- IF 8019: NOT gNumAnimReferences > 0
- THEN
- REMOVE_ANIMATION "BLACKMARKET"
- END
- CALL @Abuse_SetGameSpeed 1 1.0
- DIM_SCREEN OFF -1
- SHUT_CHAR_UP scplayer FALSE
- 0006: gHasOverdosed = 0
- END
- END
- END
- END
- END
- IF AND
- VAR_7 >= 1
- NOT VAR_7 == 4
- THEN
- 0093: TEMP_2 = int_to_float TEMP_1
- TEMP_2 /= 3000.0
- TEMP_2 *= 0.5
- IF TEMP_2 > 0.5
- THEN TEMP_2 = 0.5
- END
- IF VAR_7 == 3
- THEN
- TEMP_3 = 0.5
- 005B: TEMP_3 += TEMP_2
- ELSE
- TEMP_3 = 1.0
- 0063: TEMP_3 -= TEMP_2
- END
- CALL @Abuse_SetGameSpeed 1 TEMP_3
- TEMP_3 = 255.0
- 006B: TEMP_3 *= TEMP_2
- 0092: TEMP_3 = float_to_int TEMP_3
- IF VAR_7 == 3
- THEN
- 0A8F: TEMP_3 = 128 - TEMP_3
- END
- IF TEMP_3 <= 0
- THEN
- DIM_SCREEN ON 0
- ELSE
- IF TEMP_3 >= 127
- THEN
- DIM_SCREEN ON 127
- ELSE
- DIM_SCREEN ON TEMP_3
- END
- END
- IF VAR_7 == 3
- THEN
- IF TEMP_2 >= 0.5
- THEN
- VAR_7 = 4
- END
- END
- END
- END
- IF 0021: gSmokeBlown > 0.0
- THEN
- GET_CHAR_COORDINATES scplayer TEMP_1 TEMP_2 TEMP_3
- GET_DISTANCE_BETWEEN_COORDS_3D TEMP_1 TEMP_2 TEMP_3 AND gSmokeBlownX gSmokeBlownY gSmokeBlownZ STORE_TO TEMP_4
- IF TEMP_4 > 20.0
- THEN
- 0007: gSmokeBlown = 0
- ELSE
- GET_CHAR_SPEED scplayer TEMP_1
- GET_ACTIVE_INTERIOR TEMP_2
- IF TEMP_2 == 0
- THEN
- TEMP_1 /= 400.0
- 0063: gSmokeBlown -= TEMP_1
- 007F: gSmokeBlown -= frame_delta_time * 0.0008
- ELSE
- TEMP_1 /= 1600.0
- 0063: gSmokeBlown -= TEMP_1
- 007F: gSmokeBlown -= frame_delta_time * 0.0002
- END
- GET_GAME_TIMER TEMP_1
- 0062: TEMP_1 -= gLastSmokeEmission
- IF TEMP_1 > 250
- THEN
- IF TEMP_2 == 0
- THEN
- TEMP_7 = 0.005
- ELSE
- TEMP_7 = 0.01
- END
- 006B: TEMP_7 *= gSmokeBlown
- IF TEMP_7 > 1.0
- THEN
- TEMP_7 = 1.0
- END
- IF TEMP_2 == 0
- THEN
- FOR TEMP_3 = 0 TO 8
- GENERATE_RANDOM_FLOAT_IN_RANGE -6.0 6.0 TEMP_1
- GENERATE_RANDOM_FLOAT_IN_RANGE -6.0 6.0 TEMP_2
- GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer TEMP_1 TEMP_2 -0.5 TEMP_4 TEMP_5 TEMP_6
- READ_MEMORY 0xC813E0 4 FALSE TEMP_8 // windvelX
- READ_MEMORY 0xC813E4 4 FALSE TEMP_9 // windvelY
- CREATE_SMOKE TEMP_4 TEMP_5 TEMP_6 VELOCITY TEMP_8 TEMP_9 0.15 RGBA 2.0 2.0 2.0 TEMP_7 SIZE 0.5 LAST_FACTOR 2.0
- END
- ELSE
- FOR TEMP_3 = 0 TO 8
- GENERATE_RANDOM_FLOAT_IN_RANGE -6.0 6.0 TEMP_1
- GENERATE_RANDOM_FLOAT_IN_RANGE -6.0 6.0 TEMP_2
- GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer TEMP_1 TEMP_2 -0.5 TEMP_4 TEMP_5 TEMP_6
- CREATE_SMOKE TEMP_4 TEMP_5 TEMP_6 VELOCITY 0 0 0.15 RGBA 2.0 2.0 2.0 TEMP_7 SIZE 0.5 LAST_FACTOR 2.0
- END
- END
- GET_GAME_TIMER gLastSmokeEmission
- END
- END
- ELSE
- IF 0023: 0 > gSmokeBlown
- THEN 0007: gSmokeBlown = 0
- END
- END
- VAR_2 = 0
- VAR_3 = 0
- VAR_4 = 0
- TEMP_4 = 0.0
- IF 803B: NOT gWeedLevel == gWeedLevelInSystem
- THEN
- GET_GAME_TIMER TEMP_6
- 0062: TEMP_6 -= VAR_1
- IF TEMP_6 > 2000
- THEN
- IF 001D: gWeedLevel > gWeedLevelInSystem
- THEN
- CALL @IncDrugLevelInSystem 2 WEED 1
- ELSE
- CALL @DecDrugLevelInSystem 2 WEED 1
- END
- GET_GAME_TIMER VAR_1
- END
- ELSE
- GET_GAME_TIMER VAR_1
- END
- GET_GAME_TIMER TEMP_1
- 0A8F: TEMP_2 = TEMP_1 - VAR_5
- IF TEMP_2 > 20000
- THEN
- IF 0019: gWeedLevel > 0
- THEN
- 0A8F: TEMP_2 = TEMP_1 - gWeedTimeLastTook
- IF TEMP_2 > 10000
- THEN
- CALL @DecDrugLevel 1 WEED
- END
- END
- GET_GAME_TIMER VAR_5
- END
- IF 0019: gWeedLevelInSystem > 0
- THEN
- 008F: gWeedEffectLevel = int_to_float gWeedLevelInSystem
- 0017: gWeedEffectLevel /= 16.0
- TEMP_1 = 127.0
- 006B: TEMP_1 *= gWeedEffectLevel
- 0092: TEMP_1 = float_to_int TEMP_1
- 005A: VAR_4 += TEMP_1
- TEMP_1 = 1.5
- 006B: TEMP_1 *= gWeedEffectLevel
- 005B: VAR_2 += TEMP_1
- IF 0021: gWeedEffectLevel > 0.75
- THEN
- 0087: TEMP_2 = gWeedEffectLevel
- TEMP_2 -= 0.75
- TEMP_1 = 100.0
- 006B: TEMP_1 *= TEMP_2
- 0092: TEMP_1 = float_to_int TEMP_1
- 005A: VAR_3 += TEMP_1
- END
- ELSE
- 0006: gWeedLevelInSystem = 0
- 0007: gWeedEffectLevel = 0.0
- END
- {IF //VAR_1 > 15000
- VAR_1 > 1000 // (debug)
- THEN
- SET_PLAYER_MOOD player1 PLAYER_MOOD_CALM 999999
- GET_GAME_TIMER TEMP_5
- 0A8F: TEMP_6 = TEMP_5 - VAR_1
- END}
- IF VAR_3 > 150
- THEN
- VAR_3 = 150
- END
- IF VAR_4 > 140
- THEN
- VAR_4 = 140
- END
- IF VAR_2 > 1.0
- THEN
- VAR_2 = 1.0
- END
- //PRINT_FORMATTED "%g %d" 1 gWeedEffectLevel gWeedLevelInSystem
- IF VAR_3 > 0
- THEN
- 0A8F: TEMP_1 = 255 - VAR_3
- 0A8F: TEMP_2 = 255 - VAR_3
- //0A8E: TEMP_3 = 255 + VAR_3
- TEMP_3 = 255
- CALL @Abuse_SetBlurRGB 3 TEMP_1 TEMP_3 TEMP_2
- CALL @Abuse_SetBlurIntensity 1 VAR_4
- ELSE
- CALL @Abuse_ResetBlur 0
- END
- IF VAR_2 > 0.0
- THEN
- GET_CHAR_SPEED scplayer TEMP_1
- READ_MEMORY 0xC73C58 4 FALSE TEMP_2
- IF TEMP_1 >= 40.0
- THEN
- TEMP_1 = 1.0
- ELSE
- IF TEMP_1 <= 0.05
- THEN
- TEMP_1 = 0.05
- ELSE
- TEMP_1 /= 40.0
- END
- END
- TEMP_1 *= 0.25
- 0087: TEMP_3 = TEMP_1
- 0063: TEMP_3 -= TEMP_2
- ABSF_L TEMP_3
- IF TEMP_3 > 0.00025
- THEN
- TEMP_3 *= 0.0125
- IF 001D: TEMP_1 > TEMP_2
- THEN
- 007B: TEMP_2 += frame_delta_time * TEMP_3
- ELSE
- 0081: TEMP_2 -= frame_delta_time * TEMP_3
- END
- IF IS_CHAR_SHOOTING scplayer
- THEN
- TEMP_2 *= 1.7 // jolt
- END
- IF TEMP_2 > 1.5
- THEN
- TEMP_2 = 1.5
- END
- ELSE
- 0087: TEMP_2 = TEMP_1
- END
- 006B: TEMP_2 *= VAR_2
- WRITE_MEMORY 0xC73C58 4 TEMP_2 FALSE // wavy motion
- END
- GENERATE_RANDOM_FLOAT_IN_RANGE 0.7 0.72 TEMP_1
- :Abuse_End
- GOSUB @EndProc
- RET 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement