I have a feeling there is something wrong with damage() function or
something.. but here is my problem.. offensive skills don't send their
messages.. <backstab, headbuitt, bash, kick>... anyways.. could someone
post the original damage() function? mine is modified for my pkill and I
don't got a backup of the old one
thanks
Nashak Brian Williams The Realms of Luminari
nashak@darkstr.com bmw@efn.org darkstr.com 6969
+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://cspo.queensu.ca/~fletcher/Circle/list_faq.html |
+-----------------------------------------------------------+
From dkarnes@mystech.com Sun, 18 Aug 96 14:52:37 EDT
X-SystemInfo: MyE-Mail: EMail
X-Message-No: 3785 (database)
From: Derek Karnes <dkarnes@mystech.com>
To: circle <circle@cspo.queensu.ca>
Subject: [Circle] [Code] multiple attacks
Date: Sun, 18 Aug 96 19:52:00
Message-ID: <9608181852.AA11674@fc>
X-POP3-Rcpt: lk4150@per
Return-Path: <@QUCDN.QueensU.CA:owner-circle@cspo.queensu.ca>
Received: from QUCDN.QueensU.CA (QUCDN.QueensU.CA [130.15.126.2]) by per.cybercity.dk (8.6.12/8.6.12) with SMTP id UAA08460 for <lk4150@krull.dk>; Sun, 18 Aug 1996 20:58:41 +0200
Received: from cspo.queensu.ca by QUCDN.QueensU.CA (IBM VM SMTP V2R2) with TCP;Sun, 18 Aug 96 15:04:43 EDT
Received: by cspo.queensu.ca (SMI-8.6/SMI-SVR4)id OAA01784; Sun, 18 Aug 1996 14:43:51 -0500
Received: from mystech.com by cspo.queensu.ca (SMI-8.6/SMI-SVR4)
Received: (from mail@localhost) by mystech.com (8.7.4/8.7.3) id OAA16034 for <circle@cspo.queensu.ca>; Sun, 18 Aug 1996 14:45:58 -0400
Received: from unknown(42.3.0.4) by bastion.mystech.com via smap (V1.3)
Received: by fc (4.1/SMI-4.1)
Sender: owner-circle@cspo.queensu.ca
Precedence: bulk
I'm adding multiple attacks in perform_violence; the problem being that
the fight looks a lot like this:
ch hits vict
prompt 1>
vict hits ch
vict hits ch
vict hits ch
prompt 2>
vict hits ch
vict hits ch
vict hits ch
prompt 3>
vict hits ch
vict hits ch
vict hits ch
ch hits vict
ch hits vict
ch hits vict
prompt 4>
after that, it keeps giving the correct messages such as above prompt 4.
I understand the part above prompt 1 (do_hit is called, after which
perform_violence is called the next round, thus only 1 hit message.
I don't understand why the victim gets two free rounds of attacks, and
how I can stop that from happening. Here's a not-so-short version of my
perform_violence code:
void perform_violence(void)
{
struct char_data *ch;
int attacks, i = 0;
extern struct index_data *mob_index;
for (ch = combat_list; ch; ch = next_combat_list){
next_combat_list = ch->next_fighting;
i = 0;
attacks = 3;
if (FIGHTING(ch) == NULL || ch->in_room != FIGHTING(ch)->in_room){
stop_fighting(ch);
continue;
}
if (IS_NPC(ch)){
if (GET_MOB_WAIT(ch) > 0){
GET_MOB_WAIT(ch) -= PULSE_VIOLENCE;
continue;
}
GET_MOB_WAIT(ch) = 0;
if (GET_POS(ch) < POS_FIGHTING){
GET_POS(ch) = POS_FIGHTING;
act("$n scrambles to $s feet!", TRUE, ch, 0, 0, TO_ROOM);
}
}
if (GET_POS(ch) < POS_FIGHTING){
send_to_char("You can't fight while sitting!!\r\n", ch);
continue;
}
while(i<attacks){
if( FIGHTING(ch)&& (ch != FIGHTING(ch)) ){
if (AWAKE(ch) && (ch->in_room == FIGHTING(ch)->in_room))
hit(ch, FIGHTING(ch), TYPE_UNDEFINED);
else /* Not in same room victim, fled during an attack*/
if (FIGHTING(ch))
stop_fighting(ch);
}
else/*ch fighting themselves - 2.2 bug?*/
if (FIGHTING(ch))
stop_fighting(ch);
i++;
}
if (MOB_FLAGGED(ch, MOB_SPEC) &&
mob_index[GET_MOB_RNUM(ch)].func != NULL)
(mob_index[GET_MOB_RNUM(ch)].func) (ch, ch, 0, "");
}
}
Any ideas? the calls to perfrom violence are stock circle stuff.
+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://cspo.queensu.ca/~fletcher/Circle/list_faq.html |
+-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/07/00 PST