There are 3 weapon type: BASE_ATTACK, OFF_ATTACK, RANGED_ATTACK in mangos. All of them is implemented as timer. But for ranged attack, the health update time is dependent on distance between attacker & attackee. I have not found any code about this calculation. Did mangos implements it? In 'Unit::AttackerStateUpdate' (02502 line in Unit.cpp):
uint32 hitInfo;
if (attType == BASE_ATTACK)
hitInfo = HITINFO_NORMALSWING2;
else if (attType == OFF_ATTACK)
hitInfo = HITINFO_LEFTSWING;
else
return; // ignore ranged case
What is this mean? It means have not implement yet or implements in another place?
How server do that? Simulate bullet or spell (such as Frostbolt) fly?