ok, ill give it a shot this afternoon. one question i have is this: right now i have the colision of 'Attack' (ADef) and 'Enemy' (BDef), it activates COL_<ADef><BTemplate>, i did this so i would only need 1 class for enemy, so do i need to give each enemy with multiple hit points a seperate class? and does the enemy need to be the ADef in the colision?
COL_<ADef><BTemplate> will activate the same function for all enemies that use the same enemy template and all attackers that use the same attacker sprite definition. In other words, it activates a unique function for each attacker sprite and enemy template combination. So take, for example, these three attacker sprites:
SpriteDef: Sword1 Template: Sword Class: Attacker
SpriteDef: Bullet Template: Projectile Class: Attacker
SpriteDef: Missile1 Template: Projectile Class: Attacker
And these three enemy sprites:
SpriteDef: Ghoul1 Template: Ghostie Class: Enemy
SpriteDef: Phantom1 Template: Ghostie Class: Enemy
SpriteDef: Wolf1 Template: Wolf Class: Enemy
Using this data and a single collision definition, you end up with a number of functions that can be activated:
Collision Definition: When Attacker hits Enemy, Activate COL_<ADef><BTemplate>
Can activate:
COL_Sword1Ghostie
COL_BulletGhostie
COL_Missile1Ghostie
COL_Sword1Wolf
COL_BulletWolf
COL_MissileWolf
If you define your collision definition slightly differently, you could end up with different results:
Collision Definition: When Attacker hits Enemy, Activate COL_<ATemplate><BDef>
Can activate:
COL_SwordGhoul1
COL_SwordPhantom1
COL_SwordWolf1
COL_ProjectileGhoul1
COL_ProjectilePhantom1
COL_ProjectileWolf1
If you don't care what kind of weapon you use, you might do something like this:
Collision Definition: When Attacker hits Enemy, Activate COL_<BTemplate>
Can activate:
COL_Ghostie
COL_Wolf
One thing to keep in mind is that I think you need to have functions by those names in order for anything to happen. I don't think you can just have a script to handle the collision. You'll have to actually create functions for the names that you care about, and set them to a type of "Raise an Event" (or whatever) and then if you want to script them you can add script like durnurd provided.