I have been playing around with modding deus ex recently, and I noticed how versitile it is.
Late one night I was thinking about this, and I realised that it wouldn't be that hard to implement.
I came up with this syntax in my head.
This would not change Vanilla soldat at all. It would not touch the weapon stats unless it is told to. It would just be serverside, of course.
There would be two kinds of events:
Timed events (Think grenades)
and
Action events
For an example of action events, here would be the script for the M79:
LaunchProj ///this script function would be at the beginning of every projectile script
Collide(Explode) ///This function tells it that when it hits anything, it should explode.
Now, for more advanced scripting demonstrarion, I will show you what the grenade and shotgun scripts would be.
grenade:
LaunchProj
collide_player(explode)
T60: explode ///This tells it that after 60 ticks, it explodes no matter what.
Shotgun:
LaunchProj[5] ///this tells it that it launches 5 projectiles
Collide(Damage)
Deagles:
Launchproj[2]
Collide(damage)
This is a dramatic over simplification, an of course just the syntax, but I think it could be done. For instance, here is an example of how the m79 could be modded:
Bouncy m79:
LaunchProj
Collide_poly(bounce)
Collide_collider(explode)
Collide_player(explode)
t120: Explode
comments and suggestions?