diff --git a/src/const.c b/src/const.c index 99629e8..45a465c 100644 --- a/src/const.c +++ b/src/const.c @@ -265,14 +265,13 @@ const struct lck_app_type lck_app[26] = { {-120} /* 25 */ }; -const char *const attack_table[18] = { - "hit", - "slice", "stab", "slash", "whip", "claw", - "blast", "pound", "crush", "grep", "bite", - "pierce", "suction", "bolt", "arrow", "dart", - "stone", "pea" +const char *const attack_table[23] = { + "hit", "pound", "crush", "smash", "spear", "pierce", "stab", "thrust", + "slice", "slash", "cleave", "chop", "smite", "whip", "claw", "bite", + "sting", "blast", "bolt", "arrow", "dart", "stone", "shield" }; + const char *s_blade_messages[24] = { "miss", "barely scratch", "scratch", "nick", "cut", "hit", "tear", "rip", "gash", "lacerate", "hack", "maul", "rend", "decimate", diff --git a/src/db.c b/src/db.c index bcbefb8..36e59c1 100644 --- a/src/db.c +++ b/src/db.c @@ -95,13 +95,14 @@ bool MPSilent; bool DONT_UPPER; /* weaponry */ -short gsn_pugilism; -short gsn_long_blades; -short gsn_short_blades; -short gsn_flexible_arms; -short gsn_talonous_arms; short gsn_bludgeons; +short gsn_pole_weapons; +short gsn_daggers; +short gsn_swords; +short gsn_axes; +short gsn_exotic_arms; short gsn_missile_weapons; +short gsn_shieldwork; /* thief */ short gsn_detrap; @@ -570,13 +571,15 @@ void boot_db(bool fCopyOver) ASSIGN_GSN(gsn_style_aggressive, "aggressive style"); ASSIGN_GSN(gsn_style_berserk, "berserk style"); - ASSIGN_GSN(gsn_pugilism, "pugilism"); - ASSIGN_GSN(gsn_long_blades, "long blades"); - ASSIGN_GSN(gsn_short_blades, "short blades"); - ASSIGN_GSN(gsn_flexible_arms, "flexible arms"); - ASSIGN_GSN(gsn_talonous_arms, "talonous arms"); - ASSIGN_GSN(gsn_bludgeons, "bludgeons"); + ASSIGN_GSN(gsn_pole_weapons, "pole weapons"); + ASSIGN_GSN(gsn_swords, "swords"); + ASSIGN_GSN(gsn_daggers, "daggers"); + ASSIGN_GSN(gsn_axes, "axes"); + ASSIGN_GSN(gsn_exotic_arms, "exotic arms"); + ASSIGN_GSN(gsn_bludgeons, "bludgeons"); ASSIGN_GSN(gsn_missile_weapons, "missile weapons"); + ASSIGN_GSN(gsn_shieldwork, "shields"); + ASSIGN_GSN(gsn_detrap, "detrap"); ASSIGN_GSN(gsn_backstab, "backstab"); ASSIGN_GSN(gsn_circle, "circle"); diff --git a/src/fight.c b/src/fight.c index 50d0483..a52b526 100644 --- a/src/fight.c +++ b/src/fight.c @@ -932,44 +932,53 @@ int weapon_prof_bonus_check(CHAR_DATA * ch, OBJ_DATA * wield, int *gsn_ptr) *gsn_ptr = -1; if (!IS_NPC(ch) && ch->level > 5 && wield) { - switch (wield->value[3]) - { + switch (wield->value[3]) { default: *gsn_ptr = -1; break; + case DAM_HIT: - case DAM_SUCTION: - case DAM_BITE: - case DAM_BLAST: - *gsn_ptr = gsn_pugilism; + case DAM_POUND: + case DAM_CRUSH: + *gsn_ptr = gsn_bludgeons; break; + + case DAM_SMASH: + case DAM_SPEAR: + *gsn_ptr = gsn_pole_weapons; + case DAM_SLASH: case DAM_SLICE: - *gsn_ptr = gsn_long_blades; + case DAM_THRUST: + *gsn_ptr = gsn_swords; break; + case DAM_PIERCE: case DAM_STAB: - *gsn_ptr = gsn_short_blades; + *gsn_ptr = gsn_daggers; break; + + case DAM_SMITE: case DAM_WHIP: - *gsn_ptr = gsn_flexible_arms; - break; case DAM_CLAW: - *gsn_ptr = gsn_talonous_arms; - break; - case DAM_POUND: - case DAM_CRUSH: - *gsn_ptr = gsn_bludgeons; + case DAM_BITE: + case DAM_STING: + case DAM_BLAST: + *gsn_ptr = gsn_exotic_arms; break; + case DAM_BOLT: case DAM_ARROW: case DAM_DART: case DAM_STONE: - case DAM_PEA: *gsn_ptr = gsn_missile_weapons; break; + case DAM_SHIELD: + *gsn_ptr = gsn_shieldwork; + break; } + if (*gsn_ptr != -1) bonus = (int)((LEARNED(ch, *gsn_ptr) - 50) / 10); @@ -1863,7 +1872,7 @@ ch_ret damage(CHAR_DATA * ch, CHAR_DATA * victim, int dam, int dt) dam = ris_damage(victim, dam, RIS_POISON); else if (dt == (TYPE_HIT + DAM_POUND) || dt == (TYPE_HIT + DAM_CRUSH) - || dt == (TYPE_HIT + DAM_STONE) || dt == (TYPE_HIT + DAM_PEA)) + || dt == (TYPE_HIT + DAM_STONE) || dt == (TYPE_HIT + DAM_DART)) dam = ris_damage(victim, dam, RIS_BLUNT); else if (dt == (TYPE_HIT + DAM_STAB) || dt == (TYPE_HIT + DAM_PIERCE) diff --git a/src/mud.h b/src/mud.h index e548de0..95f8d92 100644 --- a/src/mud.h +++ b/src/mud.h @@ -2463,14 +2463,14 @@ struct pc_data int timezone; }; -/* - * Damage types from the attack_table[] - */ +/* Damage types from the attack_table[] */ + typedef enum { - DAM_HIT, DAM_SLICE, DAM_STAB, DAM_SLASH, DAM_WHIP, DAM_CLAW, - DAM_BLAST, DAM_POUND, DAM_CRUSH, DAM_GREP, DAM_BITE, DAM_PIERCE, - DAM_SUCTION, DAM_BOLT, DAM_ARROW, DAM_DART, DAM_STONE, DAM_PEA + DAM_HIT, DAM_POUND, DAM_CRUSH, DAM_SMASH, DAM_SPEAR, DAM_PIERCE, DAM_STAB, + DAM_THRUST, DAM_SLICE, DAM_SLASH, DAM_CLEAVE, DAM_CHOP, DAM_SMITE, + DAM_WHIP, DAM_CLAW, DAM_BITE, DAM_STING, DAM_BLAST, DAM_BOLT, + DAM_ARROW, DAM_DART, DAM_STONE, DAM_SHIELD } damage_types; /* @@ -3040,13 +3040,15 @@ extern short gsn_scribe; extern short gsn_brew; extern short gsn_climb; -extern short gsn_pugilism; -extern short gsn_long_blades; -extern short gsn_short_blades; -extern short gsn_flexible_arms; -extern short gsn_talonous_arms; + extern short gsn_bludgeons; +extern short gsn_pole_weapons; +extern short gsn_daggers; +extern short gsn_swords; +extern short gsn_axes; +extern short gsn_exotic_arms; extern short gsn_missile_weapons; +extern short gsn_shieldwork; extern short gsn_grip; extern short gsn_slice; @@ -3547,7 +3549,7 @@ extern const struct lck_app_type lck_app[26]; extern const struct race_type _race_table[MAX_RACE]; extern struct race_type *race_table[MAX_RACE]; -extern const char *const attack_table[18]; +extern const char *const attack_table[23]; extern const char **const s_message_table[18]; extern const char **const p_message_table[18]; diff --git a/src/skills.c b/src/skills.c index 9c10808..913ec2c 100644 --- a/src/skills.c +++ b/src/skills.c @@ -5966,9 +5966,6 @@ void do_fire(CHAR_DATA* ch, const char* argument) case DAM_STONE: msg = "You have no slingstones...\r\n"; break; - case DAM_PEA: - msg = "You have no peas...\r\n"; - break; } send_to_char(msg, ch); return;