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

Commit dda6cdd

Browse files
more stuff
1 parent 9913ea7 commit dda6cdd

File tree

8 files changed

+55
-6
lines changed

8 files changed

+55
-6
lines changed

code/__DEFINES/tools.dm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#define TOOL_MULTITOOL "multitool"
44
#define TOOL_SCREWDRIVER "screwdriver"
55
#define TOOL_WIRECUTTER "wirecutter"
6+
#define TOOL_WIRING "wiring"
67
#define TOOL_WRENCH "wrench"
78
#define TOOL_WELDER "welder"
89
#define TOOL_ANALYZER "analyzer"

code/datums/wires/_wires.dm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
if(!I)
55
return
66

7-
if(I.tool_behaviour == TOOL_WIRECUTTER || I.tool_behaviour == TOOL_MULTITOOL)
7+
if(I.tool_behaviour == TOOL_WIRECUTTER || I.tool_behaviour == TOOL_MULTITOOL || I.tool_behaviour == TOOL_WIRING)
88
return TRUE
99
if(istype(I, /obj/item/assembly))
1010
var/obj/item/assembly/A = I
@@ -308,7 +308,7 @@
308308
var/obj/item/I
309309
switch(action)
310310
if("cut")
311-
I = L.is_holding_tool_quality(TOOL_WIRECUTTER)
311+
I = (L.is_holding_tool_quality(TOOL_WIRECUTTER) || (L.is_holding_tool_quality(TOOL_WIRING) && is_cut(target_wire)))
312312
if(I || IsAdminGhost(usr))
313313
if(I && holder)
314314
I.play_tool_sound(holder, 20)

code/game/objects/structures/ghost_role_spawners.dm

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,14 @@
190190
var/has_owner = FALSE
191191
var/can_transfer = TRUE //if golems can switch bodies to this new shell
192192
var/mob/living/owner = null //golem's owner if it has one
193+
base_skills = list(
194+
SKILL_PHYSIOLOGY = EXP_NONE,
195+
SKILL_MECHANICAL = EXP_NONE,
196+
SKILL_TECHNICAL = EXP_NONE,
197+
SKILL_SCIENCE = EXP_LOW,
198+
SKILL_FITNESS = EXP_NONE,
199+
)
200+
skill_points = EXP_GENIUS
193201
short_desc = "You are a Free Golem. Your family worships The Liberator."
194202
flavour_text = "In his infinite and divine wisdom, he set your clan free to \
195203
travel the stars with a single declaration: \"Yeah go do whatever.\" Though you are bound to the one who created you, it is customary in your society to repeat those same words to newborn \
@@ -298,6 +306,14 @@ GLOBAL_LIST_EMPTY(servant_golem_users)
298306
icon = 'icons/obj/lavaland/spawners.dmi'
299307
icon_state = "cryostasis_sleeper"
300308
outfit = /datum/outfit/hermit
309+
base_skills = list(
310+
SKILL_PHYSIOLOGY = EXP_NONE,
311+
SKILL_MECHANICAL = EXP_NONE,
312+
SKILL_TECHNICAL = EXP_NONE,
313+
SKILL_SCIENCE = EXP_NONE,
314+
SKILL_FITNESS = EXP_NONE,
315+
)
316+
skill_points = EXP_MASTER
301317
roundstart = FALSE
302318
death = FALSE
303319
random = TRUE
@@ -317,22 +333,26 @@ GLOBAL_LIST_EMPTY(servant_golem_users)
317333
only one pod left when you got to the escape bay. You took it and launched it alone, and the crowd of terrified faces crowding at the airlock door as your pod's engines burst to \
318334
life and sent you to this hell are forever branded into your memory."
319335
outfit.uniform = /obj/item/clothing/under/rank/civilian/assistantformal
336+
base_skills[SKILL_MECHANICAL] = EXP_MID
320337
if(2)
321338
flavour_text += "you're an exile from the Tiger Cooperative. Their technological fanaticism drove you to question the power and beliefs of the Exolitics, and they saw you as a \
322339
heretic and subjected you to hours of horrible torture. You were hours away from execution when a high-ranking friend of yours in the Cooperative managed to secure you a pod, \
323340
scrambled its destination's coordinates, and launched it. You awoke from stasis when you landed and have been surviving - barely - ever since."
324341
outfit.uniform = /obj/item/clothing/under/rank/prisoner
325342
outfit.shoes = /obj/item/clothing/shoes/sneakers/orange
343+
base_skills[SKILL_TECHNICAL] = EXP_MID
326344
if(3)
327345
flavour_text += "you were a doctor on one of Nanotrasen's space stations, but you left behind that damn corporation's tyranny and everything it stood for. From a metaphorical hell \
328346
to a literal one, you find yourself nonetheless missing the recycled air and warm floors of what you left behind... but you'd still rather be here than there."
329347
outfit.uniform = /obj/item/clothing/under/rank/medical
330348
outfit.suit = /obj/item/clothing/suit/toggle/labcoat
331349
outfit.back = /obj/item/storage/backpack/medic
350+
base_skills[SKILL_PHYSIOLOGY] = EXP_MID
332351
if(4)
333352
flavour_text += "you were always joked about by your friends for \"not playing with a full deck\", as they so kindly put it. It seems that they were right when you, on a tour \
334353
at one of Nanotrasen's state-of-the-art research facilities, were in one of the escape pods alone and saw the red button. It was big and shiny, and it caught your eye. You pressed \
335354
it, and after a terrifying and fast ride for days, you landed here. You've had time to wisen up since then, and you think that your old friends wouldn't be laughing now."
355+
base_skills[SKILL_FITNESS] = EXP_MID
336356

