I've been playing around in client_process.cpp and attack.cpp writing some double attack/dual wield code and found a couple of bugs that are stopping 2 handed piercing working in 0.2.3.
In attack.cpp in Client::Attack()
// 2h Piercing
if (item->common.skill == 0x35)
This should be decimal 35 I think, not hex. 0x35 according to skills.h is tracking!
Second bug, in client_process.cpp in Client::SetAttackTimer() there's a line that looks like this ..
if(item->common.skill > 4)
attack_timer->Disable();
As 2HP is skill 35 it never gets past this so you never attack, I changed it to ..
if(item->common.skill > 4 && item->common.skill != 35)
attack_timer->Disable();
.. and this let my ogre play with some very large lances
K.