mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-31 12:01:47 +00:00
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs. Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines. Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing. Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc. (Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such)
180 lines
6.4 KiB
Plaintext
180 lines
6.4 KiB
Plaintext
/*****************Pickaxes & Drills & Shovels****************/
|
|
/obj/item/pickaxe
|
|
name = "pickaxe"
|
|
icon = 'icons/obj/mining.dmi'
|
|
icon_state = "pickaxe"
|
|
flags_1 = CONDUCT_1
|
|
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
|
|
force = 15
|
|
throwforce = 10
|
|
inhand_icon_state = "pickaxe"
|
|
worn_icon_state = "pickaxe"
|
|
lefthand_file = 'icons/mob/inhands/equipment/mining_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/equipment/mining_righthand.dmi'
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
custom_materials = list(/datum/material/iron=2000) //one sheet, but where can you make them?
|
|
tool_behaviour = TOOL_MINING
|
|
toolspeed = 1
|
|
usesound = list('sound/effects/picaxe1.ogg', 'sound/effects/picaxe2.ogg', 'sound/effects/picaxe3.ogg')
|
|
attack_verb_continuous = list("hits", "pierces", "slices", "attacks")
|
|
attack_verb_simple = list("hit", "pierce", "slice", "attack")
|
|
|
|
/obj/item/pickaxe/suicide_act(mob/living/user)
|
|
user.visible_message(span_suicide("[user] begins digging into [user.p_their()] chest! It looks like [user.p_theyre()] trying to commit suicide!"))
|
|
if(use_tool(user, user, 30, volume=50))
|
|
return BRUTELOSS
|
|
user.visible_message(span_suicide("[user] couldn't do it!"))
|
|
return SHAME
|
|
|
|
/obj/item/pickaxe/rusted
|
|
name = "rusty pickaxe"
|
|
desc = "A pickaxe that's been left to rust."
|
|
attack_verb_continuous = list("ineffectively hits")
|
|
attack_verb_simple = list("ineffectively hit")
|
|
force = 1
|
|
throwforce = 1
|
|
|
|
/obj/item/pickaxe/mini
|
|
name = "compact pickaxe"
|
|
desc = "A smaller, compact version of the standard pickaxe."
|
|
icon_state = "minipick"
|
|
worn_icon_state = "pickaxe"
|
|
force = 10
|
|
throwforce = 7
|
|
slot_flags = ITEM_SLOT_BELT
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
custom_materials = list(/datum/material/iron=1000)
|
|
|
|
/obj/item/pickaxe/silver
|
|
name = "silver-plated pickaxe"
|
|
icon_state = "spickaxe"
|
|
inhand_icon_state = "spickaxe"
|
|
worn_icon_state = "spickaxe"
|
|
toolspeed = 0.5 //mines faster than a normal pickaxe, bought from mining vendor
|
|
desc = "A silver-plated pickaxe that mines slightly faster than standard-issue."
|
|
force = 17
|
|
|
|
/obj/item/pickaxe/diamond
|
|
name = "diamond-tipped pickaxe"
|
|
icon_state = "dpickaxe"
|
|
inhand_icon_state = "dpickaxe"
|
|
worn_icon_state = "dpickaxe"
|
|
toolspeed = 0.3
|
|
desc = "A pickaxe with a diamond pick head. Extremely robust at cracking rock walls and digging up dirt."
|
|
force = 19
|
|
|
|
/obj/item/pickaxe/drill
|
|
name = "mining drill"
|
|
icon_state = "handdrill"
|
|
inhand_icon_state = "jackhammer"
|
|
worn_icon_state = "jackhammer"
|
|
slot_flags = ITEM_SLOT_BELT
|
|
toolspeed = 0.6 //available from roundstart, faster than a pickaxe.
|
|
usesound = 'sound/weapons/drill.ogg'
|
|
hitsound = 'sound/weapons/drill.ogg'
|
|
desc = "An electric mining drill for the especially scrawny."
|
|
|
|
/obj/item/pickaxe/drill/cyborg
|
|
name = "cyborg mining drill"
|
|
desc = "An integrated electric mining drill."
|
|
flags_1 = NONE
|
|
|
|
/obj/item/pickaxe/drill/cyborg/Initialize()
|
|
. = ..()
|
|
ADD_TRAIT(src, TRAIT_NODROP, CYBORG_ITEM_TRAIT)
|
|
|
|
/obj/item/pickaxe/drill/diamonddrill
|
|
name = "diamond-tipped mining drill"
|
|
icon_state = "diamonddrill"
|
|
toolspeed = 0.2
|
|
desc = "Yours is the drill that will pierce the heavens!"
|
|
|
|
/obj/item/pickaxe/drill/cyborg/diamond //This is the BORG version!
|
|
name = "diamond-tipped cyborg mining drill" //To inherit the NODROP_1 flag, and easier to change borg specific drill mechanics.
|
|
icon_state = "diamonddrill"
|
|
toolspeed = 0.2
|
|
|
|
/obj/item/pickaxe/drill/jackhammer
|
|
name = "sonic jackhammer"
|
|
icon_state = "jackhammer"
|
|
inhand_icon_state = "jackhammer"
|
|
worn_icon_state = "jackhammer"
|
|
toolspeed = 0.1 //the epitome of powertools. extremely fast mining
|
|
usesound = 'sound/weapons/sonic_jackhammer.ogg'
|
|
hitsound = 'sound/weapons/sonic_jackhammer.ogg'
|
|
desc = "Cracks rocks with sonic blasts."
|
|
|
|
/obj/item/pickaxe/improvised
|
|
name = "improvised pickaxe"
|
|
desc = "A pickaxe made with a knife and crowbar taped together, how does it not break?"
|
|
icon_state = "ipickaxe"
|
|
inhand_icon_state = "ipickaxe"
|
|
worn_icon_state = "pickaxe"
|
|
force = 10
|
|
throwforce = 7
|
|
toolspeed = 3 //3 times slower than a normal pickaxe
|
|
slot_flags = ITEM_SLOT_BELT
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
custom_materials = list(/datum/material/iron=12050) //metal needed for a crowbar and for a knife, why the FUCK does a knife cost 6 metal sheets while a crowbar costs 0.025 sheets? shit makes no sense fuck this
|
|
|
|
/obj/item/shovel
|
|
name = "shovel"
|
|
desc = "A large tool for digging and moving dirt."
|
|
icon = 'icons/obj/mining.dmi'
|
|
icon_state = "shovel"
|
|
worn_icon_state = "shovel"
|
|
lefthand_file = 'icons/mob/inhands/equipment/mining_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/equipment/mining_righthand.dmi'
|
|
flags_1 = CONDUCT_1
|
|
slot_flags = ITEM_SLOT_BELT
|
|
force = 8
|
|
tool_behaviour = TOOL_SHOVEL
|
|
toolspeed = 1
|
|
usesound = 'sound/effects/shovel_dig.ogg'
|
|
throwforce = 4
|
|
inhand_icon_state = "shovel"
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
custom_materials = list(/datum/material/iron=50)
|
|
attack_verb_continuous = list("bashes", "bludgeons", "thrashes", "whacks")
|
|
attack_verb_simple = list("bash", "bludgeon", "thrash", "whack")
|
|
sharpness = SHARP_EDGED
|
|
|
|
/obj/item/shovel/Initialize()
|
|
. = ..()
|
|
AddComponent(/datum/component/butchering, 150, 40) //it's sharp, so it works, but barely.
|
|
|
|
/obj/item/shovel/suicide_act(mob/living/user)
|
|
user.visible_message(span_suicide("[user] begins digging their own grave! It looks like [user.p_theyre()] trying to commit suicide!"))
|
|
if(use_tool(user, user, 30, volume=50))
|
|
return BRUTELOSS
|
|
user.visible_message(span_suicide("[user] couldn't do it!"))
|
|
return SHAME
|
|
|
|
/obj/item/shovel/spade
|
|
name = "spade"
|
|
desc = "A small tool for digging and moving dirt."
|
|
icon_state = "spade"
|
|
inhand_icon_state = "spade"
|
|
worn_icon_state = "spade"
|
|
lefthand_file = 'icons/mob/inhands/equipment/hydroponics_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/equipment/hydroponics_righthand.dmi'
|
|
force = 5
|
|
throwforce = 7
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
|
|
/obj/item/shovel/serrated
|
|
name = "serrated bone shovel"
|
|
desc = "A wicked tool that cleaves through dirt just as easily as it does flesh. The design was styled after ancient lavaland tribal designs."
|
|
icon_state = "shovel_bone"
|
|
inhand_icon_state = "shovel_bone"
|
|
worn_icon_state = "shovel_serr"
|
|
lefthand_file = 'icons/mob/inhands/equipment/mining_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/equipment/mining_righthand.dmi'
|
|
force = 15
|
|
throwforce = 12
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
toolspeed = 0.7
|
|
attack_verb_continuous = list("slashes", "impales", "stabs", "slices")
|
|
attack_verb_simple = list("slash", "impale", "stab", "slice")
|
|
sharpness = SHARP_EDGED
|