Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- =================
- PM_BeginM97Reload
- =================
- */
- void PM_BeginM97Reload( void )
- {
- int anim;
- // Choose which first person animation to play
- if ( pm->ps->ammoclip[BG_FindClipForWeapon(WP_M97)] == 0 ) {
- anim = WEAP_ALTSWITCHFROM;
- PM_AddEvent( EV_M97_PUMP );
- pm->ps->weaponTime += M97_RLT_ALTSWITCHFROM;
- pm->ps->holdable[HOLDABLE_M97] = M97_RELOADING_BEGIN_PUMP;
- // 3rd person
- //if( pm->ps->eFlags & EF_PRONE ) {
- //BG_AnimScriptEvent( pm->ps, pm->character->animModelInfo, ANIM_ET_RELOADPRONE_SG1, qfalse, qtrue );
- // } else {
- //BG_AnimScriptEvent( pm->ps, pm->character->animModelInfo, ANIM_ET_RELOAD_SG1, qfalse, qtrue );
- // }
- } else {
- anim = WEAP_RELOAD1;
- pm->ps->weaponTime += M97_RLT_RELOAD1;
- pm->ps->holdable[HOLDABLE_M97] = M97_RELOADING_BEGIN;
- }
- // Play it
- PM_StartWeaponAnim(anim);
- // Initialize override
- pm->ps->m97reloadInterrupt = qfalse;
- // Set state to reloading
- pm->ps->weaponstate = WEAPON_RELOADING;
- }
- // Jaymod
- void PM_M97Reload() {
- // Transition from shell + pump
- if( pm->ps->holdable[HOLDABLE_M97] == M97_RELOADING_BEGIN_PUMP ) {
- // Load a shell
- PM_ReloadClip( WP_M97 );
- // Branch depending on if we need another shell or not
- if (!pm->ps->ammo[BG_FindAmmoForWeapon(WP_M97)] || pm->ps->m97reloadInterrupt) {
- // Break back to ready position
- PM_StartWeaponAnim(WEAP_DROP2);
- pm->ps->weaponTime += M97_RLT_DROP2;
- pm->ps->weaponstate = WEAPON_READY;
- } else {
- // Transition to load another shell
- PM_StartWeaponAnim(WEAP_ALTSWITCHTO);
- pm->ps->weaponTime += M97_RLT_ALTSWITCHTO;
- pm->ps->holdable[HOLDABLE_M97] = M97_RELOADING_AFTER_PUMP;
- }
- return;
- }
- // Load a shell on most states
- if (pm->ps->holdable[HOLDABLE_M97] != M97_RELOADING_AFTER_PUMP && pm->ps->holdable[HOLDABLE_M97] != M97_RELOADING_BEGIN) {
- PM_ReloadClip( WP_M97 );
- }
- // Override - but must load at least one shell!
- if( pm->ps->m97reloadInterrupt && pm->ps->holdable[HOLDABLE_M97] != M97_RELOADING_BEGIN ) {
- PM_StartWeaponAnim(WEAP_RELOAD3);
- pm->ps->weaponTime += M97_RLT_RELOAD3;
- pm->ps->weaponstate = WEAPON_READY;
- return;
- }
- // If clip isn't full, load another shell
- if( pm->ps->ammoclip[WP_M97] < ammoTable[WP_M97].maxclip && pm->ps->ammo[BG_FindAmmoForWeapon(WP_M97)] ) {
- PM_AddEvent( EV_FILL_CLIP );
- PM_StartWeaponAnim(WEAP_RELOAD2);
- // Delay time - support quick reload
- //if (pm->skill[SK_LIGHT_WEAPONS] >= 2)
- //pm->ps->weaponTime += M97_RLT_RELOAD2_QUICK;
- //else
- pm->ps->weaponTime += M97_RLT_RELOAD2;
- pm->ps->holdable[HOLDABLE_M97] = M97_RELOADING_LOOP;
- // 3rd person
- //if( pm->ps->eFlags & EF_PRONE ) {
- //BG_AnimScriptEvent( pm->ps, pm->character->animModelInfo, ANIM_ET_RELOADPRONE_SG2, qfalse, qtrue );
- //} else {
- //BG_AnimScriptEvent( pm->ps, pm->character->animModelInfo, ANIM_ET_RELOAD_SG2, qfalse, qtrue );
- //}
- } else {
- PM_StartWeaponAnim(WEAP_RELOAD3); // From loop to read
- pm->ps->weaponTime += M97_RLT_RELOAD3;
- pm->ps->weaponstate = WEAPON_READY;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement