refactor projectile constructor call

put the code in the constructor instead of around the calls to it.
make the vapor probability a ruleset value.