Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Meet the Smith - New Supply Role #28273

Open
wants to merge 134 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 25 commits
Commits
Show all changes
134 commits
Select commit Hold shift + click to select a range
289ba36
Smith role, access, access helpers, spawn point, comms, and IDs
PollardTheDragon Jan 31, 2025
c1e1d1d
Area defines
PollardTheDragon Jan 31, 2025
dbe8e84
Hammertime
PollardTheDragon Feb 1, 2025
2ed12fa
Cyberiad Smith's office
PollardTheDragon Feb 1, 2025
c6d710b
Forgot some atmos stuff
PollardTheDragon Feb 1, 2025
525e2a8
Autolathable Hammers
PollardTheDragon Feb 1, 2025
d2f9545
Formatting
PollardTheDragon Feb 1, 2025
4ceffc2
Toolbelts can hold hammers
PollardTheDragon Feb 1, 2025
dcf7d33
Initial work on smith machines
PollardTheDragon Feb 1, 2025
1798ec2
Farragus Smith Office
PollardTheDragon Feb 1, 2025
8cc66e3
Placeholder sprites, mapping
PollardTheDragon Feb 1, 2025
3311ffb
Smart hopper points and console messages
PollardTheDragon Feb 1, 2025
2effb2f
More work on smithing machines
PollardTheDragon Feb 2, 2025
adae7d4
Fixed mapping, added qualities, added smithed items, fixed sizing, fi…
PollardTheDragon Feb 2, 2025
57646be
Smith components, new materials
PollardTheDragon Feb 5, 2025
076c274
New ores, material datums, furnace, power hammer, kinetic assembler, …
PollardTheDragon Feb 6, 2025
b3a34ee
Missed one
PollardTheDragon Feb 6, 2025
1d50bf1
Merge remote-tracking branch 'upstream/master' into meet-the-smith
PollardTheDragon Feb 7, 2025
0ce6567
Grrr map conflicts begone
PollardTheDragon Feb 7, 2025
3888037
Dirt begone
PollardTheDragon Feb 7, 2025
c4e075b
Casts and smelting
PollardTheDragon Feb 7, 2025
ab83b82
Linters
PollardTheDragon Feb 7, 2025
4582f1c
Attack chain linters!
PollardTheDragon Feb 7, 2025
4e20e26
Better grip to throw people into your industrial machines
PollardTheDragon Feb 7, 2025
0e076e8
Placeholder spots in the DMIs
PollardTheDragon Feb 7, 2025
ace3007
UpdatePaths - Space ruins now spawn new space ores in their rocks
PollardTheDragon Feb 8, 2025
5590d57
Small changes - removed excess tgui code from hopper
PollardTheDragon Feb 8, 2025
af18365
Fixed a button on emerald
PollardTheDragon Feb 8, 2025
02ee3bc
Attaching inserts and lenses. Tool bits are pain.
PollardTheDragon Feb 9, 2025
f291945
Tool bit initial implementation
PollardTheDragon Feb 11, 2025
299bb3d
Merge remote-tracking branch 'upstream/master' into meet-the-smith
PollardTheDragon Feb 11, 2025
af905ce
Merge conflict resolution
PollardTheDragon Feb 11, 2025
3cceef1
Attack chain grrr
PollardTheDragon Feb 11, 2025
91fbeaa
Fixed a pair of minor mapping issues
PollardTheDragon Feb 11, 2025
ceb8513
Tool bit implementation, efficiency, failure rate
PollardTheDragon Feb 12, 2025
3d7f0c2
Hot things burn hands
PollardTheDragon Feb 12, 2025
83ff522
Points fix on hopper
PollardTheDragon Feb 12, 2025
6ebdad9
New mining rocks for space exploration
PollardTheDragon Feb 13, 2025
324b12b
Areas on asteroids
PollardTheDragon Feb 13, 2025
bc4d2e5
Machinery icons 1
ExusA Feb 13, 2025
cfc0ff2
Vendor iconstate update
ExusA Feb 13, 2025
bc35726
Crucible touchups
ExusA Feb 13, 2025
53243cf
Hammer touchups
ExusA Feb 13, 2025
1219108
Crucible Input Animation
ExusA Feb 13, 2025
8f22c2a
Added scanning the crucible with multitool to get mineral count
PollardTheDragon Feb 16, 2025
fcbeaf9
clothing sprites part 1
Christasmurf Feb 17, 2025
c942b42
locker sprite
Christasmurf Feb 17, 2025
d8d6754
job icons
Christasmurf Feb 17, 2025
d5a2b49
garment bag
Christasmurf Feb 17, 2025
c6a3680
Smith locker mapping
PollardTheDragon Feb 17, 2025
1f0039b
Insert and Bit removal fix
PollardTheDragon Feb 17, 2025
a6e7484
Job menu alignment fix, Allowed_items and small spriting path fixes
PollardTheDragon Feb 17, 2025
e5b9c79
Adds new asteroid ruins to config
PollardTheDragon Feb 17, 2025
5464dfb
Ore Sprites
ExusA Feb 17, 2025
b58d86f
Hammer Sprite
ExusA Feb 17, 2025
0091601
Item Sprites 1
ExusA Feb 19, 2025
bf79980
Sheets, Wall Ores and Trim
ExusA Feb 19, 2025
544401a
Sheet iconstate names
ExusA Feb 19, 2025
4c82a7a
species uniforms
Christasmurf Feb 19, 2025
8298360
Tabs
PollardTheDragon Feb 20, 2025
4256148
Lens spelling fix
PollardTheDragon Feb 20, 2025
8f38df9
Signalizes attaching and detaching modifications, fixes inserting ite…
PollardTheDragon Feb 20, 2025
b0ec623
Fixed type lists
PollardTheDragon Feb 20, 2025
ffc2a75
Smithing machine bug fixes.
PollardTheDragon Feb 20, 2025
67972ef
Fixed adding modifications to items
PollardTheDragon Feb 20, 2025
816652e
Crucible Lava Idle
ExusA Feb 20, 2025
368b4e9
Fixed eguns
PollardTheDragon Feb 20, 2025
3f5a4ed
Merge branch 'meet-the-smith' of https://github.com/PollardTheDragon/…
PollardTheDragon Feb 20, 2025
5b75be8
Magma Crucible overlays and animations
PollardTheDragon Feb 22, 2025
98fcdee
Machine broken/Off states
ExusA Feb 23, 2025
84ad250
Castivend recolor and Hot Items
ExusA Feb 23, 2025
32c9c48
Overlays for all machines, new sprites for hot items, new checks, fixes
PollardTheDragon Feb 23, 2025
7467861
Merge remote-tracking branch 'upstream/master' into meet-the-smith
PollardTheDragon Feb 23, 2025
e36e19a
Woe, farragus merge conflict
PollardTheDragon Feb 23, 2025
3cccb5e
update_appearance linters
PollardTheDragon Feb 23, 2025
75a1f40
I have fat fingers.
PollardTheDragon Feb 23, 2025
e567875
Forgot one
PollardTheDragon Feb 23, 2025
680ac26
transfer_item_to and qdel null check
PollardTheDragon Feb 24, 2025
316c290
Usr to User
PollardTheDragon Feb 24, 2025
9dd372f
Modsuits should not have inserts.
PollardTheDragon Feb 24, 2025
5914f60
Adds casting lip overlay
PollardTheDragon Feb 24, 2025
3f35805
Balance pass on movement debuffs and buffs
PollardTheDragon Feb 24, 2025
084a642
Material movespeed changes
PollardTheDragon Feb 24, 2025
775e126
Merge branch 'master' into meet-the-smith
PollardTheDragon Feb 26, 2025
623ed7a
Config Adjustments - USED FOR TESTMERGING. REVERT BEFORE FULL MERGE
PollardTheDragon Feb 27, 2025
b59603a
Math fixes for lenses and bits.
PollardTheDragon Feb 28, 2025
d448ffc
Mobility suit no longer speeds you up, but negates suit-based slowdow…
PollardTheDragon Feb 28, 2025
c58b715
Bad var. Bad.
PollardTheDragon Feb 28, 2025
12b8131
Various fixes to bugs revealed in initial TM
PollardTheDragon Feb 28, 2025
6f9ec6b
TYPO
PollardTheDragon Feb 28, 2025
d06f544
Lavaland base turf fix
PollardTheDragon Feb 28, 2025
b0857a3
Paths in examine fix
PollardTheDragon Feb 28, 2025
7b6256a
Adds an intercom to the workshop.
PollardTheDragon Feb 28, 2025
fb3369f
Stamina-hybrid damage oversight fix for det revolver, uion, etc.
PollardTheDragon Feb 28, 2025
f61d5ab
Currently Operating Message fix
PollardTheDragon Feb 28, 2025
536607d
Allows glass to show different turfs beneath. Adds plasmaglass sectio…
PollardTheDragon Feb 28, 2025
3714e52
Armor and upgrade fixes
PollardTheDragon Feb 28, 2025
20c49b2
RCD tool bit equip fix
PollardTheDragon Feb 28, 2025
e4af001
Adds smith access to a few lists in access.dm that were missed in an …
PollardTheDragon Feb 28, 2025
c6b4978
Indent fixes
PollardTheDragon Feb 28, 2025
d55cb2b
Fixes vending machine, allows tool bit use on mining equipment
PollardTheDragon Feb 28, 2025
3193c06
CI, you make me mad sometimes
PollardTheDragon Feb 28, 2025
ddf2cd7
Removed duplicate code
PollardTheDragon Feb 28, 2025
cd3b5a6
Name fix for CI again
PollardTheDragon Feb 28, 2025
caea7dc
Merge remote-tracking branch 'upstream/master' into meet-the-smith
PollardTheDragon Feb 28, 2025
c39235c
ORM now can handle space ores
PollardTheDragon Feb 28, 2025
adee90d
Adds space ores to Vetus drop and to trader inventories
PollardTheDragon Feb 28, 2025
ef328a9
Fixes runtime with open hand attacking a lava furnace with nothing in it
PollardTheDragon Feb 28, 2025
71d9075
Adds crewvend kit to Castivend
PollardTheDragon Feb 28, 2025
a14ce51
Fixes not being able to see new ores
PollardTheDragon Feb 28, 2025
1826e0a
Adds drill and RCS to smith locker
PollardTheDragon Feb 28, 2025
779b8fc
Map changes. Added cargo pad. Expanded catwalk. Moved vendors. Added …
PollardTheDragon Mar 1, 2025
28c4710
Plant fixes
PollardTheDragon Mar 1, 2025
0c349b3
Fixes doubled-up catwalk
PollardTheDragon Mar 1, 2025
d4ec9be
Emerald cargo windoor fix, small lavaland adjustment
PollardTheDragon Mar 1, 2025
8af650e
Small oversight for overlay fix
PollardTheDragon Mar 1, 2025
d2d5559
Missing lightswitches
PollardTheDragon Mar 2, 2025
7e91f36
Fixed stock parts mismatch in casting basin recipe
PollardTheDragon Mar 2, 2025
a8859e3
Better support for power tools, grrr attackchain
PollardTheDragon Mar 2, 2025
9652461
Better attack chain handling. Better handling for bit insertion
PollardTheDragon Mar 2, 2025
3bc4d03
Fixes handling of inserts with storage suits (like labcoats)
PollardTheDragon Mar 2, 2025
cba4869
sprites for bomber + plasmeme outfit
Christasmurf Mar 2, 2025
d29b69b
Adds missing adjacency checks
PollardTheDragon Mar 2, 2025
46ae158
Buffs speed boost from upgrade - max upgrade reduces cycle to 2 seconds.
PollardTheDragon Mar 2, 2025
7fd9777
Fixed floating lights, brightened the explorer's new room, expanded s…
PollardTheDragon Mar 2, 2025
06a3962
Small hallway adjustment
PollardTheDragon Mar 2, 2025
fa21a48
Illuminates metastation smith office
PollardTheDragon Mar 3, 2025
02b65bf
Removes excessive decimals in magma crucible scan output
PollardTheDragon Mar 3, 2025
addabe8
Berserker should not have inserts.
PollardTheDragon Mar 4, 2025
7d7145f
Buffs bit durability significantly, nerfs amplifier lens and densifie…
PollardTheDragon Mar 4, 2025
050393f
Adds smith bomber jacket to loadout panel
PollardTheDragon Mar 4, 2025
63afca4
Adds random spawners for smithed items, adds random low-quality items…
PollardTheDragon Mar 4, 2025
1d39c59
Adds traitor version of bulldog shotgun
PollardTheDragon Mar 6, 2025
41f3114
Revert "Adds traitor version of bulldog shotgun"
PollardTheDragon Mar 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,103 changes: 898 additions & 205 deletions _maps/map_files/generic/Lavaland.dmm

