Показать сообщение отдельно
Старый 29.03.2008, 01:12   #84
Devastator
Отличник форума
 
Регистрация: 18.10.2005
Адрес: Пермь
Сообщений: 273
По умолчанию

case SKILL_BACKSTAB: /*заколоть */
victim_sav = SAVING_REFLEX;
percent = skill_is + dex_app[GET_REAL_DEX(ch)].reaction * 2;
if (awake_others(ch))
percent -= 50;

if (vict) {
if (!CAN_SEE(vict, ch))
percent += 25;
if (GET_POS(vict) < POS_FIGHTING)
percent += (20 * (POS_FIGHTING - GET_POS(vict)));
else if (AFF_FLAGGED(vict, AFF_AWARNESS))
victim_modi -= 30;
victim_modi += size_app[GET_POS_SIZE(vict)].ac;
victim_modi -= dex_app[GET_REAL_DEX(vict)].reaction;
}
break;




int awake_others(CHAR_DATA * ch)
{
int i;

if (IS_NPC(ch) && !AFF_FLAGGED(ch, AFF_CHARM))
return (FALSE);

if (IS_GOD(ch))
return (FALSE);

if (AFF_FLAGGED(ch, AFF_STAIRS) ||
AFF_FLAGGED(ch, AFF_SANCTUARY) || AFF_FLAGGED(ch, AFF_SINGLELIGHT) || AFF_FLAGGED(ch, AFF_HOLYLIGHT))
return (TRUE);

for (i = 0; i < NUM_WEARS; i++) {
if (GET_EQ(ch, i))
if ((GET_OBJ_TYPE(GET_EQ(ch, i)) == ITEM_ARMOR &&
GET_EQ(ch, i)->obj_flags.Obj_mater <= MAT_COLOR) ||
OBJ_FLAGGED(GET_EQ(ch, i), ITEM_HUM) || OBJ_FLAGGED(GET_EQ(ch, i), ITEM_GLOW))
return (TRUE);
}
return (FALSE);
}



вроде тут по знакомым словам разобратся сможете
__________________
Владение орфографией русского языка - это как кунг-фу, истинные мастера которого не применяют его без надобности.
Devastator вне форума   Ответить с цитированием