Какой шанс прохождения скила Spoil и Spoil Festival на с4 хрониках и зависимость от лвла

sergebaz

Прославленный
Местный
Сообщения
546
Розыгрыши
0
Решения
1
Репутация
236
Реакции
107
Баллы
1 478
Хроники
  1. Scions of Destiny
Сборка
Lostworld
Доброго времени читающим тему, собственно ищу инфу по шансу прохождения спойла, буду рад дельным ответам
 
Сумоним @Gaikotsu этот человек должен знать все ;)
 
Ну для общего понимания механики, можно посмотреть код со 162 протокола GOD. Я не думаю, что корейцы там что-то прям очень сильно поменяли)
Код:
char __fastcall CSkillEffect_i_spoil::Instant(
        CSkillEffect_i_spoil *this,
        CCreature *pSkillUser,
        CWorldObject *pTarget,
        const CSkillInfo *pSkillInfo)
{
  int level_delta; // ebx
  CNPC npc; // rdi
  int level_delta2; // ecx
  int chance; // r15d
  double final_chance; // xmm6_8
  int level_delta3; // edx

  level_delta = 0;
  if ( !pSkillUser->IsPC(pSkillUser) )
    return 0;
  npc = 0i64;
  if ( pTarget->IsNPC(pTarget) )
  {
    npc = pTarget->CastNPC(pTarget);
    if ( !npc || !L2Common::IsAliveNPC(pTarget) )
      return 0;
  }
  if ( !CSkillEffect_i_spoil::CheckCond(this, pSkillUser, npc) )
    return 0;
  if ( NPCLevel - Skill.MagicLevel) <= 0 )
    level_delta2 = 0;
  else
    level_delta2 = NPCLevel - Skill.MagicLevel;
  chance = 5;
  if ( 5 * (20 - level_delta2) >= 5 )
  {
    if ( NPCLevel - Skill.MagicLevel) > 0 )
      level_delta = NPCLevel - Skill.MagicLevel;
    chance = 5 * (20 - level_delta);
  }
  final_chance = 100.0;
  if ( chance > genrand64_real1() * 100.0 + 0.0 )
  {
    CSkillEffect_i_spoil::SetSpoilUserInfoToNPC(this, pSkillUser, npc);
    level_delta3 = NPCLevel - CasterLevel;
    if ( level_delta3 < -5 )
    {
      if ( level_delta3 < -10 )
        final_chance = 10.0;
      else
        final_chance = (level_delta3 * 18.0) + 190.0);
    }
    if ( final_chance >= (double)(rand() % 100) )
      CSkillEffect_i_spoil::MakeDropList(this, pSkillUser, npc);
    pSkillUser->SendSystemMessage(pSkillUser, 612u);
  }
  return 1;
}

Я там чутка причесал нейминг, но ничего больше не трогал. Я думаю в целом все должно быть понятно.
 
Сумоним @Gaikotsu этот человек должен знать все ;)
ну я особо не копал уж на эту тему, т.к. в реалиях ГоД спойл скорее мертв, чем жив.
ну а так, вон Aristo код расчета уже выложил - вроде вполне понятный.
Единственно что после хф могли к примеру какие-то из модификаторов там поменять, учитывая что макс. уровни поднялись у мобов, а сам спойл на 85+ не учится.
 
Назад
Сверху Снизу