Changed mob flag NOBASH to NOKILL --Rumble

This commit is contained in:
Rumble 2009-12-25 00:31:33 +00:00
parent 73ecd212a0
commit 1779f7a30a
7 changed files with 40 additions and 32 deletions

View file

@ -36,6 +36,8 @@ Xlist (mlist, olist, rlist, zlist, slist, tlist, qlist)
(lots of major bugfixes too)
@
tbaMUD 3.61
[Dec 25 2009] - Rumble
Changed mob flag NOBASH to NOKILL.
[Dec 23 2009] - Rumble
Added zone flags and min/max level to show zone # and stat zone #.
Changed show zone # reset mode from a # to the actual string description.

View file

@ -294,12 +294,13 @@ ACMD(do_bash)
send_to_char(ch, "Aren't we funny today...\r\n");
return;
}
if (MOB_FLAGGED(vict, MOB_NOKILL)) {
send_to_char(ch, "This mob is protected.\r\n");
return;
}
percent = rand_number(1, 101); /* 101% is a complete failure */
prob = GET_SKILL(ch, SKILL_BASH);
if (MOB_FLAGGED(vict, MOB_NOBASH))
percent = 101;
if (percent > prob) {
damage(ch, vict, 0, SKILL_BASH);
GET_POS(ch) = POS_SITTING;

View file

@ -187,7 +187,7 @@ const char *action_bits[] = {
"NO_CHARM",
"NO_SUMMN",
"NO_SLEEP",
"NO_BASH",
"NO_KILL",
"NO_BLIND",
"DEAD", /* You should never see this. */
"\n"

View file

@ -857,8 +857,8 @@ void find_replacement(void *go, struct script_data *sc, trig_data *trig,
}
break;
case 'q':
if (!str_cmp(field, "questpoints") ||
!str_cmp(field, "qp") || !str_cmp(field, "qpnts"))
if (!IS_NPC(c) && (!str_cmp(field, "questpoints") ||
!str_cmp(field, "qp") || !str_cmp(field, "qpnts")))
{
if (subfield && *subfield) {
int addition = atoi(subfield);

View file

@ -682,8 +682,9 @@ int damage(struct char_data *ch, struct char_data *victim, int dam, int attackty
return (0);
}
/* shopkeeper protection */
if (!ok_damage_shopkeeper(ch, victim))
/* shopkeeper and MOB_NOKILL protection */
if (!ok_damage_shopkeeper(ch, victim) || MOB_FLAGGED(victim, MOB_NOKILL))
send_to_char(ch, "This mob is protected.\r\n");
return (0);
/* You can't damage an immortal! */

View file

@ -212,6 +212,10 @@ int call_magic(struct char_data *caster, struct char_data *cvict,
act("White light from no particular source suddenly fills the room, then vanishes.", FALSE, caster, 0, 0, TO_ROOM);
return (0);
}
if (MOB_FLAGGED(cvict, MOB_NOKILL)) {
send_to_char(caster, "This mob is protected.\r\n");
return (0);
}
/* determine the type of saving throw */
switch (casttype) {
case CAST_STAFF:

View file

@ -214,7 +214,7 @@
#define MOB_NOCHARM 13 /**< Mob can't be charmed */
#define MOB_NOSUMMON 14 /**< Mob can't be summoned */
#define MOB_NOSLEEP 15 /**< Mob can't be slept */
#define MOB_NOBASH 16 /**< Mob can't be bashed (e.g. trees) */
#define MOB_NOKILL 16 /**< Mob can't be bashed (e.g. trees) */
#define MOB_NOBLIND 17 /**< Mob can't be blinded */
#define MOB_NOTDEADYET 18 /**< (R) Mob being extracted */
/** Total number of Mob Flags; it should be 1 less than MOB_NOT_DEADYET */