mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 15:08:02 +01:00
Smith Addition: Productivity Bit (#28999)
* Adds productivity bit * Digging sand * Proper smithing costs
This commit is contained in:
@@ -28,6 +28,12 @@
|
||||
materials = list(MAT_TITANIUM = 8000, MAT_PLASMA = 8000)
|
||||
finished_product = /obj/item/smithed_item/tool_bit/heavy
|
||||
|
||||
/obj/item/smithed_item/component/bit_mount/productivity
|
||||
name = "productivity bit mount"
|
||||
desc = "This is the primary component of a productivity bit."
|
||||
materials = list(MAT_METAL = 2000, MAT_PLASMA = 2000)
|
||||
finished_product = /obj/item/smithed_item/tool_bit/productivity
|
||||
|
||||
/obj/item/smithed_item/component/bit_mount/economical
|
||||
name = "economical bit mount"
|
||||
desc = "This is the primary component of an economical bit."
|
||||
@@ -70,6 +76,12 @@
|
||||
materials = list(MAT_METAL = 8000, MAT_PLASMA = 8000)
|
||||
finished_product = /obj/item/smithed_item/tool_bit/heavy
|
||||
|
||||
/obj/item/smithed_item/component/bit_head/productivity
|
||||
name = "productivity bit mount"
|
||||
desc = "This is the secondary component of a productivity bit."
|
||||
materials = list(MAT_GOLD = 2000, MAT_SILVER = 2000)
|
||||
finished_product = /obj/item/smithed_item/tool_bit/productivity
|
||||
|
||||
/obj/item/smithed_item/component/bit_head/economical
|
||||
name = "economical bit head"
|
||||
desc = "This is the secondary component of an economical bit."
|
||||
|
||||
@@ -70,6 +70,8 @@
|
||||
var/tool_speed_mult = 1.0
|
||||
/// Tool precision multiplier
|
||||
var/tool_failure_mult = 1.0
|
||||
/// Tool productivity mult
|
||||
var/tool_productivity_mult = 1.0
|
||||
/// How much larger does a bit with this material make it?
|
||||
var/size_mod = 0
|
||||
/// Projectile speed multiplier
|
||||
@@ -106,6 +108,7 @@
|
||||
heat_insulation_mult = MINOR_MATERIAL_BUFF
|
||||
siemens_coeff_mult = MINOR_MATERIAL_DEBUFF
|
||||
tool_failure_mult = MINOR_MATERIAL_DEBUFF
|
||||
tool_productivity_mult = MINOR_MATERIAL_BUFF
|
||||
power_draw_mult = MINOR_MATERIAL_DEBUFF
|
||||
projectile_damage_multiplier = MINOR_MATERIAL_DEBUFF
|
||||
secondary_goal_candidate = TRUE
|
||||
@@ -120,6 +123,7 @@
|
||||
radiation_armor_mult = MAJOR_MATERIAL_BUFF
|
||||
tool_speed_mult = MINOR_MATERIAL_BUFF
|
||||
tool_failure_mult = MINOR_MATERIAL_DEBUFF
|
||||
tool_productivity_mult = MAJOR_MATERIAL_BUFF
|
||||
size_mod = 1
|
||||
fire_rate_multiplier = MINOR_MATERIAL_BUFF
|
||||
durability_mult = MINOR_MATERIAL_DEBUFF
|
||||
@@ -132,6 +136,7 @@
|
||||
explosive_armor_mult = MINOR_MATERIAL_BUFF
|
||||
siemens_coeff_mult = MINOR_MATERIAL_BUFF
|
||||
tool_speed_mult = MINOR_MATERIAL_BUFF
|
||||
tool_productivity_mult = MINOR_MATERIAL_DEBUFF
|
||||
projectile_damage_multiplier = MINOR_MATERIAL_BUFF
|
||||
durability_mult = MINOR_MATERIAL_DEBUFF
|
||||
secondary_goal_candidate = TRUE
|
||||
@@ -161,6 +166,7 @@
|
||||
radiation_armor_mult = MAJOR_MATERIAL_DEBUFF
|
||||
tool_speed_mult = MINOR_MATERIAL_BUFF
|
||||
tool_failure_mult = MINOR_MATERIAL_DEBUFF
|
||||
tool_productivity_mult = MINOR_MATERIAL_DEBUFF
|
||||
size_mod = 1
|
||||
projectile_speed_mult = MINOR_MATERIAL_BUFF
|
||||
power_draw_mult = MINOR_MATERIAL_DEBUFF
|
||||
@@ -178,6 +184,7 @@
|
||||
explosive_armor_mult = MINOR_MATERIAL_BUFF
|
||||
siemens_coeff_mult = MAJOR_MATERIAL_BUFF
|
||||
tool_failure_mult = MINOR_MATERIAL_DEBUFF
|
||||
tool_productivity_mult = MAJOR_MATERIAL_BUFF
|
||||
durability_mult = MAJOR_MATERIAL_BUFF
|
||||
|
||||
/datum/smith_material/bluespace
|
||||
@@ -189,6 +196,7 @@
|
||||
siemens_coeff_mult = MINOR_MATERIAL_BUFF
|
||||
radiation_armor_mult = MINOR_MATERIAL_DEBUFF
|
||||
tool_speed_mult = MAJOR_MATERIAL_BUFF
|
||||
tool_productivity_mult = MAJOR_MATERIAL_BUFF
|
||||
power_draw_mult = MAJOR_MATERIAL_BUFF
|
||||
projectile_damage_multiplier = MAJOR_MATERIAL_BUFF
|
||||
|
||||
@@ -236,6 +244,7 @@
|
||||
heat_insulation_mult = MINOR_MATERIAL_DEBUFF
|
||||
radiation_armor_mult = MINOR_MATERIAL_BUFF
|
||||
tool_speed_mult = MINOR_MATERIAL_BUFF
|
||||
tool_productivity_mult = MINOR_MATERIAL_BUFF
|
||||
size_mod = -1
|
||||
projectile_speed_mult = MINOR_MATERIAL_BUFF
|
||||
power_draw_mult = MINOR_MATERIAL_BUFF
|
||||
@@ -252,6 +261,7 @@
|
||||
siemens_coeff_mult = MINOR_MATERIAL_BUFF
|
||||
radiation_armor_mult = MINOR_MATERIAL_BUFF
|
||||
tool_speed_mult = MINOR_MATERIAL_BUFF
|
||||
tool_productivity_mult = MINOR_MATERIAL_BUFF
|
||||
size_mod = -1
|
||||
power_draw_mult = MINOR_MATERIAL_DEBUFF
|
||||
projectile_damage_multiplier = MINOR_MATERIAL_DEBUFF
|
||||
@@ -267,6 +277,7 @@
|
||||
heat_insulation_mult = MINOR_MATERIAL_DEBUFF
|
||||
siemens_coeff_mult = MINOR_MATERIAL_DEBUFF
|
||||
tool_failure_mult = MINOR_MATERIAL_DEBUFF
|
||||
tool_productivity_mult = MAJOR_MATERIAL_BUFF
|
||||
size_mod = -1
|
||||
projectile_damage_multiplier = MINOR_MATERIAL_BUFF
|
||||
power_draw_mult = MINOR_MATERIAL_BUFF
|
||||
|
||||
@@ -6,6 +6,10 @@
|
||||
var/base_speed_mod = 0
|
||||
/// Base Efficiency modifier
|
||||
var/base_efficiency_mod = 0
|
||||
/// Base productivity modifier
|
||||
var/base_productivity_mod = 0
|
||||
/// Productivity mod
|
||||
var/productivity_mod = 1.0
|
||||
/// Speed modifier
|
||||
var/speed_mod = 1.0
|
||||
/// Efficiency modifier
|
||||
@@ -34,6 +38,7 @@
|
||||
speed_mod = 1 + (base_speed_mod * quality.stat_mult * material.tool_speed_mult)
|
||||
failure_rate = initial(failure_rate) * quality.stat_mult * material.tool_failure_mult
|
||||
efficiency_mod = 1 + (base_efficiency_mod * quality.stat_mult * material.power_draw_mult)
|
||||
productivity_mod = 1 + (base_productivity_mod * quality.stat_mult * material.tool_productivity_mult)
|
||||
|
||||
/obj/item/smithed_item/tool_bit/on_attached(obj/item/target)
|
||||
if(!istype(target))
|
||||
@@ -43,12 +48,14 @@
|
||||
attached_tool.toolspeed = attached_tool.toolspeed * speed_mod
|
||||
attached_tool.bit_failure_rate += failure_rate
|
||||
attached_tool.bit_efficiency_mod = attached_tool.bit_efficiency_mod * efficiency_mod
|
||||
attached_tool.bit_productivity_mod = attached_tool.bit_productivity_mod * productivity_mod
|
||||
|
||||
/obj/item/smithed_item/tool_bit/on_detached()
|
||||
attached_tool.toolspeed = attached_tool.toolspeed / speed_mod
|
||||
attached_tool.w_class -= size_mod
|
||||
attached_tool.bit_failure_rate -= failure_rate
|
||||
attached_tool.bit_efficiency_mod = attached_tool.bit_efficiency_mod / efficiency_mod
|
||||
attached_tool.bit_productivity_mod = attached_tool.bit_productivity_mod / productivity_mod
|
||||
attached_tool.attached_bits -= src
|
||||
attached_tool = null
|
||||
|
||||
@@ -98,6 +105,7 @@
|
||||
desc = "A tool bit that's fairly balanced in all aspects."
|
||||
base_speed_mod = -0.1
|
||||
failure_rate = 2
|
||||
base_productivity_mod = 0.5
|
||||
base_efficiency_mod = -0.1
|
||||
secondary_goal_candidate = TRUE
|
||||
|
||||
@@ -110,6 +118,13 @@
|
||||
size_mod = 1
|
||||
durability = 120
|
||||
|
||||
/obj/item/smithed_item/tool_bit/productivity
|
||||
name = "productivity bit"
|
||||
desc = "A tool bit that minimizes waste."
|
||||
base_speed_mod = -0.1
|
||||
base_productivity_mod = 2
|
||||
durability = 50
|
||||
|
||||
/obj/item/smithed_item/tool_bit/economical
|
||||
name = "economical bit"
|
||||
desc = "An advanced tool bit that maximises efficiency."
|
||||
@@ -121,6 +136,7 @@
|
||||
name = "advanced bit"
|
||||
desc = "An advanced tool bit that's fairly balanced in all aspects."
|
||||
base_speed_mod = -0.25
|
||||
base_productivity_mod = 1
|
||||
failure_rate = 2
|
||||
base_efficiency_mod = -0.3
|
||||
|
||||
|
||||
Reference in New Issue
Block a user