Sure you can; you can also add your own areas, events etc.
I've only ever changed the scripting of existing enemies, but this should be all you need to do to add your own new enemies:
1) Decompile
script.rpyc (and delete the original file):
You must be registered to see the links
2) Add your new enemy to
scripts.rpy; the minimum is:
default mynewenemy = [...]
Add to
default enemies = (mynewenemy, ...)
Set
default persistent.MyNewEnemy = 0
Add to
default temp_defeated_enemy = {"MyNewEnemy": 0, ...}
3) Extract
archive.rpa (and then delete the original file):
You must be registered to see the links
4) Add your images to
\images\Enemies\MyNewEnemy .
5) Write your own
MyNewEnemy.rpy, referencing any new images/audio (you can use any other enemie's rpy as basis after decompiling).
IMPORTANT: Remember, that any rpy will automatically be compiled into an rpyc when running the game.
OPTIONAL:
A) Extract and mod
screens.rpyc for the Enemy Info Screen:
Add a block following
if persistent.MyNewEnemy >= 1:
It's easiest to just add it last to its respective area; make sure to add to the X and Y coordinates accordingly.
B) Extract and mod
Main\acheivements.rpyc (sic!), if you added a new one via
MyNewEnemy.rpy .
C) Add new sounds to
\audio, that you might have referenced in
MyNewEnemy.rpy .