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

Commit 2b1ae46

Browse files
committed
Merge branch 'master' into pr/22301
2 parents ad4f9fb + 5a7acb1 commit 2b1ae46

File tree

196 files changed

+2174
-806
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

196 files changed

+2174
-806
lines changed

code/__DEFINES/colors.dm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@
108108
#define COLOR_VIOLET "#B900F7"
109109
#define COLOR_STRONG_VIOLET "#6927C5"
110110
#define COLOR_DARK_PURPLE "#551A8B"
111+
#define COLOR_TAR_PURPLE "#553F8A"
111112

112113
#define COLOR_ORANGE "#FF9900"
113114
#define COLOR_IRISH_ORANGE "#FF883E"

code/__DEFINES/flags.dm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,5 +250,7 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
250250
#define IGNORE_INCAPACITATED (1<<3)
251251
/// Used to prevent important slowdowns from being abused by drugs like kronkaine
252252
#define IGNORE_SLOWDOWNS (1<<4)
253+
/// Used to keep the skill indicator icon without using the built-in delay modifier
254+
#define IGNORE_SKILL_DELAY (1<<5)
253255

254256
#define IGNORE_ALL (IGNORE_USER_LOC_CHANGE|IGNORE_TARGET_LOC_CHANGE|IGNORE_HELD_ITEM|IGNORE_INCAPACITATED|IGNORE_SLOWDOWNS)

code/__DEFINES/hud.dm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@
106106
#define ui_borg_radio "EAST-1:28,SOUTH+1:7"
107107
#define ui_borg_intents "EAST-2:26,SOUTH:5"
108108
#define ui_language_menu "EAST-5:20,SOUTH:21"
109+
#define ui_skill_menu "EAST-5:20,SOUTH:5"
109110
#define ui_move_up "EAST-4:22, SOUTH:21"
110111
#define ui_move_down "EAST-4:22, SOUTH:5"
111112

code/__DEFINES/maths.dm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#define NUM_E 2.71828183
66

77
#define PI 3.1416
8+
#define SQRT_2 1.414214
89
#define INFINITY 1e31 //closer then enough
910

1011
#define SHORT_REAL_LIMIT 16777216

code/__DEFINES/say.dm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@
7979
#define SPAN_CULTLARGE "cultlarge"
8080
#define SPAN_HELIUM "small"
8181
#define SPAN_PROGENITOR "progenitor"
82+
#define SPAN_COLOSSUS "colossus"
8283

8384
//bitflag #defines for return value of the radio() proc.
8485
#define ITALICS (1<<0)

code/__DEFINES/skills.dm

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
2+
/// Medicine and surgery.
3+
#define SKILL_PHYSIOLOGY "physiology"
4+
/// Construction and repair of structures and machinery.
5+
#define SKILL_MECHANICAL "mechanics"
6+
/// Hacking, piloting, and robotic maintenance.
7+
#define SKILL_TECHNICAL "technical"
8+
/// Chemistry, botany, physics, and other sciences.
9+
#define SKILL_SCIENCE "science"
10+
/// Strength, endurance, accuracy.
11+
#define SKILL_FITNESS "fitness"
12+
13+
/// No experience whatsoever.
14+
#define EXP_NONE 0
15+
/// Some experience, but not much.
16+
#define EXP_LOW 1
17+
/// Enough experience to do a decent job.
18+
#define EXP_MID 2
19+
/// Above average skill level.
20+
#define EXP_HIGH 3
21+
/// Exceptionally skilled.
22+
#define EXP_MASTER 4
23+
/// Uniquely gifted. Not obtainable through normal means.
24+
#define EXP_GENIUS 5
25+
26+
/// Experience required to increase your skills by one level. Increases exponentially the higher your level already is.
27+
#define EXPERIENCE_PER_LEVEL 500

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/__DEFINES/traits/declarations.dm

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@
109109
#define TRAIT_IGNOREDAMAGESLOWDOWN "ignoredamageslowdown"
110110
/// Makes the screen go black and white while illuminating all mobs based on their body temperature
111111
#define TRAIT_INFRARED_VISION "infrared_vision"
112+
/// Punches don't stun. Use this instead of setting punchstunchance to zero.
113+
#define TRAIT_NO_PUNCH_STUN "no-punch-stun"
112114

113115
////////////////////////////////////////////////////////////////////////////////////
114116
//-------------------------Species Specific defines-------------------------------//
@@ -441,6 +443,10 @@
441443
#define TRAIT_PRESENT_VISION "present-vision"
442444
#define TRAIT_DISK_VERIFIER "disk-verifier"
443445
#define TRAIT_NOMOBSWAP "no-mob-swap"
446+
/// Can allocate 5 points into one skill instead of the usual 4
447+
#define TRAIT_EXCEPTIONAL_SKILL "exceptional-skill"
448+
/// Acts as an additional skill point for piloting mechs, up to EXP_MASTER.
449+
#define TRAIT_SKILLED_PILOT "skilled-pilot"
444450
/// Can examine IDs to see if they are roundstart.
445451
#define TRAIT_ID_APPRAISER "id_appraiser"
446452
/// Gives us turf, mob and object vision through walls

code/__HELPERS/mobs.dm

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ GLOBAL_LIST_EMPTY(species_list)
319319
* given `delay`. Returns `TRUE` on success or `FALSE` on failure.
320320
* Interaction_key is the assoc key under which the do_after is capped, with max_interact_count being the cap. Interaction key will default to target if not set.
321321
*/
322-
/proc/do_after(mob/user, delay, atom/target, timed_action_flags = NONE, progress = TRUE, datum/callback/extra_checks, interaction_key, max_interact_count = 1)
322+
/proc/do_after(mob/user, delay, atom/target, timed_action_flags = NONE, progress = TRUE, datum/callback/extra_checks, interaction_key, max_interact_count = 1, skill_check = null)
323323
if(!user)
324324
return FALSE
325325
if(!isnum(delay))
@@ -335,10 +335,13 @@ GLOBAL_LIST_EMPTY(species_list)
335335

336336
if(!(timed_action_flags & IGNORE_SLOWDOWNS))
337337
delay *= user.action_speed_modifier * user.do_after_coefficent() //yogs: darkspawn
338+
339+
if(skill_check && user.mind && !(timed_action_flags & IGNORE_SKILL_DELAY))
340+
delay *= (12 - user.get_skill(skill_check)) / 10
338341

339342
var/datum/progressbar/progbar
340343
if(progress)
341-
progbar = new(user, delay, target || user, timed_action_flags, extra_checks)
344+
progbar = new(user, delay, target || user, timed_action_flags, extra_checks, skill_check)
342345

343346
SEND_SIGNAL(user, COMSIG_DO_AFTER_BEGAN)
344347

code/_onclick/click.dm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@
120120
UnarmedAttack(A, FALSE, modifiers)
121121
return
122122

123-
if(grab_mode && pulled(A))
123+
if(grab_mode && pulled(A) && !in_throw_mode)
124124
return
125125

126126
if(in_throw_mode)

0 commit comments

Comments
 (0)