Well, I don't see your purpose in paf_last, but other than that I don't see
anything wrong, so I have to agree with Jason's question: "What's not
working"
- Valnir
----- Original Message -----
From: "Mervine, Keith" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Monday, November 08, 2004 1:50 PM
Subject: Finding an affect by name and stopping it.
Greetings,
I'm not sure if this has been done before, but I'm trying to let
players stop affects on themselves by issusing a command.
What I have so far(from looking at other code) doesn't appear to work.
Can someone take a look at it and advise me please?
The syntax would be something like "stop displacement"
Thanks!
-K
void do_stop( CHAR_DATA *ch, char *argument )
{
char arg[MAX_INPUT_LENGTH];
AFFECT_DATA *paf, *paf_last = NULL;
char buf[MAX_STRING_LENGTH];
int sn;
argument = one_argument( argument, arg );
if ( arg[0] == '\0' )
{
if ( ch->affected != NULL )
{
send_to_char( "You are maintaining the following psi powers:\n\r",
ch );
for ( paf = ch->affected; paf != NULL; paf = paf->next )
{
if (skill_table[paf->type].group == GROUP_PSI)
{
sprintf( buf, "@[EMAIL PROTECTED]
%d/tick\n\r",skill_table[paf->type].name,skill_table[paf->type].min_mana
);
send_to_char( buf,ch );
paf_last = paf;
}
}
}
else
{
send_to_char("You are not maintaining any psi powers.\n\r",ch);
}
return;
}
if ( sn = find_spell( ch,arg ) < 0 )
{
send_to_char( "You don't of know any powers by that name.\n\r",
ch );
return;
}
if (is_affected(ch,sn))
{
affect_strip(ch,sn);
if ( skill_table[sn].msg_off )
{
send_to_char( skill_table[sn].msg_off, ch );
send_to_char( "\n\r", ch );
}
return;
}
}
--
ROM mailing list
[email protected]
http://www.rom.org/cgi-bin/mailman/listinfo/rom