1 | /* |
1 | /* |
2 | * static char *rcsid_skills_c = |
2 | * static char *rcsid_skills_c = |
3 | * "$Id: skills.c,v 1.1.1.1 2006/02/03 07:14:38 root Exp $"; |
3 | * "$Id: skills.c,v 1.1.1.2 2006/03/15 14:05:38 elmex Exp $"; |
4 | */ |
4 | */ |
5 | /* |
5 | /* |
6 | CrossFire, A Multiplayer game for X-windows |
6 | CrossFire, A Multiplayer game for X-windows |
7 | |
7 | |
8 | Copyright (C) 2003 Mark Wedel & Crossfire Development Team |
8 | Copyright (C) 2003 Mark Wedel & Crossfire Development Team |
… | |
… | |
1259 | newscroll->value = newscroll->arch->clone.value * newscroll->inv->value * |
1259 | newscroll->value = newscroll->arch->clone.value * newscroll->inv->value * |
1260 | (newscroll->level +50) / (newscroll->inv->level + 50); |
1260 | (newscroll->level +50) / (newscroll->inv->level + 50); |
1261 | newscroll->stats.exp = newscroll->value/5; |
1261 | newscroll->stats.exp = newscroll->value/5; |
1262 | |
1262 | |
1263 | /* wait until finished manipulating the scroll before inserting it */ |
1263 | /* wait until finished manipulating the scroll before inserting it */ |
1264 | if (newscroll != scroll) |
1264 | if (newscroll == scroll) |
|
|
1265 | { |
|
|
1266 | /* Remove to correctly merge with other items which may exist in inventory */ |
|
|
1267 | remove_ob(newscroll); |
|
|
1268 | esrv_del_item(pl->contr,newscroll->count); |
|
|
1269 | } |
1265 | newscroll=insert_ob_in_ob(newscroll,pl); |
1270 | newscroll=insert_ob_in_ob(newscroll,pl); |
1266 | esrv_send_item(pl, newscroll); |
1271 | esrv_send_item(pl, newscroll); |
1267 | success = calc_skill_exp(pl,newscroll, skill); |
1272 | success = calc_skill_exp(pl,newscroll, skill); |
1268 | if(!confused) success *= 2; |
1273 | if(!confused) success *= 2; |
1269 | success = success * skill->level; |
1274 | success = success * skill->level; |
1270 | return success; |
1275 | return success; |