Large diffs are not rendered by default.

1,055 changes: 620 additions & 435 deletions _maps/map_files/stations/boxstation.dmm

Large diffs are not rendered by default.

596 changes: 403 additions & 193 deletions _maps/map_files/stations/cerestation.dmm

Large diffs are not rendered by default.

601 changes: 311 additions & 290 deletions _maps/map_files/stations/deltastation.dmm

Large diffs are not rendered by default.

875 changes: 472 additions & 403 deletions _maps/map_files/stations/emeraldstation.dmm

Large diffs are not rendered by default.

460 changes: 297 additions & 163 deletions _maps/map_files/stations/metastation.dmm

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions code/__DEFINES/access_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
#define ACCESS_THEATRE 46
#define ACCESS_RESEARCH 47
#define ACCESS_MINING 48
#define ACCESS_SMITH 49
#define ACCESS_MAILSORTING 50
#define ACCESS_HEADS_VAULT 53
#define ACCESS_MINING_STATION 54
Expand Down
4 changes: 4 additions & 0 deletions code/__DEFINES/construction_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,10 @@
#define MAT_TITANIUM "titanium"
#define MAT_BIOMASS "biomass"
#define MAT_PLASTIC "plastic"
#define MAT_BRASS "brass"
#define MAT_PALLADIUM "palladium"
#define MAT_PLATINUM "platinum"
#define MAT_IRIDIUM "iridium"

