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; }