Advertisement
Guest User

Untitled

a guest
Sep 24th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.04 KB | None | 0 0
  1. /*
  2. =================
  3. PM_BeginM97Reload
  4. =================
  5. */
  6. void PM_BeginM97Reload( void )
  7. {
  8.     int anim;
  9.  
  10.     // Choose which first person animation to play
  11.     if ( pm->ps->ammoclip[BG_FindClipForWeapon(WP_M97)] == 0 ) {
  12.         anim = WEAP_ALTSWITCHFROM;
  13.         PM_AddEvent( EV_M97_PUMP );
  14.         pm->ps->weaponTime += M97_RLT_ALTSWITCHFROM;
  15.         pm->ps->holdable[HOLDABLE_M97] = M97_RELOADING_BEGIN_PUMP;
  16.  
  17.         // 3rd person
  18.         //if( pm->ps->eFlags & EF_PRONE ) {
  19.             //BG_AnimScriptEvent( pm->ps, pm->character->animModelInfo, ANIM_ET_RELOADPRONE_SG1, qfalse, qtrue );
  20.        // } else {
  21.             //BG_AnimScriptEvent( pm->ps, pm->character->animModelInfo, ANIM_ET_RELOAD_SG1, qfalse, qtrue );
  22.        // }
  23.     } else {
  24.         anim = WEAP_RELOAD1;
  25.         pm->ps->weaponTime += M97_RLT_RELOAD1;
  26.         pm->ps->holdable[HOLDABLE_M97] = M97_RELOADING_BEGIN;
  27.     }
  28.  
  29.     // Play it
  30.     PM_StartWeaponAnim(anim);
  31.  
  32.     // Initialize override
  33.     pm->ps->m97reloadInterrupt = qfalse;
  34.  
  35.     // Set state to reloading
  36.     pm->ps->weaponstate = WEAPON_RELOADING;
  37.  
  38. }
  39. // Jaymod
  40. void PM_M97Reload() {
  41.  
  42.     // Transition from shell + pump
  43.     if( pm->ps->holdable[HOLDABLE_M97] == M97_RELOADING_BEGIN_PUMP ) {
  44.  
  45.         // Load a shell
  46.         PM_ReloadClip( WP_M97 );
  47.  
  48.         // Branch depending on if we need another shell or not
  49.         if (!pm->ps->ammo[BG_FindAmmoForWeapon(WP_M97)] || pm->ps->m97reloadInterrupt) {
  50.             // Break back to ready position
  51.             PM_StartWeaponAnim(WEAP_DROP2);
  52.             pm->ps->weaponTime += M97_RLT_DROP2;
  53.             pm->ps->weaponstate = WEAPON_READY;
  54.         } else {
  55.             // Transition to load another shell
  56.             PM_StartWeaponAnim(WEAP_ALTSWITCHTO);
  57.             pm->ps->weaponTime += M97_RLT_ALTSWITCHTO;
  58.             pm->ps->holdable[HOLDABLE_M97] = M97_RELOADING_AFTER_PUMP;
  59.         }
  60.         return;
  61.     }
  62.  
  63.     // Load a shell on most states
  64.     if (pm->ps->holdable[HOLDABLE_M97] != M97_RELOADING_AFTER_PUMP && pm->ps->holdable[HOLDABLE_M97] != M97_RELOADING_BEGIN) {
  65.         PM_ReloadClip( WP_M97 );
  66.     }
  67.  
  68.     // Override - but must load at least one shell!
  69.     if( pm->ps->m97reloadInterrupt && pm->ps->holdable[HOLDABLE_M97] != M97_RELOADING_BEGIN ) {
  70.         PM_StartWeaponAnim(WEAP_RELOAD3);
  71.         pm->ps->weaponTime += M97_RLT_RELOAD3;
  72.         pm->ps->weaponstate = WEAPON_READY;
  73.         return;
  74.     }
  75.  
  76.     // If clip isn't full, load another shell
  77.     if( pm->ps->ammoclip[WP_M97] < ammoTable[WP_M97].maxclip && pm->ps->ammo[BG_FindAmmoForWeapon(WP_M97)] ) {
  78.         PM_AddEvent( EV_FILL_CLIP );
  79.         PM_StartWeaponAnim(WEAP_RELOAD2);
  80.    
  81.    
  82.         // Delay time - support quick reload
  83.         //if (pm->skill[SK_LIGHT_WEAPONS] >= 2)
  84.         //pm->ps->weaponTime += M97_RLT_RELOAD2_QUICK;
  85.     //else
  86.     pm->ps->weaponTime += M97_RLT_RELOAD2;
  87.  
  88.     pm->ps->holdable[HOLDABLE_M97] = M97_RELOADING_LOOP;
  89.  
  90.     // 3rd person
  91.     //if( pm->ps->eFlags & EF_PRONE ) {
  92.         //BG_AnimScriptEvent( pm->ps, pm->character->animModelInfo, ANIM_ET_RELOADPRONE_SG2, qfalse, qtrue );
  93.     //} else {
  94.         //BG_AnimScriptEvent( pm->ps, pm->character->animModelInfo, ANIM_ET_RELOAD_SG2, qfalse, qtrue );
  95.     //}
  96. } else {
  97.     PM_StartWeaponAnim(WEAP_RELOAD3);           // From loop to read
  98.     pm->ps->weaponTime += M97_RLT_RELOAD3;
  99.     pm->ps->weaponstate = WEAPON_READY;
  100. }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement