update: as of april 21, 2007, new code handles damage_[fire|cold|electricity|…]
and uses that if it is set as value for damage instead of the 'dam' field. This is still experimental, but is a first big step towards this feature :)
Right now, if you have a weapon that has attacktype physical & fire, and dam 40, it will do dam 40 of whatever attack works best against the creature.
It is fairly common in most games that extra attacktypes do some extra damage. Eg, this weapon does 20 physical damage and 10 fire damage. There isn't any way to do that right now (ok, maybe with scripts :) , but that isn't really the point here).
The effect of the unified damage in crossfire has some bad effects - for attacktypes which are really effects (paralyze, slow), the duration of the effect is determined by the damage. The problem this gets is if you have a weapon that does physical + paralyze, it is hard to balance the damage (the paralyze effect could be too strong in order for the weapon to do a reasonable amount of physical damage, etc).
If those are separated out, it allows much finer tuning of objects. It would actually lower the power, as a weapon that currently has physical + fire with dam 30 should be changed so that it's dam_phys + dam_fire = ~30. For sake of argument, lets say it is an even split of 15/15.
If your using that weapon fighting fire resistant creatures, you'll still do 15 physical, but much less fire. So I think it would make it less clear what the best weapon to use would be - right now, the more attacktypes a weapon has, the better basically.
Comment by — Ryo 2007/04/20 12:56 : checking the code, I think modifying server/attack.c:hit_player_attacktype
to check for discrete values (key/value?) for attacktype could do the trick. Would need to be checked for other side-effects, of course.
This is also a problem for making weapons more interesting. At present physical damage behaves like any other damage source, except during melee combat where an AC/WC check is made. This means that all weapons are only considered for the
It was discussed that physical damage as an attack_type could be split as well into:
These could correspond with different armour types, cloth provides some protection against piercing but nothing against crushing. chain armour provides good protection against piercing but little against crushing. Plate armour provides good protection against both. This would match the current speed limitations in the armour.
This could be further expanded into special attacks such as critical strikes, disabling blows, etc.