This repository was archived by the owner on May 22, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +10
-4
lines changed
Expand file tree Collapse file tree 2 files changed +10
-4
lines changed Original file line number Diff line number Diff line change @@ -40,7 +40,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list(
4040 var /atom/movable /screen/rest_icon
4141 var /atom/movable /screen/throw_icon
4242 var /atom/movable /screen/module_store_icon
43- var /atom/movable /screen/skill_menu
43+ var /atom/movable /screen/skill_menu/ skill_menu
4444
4545 var /list /static_inventory = list () // the screen objects which are static
4646 var /list /toggleable_inventory = list () // the screen objects which can be hidden
Original file line number Diff line number Diff line change 808808/ mob / proc / add_exp(skill, amount)
809809 if (! mind)
810810 return FALSE
811- if (mind. exp_progress[skill] + amount >= EXPERIENCE_PER_LEVEL * (2 ** mind. skills[skill])) // exp required scales exponentially
812- mind. exp_progress[skill] = 0
813- adjust_skill (skill, 1 )
811+ var /exp_required = EXPERIENCE_PER_LEVEL * (2 ** mind. skills[skill]) // exp required scales exponentially
812+ if (mind. exp_progress[skill] + amount >= exp_required)
813+ var /levels_gained = round(log(2 , 1 + (mind. exp_progress[skill] + amount) / exp_required)) // in case you gained so much you go up more than one level
814+ var /levels_allocated = hud_used?. skill_menu ? hud_used. skill_menu. allocated_skills[skill] : 0
815+ if (levels_allocated > 0 ) // adjust any already allocated skills to prevent shenanigans (you know who you are)
816+ hud_used. skill_menu. allocated_points -= min(levels_gained, levels_allocated)
817+ hud_used. skill_menu. allocated_skills[skill] -= min(levels_gained, levels_allocated)
818+ mind. exp_progress[skill] += amount - exp_required * (2 ** (levels_gained - 1 ))
819+ adjust_skill (skill, levels_gained)
814820 to_chat (src , span_boldnotice(" Your [ skill] skill is now level [ get_skill(skill)] !" ))
815821 return TRUE
816822 mind. exp_progress[skill] += amount
You can’t perform that action at this time.
0 commit comments