implement all battle effect logic
implement all battle effect logic