337357
/obj/effect/mob_spawn/human/hermit/Destroy()
338358
new/obj/structure/fluff/empty_cryostasis_sleeper(get_turf(src))
@@ -356,6 +376,14 @@ GLOBAL_LIST_EMPTY(servant_golem_users)
356376
everyone's gone. One of the cats scratched you just a few minutes ago. That's why you were in the pod - to heal the scratch. The scabs are still fresh; you see them right now. So where is \
357377
everyone? Where did they go? What happened to the hospital? And is that smoke you smell? You need to find someone else. Maybe they can tell you what happened."
358378
assignedrole = "Translocated Vet"
379+
base_skills = list(
380+
SKILL_PHYSIOLOGY = EXP_MID,
381+
SKILL_MECHANICAL = EXP_NONE,
382+
SKILL_TECHNICAL = EXP_NONE,
383+
SKILL_SCIENCE = EXP_NONE,
384+
SKILL_FITNESS = EXP_NONE,
385+
)
386+
skill_points = EXP_MASTER
359387

360388
/obj/effect/mob_spawn/human/doctor/alive/lavaland/Destroy()
361389
var/obj/structure/fluff/empty_sleeper/S = new(drop_location())

code/modules/awaymissions/corpse.dm

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,14 @@
345345
icon_state = "sleeper"
346346
short_desc = "You are a space doctor!"
347347
assignedrole = "Space Doctor"
348+
base_skills = list(
349+
SKILL_PHYSIOLOGY = EXP_MID,
350+
SKILL_MECHANICAL = EXP_NONE,
351+
SKILL_TECHNICAL = EXP_NONE,
352+
SKILL_SCIENCE = EXP_NONE,
353+
SKILL_FITNESS = EXP_NONE,
354+
)
355+
skill_points = EXP_HIGH
348356

349357
/obj/effect/mob_spawn/human/doctor/alive/equip(mob/living/carbon/human/H)
350358
..()

code/modules/mob/living/carbon/human/_species.dm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1501,7 +1501,7 @@ GLOBAL_LIST_EMPTY(features_by_species)
15011501
// nutrition decrease and satiety
15021502
if (H.nutrition > 0 && H.stat != DEAD && !HAS_TRAIT(H, TRAIT_NOHUNGER))
15031503
// THEY HUNGER
1504-
var/hunger_rate = HUNGER_FACTOR
1504+
var/hunger_rate = HUNGER_FACTOR * (EXP_MASTER + H.get_skill(SKILL_FITNESS)) / EXP_MASTER
15051505
var/datum/component/mood/mood = H.GetComponent(/datum/component/mood)
15061506
if(mood && mood.sanity > SANITY_DISTURBED)
15071507
hunger_rate *= max(0.5, 1 - 0.002 * mood.sanity) //0.85 to 0.75

code/modules/power/cable.dm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -469,6 +469,7 @@ By design, d1 is the smallest direction and d2 is the highest
469469
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
470470
max_amount = MAXCOIL
471471
amount = MAXCOIL
472+
tool_behaviour = TOOL_WIRING
472473
merge_type = /obj/item/stack/cable_coil // This is here to let its children merge between themselves
473474
color = CABLE_HEX_COLOR_YELLOW
474475
desc = "A coil of insulated power cable."

code/modules/projectiles/gun.dm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -368,10 +368,10 @@
368368
return
369369

370370
var/sprd = 0
371-
var/randomized_gun_spread = EXP_GENIUS - user.get_skill(SKILL_FITNESS)
371+
var/randomized_gun_spread = 0
372372
var/rand_spr = rand()
373373
if(spread > 0)
374-
randomized_gun_spread += rand(0,spread)
374+
randomized_gun_spread += rand(0,spread) * (8 - user.get_skill(SKILL_FITNESS)) / 5
375375
if(ishuman(user)) //nice shootin' tex
376376
var/mob/living/carbon/human/H = user
377377
bonus_spread += H.dna.species.aiminginaccuracy

code/modules/reagents/chemistry/machinery/chem_dispenser.dm

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@
242242
var/chemname = temp.name
243243
if(is_hallucinating && prob(5))
244244
chemname = "[pick_list_replacements("hallucination.json", "chemicals")]"
245-
chemicals.Add(list(list("title" = chemname, "id" = ckey(temp.name), "locked" = (dispensable_reagents.Find(temp.type) ? FALSE : TRUE), "tier" = get_tier_for_chemical(temp))))
245+
chemicals.Add(list(list("title" = chemname, "id" = ckey(temp.name), "locked" = !can_display_reagent(user, temp.type), "tier" = get_tier_for_chemical(temp))))
246246
for(var/recipe in saved_recipes)
247247
recipes.Add(list(recipe))
248248
data["chemicals"] = chemicals
@@ -345,6 +345,17 @@
345345
saved_recipes += list(list("recipe_name" = name, "contents" = recipe))
346346
yogs - removed chem recipes */
347347

348+
/obj/machinery/chem_dispenser/proc/can_display_reagent(mob/user, reagent_type)
349+
if(dispensable_reagents.Find(reagent_type))
350+
return TRUE
351+
if(user.skill_check(SKILL_SCIENCE, EXP_GENIUS) && t4_upgrade_reagents.Find(reagent_type))
352+
return TRUE
353+
if(user.skill_check(SKILL_SCIENCE, EXP_HIGH) && t3_upgrade_reagents.Find(reagent_type))
354+
return TRUE
355+
if(user.skill_check(SKILL_SCIENCE, EXP_MID) && t2_upgrade_reagents.Find(reagent_type))
356+
return TRUE
357+
return FALSE
358+
348359
/obj/machinery/chem_dispenser/attackby(obj/item/I, mob/living/user, params)
349360
if(default_unfasten_wrench(user, I))
350361
return

0 commit comments

Comments
 (0)