Exemple #1
0
        bool Skill::applySkill(Context *ctx)
        {
            SkillResult sr;
            auto actor = ctx->actorInfo().actor();

            //Получаем текущий уровень умения
            SkillInfo *skillInfo = actor->skill(id());
            std::vector<ActionResult> results = applyToContext(ctx, skillInfo->skillLvl());
            
            //Записываем историю
            sr.SkillId = id();
            sr.Results = results;
            actor->addWishHistory(sr);

            //поднимаем уровень скила
            int roll = d100();
            if (roll <= skillInfo->skillExp())
            {
                skillInfo->skillExpInc();
            }

            return true;
        }