… | |
… | |
191 | |
191 | |
192 | ob->carrying = sum_weight (ob); |
192 | ob->carrying = sum_weight (ob); |
193 | link_player_skills (ob); |
193 | link_player_skills (ob); |
194 | |
194 | |
195 | CLEAR_FLAG (ob, FLAG_NO_FIX_PLAYER); |
195 | CLEAR_FLAG (ob, FLAG_NO_FIX_PLAYER); |
196 | update_ob_speed (ob); |
196 | ob->set_speed (ob->speed); |
197 | |
197 | |
198 | assign (title, ob->arch->clone.name); |
198 | assign (title, ob->arch->clone.name); |
199 | |
199 | |
200 | /* can_use_shield is a new flag. However, the can_use.. seems to largely come |
200 | /* can_use_shield is a new flag. However, the can_use.. seems to largely come |
201 | * from the class, and not race. I don't see any way to get the class information |
201 | * from the class, and not race. I don't see any way to get the class information |
… | |
… | |
1696 | |
1696 | |
1697 | /* update the speed */ |
1697 | /* update the speed */ |
1698 | arrow->speed = (float) ((QUERY_FLAG (bow, FLAG_NO_STRENGTH) ? |
1698 | arrow->speed = (float) ((QUERY_FLAG (bow, FLAG_NO_STRENGTH) ? |
1699 | 0 : dam_bonus[op->stats.Str]) + bow->magic + arrow->magic) / 5.0 + (float) bow->stats.dam / 7.0; |
1699 | 0 : dam_bonus[op->stats.Str]) + bow->magic + arrow->magic) / 5.0 + (float) bow->stats.dam / 7.0; |
1700 | |
1700 | |
1701 | if (arrow->speed < 1.0) |
1701 | arrow->set_speed (max (arrow->speed, 1.0)); |
1702 | arrow->speed = 1.0; |
|
|
1703 | update_ob_speed (arrow); |
|
|
1704 | arrow->speed_left = 0; |
1702 | arrow->speed_left = 0; |
1705 | |
1703 | |
1706 | if (op->type == PLAYER) |
1704 | if (op->type == PLAYER) |
1707 | { |
1705 | { |
1708 | arrow->stats.wc = 20 - bow->magic - arrow->magic - |
1706 | arrow->stats.wc = 20 - bow->magic - arrow->magic - |
… | |
… | |
1841 | |
1839 | |
1842 | if (item->arch) |
1840 | if (item->arch) |
1843 | { |
1841 | { |
1844 | CLEAR_FLAG (item, FLAG_ANIMATE); |
1842 | CLEAR_FLAG (item, FLAG_ANIMATE); |
1845 | item->face = item->arch->clone.face; |
1843 | item->face = item->arch->clone.face; |
1846 | item->speed = 0; |
1844 | item->set_speed (0); |
1847 | update_ob_speed (item); |
|
|
1848 | } |
1845 | } |
|
|
1846 | |
1849 | if ((tmp = item->in_player ())) |
1847 | if ((tmp = item->in_player ())) |
1850 | esrv_update_item (UPD_ANIM, tmp, item); |
1848 | esrv_update_item (UPD_ANIM, tmp, item); |
1851 | } |
1849 | } |
1852 | } |
1850 | } |
1853 | else if (item->type == ROD || item->type == HORN) |
1851 | else if (item->type == ROD || item->type == HORN) |
1854 | { |
|
|
1855 | drain_rod_charge (item); |
1852 | drain_rod_charge (item); |
1856 | } |
|
|
1857 | } |
1853 | } |
1858 | } |
1854 | } |
1859 | |
1855 | |
1860 | /* Received a fire command for the player - go and do it. |
1856 | /* Received a fire command for the player - go and do it. |
1861 | */ |
1857 | */ |