コード例 #1
0
ファイル: special.c プロジェクト: MUDOmnibus/Merc21-for-GCC4
bool spec_cast_adept( CHAR_DATA *ch )
{
    CHAR_DATA *victim;
    CHAR_DATA *v_next;

    if ( !IS_AWAKE(ch) )
	return FALSE;

    for ( victim = ch->in_room->people; victim != NULL; victim = v_next )
    {
	v_next = victim->next_in_room;
	if ( victim != ch && can_see( ch, victim ) && number_bits( 1 ) == 0 )
	    break;
    }

    if ( victim == NULL )
	return FALSE;

    switch ( number_bits( 3 ) )
    {
    case 0:
	act( "$n utters the word 'tehctah'.", ch, NULL, NULL, TO_ROOM );
	spell_armor( skill_lookup( "armor" ), ch->level, ch, victim );
	return TRUE;

    case 1:
	act( "$n utters the word 'nhak'.", ch, NULL, NULL, TO_ROOM );
	spell_bless( skill_lookup( "bless" ), ch->level, ch, victim );
	return TRUE;

    case 2:
	act( "$n utters the word 'yeruf'.", ch, NULL, NULL, TO_ROOM );
	spell_cure_blindness( skill_lookup( "cure blindness" ),
	    ch->level, ch, victim );
	return TRUE;

    case 3:
	act( "$n utters the word 'garf'.", ch, NULL, NULL, TO_ROOM );
	spell_cure_light( skill_lookup( "cure light" ),
	    ch->level, ch, victim );
	return TRUE;

    case 4:
	act( "$n utters the words 'rozar'.", ch, NULL, NULL, TO_ROOM );
	spell_cure_poison( skill_lookup( "cure poison" ),
	    ch->level, ch, victim );
	return TRUE;

    case 5:
	act( "$n utters the words 'nadroj'.", ch, NULL, NULL, TO_ROOM );
	spell_refresh( skill_lookup( "refresh" ), ch->level, ch, victim );
	return TRUE;

    }

    return FALSE;
}
コード例 #2
0
ファイル: spells2.c プロジェクト: Goldbishop/MUD_Source
void cast_cure_light( byte level, struct char_data *ch, char *arg, int type,
  struct char_data *tar_ch, struct obj_data *tar_obj )
{
  switch (type) {
    case SPELL_TYPE_SPELL:
      spell_cure_light(level,ch,tar_ch,0);
      break;
    case SPELL_TYPE_POTION:
			spell_cure_light(level,ch,ch,0);
			break;
    case SPELL_TYPE_STAFF:
         for (tar_ch = world[ch->in_room].people ; 
              tar_ch ; tar_ch = tar_ch->next_in_room)
            if (tar_ch != ch) 
               spell_cure_light(level,ch,tar_ch,0);
         break;
    default : 
         log("Serious screw-up in cure light!");
         break;
  }
}
コード例 #3
0
bool spec_cast_adept( CHAR_DATA *ch )
{
	CHAR_DATA *victim;
	CHAR_DATA *v_next;

	if ( !IS_AWAKE(ch) )
		return FALSE;

	for ( victim = ch->in_room->people; victim != NULL; victim = v_next )
	{
		v_next = victim->next_in_room;
		if ( victim != ch && can_see( ch, victim ) && number_bits( 1 ) == 0 
			&& !IS_NPC(victim) && victim->level < 11)
			break;
	}

	if ( victim == NULL )
		return FALSE;

	switch ( number_bits( 4 ) )
	{
		case 0:
		act( "$n utters the word 'abrazak'.", ch, NULL, NULL, TO_ROOM );
		spell_armor( skill_lookup( "armor" ), ch->level,ch,victim,TARGET_CHAR);
		return TRUE;

		case 1:
		act( "$n utters the word 'fido'.", ch, NULL, NULL, TO_ROOM );
		spell_bless( skill_lookup( "bless" ), ch->level,ch,victim,TARGET_CHAR);
		return TRUE;

		case 2:
		act("$n utters the words 'judicandus noselacri'.",ch,NULL,NULL,TO_ROOM);
		spell_cure_blindness( skill_lookup( "cure blindness" ),
			ch->level, ch, victim,TARGET_CHAR);
		return TRUE;

		case 3:
		act("$n utters the words 'judicandus dies'.", ch,NULL, NULL, TO_ROOM );
		spell_cure_light( skill_lookup( "cure light" ),
			ch->level, ch, victim,TARGET_CHAR);
		return TRUE;

		case 4:
		act( "$n utters the words 'judicandus sausabru'.",ch,NULL,NULL,TO_ROOM);
		spell_cure_poison( skill_lookup( "cure poison" ),
			ch->level, ch, victim,TARGET_CHAR);
		return TRUE;

		case 5:
		act("$n utters the word 'candusima'.", ch, NULL, NULL, TO_ROOM );
		spell_refresh( skill_lookup("refresh"),ch->level,ch,victim,TARGET_CHAR);
		return TRUE;

		case 6:
		act("$n utters the words 'judicandus eugzagz'.",ch,NULL,NULL,TO_ROOM);
		spell_cure_disease(skill_lookup("cure disease"),
			ch->level,ch,victim,TARGET_CHAR);
	}

	return FALSE;
}