Here is all of player_damage_override (I have some stuff in there for round restarting)
player_damage_override( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime ) { /* if(self hasperk("specialty_armorvest") && eAttacker != self) { iDamage = iDamage * 0.75; iprintlnbold(idamage); }*/ if( sMeansOfDeath == "MOD_FALLING" ) { sMeansOfDeath = "MOD_RIFLE_BULLET"; } if( isDefined( eAttacker ) ) { if( isPlayer( eAttacker ) && self != eAttacker ) { if( sMeansOfDeath == "MOD_GRENADE_SPLASH" ) { sMeansOfDeath = "MOD_RIFLE_BULLET"; iDamage = 25; self maps\_callbackglobal::finishPlayerDamageWrapper( eInflictor, eAttacker, finalDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime ); } if( eAttacker meleeButtonPressed() ) { self setVelocity( vectorToAngles( eAttacker.origin - self.origin ) ); // Not tested, you'll have to play around with this. Most likely won't push the player in the correct direction. self setMoveSpeedScale( .3 ); wait( 1 ); self setMoveSpeedScale( 1 ); } if( eAttacker attackButtonPressed() ) { self setMoveSpeedScale( .3 ); wait( 1 ); self setMoveSpeedScale( 1 ); } } if( isDefined( self.ignoreAttacker ) && self.ignoreAttacker == eAttacker ) { return; } if( isDefined( eAttacker.is_zombie ) && eAttacker.is_zombie ) { self.ignoreAttacker = eAttacker; self thread remove_ignore_attacker(); } if( isDefined( eAttacker.damage_mult ) ) { iDamage *= eAttacker.damage_mult; } eAttacker notify( "hit_player" ); } finalDamage = iDamage; if( sMeansOfDeath == "MOD_PROJECTILE" || sMeansOfDeath == "MOD_PROJECTILE_SPLASH" || sMeansOfDeath == "MOD_GRENADE" || sMeansOfDeath == "MOD_GRENADE_SPLASH" ) { if( self.health > 75 ) { finalDamage = 75; self maps\_callbackglobal::finishPlayerDamageWrapper( eInflictor, eAttacker, finalDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime ); return; } } if( iDamage < self.health ) { if ( IsDefined( eAttacker ) ) { eAttacker.sound_damage_player = self; } //iprintlnbold(iDamage); self maps\_callbackglobal::finishPlayerDamageWrapper( eInflictor, eAttacker, finalDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime ); return; } if( level.intermission ) { level waittill( "forever" ); } players = get_players(); count = 0; for( i = 0; i < players.size; i++ ) { if( players[i] == self || players[i].is_zombie || players[i] maps\_laststand::player_is_in_laststand() || players[i].sessionstate == "spectator" ) { count++; } } if( count < players.size ) { self maps\_callbackglobal::finishPlayerDamageWrapper( eInflictor, eAttacker, finalDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime ); return; } self.intermission = true; self thread maps\_laststand::PlayerLastStand( eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime ); self player_fake_death(); if( count == players.size ) { self maps\_laststand::laststand_take_player_weapons(); zombs = getaiarray("axis"); for(i=0;i<zombs.size;i++) { zombs[i] delete(); //removes all currently spawned in zombies } maps\_zombiemode_powerups::powerup_round_start(); //restarts the amount of powerups you can earn this round array_thread( players, maps\_zombiemode_blockers_new::rebuild_barrier_reward_reset ); //restarts your barrier points this round level thread [[level.round_spawn_func]](); //makes the amount of zombies restart to its original amount for the round players = get_players(); for( i = 0; i < players.size; i++ ) //respawns you back in and gives you your weapons back { players[i] spectator_respawn(); players[i] [[level.spawnPlayer]](); while(1) { if(players[i] hasWeapon("zombie_colt")) { players[i] maps\_laststand::laststand_giveback_player_weapons(); if( isDefined( players[i].has_altmelee ) && players[i].has_altmelee ) { players[i] SetPerk( "specialty_altmelee" ); } level thread award_grenades_for_survivors(); //get 2 extra grenades when you spawn back in, optional break; } wait(0.05); } } iprintlnbold("You have been given another chance"); //message letting you know the round restarted, optional } else { self maps\_callbackglobal::finishPlayerDamageWrapper( eInflictor, eAttacker, finalDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime ); } }