tons of stuff, new attack mechanism

i first added tons of attack methods to our existing attack class, but
i realized there is probably a better way of handling the attacks