Where should I be putting my function code
I am writing a RPG game and am finding there is far more background functionality that the user ever sees.

I have a battle class. this holds instances of the enemies the background picture and deals with choosing which enemies are in the battle. 

I have developed several global functions to calculate and display gauges like hp and mp. and another to move the timer bar so battle progresses. but I am wondering if these should be in the battle class as with all the other functions I for see it will grow far larger than any other class ? 

Also i know drawing should be separated from other code so right now i have global functions that loop through all the active stuff and draw it after the process code has finished, but would it be better to put a draw function inside each class and loop through them instead or keep it all separate ?

The other thing that has been bothering me is I am implementing attacks and was thinking of giving the creature class four attack class instances. this would work but would create waste if there were two or more creatures in the battle that used the same attack. I thought about making one instance of every attack type somewhere and having each creature store four pointers to the applicable attack instances.
Are either of these options a good idea or are the better ways to implement this?
Where should I be putting my function code
===

I am writing a RPG game and am finding there is far more background functionality that the user ever sees.

I have a battle class. this holds instances of the enemies the background picture and deals with choosing which enemies are in the battle. 

I have developed several global functions to calculate and display gauges like hp and mp. and another to move the timer bar so battle progresses. but I am wondering if these should be in the battle class as with all the other functions I for see it will grow far larger than any other class ? 

Also i know drawing should be separated from other code so right now i have global functions that loop through all the active stuff and draw it after the process code has finished, but would it be better to put a draw function inside each class and loop through them instead or keep it all separate ?

The other thing that has been bothering me is I am implementing attacks and was thinking of giving the creature class four attack class instances. this would work but would create waste if there were two or more creatures in the battle that used the same attack. I thought about making one instance of every attack type somewhere and having each creature store four pointers to the applicable attack instances.
Are either of these options a good idea or are the better ways to implement this?