/// The amount of materials you get from a sheet of mineral like iron/diamond/glass etc
#define MINERAL_MATERIAL_AMOUNT 2000
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/job_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,4 @@
#define JOB_MIME (1<<12)
#define JOB_ASSISTANT (1<<13)
#define JOB_EXPLORER (1<<14)
#define JOB_SMITH (1<<15)
1 change: 1 addition & 0 deletions code/__DEFINES/tools_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#define TOOL_WIRECUTTER "wirecutter"
#define TOOL_WRENCH "wrench"
#define TOOL_WELDER "welder"
#define TOOL_HAMMER "hammer"

GLOBAL_LIST_INIT(construction_tool_behaviors, list(
TOOL_CROWBAR,
Expand Down
12 changes: 12 additions & 0 deletions code/datums/ores.dm
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,18 @@
drop_type = /obj/item/stack/ore/diamond
scan_icon_state = "rock_Diamond"

/datum/ore/platinum
drop_type = /obj/item/stack/ore/platinum
scan_icon_state = "rock_Platinum"

/datum/ore/palladium
drop_type = /obj/item/stack/ore/palladium
scan_icon_state = "rock_Palladium"

/datum/ore/iridium
drop_type = /obj/item/stack/ore/iridium
scan_icon_state = "rock_Iridium"

/datum/ore/gold
drop_type = /obj/item/stack/ore/gold
spread_chance = 5
Expand Down
273 changes: 273 additions & 0 deletions code/datums/smith_datums.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,273 @@
// Quality

/datum/smith_quality
var/name = "Boring Debug"
/// How much does this quality improve stats?
var/stat_mult = 1.0
/// How many more materials does this quality require?
var/material_mult = 1.0
/// How much extra work is needed to produce this quality?
var/work_mult = 1.0

/datum/smith_quality/standard
name = "Standard"
stat_mult = 1.0
material_mult = 1.0
work_mult = 1.0

/datum/smith_quality/improved
name = "Improved"
stat_mult = 1.25
material_mult = 1.5
work_mult = 2.0

/datum/smith_quality/enhanced
name = "Enhanced"
stat_mult = 1.5
material_mult = 2.0
work_mult = 3.0

/datum/smith_quality/superior
name = "Superior"
stat_mult = 1.75
material_mult = 3.0
work_mult = 4.5

/datum/smith_quality/masterwork
name = "Masterwork"
stat_mult = 2.0
material_mult = 4.0
work_mult = 6.0

// Materials

#define MAJOR_MATERIAL_BUFF 1.2
#define MINOR_MATERIAL_BUFF 1.1
#define MINOR_MATERIAL_DEBUFF 0.9
#define MAJOR_MATERIAL_DEBUFF 0.8

/datum/smith_material
var/name = "Boring Debug"
/// Brute armor multiplier
var/brute_armor_mult = 1.0
/// Burn armor multiplier
var/burn_armor_mult = 1.0
/// Laser armor multiplier
var/laser_armor_mult = 1.0
/// Explosive armor multiplier
var/explosive_armor_mult = 1.0
/// Movement speed modifier
var/movement_speed_mod = 0
/// Heat insulation multiplier
var/heat_insulation_mult = 1.0
/// Electrical insulation multiplier
var/siemens_coeff_mult = 1.0
/// Radiation insulation multiplier
var/radiation_armor_mult = 1.0
/// Tool speed multiplier
var/tool_speed_mult = 1.0
/// Tool precision multiplier
var/tool_precision_mult = 1.0
/// How much larger does a bit with this material make it?
var/size_mod = 0
/// Projectile speed multiplier
var/projectile_speed_mult = 1.0
/// Power draw multiplier
var/power_draw_mult = 1.0
/// Projectile damage multiplier
var/projectile_damage_multiplier = 1.0
/// Fire rate multiplier
var/fire_rate_multiplier = 1.0
/// Multiplier for tool uses and lense uses.
var/durability_mult = 1.0

/datum/smith_material/metal
name = "metal"
brute_armor_mult = MINOR_MATERIAL_BUFF
burn_armor_mult = MINOR_MATERIAL_DEBUFF
explosive_armor_mult = MINOR_MATERIAL_BUFF
movement_speed_mod = -0.5
radiation_armor_mult = MINOR_MATERIAL_BUFF
tool_precision_mult = MINOR_MATERIAL_DEBUFF
fire_rate_multiplier = MINOR_MATERIAL_DEBUFF
durability_mult = MINOR_MATERIAL_BUFF

/datum/smith_material/silver
name = "silver"
laser_armor_mult = MINOR_MATERIAL_BUFF
heat_insulation_mult = MINOR_MATERIAL_BUFF
siemens_coeff_mult = MINOR_MATERIAL_DEBUFF
tool_precision_mult = MINOR_MATERIAL_BUFF
power_draw_mult = MINOR_MATERIAL_DEBUFF
projectile_damage_multiplier = MINOR_MATERIAL_DEBUFF

/datum/smith_material/gold
name = "gold"
burn_armor_mult = MINOR_MATERIAL_BUFF
movement_speed_mod = -0.5
heat_insulation_mult = MINOR_MATERIAL_BUFF
siemens_coeff_mult = MINOR_MATERIAL_DEBUFF
radiation_armor_mult = MAJOR_MATERIAL_BUFF
tool_speed_mult = MINOR_MATERIAL_BUFF
tool_precision_mult = MINOR_MATERIAL_BUFF
size_mod = 1
fire_rate_multiplier = MINOR_MATERIAL_BUFF
durability_mult = MINOR_MATERIAL_DEBUFF

/datum/smith_material/plasma
name = "plasma"
burn_armor_mult = MAJOR_MATERIAL_DEBUFF
explosive_armor_mult = MINOR_MATERIAL_BUFF
siemens_coeff_mult = MINOR_MATERIAL_BUFF
tool_speed_mult = MINOR_MATERIAL_BUFF
projectile_damage_multiplier = MINOR_MATERIAL_BUFF
durability_mult = MINOR_MATERIAL_DEBUFF

/datum/smith_material/titanium
name = "titanium"
brute_armor_mult = MINOR_MATERIAL_BUFF
burn_armor_mult = MINOR_MATERIAL_DEBUFF
laser_armor_mult = MINOR_MATERIAL_BUFF
heat_insulation_mult = MINOR_MATERIAL_BUFF
tool_precision_mult = MINOR_MATERIAL_BUFF
tool_speed_mult = MINOR_MATERIAL_BUFF
projectile_speed_mult = MINOR_MATERIAL_BUFF
power_draw_mult = MINOR_MATERIAL_DEBUFF
fire_rate_multiplier = MINOR_MATERIAL_DEBUFF

/datum/smith_material/uranium
name = "uranium"
burn_armor_mult = MINOR_MATERIAL_BUFF
laser_armor_mult = MINOR_MATERIAL_BUFF
explosive_armor_mult = MINOR_MATERIAL_BUFF
movement_speed_mod = -0.5
siemens_coeff_mult = MINOR_MATERIAL_BUFF
radiation_armor_mult = MAJOR_MATERIAL_DEBUFF
tool_speed_mult = MINOR_MATERIAL_BUFF
tool_precision_mult = MINOR_MATERIAL_BUFF
size_mod = 1
projectile_speed_mult = MINOR_MATERIAL_BUFF
power_draw_mult = MINOR_MATERIAL_DEBUFF
fire_rate_multiplier = MINOR_MATERIAL_DEBUFF
durability_mult = MINOR_MATERIAL_BUFF
/// Radioactive, woah
var/radiation_amount = 15

/datum/smith_material/diamond
name = "diamond"
brute_armor_mult = MAJOR_MATERIAL_BUFF
burn_armor_mult = MINOR_MATERIAL_BUFF
explosive_armor_mult = MINOR_MATERIAL_BUFF
siemens_coeff_mult = MAJOR_MATERIAL_BUFF
tool_precision_mult = MINOR_MATERIAL_BUFF
durability_mult = MAJOR_MATERIAL_BUFF

/datum/smith_material/bluespace
name = "bluespace"
laser_armor_mult = MAJOR_MATERIAL_BUFF
explosive_armor_mult = MINOR_MATERIAL_BUFF
movement_speed_mod = 0.5
heat_insulation_mult = MINOR_MATERIAL_BUFF
siemens_coeff_mult = MINOR_MATERIAL_BUFF
radiation_armor_mult = MINOR_MATERIAL_DEBUFF
tool_speed_mult = MAJOR_MATERIAL_BUFF
power_draw_mult = MAJOR_MATERIAL_BUFF
projectile_damage_multiplier = MAJOR_MATERIAL_BUFF

/datum/smith_material/plasteel
name = "plasteel"
brute_armor_mult = MINOR_MATERIAL_BUFF
burn_armor_mult = MINOR_MATERIAL_BUFF
laser_armor_mult = MINOR_MATERIAL_BUFF
explosive_armor_mult = MINOR_MATERIAL_BUFF
movement_speed_mod = -1.0
heat_insulation_mult = MINOR_MATERIAL_DEBUFF
tool_speed_mult = MINOR_MATERIAL_BUFF
size_mod = 2
power_draw_mult = MAJOR_MATERIAL_BUFF
projectile_damage_multiplier = MINOR_MATERIAL_BUFF
fire_rate_multiplier = MINOR_MATERIAL_BUFF
durability_mult = MAJOR_MATERIAL_BUFF

/datum/smith_material/plastitanium
name = "plastitanium"
brute_armor_mult = MINOR_MATERIAL_BUFF
burn_armor_mult = MINOR_MATERIAL_BUFF
laser_armor_mult = MAJOR_MATERIAL_BUFF
explosive_armor_mult = MINOR_MATERIAL_BUFF
movement_speed_mod = -0.5
heat_insulation_mult = MINOR_MATERIAL_DEBUFF
radiation_armor_mult = MINOR_MATERIAL_BUFF
tool_speed_mult = MINOR_MATERIAL_BUFF
size_mod = 1
projectile_speed_mult = MINOR_MATERIAL_BUFF
power_draw_mult = MAJOR_MATERIAL_BUFF
fire_rate_multiplier = MINOR_MATERIAL_BUFF
durability_mult = MAJOR_MATERIAL_BUFF

/datum/smith_material/iridium
name = "iridium"
brute_armor_mult = MINOR_MATERIAL_BUFF
burn_armor_mult = MINOR_MATERIAL_BUFF
laser_armor_mult = MINOR_MATERIAL_BUFF
movement_speed_mod = -0.5
heat_insulation_mult = MINOR_MATERIAL_DEBUFF
radiation_armor_mult = MINOR_MATERIAL_BUFF
tool_speed_mult = MINOR_MATERIAL_BUFF
size_mod = -1
projectile_speed_mult = MINOR_MATERIAL_BUFF
power_draw_mult = MINOR_MATERIAL_BUFF
projectile_damage_multiplier = MINOR_MATERIAL_BUFF
durability_mult = MINOR_MATERIAL_BUFF

/datum/smith_material/palladium
name = "palladium"
brute_armor_mult = MINOR_MATERIAL_BUFF
burn_armor_mult = MINOR_MATERIAL_BUFF
laser_armor_mult = MINOR_MATERIAL_DEBUFF
explosive_armor_mult = MINOR_MATERIAL_DEBUFF
heat_insulation_mult = MINOR_MATERIAL_BUFF
siemens_coeff_mult = MINOR_MATERIAL_BUFF
radiation_armor_mult = MINOR_MATERIAL_BUFF
tool_speed_mult = MINOR_MATERIAL_BUFF
size_mod = -1
power_draw_mult = MINOR_MATERIAL_DEBUFF
projectile_damage_multiplier = MINOR_MATERIAL_DEBUFF
durability_mult = MINOR_MATERIAL_BUFF

/datum/smith_material/platinum
name = "platinum"
brute_armor_mult = MINOR_MATERIAL_BUFF
burn_armor_mult = MINOR_MATERIAL_BUFF
laser_armor_mult = MINOR_MATERIAL_BUFF
explosive_armor_mult = MINOR_MATERIAL_DEBUFF
movement_speed_mod = 0.5
heat_insulation_mult = MINOR_MATERIAL_DEBUFF
siemens_coeff_mult = MINOR_MATERIAL_DEBUFF
tool_precision_mult = MINOR_MATERIAL_BUFF
size_mod = -1
projectile_damage_multiplier = MINOR_MATERIAL_BUFF
power_draw_mult = MINOR_MATERIAL_BUFF
durability_mult = MINOR_MATERIAL_BUFF

/datum/smith_material/brass
name = "brass"
brute_armor_mult = MINOR_MATERIAL_DEBUFF
burn_armor_mult = MINOR_MATERIAL_DEBUFF
laser_armor_mult = MAJOR_MATERIAL_BUFF
explosive_armor_mult = MINOR_MATERIAL_DEBUFF
movement_speed_mod = 0.5
heat_insulation_mult = MINOR_MATERIAL_DEBUFF
siemens_coeff_mult = MINOR_MATERIAL_DEBUFF
radiation_armor_mult = MINOR_MATERIAL_BUFF
tool_speed_mult = MINOR_MATERIAL_BUFF
tool_precision_mult = MINOR_MATERIAL_BUFF
projectile_speed_mult = MINOR_MATERIAL_DEBUFF
power_draw_mult = MAJOR_MATERIAL_DEBUFF
fire_rate_multiplier = MINOR_MATERIAL_DEBUFF
durability_mult = MINOR_MATERIAL_DEBUFF

#undef MAJOR_MATERIAL_BUFF
#undef MINOR_MATERIAL_BUFF
#undef MINOR_MATERIAL_DEBUFF
#undef MAJOR_MATERIAL_DEBUFF
1 change: 1 addition & 0 deletions code/datums/station_traits/positive_traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,7 @@
/datum/job/hydro = /obj/item/organ/internal/cyberimp/arm/botanical,
/datum/job/captain = /obj/item/organ/internal/heart/cybernetic/upgraded,
/datum/job/cargo_tech = /obj/item/organ/internal/cyberimp/brain/anti_sleep,
/datum/job/smith = /obj/item/organ/internal/cyberimp/arm/toolset,
/datum/job/chaplain = /obj/item/organ/internal/cyberimp/brain/anti_drop,
/datum/job/chemist = /obj/item/organ/internal/liver/cybernetic,
/datum/job/chief_engineer = /obj/item/organ/internal/cyberimp/brain/wire_interface,
Expand Down
4 changes: 4 additions & 0 deletions code/game/area/areas/mining_areas.dm
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,10 @@
name = "Mining Station Storage"
icon_state = "storage"

/area/mine/outpost/smith_workshop
name = "Smith's Workshop"
icon_state = "smith"

/area/mine/outpost/maintenance
name = "Mining Station Maintenance"
icon_state = "maintcentral"
Expand Down
4 changes: 4 additions & 0 deletions code/game/area/ss13_areas/supply_areas.dm
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@
sound_environment = SOUND_AREA_LARGE_ENCLOSED
request_console_flags = RC_SUPPLY

/area/station/supply/smith_office
name = "\improper Smith's Office"
icon_state = "smith"

/area/station/supply/qm
name = "\improper Quartermaster's Office"
icon_state = "qm"
Expand Down
2 changes: 2 additions & 0 deletions code/game/atom/atom_tool_acts.dm
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@
act_result = wirecutter_act(user, tool)
if(TOOL_WELDER)
act_result = welder_act(user, tool)
if(TOOL_HAMMER)
act_result = hammer_act(user, tool)

if(!act_result)
return NONE
Expand Down
3 changes: 3 additions & 0 deletions code/game/atoms.dm
Original file line number Diff line number Diff line change
Expand Up @@ -581,6 +581,9 @@
/atom/proc/welder_act(mob/living/user, obj/item/I)
return

/atom/proc/hammer_act(mob/living/user, obj/item/I)
return

/// This is when an atom is emagged. Should return false if it fails, or it has no emag_act defined.
/atom/proc/emag_act(mob/user)
SEND_SIGNAL(src, COMSIG_ATOM_EMAG_ACT, user)
Expand Down
1 change: 1 addition & 0 deletions code/game/jobs/departments.dm
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@
department_roles = list(
"Quartermaster",
"Cargo Technician",
"Smith",
"Shaft Miner",
"Spelunker"
)
Expand Down
Loading
Loading