… | |
… | |
339 | */ |
339 | */ |
340 | if (loading_arch && (type == WEAPON || type == BOW || type == ROD || type == HORN || type == WAND)) |
340 | if (loading_arch && (type == WEAPON || type == BOW || type == ROD || type == HORN || type == WAND)) |
341 | { |
341 | { |
342 | if (!skill) |
342 | if (!skill) |
343 | LOG (llevError, "ITEMBUG: weapon %s lacks a skill.\n", debug_desc ()); |
343 | LOG (llevError, "ITEMBUG: weapon %s lacks a skill.\n", debug_desc ()); |
344 | else if ((!strcmp (skill, "one handed weapons") && slot[body_arm].info != -1) || |
344 | else if ((skill == shstr_one_handed_weapons && slot[body_arm].info != -1) || |
345 | (!strcmp (skill, "two handed weapons") && slot[body_arm].info != -2)) |
345 | (skill == shstr_two_handed_weapons && slot[body_arm].info != -2)) |
346 | LOG (llevError, "ITEMBUG: weapon %s arm usage does not match skill: %d, %s\n", debug_desc (), slot[body_arm].info, &skill); |
346 | LOG (llevError, "ITEMBUG: weapon %s arm usage does not match skill: %d, %s\n", debug_desc (), slot[body_arm].info, &skill); |
347 | } |
347 | } |
348 | |
348 | |
349 | /* We changed last_heal to gen_sp_armour, which is what it |
349 | /* We changed last_heal to gen_sp_armour, which is what it |
350 | * really does for many objects. Need to catch any in maps |
350 | * really does for many objects. Need to catch any in maps |
… | |
… | |
930 | case KW_attack_movement: f.get (attack_movement); break; |
930 | case KW_attack_movement: f.get (attack_movement); break; |
931 | case KW_move_state: f.get (move_status); break; |
931 | case KW_move_state: f.get (move_status); break; |
932 | case KW_expmul: f.get (expmul); break; |
932 | case KW_expmul: f.get (expmul); break; |
933 | case KW_glow_radius: f.get (glow_radius); break; |
933 | case KW_glow_radius: f.get (glow_radius); break; |
934 | case KW_weapontype: f.get (weapontype); break; |
934 | case KW_weapontype: f.get (weapontype); break; |
935 | case KW_tooltype: f.get (tooltype); break; |
|
|
936 | case KW_casting_time: f.get (casting_time); break; |
935 | case KW_casting_time: f.get (casting_time); break; |
937 | |
936 | |
938 | // elevation is deprecated |
937 | // elevation is deprecated |
939 | case KW_elevation: break; |
938 | case KW_elevation: break; |
940 | |
939 | |
… | |
… | |
964 | case KW_body_waist: slot[body_waist] .info = f.get_sint32 (); break; |
963 | case KW_body_waist: slot[body_waist] .info = f.get_sint32 (); break; |
965 | case KW_can_apply: |
964 | case KW_can_apply: |
966 | break; |
965 | break; |
967 | |
966 | |
968 | case KW_connected: |
967 | case KW_connected: |
969 | add_button_link (this, map, f.get_sint32 ()); |
968 | { |
|
|
969 | shstr connected; |
|
|
970 | |
|
|
971 | f.get (connected); |
|
|
972 | add_link (map, connected); |
|
|
973 | } |
970 | break; |
974 | break; |
971 | |
975 | |
972 | case KW_randomitems: |
976 | case KW_randomitems: |
973 | if (f.get_str ()) |
977 | if (f.get_str ()) |
974 | { |
978 | { |
… | |
… | |
1379 | CMP_OUT (last_grace); |
1383 | CMP_OUT (last_grace); |
1380 | CMP_OUT (last_eat); |
1384 | CMP_OUT (last_eat); |
1381 | CMP_OUT (glow_radius); |
1385 | CMP_OUT (glow_radius); |
1382 | |
1386 | |
1383 | if (op->flag [FLAG_IS_LINKED]) |
1387 | if (op->flag [FLAG_IS_LINKED]) |
1384 | if (int i = get_button_value (op)) |
1388 | if (auto (ol, op->find_link ())) |
1385 | f.put (KW_connected, i); |
1389 | f.put (KW_connected, ol->id); |
1386 | |
1390 | |
1387 | CMP_OUT (randomitems); |
1391 | CMP_OUT (randomitems); |
1388 | CMP_OUT2 (container, weight_limit); |
1392 | CMP_OUT2 (container, weight_limit); |
1389 | |
1393 | |
1390 | CMP_OUT (run_away); |
1394 | CMP_OUT (run_away); |
1391 | CMP_OUT (pick_up); |
1395 | CMP_OUT (pick_up); |
1392 | CMP_OUT (will_apply); |
1396 | CMP_OUT (will_apply); |
1393 | CMP_OUT (smoothlevel); |
1397 | CMP_OUT (smoothlevel); |
1394 | CMP_OUT (weapontype); |
1398 | CMP_OUT (weapontype); |
1395 | CMP_OUT (tooltype); |
|
|
1396 | CMP_OUT (client_type); |
1399 | CMP_OUT (client_type); |
1397 | CMP_OUT (item_power); |
1400 | CMP_OUT (item_power); |
1398 | CMP_OUT (duration); |
1401 | CMP_OUT (duration); |
1399 | CMP_OUT (range); |
1402 | CMP_OUT (range); |
1400 | CMP_OUT (range_modifier); |
1403 | CMP_OUT (range_modifier); |