diff --git a/modular_chomp/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/modular_chomp/code/modules/mob/living/silicon/robot/drone/drone_items.dm index c2950ca3cc..81808a0efb 100644 --- a/modular_chomp/code/modules/mob/living/silicon/robot/drone/drone_items.dm +++ b/modular_chomp/code/modules/mob/living/silicon/robot/drone/drone_items.dm @@ -617,10 +617,11 @@ name = "Vac attachment" desc = "Useful for slurping mess off the floors. Even things and stuff depending on settings." icon = 'modular_chomp/icons/mob/dogborg_ch.dmi' - icon_state = "sucker" + icon_state = "sucker-0" hitsound = 'sound/effects/attackblob.ogg' - var/vac_power = 1 + var/vac_power = 0 var/list/vac_settings = list( + "power off" = 0, "dust and grime" = 1, "tiny objects" = 2, "pests and small objects" = 3, @@ -637,15 +638,18 @@ var/set_input = tgui_input_list(user, "Set your vacuum attachment's power level", "Vac Settings", vac_settings) if(set_input) vac_power = vac_settings[set_input] + icon_state = "sucker-[vac_power]" /obj/item/device/vac_attachment/afterattack(atom/target, mob/living/user, proximity) + if(vac_power < 1) + return if(!proximity) return if(!user.vore_selected) return user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) if(isturf(target)) - user.visible_message("[user] points their [src.name] towards \the [target.name].", "You begin vacuuming the mess off \the [target.name]...") + user.visible_message("[user] begins vacuuming the mess off \the [target.name]...", "You begin vacuuming the mess off \the [target.name]...") var/list/suckables = list() if(vac_power >= 1) for(var/obj/effect/decal/cleanable/C in target) @@ -687,7 +691,7 @@ continue suckables |= L if(LAZYLEN(suckables)) - playsound(src, 'sound/machines/hiss.ogg', vac_power * 10, 1, -1) + playsound(src, 'sound/machines/kitchen/candymaker/candymaker-mid1.ogg', vac_power * 20, 1, -1) var/vac_conga = 0 for(var/atom/movable/F in suckables) if(is_type_in_list(F,item_vore_blacklist)) @@ -696,7 +700,7 @@ qdel(F) continue if(vac_conga < 100) - vac_conga += 2 + vac_conga += 3 spawn(3 + vac_conga) F.SpinAnimation(5,1) spawn(5) @@ -704,7 +708,8 @@ if(isitem(F)) var/obj/item/I = F if(I.drop_sound) - playsound(src, I.drop_sound, vac_power * 10, preference = /datum/client_preference/drop_sounds) + playsound(src, I.drop_sound, vac_power * 5, 1, -1) + playsound(src, 'sound/rakshasa/corrosion3.ogg', vac_power * 15, 1, -1) F.forceMove(user.vore_selected) if(istype(target, /turf/simulated)) var/turf/simulated/T = target @@ -715,15 +720,16 @@ if(is_type_in_list(I,item_vore_blacklist)) return if(vac_power > I.w_class) - playsound(src, 'sound/machines/hiss.ogg', vac_power * 10, 1, -1) + playsound(src, 'sound/machines/kitchen/candymaker/candymaker-mid1.ogg', vac_power * 20, 1, -1) user.visible_message("[user] vacuums up \the [target.name].", "You vacuum up \the [target.name]...") I.SpinAnimation(5,1) spawn(5) if(I.drop_sound) - playsound(src, I.drop_sound, vac_power * 10, preference = /datum/client_preference/drop_sounds) + playsound(src, I.drop_sound, vac_power * 5, 1, -1) + playsound(src, 'sound/rakshasa/corrosion3.ogg', vac_power * 15, 1, -1) I.forceMove(user.vore_selected) else if(istype(target,/obj/effect/decal/cleanable)) - playsound(src, 'sound/machines/hiss.ogg', vac_power * 10, 1, -1) + playsound(src, 'sound/machines/kitchen/candymaker/candymaker-mid1.ogg', vac_power * 20, 1, -1) user.visible_message("[user] vacuums up \the [target.name].", "You vacuum up \the [target.name]...") qdel(target) else if(isliving(target)) @@ -737,9 +743,16 @@ if(vac_power >= 6) valid_to_suck = TRUE if(valid_to_suck) - playsound(src, 'sound/machines/hiss.ogg', vac_power * 10, 1, -1) + playsound(src, 'sound/machines/kitchen/candymaker/candymaker-mid1.ogg', vac_power * 20, 1, -1) user.visible_message("[user] vacuums up \the [target.name].", "You vacuum up \the [target.name]...") L.SpinAnimation(5,1) spawn(5) + playsound(src, 'sound/rakshasa/corrosion3.ogg', vac_power * 15, 1, -1) L.forceMove(user.vore_selected) return + +/obj/item/device/vac_attachment/resolve_attackby(atom/A, mob/user, var/attack_modifier = 1, var/click_parameters) + if(istype(A,/obj/structure) && vac_power > 0) + afterattack(A.loc, user, click_parameters) + return TRUE + return ..() diff --git a/modular_chomp/icons/mob/dogborg_ch.dmi b/modular_chomp/icons/mob/dogborg_ch.dmi index fa15a27fdf..d227a74a58 100644 Binary files a/modular_chomp/icons/mob/dogborg_ch.dmi and b/modular_chomp/icons/mob/dogborg_ch.dmi differ