Merge remote-tracking branch 'upstream/master'

This commit is contained in:
BongaTheProto
2022-08-20 17:16:19 -05:00
68 changed files with 549 additions and 304 deletions
@@ -29,8 +29,10 @@
var/brightness_on = 7
var/wielded = FALSE // track wielded status on item
/obj/item/kinetic_crusher/cyborg //probably give this a unique sprite later
desc = "An integrated version of the standard kinetic crusher with a grinded down axe head to dissuade mis-use against crewmen. Deals damage equal to the standard crusher against creatures, however."
/obj/item/kinetic_crusher/cyborg
icon_state = "crusher-cyborg"
item_state = "crusher0-cyborg"
desc = "An integrated version of the standard kinetic crusher with a kinetic dampener module installed to limit harmful usage misusage against organics. Deals damage equal to the standard crusher against creatures."
force = 10 //wouldn't want to give a borg a 20 brute melee weapon unemagged now would we
detonation_damage = 60
wielded = 1
@@ -3,7 +3,7 @@
desc = "A scanner that checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations."
name = "manual mining scanner"
icon = 'icons/obj/device.dmi'
icon_state = "mining1"
icon_state = "miningmanual"
item_state = "analyzer"
lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
@@ -33,7 +33,7 @@
/obj/item/t_scanner/adv_mining_scanner
desc = "A scanner that automatically checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations. This one has an extended range."
name = "advanced automatic mining scanner"
icon_state = "mining0"
icon_state = "adv_mining0"
item_state = "analyzer"
lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
@@ -47,6 +47,7 @@
/obj/item/t_scanner/adv_mining_scanner/lesser
name = "automatic mining scanner"
desc = "A scanner that automatically checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations."
icon_state = "mining0"
range = 4
cooldown = 50
@@ -95,7 +95,7 @@
/obj/item/pickaxe/drill
name = "mining drill"
icon_state = "handdrill"
item_state = "jackhammer"
item_state = "handdrill"
slot_flags = ITEM_SLOT_BELT
toolspeed = 0.6 //available from roundstart, faster than a pickaxe.
usesound = 'sound/weapons/drill.ogg'
@@ -115,12 +115,14 @@
/obj/item/pickaxe/drill/diamonddrill
name = "diamond-tipped mining drill"
icon_state = "diamonddrill"
item_state = "diamonddrill"
toolspeed = 0.4
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"
item_state = "diamonddrill"
toolspeed = 0.4
digrange = 2
@@ -770,6 +770,12 @@
total_mass_on = 5
attack_speed = 0
attack_unwieldlyness = CLICK_CD_MELEE * 0.5
/// how much stamina does it cost to roll?
var/roll_stamcost = 15
/// how far are we rolling?
var/roll_range = 3
/// do you spin when dodgerolling
var/roll_orientation = TRUE
/obj/item/melee/transforming/cleaving_saw/examine(mob/user)
. = ..()
@@ -815,6 +821,11 @@
else
B.add_stacks(bleed_stacks_per_hit)
/obj/item/melee/transforming/cleaving_saw/AltClick(mob/user)
. = ..()
roll_orientation = !roll_orientation
to_chat(user, span_notice("You are now [roll_orientation ? "rolling" : "quick-stepping"] when you dodge. (This only affects if you spin or not during a dodge.)"))
/obj/item/melee/transforming/cleaving_saw/attack(mob/living/target, mob/living/carbon/human/user)
if(!active || swiping || !target.density || get_turf(target) == get_turf(user))
if(!active)
@@ -834,6 +845,43 @@
melee_attack_chain(user, L)
swiping = FALSE
/obj/item/melee/transforming/cleaving_saw/alt_pre_attack(atom/A, mob/living/user, params)
return TRUE // Let's dance.
/obj/item/melee/transforming/cleaving_saw/altafterattack(atom/target, mob/living/user, proximity_flag, click_parameters)
if(user.IsImmobilized()) // no free dodgerolls
return
var/turf/where_to = get_turf(target)
user.apply_damage(damage = roll_stamcost, damagetype = STAMINA)
user.Immobilize(0.8 SECONDS) // you dont get to adjust your roll
user.throw_at(where_to, range = roll_range, speed = 1, force = MOVE_FORCE_NORMAL, spin = roll_orientation)
user.apply_status_effect(/datum/status_effect/dodgeroll_iframes)
playsound(user, 'sound/effects/body-armor-rolling.ogg', 50, FALSE)
return ..()
/datum/status_effect/dodgeroll_iframes
id = "dodgeroll_dodging"
alert_type = null
status_type = STATUS_EFFECT_REFRESH
duration = 0.8 SECONDS // worth tweaking?
/datum/status_effect/dodgeroll_iframes/on_apply()
. = ..()
RegisterSignal(owner, COMSIG_LIVING_RUN_BLOCK, .proc/trolled)
/datum/status_effect/dodgeroll_iframes/on_remove()
UnregisterSignal(owner, list(
COMSIG_LIVING_RUN_BLOCK
))
return ..()
/datum/status_effect/dodgeroll_iframes/proc/trolled(mob/living/source, real_attack, object, damage, attack_text, attack_type, armour_penetration, attacker, def_zone, return_list)
SIGNAL_HANDLER
owner.balloon_alert_to_viewers("missed!")
playsound(src, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
return_list[BLOCK_RETURN_REDIRECT_METHOD] = REDIRECT_METHOD_PASSTHROUGH
return BLOCK_SUCCESS | BLOCK_SHOULD_REDIRECT | BLOCK_TARGET_DODGED
//Dragon
/obj/structure/closet/crate/necropolis/dragon