c_cpp 史密斯需要工作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 史密斯需要工作相关的知识,希望对你有一定的参考价值。
/***************************************************************************
_____ __ __ __ __
/ _ \/ \ / \/ \ / \
/ /_\ \ \/\/ /\ \/\/ /
/ | \ / \ /
\____|__ /\__/\ / \__/\ /
\/ \/ \/
As the Wheel Weaves based on ROM 2.4. Original code by Dalsor.
See changes.log for a list of changes from the original ROM code.
Credits for code created by other authors have been left
intact at the head of each function.
Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer,
Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe.
Merc Diku Mud improvments copyright (C) 1992, 1993 by Michael
Chastain, Michael Quan, and Mitchell Tse.
In order to use any part of this Merc Diku Mud, you must comply with
both the original Diku license in 'license.doc' as well the Merc
license in 'license.txt'. In particular, you may not remove either of
these copyright notices.
Much time and thought has gone into this software and you are
benefitting. We hope that you share your changes too. What goes
around, comes around.
ROM 2.4 is copyright 1993-1998 Russ Taylor
ROM has been brought to you by the ROM consortium
Russ Taylor (rtaylor@hypercube.org)
Gabrielle Taylor (gtaylor@hypercube.org)
Brian Moore (zump@rom.org)
By using this code, you have agreed to follow the terms of the
ROM license, in the file Rom24/doc/rom.license
***************************************************************************/
extern const struct smith_items_type smith_items_table[];
extern const struct smith_ores_type smith_ores_table[];
struct smith_items_type
{
char *name;
int quantity;
int weight;
int difficulty;
int beats;
int wear_flags;
int item_type;
int base_v0;
int base_v1;
int base_v2;
int base_pierce;
int base_bash;
int base_slash;
int base_exotic;
char *dam_noun;
};
struct smith_ores_type
{
char *name;
int cost_stone;
int armor_mod;
int workability;
char *color;
};
const struct smith_ores_type smith_ores_table [] =
{
{ "bronze", 10, 10, 25, "reddish-gold" }, /* 1 */
{ "iron", 25, 15, 22, "bright-gray" }, /* 2 */
{ "steel", 50, 25, 20, "silvery-gray" }, /* 3 */
{ "silver", 120, 8, 18, "bright" }, /* 4 */
{ "gold", 225, 5, 16, "gleaming" }, /* 5 */
{ "gemstone", 500, 25, 11, "sparkling" }, /* 6 */
{ NULL, 0 }
};
const struct smith_items_type smith_items_table [] =
{
{ "knife", 10, 10, 10, 5, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_DAGGER,
1, 4, 0, 0, 0, 0, "pierce" }, /* 1 */
{ "cock-spur", 5, 5, 10, 4, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_DAGGER,
1, 3, 0, 0, 0, 0, "pierce" }, /* 2 */
{ "stiletto", 12, 10, 15, 5, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_DAGGER,
1, 5, 0, 0, 0, 0, "stab" }, /* 3 */
{ "dagger", 15, 10, 20, 6, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_DAGGER,
1, 6, 0, 0, 0, 0, "pierce" }, /* 4 */
{ "keris", 16, 12, 22, 7, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_DAGGER,
1, 7, 0, 0, 0, 0, "jab" }, /* 5 */
{ "dirk", 16, 12, 22, 6, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_DAGGER,
1, 7, 0, 0, 0, 0, "thrust" }, /* 6 */
{ "poinard", 18, 12, 22, 6, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_DAGGER,
1, 8, 0, 0, 0, 0, "thrust" }, /* 7 */
{ "long-knife", 20, 15, 25, 6, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_DAGGER,
1, 9, 0, 0, 0, 0, "thrust" }, /* 8 */
{ "shortsword", 22, 15, 25, 7, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_DAGGER,
1, 10, 0, 0, 0, 0, "slice" }, /* 9 */
{ "langsax", 22, 15, 25, 7, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 11, 0, 0, 0, 0, "slice" }, /* 10 */
{ "leaf-sword", 22, 16, 26, 7, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 12, 0, 0, 0, 0, "slice" }, /* 11 */
{ "gladius", 25, 20, 30, 7, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 13, 0, 0, 0, 0, "stab" }, /* 12 */
{ "cutlass", 26, 22, 30, 7, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 14, 0, 0, 0, 0, "slice" }, /* 13 */
{ "sabre", 26, 22, 30, 7, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 15, 0, 0, 0, 0, "slash" }, /* 14 */
{ "rapier", 26, 22, 32, 7, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 16, 0, 0, 0, 0, "pierce" }, /* 15 */
{ "cinqueda", 26, 23, 32, 7, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 17, 0, 0, 0, 0, "slash" }, /* 16 */
{ "spatha", 26, 24, 33, 7, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 18, 0, 0, 0, 0, "slash" }, /* 17 */
{ "falchion", 27, 25, 35, 7, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 19, 0, 0, 0, 0, "slash" }, /* 18 */
{ "scimitar", 28, 28, 35, 7, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 20, 0, 0, 0, 0, "slash" }, /* 19 */
{ "nimcha", 30, 30, 35, 7, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 21, 0, 0, 0, 0, "slash" }, /* 20 */
{ "hanger", 30, 30, 36, 7, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 22, 0, 0, 0, 0, "slash" }, /* 21 */
{ "kastane", 28, 28, 38, 7, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 23, 0, 0, 0, 0, "slash" }, /* 22 */
{ "yatagan", 28, 28, 38, 7, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 24, 0, 0, 0, 0, "slice" }, /* 23 */
{ "longsword", 32, 32, 40, 8, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 25, 0, 0, 0, 0, "slash" }, /* 4 */
{ "backsword", 30, 30, 42, 8, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 26, 0, 0, 0, 0, "slash" }, /* 5 */
{ "ringsword", 32, 32, 45, 8, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 27, 0, 0, 0, 0, "slice" }, /* 6*/
{ "broadsword", 32, 35, 45, 8, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 28, 0, 0, 0, 0, "slash" }, /* 7 */
{ "flamberge", 38, 38, 48, 8, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 29, 0, 0, 0, 0, "slash" }, /* 8 */
{ "bastard-sword", 45, 50, 55, 9, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 30, 0, 0, 0, 0, "chop" }, /* 9 */
{ "greatsword", 48, 58, 60, 9, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 31, 0, 0, 0, 0, "smash" }, /* 30 */
{ "war-sword", 50, 60, 65, 9, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 32, 0, 0, 0, 0, "cleave" }, /* 31 */
{ "claymore", 55, 65, 70, 9, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SWORD,
1, 33, 0, 0, 0, 0, "sunder" }, /* 2 */
{ "hand-axe", 26, 23, 32, 6, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_AXE,
1, 14, 0, 0, 0, 0, "chop" }, /* 3 */
{ "hatchet", 26, 25, 34, 6, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_AXE,
1, 15, 0, 0, 0, 0, "chop" }, /* 4 */
{ "recade", 28, 23, 35, 6, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_AXE,
1, 16, 0, 0, 0, 0, "chop" }, /* 5 */
{ "francisca", 28, 28, 34, 6, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_AXE,
1, 22, 0, 0, 0, 0, "cleave" }, /* 6 */
{ "battle-axe", 32, 32, 45, 7, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_AXE,
1, 28, 0, 0, 0, 0, "cleave" }, /* 7 */
{ "broad-axe", 35, 35, 50, 7, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_AXE,
1, 33, 0, 0, 0, 0, "cleave" }, /* 8 */
{ "war-axe", 36, 38, 55, 8, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_AXE,
1, 40, 0, 0, 0, 0, "sunder" }, /* 9 */
{ "horsemans-mace", 28, 28, 40, 5, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_MACE,
1, 16, 0, 0, 0, 0, "pound" }, /* 40 */
{ "war-hammer", 30, 30, 30, 5, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_MACE,
1, 18, 0, 0, 0, 0, "beating" }, /* 41 */
{ "morning-star", 32, 32, 30, 6, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_MACE,
1, 22, 0, 0, 0, 0, "pound" }, /* 2 */
{ "battle-hammer", 34, 34, 30, 6, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_MACE,
1, 25, 0, 0, 0, 0, "crunch" }, /* 3 */
{ "footmans-mace", 32, 30, 32, 6, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_MACE,
1, 28, 0, 0, 0, 0, "smash" }, /* 4 */
{ "angon", 10, 10, 30, 5, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SPEAR,
1, 20, 0, 0, 0, 0, "pierce" }, /* 5 */
{ "assegai", 10, 10, 33, 5, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SPEAR,
1, 28, 0, 0, 0, 0, "pierce" }, /* 6 */
{ "spear", 10, 10, 34, 5, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SPEAR,
1, 35, 0, 0, 0, 0, "pierce" }, /* 7 */
{ "pilum", 10, 10, 36, 5, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SPEAR,
1, 36, 0, 0, 0, 0, "thrust" }, /* 8 */
{ "javelin", 12, 15, 39, 6, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SPEAR,
1, 38, 0, 0, 0, 0, "jab" }, /* 9 */
{ "lance", 15, 18, 45, 6, ITEM_TAKE|ITEM_WIELD, ITEM_WEAPON, WEAPON_SPEAR,
1, 40, 0, 0, 0, 0, "lunge" }, /* 50 */
{ "scale-tunic", 20, 20, 75, 9, ITEM_TAKE|ITEM_WEAR_BODY, ITEM_ARMOR, 0,
0, 0, 20, 20, 20, 20, NULL }, /* 51 */
{ "hauberk", 25, 25, 80, 10, ITEM_TAKE|ITEM_WEAR_BODY, ITEM_ARMOR, 0,
0, 0, 23, 23, 23, 23, NULL }, /* 2 */
{ "haubergeon", 35, 35, 85, 11, ITEM_TAKE|ITEM_WEAR_BODY, ITEM_ARMOR, 0,
0, 0, 26, 26, 26, 26, NULL }, /* 3 */
{ "chain-hauberk", 40, 45, 90, 12, ITEM_TAKE|ITEM_WEAR_BODY, ITEM_ARMOR, 0,
0, 0, 30, 30, 30, 30, NULL }, /* 4 */
{ "scale-hauberk", 50, 50, 95, 13, ITEM_TAKE|ITEM_WEAR_BODY, ITEM_ARMOR, 0,
0, 0, 35, 35, 35, 35, NULL }, /* 5 */
{ "chain-mail", 55, 55, 96, 14, ITEM_TAKE|ITEM_WEAR_BODY, ITEM_ARMOR, 0,
0, 0, 39, 39, 39, 39, NULL }, /* 6 */
{ "scale-mail", 60, 60, 97, 15, ITEM_TAKE|ITEM_WEAR_BODY, ITEM_ARMOR, 0,
0, 0, 46, 46, 46, 46, NULL }, /* 7 */
{ "plate-mail", 65, 65, 98, 16, ITEM_TAKE|ITEM_WEAR_BODY, ITEM_ARMOR, 0,
0, 0, 53, 53, 53, 53, NULL }, /* 8 */
{ "field-plate", 70, 70, 99, 18, ITEM_TAKE|ITEM_WEAR_BODY, ITEM_ARMOR, 0,
0, 0, 61, 61, 61, 61, NULL }, /* 9 */
{ "full-plate", 75, 75, 100, 20, ITEM_TAKE|ITEM_WEAR_BODY, ITEM_ARMOR, 0,
0, 0, 70, 70, 70, 70, NULL }, /* 60 */
{ "finger-ring", 2, 2, 20, 3, ITEM_TAKE|ITEM_WEAR_FINGER, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 61 */
{ "finger-band", 2, 2, 25, 3, ITEM_TAKE|ITEM_WEAR_FINGER, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 2 */
{ "nose-ring", 2, 2, 27, 3, ITEM_TAKE|ITEM_WEAR_NOSE, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 3 */
{ "nose-hoop", 2, 2, 29, 3, ITEM_TAKE|ITEM_WEAR_FINGER, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 4 */
{ "nose-chain", 3, 3, 32, 4, ITEM_TAKE|ITEM_WEAR_FINGER, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 5 */
{ "nose-pendant", 3, 3, 35, 5, ITEM_TAKE|ITEM_WEAR_FINGER, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 6 */
{ "scarab", 5, 5, 75, 6, ITEM_TAKE|ITEM_WEAR_NECK, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 7 */
{ "torque", 8, 8, 80, 9, ITEM_TAKE|ITEM_WEAR_NECK, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 8 */
{ "brooch", 5, 5, 30, 4, ITEM_TAKE|ITEM_WEAR_NECK, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 9 */
{ "pendant", 5, 5, 32, 5, ITEM_TAKE|ITEM_WEAR_NECK, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 70 */
{ "necklace", 5, 5, 30, 6, ITEM_TAKE|ITEM_WEAR_NECK, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 71 */
{ "medallion", 6, 6, 35, 6, ITEM_TAKE|ITEM_WEAR_NECK, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 2 */
{ "fibula", 8, 8, 40, 7, ITEM_TAKE|ITEM_WEAR_NECK, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 4 */
{ "neck-chain", 5, 5, 30, 6, ITEM_TAKE|ITEM_WEAR_NECK, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 5 */
{ "neck-pin", 2, 2, 27, 5, ITEM_TAKE|ITEM_WEAR_NECK, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 6 */
{ "amulet", 6, 6, 35, 5, ITEM_TAKE|ITEM_WEAR_NECK, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 7 */
{ "choker", 6, 6, 65, 7, ITEM_TAKE|ITEM_WEAR_NECK, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 9 */
{ "cufflink", 2, 2, 55, 6, ITEM_TAKE|ITEM_WEAR_WRIST, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 80 */
{ "wrist-pin", 2, 2, 29, 4, ITEM_TAKE|ITEM_WEAR_WRIST, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 81 */
{ "wrist-band", 8, 8, 33, 5, ITEM_TAKE|ITEM_WEAR_WRIST, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 2 */
{ "armlet", 5, 5, 37, 5, ITEM_TAKE|ITEM_WEAR_ARMS, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 3 */
{ "armband", 8, 8, 35, 5, ITEM_TAKE|ITEM_WEAR_ARMS, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 4 */
{ "earring", 2, 2, 75, 5, ITEM_TAKE|ITEM_WEAR_EAR, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 5 */
{ "ear-hoop", 3, 3, 60, 5, ITEM_TAKE|ITEM_WEAR_EAR, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 6 */
{ "ear-chain", 4, 4, 65, 6, ITEM_TAKE|ITEM_WEAR_EAR, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 7 */
{ "ear-pendant", 5, 5, 70, 7, ITEM_TAKE|ITEM_WEAR_EAR, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 8 */
{ "buckle", 9, 9, 72, 5, ITEM_TAKE|ITEM_WEAR_WAIST, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 9 */
{ "girdle", 15, 15, 80, 7, ITEM_TAKE|ITEM_WEAR_WAIST, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 90 */
{ "tiara", 12, 12, 90, 12, ITEM_TAKE|ITEM_WEAR_HEAD, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 91 */
{ "comb", 8, 8, 58, 6, ITEM_TAKE|ITEM_WEAR_HEAD, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 2 */
{ "hairpin", 4, 4, 32, 4, ITEM_TAKE|ITEM_WEAR_HEAD, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 3 */
{ "diadem", 18, 18, 95, 20, ITEM_TAKE|ITEM_WEAR_HEAD, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 4 */
{ "spectacles", 5, 5, 90, 9, ITEM_TAKE|ITEM_WEAR_EYES, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 5 */
{ "monacle", 2, 2, 92, 8, ITEM_TAKE|ITEM_WEAR_EYES, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 6 */
{ "eyestrainers", 5, 5, 95, 10, ITEM_TAKE|ITEM_WEAR_EYES, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 7 */
{ "eyeferns", 5, 5, 97, 12, ITEM_TAKE|ITEM_WEAR_EYES, ITEM_ARMOR, 0,
0, 0, 1, 1, 1, 1, NULL }, /* 8 */
{ "mask", 20, 20, 98, 15, ITEM_TAKE|ITEM_WEAR_EYES, ITEM_ARMOR, 0,
0, 0, 2, 2, 2, 2, NULL }, /* 9 */
{ "razor", 5, 5, 10, 4, ITEM_TAKE|ITEM_HOLD, ITEM_RAZOR, 0,
0, 0, 0, 0, 0, 0, NULL }, /* 100 */
{ NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL } /* 101 */
};
以上是关于c_cpp 史密斯需要工作的主要内容,如果未能解决你的问题,请参考以下文章
ADS仿真入门1 -- 结合史密斯圆图对特性阻抗的tuning