Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.

Commit 31490d1

Browse files
fix + rebalancing
1 parent c6fd7d8 commit 31490d1

File tree

9 files changed

+40
-19
lines changed

9 files changed

+40
-19
lines changed

code/_onclick/hud/screen_objects.dm

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -124,13 +124,13 @@
124124
icon_state = "skill_menu"
125125
screen_loc = ui_skill_menu
126126
var/list/allocated_skills = list(
127-
SKILL_PHYSIOLOGY = 0,
128-
SKILL_MECHANICAL = 0,
129-
SKILL_TECHNICAL = 0,
130-
SKILL_SCIENCE = 0,
131-
SKILL_FITNESS = 0,
127+
SKILL_PHYSIOLOGY = EXP_NONE,
128+
SKILL_MECHANICAL = EXP_NONE,
129+
SKILL_TECHNICAL = EXP_NONE,
130+
SKILL_SCIENCE = EXP_NONE,
131+
SKILL_FITNESS = EXP_NONE,
132132
)
133-
var/allocated_points = 0
133+
var/allocated_points = EXP_NONE
134134

135135
/atom/movable/screen/skill_menu/Click()
136136
ui_interact(usr)
@@ -164,15 +164,30 @@
164164
CRASH("User ([user]) without a mind attempted to allocate skill points!")
165165
switch(action)
166166
if("confirm")
167+
if(allocated_points > user.mind.skill_points)
168+
stack_trace("[user] attempted to allocate [allocated_points] skill points when they only had [user.mind.skill_points] available!")
169+
message_admins("[key_name_admin(user)] may have attempted an exploit to gain more skill points than intended!")
170+
qdel(allocated_skills)
171+
allocated_skills = list(
172+
SKILL_PHYSIOLOGY = EXP_NONE,
173+
SKILL_MECHANICAL = EXP_NONE,
174+
SKILL_TECHNICAL = EXP_NONE,
175+
SKILL_SCIENCE = EXP_NONE,
176+
SKILL_FITNESS = EXP_NONE,
177+
)
178+
allocated_points = EXP_NONE
179+
return TRUE
167180
for(var/skill in user.mind.skills)
168181
user.adjust_skill(skill, allocated_skills[skill], max_skill = EXP_GENIUS)
169-
allocated_skills[skill] = 0
182+
allocated_skills[skill] = EXP_NONE
170183
user.mind.skill_points -= allocated_points
171-
allocated_points = 0
184+
allocated_points = EXP_NONE
172185
if(!user.mind.skill_points)
173186
user.clear_alert("skill points")
174187
return TRUE
175188
if("allocate")
189+
if(allocated_points + params["amount"] > user.mind.skill_points)
190+
return TRUE
176191
allocated_skills[params["skill"]] += params["amount"]
177192
allocated_points += params["amount"]
178193
return TRUE

code/game/mecha/mecha_wreckage.dm

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,12 @@
3030

3131
/obj/structure/mecha_wreckage/examine(mob/user)
3232
. = ..()
33-
. += span_danger("There was no capacitor to save this poor mecha from its doomed fate! It cannot be repaired!")
33+
var/damage_msg = "There was no capacitor to save this poor mecha from its doomed fate"
34+
if(user.skill_check(SKILL_MECHANICAL, EXP_GENIUS) || user.skill_check(SKILL_MECHANICAL, EXP_GENIUS))
35+
damage_msg = ", but you think you could get it working again..."
36+
else
37+
damage_msg = "! It cannot be repaired!"
38+
. += span_warning(damage_msg)
3439

3540
/obj/structure/mecha_wreckage/gygax
3641
name = "\improper Gygax wreckage"

code/modules/jobs/job_types/botanist.dm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
SKILL_SCIENCE = EXP_MID,
2727
SKILL_FITNESS = EXP_LOW,
2828
)
29-
skill_points = 2
29+
skill_points = 3
3030

3131
departments_list = list(
3232
/datum/job_department/service,

code/modules/jobs/job_types/chemist.dm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@
2828
SKILL_PHYSIOLOGY = EXP_LOW,
2929
SKILL_MECHANICAL = EXP_NONE,
3030
SKILL_TECHNICAL = EXP_NONE,
31-
SKILL_SCIENCE = EXP_HIGH,
31+
SKILL_SCIENCE = EXP_MID,
3232
SKILL_FITNESS = EXP_NONE,
3333
)
34-
skill_points = 2
34+
skill_points = 3
3535

3636
departments_list = list(
3737
/datum/job_department/medical,

code/modules/jobs/job_types/head_of_security.dm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
SKILL_SCIENCE = EXP_NONE,
4545
SKILL_FITNESS = EXP_HIGH,
4646
)
47-
skill_points = 1 // officers don't really have much to do
47+
skill_points = 2 // officers don't really have much to do
4848

4949
departments_list = list(
5050
/datum/job_department/security,

code/modules/jobs/job_types/medical_doctor.dm

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,10 @@
3232
SKILL_PHYSIOLOGY = EXP_HIGH,
3333
SKILL_MECHANICAL = EXP_NONE,
3434
SKILL_TECHNICAL = EXP_NONE,
35-
SKILL_SCIENCE = EXP_LOW,
35+
SKILL_SCIENCE = EXP_NONE,
3636
SKILL_FITNESS = EXP_NONE,
3737
)
38+
skill_points = 3
3839

3940
mail_goodies = list(
4041
/obj/item/healthanalyzer/advanced = 15,

code/modules/jobs/job_types/roboticist.dm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@
2626
base_skills = list(
2727
SKILL_PHYSIOLOGY = EXP_NONE,
2828
SKILL_MECHANICAL = EXP_LOW,
29-
SKILL_TECHNICAL = EXP_MID,
29+
SKILL_TECHNICAL = EXP_LOW,
3030
SKILL_SCIENCE = EXP_LOW,
3131
SKILL_FITNESS = EXP_NONE,
3232
)
33-
skill_points = 2
33+
skill_points = 3
3434

3535
departments_list = list(
3636
/datum/job_department/science,

code/modules/jobs/job_types/security_officer.dm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@
3333
SKILL_MECHANICAL = EXP_NONE,
3434
SKILL_TECHNICAL = EXP_NONE,
3535
SKILL_SCIENCE = EXP_NONE,
36-
SKILL_FITNESS = EXP_HIGH,
36+
SKILL_FITNESS = EXP_MID,
3737
)
38-
skill_points = 1 // officers don't really have much to do
38+
skill_points = 2 // officers don't really have much to do
3939

4040
departments_list = list(
4141
/datum/job_department/security,

code/modules/jobs/job_types/warden.dm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
SKILL_SCIENCE = EXP_NONE,
3838
SKILL_FITNESS = EXP_HIGH,
3939
)
40-
skill_points = 1 // officers don't really have much to do
40+
skill_points = 2 // officers don't really have much to do
4141

4242
departments_list = list(
4343
/datum/job_department/security,

0 commit comments

Comments
 (0)