[Circle] Mailing List Address (Try number 2)

From: Alex (fletcher@cspo.queensu.ca)
Date: 07/24/96


Well, hopefully you will have received your subscription information
now from the new mailing list... As you may have noticed, the new
address is:

         circle@cspo.queensu.ca

If you have any problems or whatnot with the list, please send them
to:

         owner-circle@cspo.queensu.ca

Thanks very much, and enjoy!

--
Erm... Yeah.  Whatever.




From Tyler_Wilhite@clr.com 24 Jul 96 15:25:35 EDT
X-SystemInfo: MyE-Mail: EMail
X-Message-No: 2946 (database)
From: Tyler Wilhite/FASTTAX <Tyler_Wilhite@clr.com>
To: circle <circle@pvv.ntnu.no>
Subject: Re: Multiple attacks
Date: Wed, 24 Jul 96 15:25:00
Message-ID: <9607242226.AA0207@clrgate1.fasttax.com>
X-POP3-Rcpt: lk4150@per
Return-Path: owner-circle@pvv.ntnu.no
Received: from flipper.pvv.ntnu.no (43@flipper.pvv.ntnu.no [129.241.210.200]) by per.cybercity.dk (8.6.12/8.6.12) with ESMTP id WAA18585 for <lk4150@krull.dk>; Wed, 24 Jul 1996 22:06:31 +0200
Received: (from majordomo@localhost) by flipper.pvv.ntnu.no (8.7.5/8.6.12) id WAA06941 for circle-outgoing; Wed, 24 Jul 1996 22:22:13 +0200
Received: from sunsrv12.clr.com (sunsrv12.CLR.com [164.57.9.12]) by flipper.pvv.ntnu.no (8.7.5/8.6.12) with ESMTP id WAA06921 for <circle@pvv.ntnu.no>; Wed, 24 Jul 1996 22:21:51 +0200
Received: from clrgate1.fasttax.com (clrgate1.CLR.com [164.57.201.14]) by sunsrv12.clr.com (8.7.3/8.7.3) with SMTP id PAA15043 for <circle@pvv.ntnu.no>; Wed, 24 Jul 1996 15:24:43 -0500 (CDT)
Received: by clrgate1.fasttax.com (IBM OS/2 SENDMAIL VERSION 1.3.14/1.0)id AA0207; Wed, 24 Jul 96 15:26:55 -0700
Received: by FASTTAX (Lotus Notes Mail Gateway for SMTP V1.1) idA4E45164634EAC8186256371006F5A9D; Wed, 24 Jul 96 15:26:55 EDT
Mime-Version: 1.0
Sender: owner-circle@pvv.ntnu.no
Precedence: bulk

Well, I did put a loop at first in the hit function, but what was happening was.

cmd = hit fido

You paste the fido.
You hurt the fido.
You mangle the fido.
Fido is dead.

So, the mobs would never have a chance to act.  I was trying to make it so you 
would hit the mob once,  then combat would resume normally. 
ie

You mangle the fido.

Fido hurts you badly.
You hit fido.
you hit fido
you hit fido.
Fido Hurts you yet again badly.
etc 

I Have seen this on so many muds, I have the code like I said in the previous 
post to do it, I just don't really understand how about making it work.. I'll 
put it at the end of this file for you guys to criticize, I mean, examine.. ;)

Thanks, any help would be very nice!

Franco said:
     Or, you can do it even easier:
Note they all call the hit function, without any modification to the hit
function itself.
Only one that is different for me is the dual_hit, because i check the
WEAR_WIELD_2 eq pos
instead of WEAR_WIELD. Note that you MUST put in the check to see if the
char is fighting
still between hits, or the mud will crash if, for example, player kills the
FIGHTING(ch) on
hit 1 and it auto proceeds to hit 2, looking for a pointer to the already
dead FIGHTING(ch).


[Useful code]
>This is how I implemented multiple attacks on my mud:
>When you call perform_violence() (in the heartbeat() function in pl11),
>call it once for each attack you have with the attack number as argument, ie:
> perform_vilence(1);  /* for attack #1 */
> perform_vilence(2):  /* for attack #2 */
>  /* and so on... */
>
>And my perform_violence() looks something like this (taken from head):
>
>void perform_violence(int attack)
>{
> /* variable declaration */
> struct char_data *ch;
>
> for (ch = combat_list; ch; ch = ch->next_fighting)
> {
>  /* misc stuff to check positions and such */
>
>  /* the old hit() statement */
>  /* hit(ch, FIGHTING(ch), TYPE_UNDEFINED); */
>
>  switch (attack)
>  {
>   case 1:
>    percent = number(1, 101);
>    prob    = GET_SKILL(ch, SKILL_ATTACK1);
>    if (percent > prob)
>    {
>     hit(ch, FIGHTING(ch), TYPE_UNDEFINED,
>      attack);
>    }
>    break;
>   case 2:
>    percent = number(1, 101);
>    prob    = GET_SKILL(ch, SKILL_ATTACK1);
>    if (percent > prob)
>    {
>     hit(ch, FIGHTING(ch), TYPE_UNDEFINED, 
>      attack);
>    }
>    break;
>
>   /* and so on */
>  }
> }
>}
>
>As you can see, I added a new argument to the hit() function, the attack 
>number.
>
>Well, I hope this makes some sense and helps some of you out there :)
>
>/ Joachim Pileborg
^^^ Credit was given!  :)

[Other useful code snipped]



This archive was generated by hypermail 2b30 : 12/07/00 PST