bylins / mud

МПМ Былины
https://www.bylins.su/
Other
37 stars 27 forks source link

Здесь пишем кривые спеллы #1799

Open bylins opened 2 years ago

bylins commented 2 years ago

первым делом написать шпаргалку по расшифровке векторов типа

enum EMagic : Bitvector {
    kMagDamage = 1 << 0,
    kMagAffects = 1 << 1,
    kMagUnaffects = 1 << 2,
    kMagPoints = 1 << 3,
    kMagAlterObjs = 1 << 4,
    kMagGroups = 1 << 5,
    kMagMasses = 1 << 6,
    kMagAreas = 1 << 7,
    kMagSummons = 1 << 8,
    kMagCreations = 1 << 9,
    kMagManual = 1 << 10,
    kMagWarcry = 1 << 11,
    kMagNeedControl = 1 << 12,
// А чего это тут дырка Ж)
    kNpcDamagePc = 1 << 16,
    kNpcDamagePcMinhp = 1 << 17,
    kNpcAffectPc = 1 << 18,
    kNpcAffectPcCaster = 1 << 19,
    kNpcAffectNpc = 1 << 20,
    kNpcUnaffectNpc = 1 << 21,
    kNpcUnaffectNpcCaster = 1 << 22,
    kNpcDummy = 1 << 23,
    kMagRoom = 1 << 24,
    kMagCasterInroom = 1 << 25, // Аффект от этого спелла действует пока кастер в комнате //
    kMagCasterInworld = 1 << 26, // висит пока кастер в мире //
    kMagCasterAnywhere = 1 << 27, // висит пока не упадет сам //
    kMagCasterInworldDelay = 1 << 28 // висит пока кастер в мире, плюс таймер после ухода кастера//
bylins commented 2 years ago

понижающие силу противника ESpell::kChillTouch modifier = -1 - GetRealRemort(ch) / 2 ESpell::kEnergyDrain modifier = -2 ((level / 6 + GetRealRemort(ch) / 2)); ESpell::kWeaknes modifier = -1 ((level / 6 + GetRealRemort(ch) / 2)); ESpell::kFever modifier = -GetRealRemort(ch) / 5; ESpell::kPoison modifier = level + GetRealRemort(ch) / 2;

bylins commented 2 years ago

ESpell::kMassSlow ESpell::SlowDown понижает ловкость, percent это % скилла магии

            if (percent >= 80) {
                return (percent - 80) / 20.00 + 1.00;
            }

однако его противоположность ускорение, повышает реакцию.....

bylins commented 2 years ago

ESpell::kWeb ухудшает AC на 20, т.е. в сумме на единичку, имхо имелось ввиду на 200, т.е. обнуляет.

bylins commented 2 years ago

плач не выложено в мир, корявые модификаторы изменяет af[1].location = EApply::kCastSuccess; af[0].location = EApply::kHp; af[2].location = EApply::kMorale;

bylins commented 2 years ago

3 разных закла делают одно и тоже, очень нужное, не дают мобам реколяться case ESpell::kNoflee: // "приковать противника" case ESpell::kIndriksTeeth: - еще и дамагают case ESpell::kSnare: - массовое вешают флаг EAffect::kNoTeleport нельзя войти спентиться рекольнуться прыгнуть присуммонить

bylins commented 2 years ago
    case ESpell::kGroupHaste:
    case ESpell::kHaste:

улучшает реакцию, но совсем незаметно af[0].modifier = -1 - GetRealRemort(ch) / 5;

bylins commented 2 years ago

ESpell::kColdWind: понижает ловку на 2d3 еще и дамагает, вот только прикосновение понижает силу и конкретно

bylins commented 2 years ago

нет ни одного бафа поднимающего инициативу есть понижающий, прокла

bylins commented 2 years ago

круг пустоты накладывается сам на себя, так же как и кп

bylins commented 1 year ago

image что за шутки?

hikopol commented 1 year ago

О не реализованных спеллах таких как : ESpell::kOblivion , ESpell::kBurdenOfTime , ESpell::kPeaceful, ESpell::kVampirism, действующих на комнату ESpell::kThunderstorm, ESpell::kPoosinedFog подумать и решить, доделывать ли их, или убрать ?!