An imaginary number is a coding nightmare. In fact, it's dead impossible. The defense of creatures is likely saved as an int (or integer). Computer's can't handle imaginary numbers unless you build a specific class for them (object oriented programming). This class would emulate imaginary numbers by having two ints, a and b, and b would be the imaginary part. This class would then need to have all the possible functions of math with imaginary numbers, such as multiplication, subtraction, addition, subtraction, square roots, and more. Then this class would have to have a to string method so that the game would know how to output an imaginary number onto the screen.
Then, after this class was finally created, all game programming that involves a creature's defense would need to be altered to accept objects of this ImaginaryNumber class instead of an integer, and all creature cards would need to be changed to having an object of class ImaginaryNumber as their defense too. And the code within these methods (for instance, the code that makes basilisk blood add 20 hp on) would need to be altered too -- not only the method heading.
This amount of reworking to emulate an imaginary number for health would then need a lot of debugging to make sure it works.
All this work for a single creature? No thank you.
And if you have no clue what I was talking about for all of that, rest easy knowing you are a) not a nerd and b) that this card is mechanically impossible.