other here is the object hitself is the object that was initially launchedvoid() launched_hit = { if ((other.grabbable == 1 || other.classname == "player") && other.flags == other.flags | FL_ONGROUND) { if (other.classname == "player") T_Damage (other, self, self, 10); // Do some damage if it hits a player. other.velocity = self.velocity*0.7; other.velocity_z = 50; self.velocity_x = self.velocity_x*-0.1; self.velocity_y = self.velocity_y*-0.1; self.touch = self.oldtouch; } sound (self, CHAN_WEAPON, "weapons/bounce3.wav", 1, ATTN_NORM); // bounce sound self.nextthink = time + 0.1; self.think = restoretouch; //restore the original touch functions it had using oldtouch }