Skip to content

Commit

Permalink
tweak: more balloons for lava stuff + knockdown for mining charges (#…
Browse files Browse the repository at this point in the history
…5524)

* да.

* упс

* фиксы по предложениям
  • Loading branch information
NightDawnFox authored Aug 4, 2024
1 parent 9d06fc9 commit f2a7439
Show file tree
Hide file tree
Showing 8 changed files with 51 additions and 45 deletions.
4 changes: 2 additions & 2 deletions code/modules/mining/equipment/kinetic_crusher.dm
Original file line number Diff line number Diff line change
Expand Up @@ -55,12 +55,12 @@
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
if(LAZYLEN(trophies))
to_chat(user, "<span class='notice'>You remove [src]'s trophies.</span>")
balloon_alert(user, "трофеи сняты")
for(var/t in trophies)
var/obj/item/crusher_trophy/T = t
T.remove_from(src, user)
else
to_chat(user, "<span class='warning'>There are no trophies on [src].</span>")
balloon_alert(user, "нет трофеев!")

/obj/item/twohanded/kinetic_crusher/attack(mob/living/target, mob/living/carbon/user)
if(!HAS_TRAIT(src, TRAIT_WIELDED))
Expand Down
8 changes: 4 additions & 4 deletions code/modules/mining/equipment/lazarus_injector.dm
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
if(isanimal(target))
var/mob/living/simple_animal/M = target
if(M.sentience_type != revive_type)
to_chat(user, "<span class='info'>[src] does not work on this sort of creature.</span>")
balloon_alert(user, "неподходящее животное!")
return
if(M.stat == DEAD)
M.faction = list("neutral")
Expand All @@ -48,18 +48,18 @@
update_icon(UPDATE_ICON_STATE)
return
else
to_chat(user, "<span class='info'>[src] is only effective on the dead.</span>")
balloon_alert(user, "нельзя использовать на мёртвых!")
return
else
to_chat(user, "<span class='info'>[src] is only effective on lesser beings.</span>")
balloon_alert(user, "оно слишком разумно!")
return

/obj/item/lazarus_injector/emag_act(mob/user)
if(!malfunctioning)
add_attack_logs(user, src, "emagged")
malfunctioning = 1
if(user)
to_chat(user, "<span class='notice'>You override [src]'s safety protocols.</span>")
balloon_alert(user, "протоколы защиты сняты!")

/obj/item/lazarus_injector/emp_act()
if(!malfunctioning)
Expand Down
28 changes: 16 additions & 12 deletions code/modules/mining/equipment/mining_charges.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,21 @@
item_state = "charge_indust"
det_time = 5 SECONDS
notify_admins = FALSE // no need to make adminlogs on lavaland, while they are "safe" to use
/// When TRUE, charges won't detonate on it's own. Used for mining detonator
var/timer_off = FALSE
var/installed = FALSE
var/smoke_amount = 3
/// list of sizes for explosion. Third number is used for actual rock explosion size, second number is radius for Weaken() effects, first is used for hacked charges
var/boom_sizes = list(2,3,5)

var/hacked = FALSE
var/installed = FALSE
var/smoke_amount = 3

/obj/item/grenade/plastic/miningcharge/examine(mob/user)
. = ..()
if(hacked)
. += "Its wiring is haphazardly changed."
. += span_warning("Its wiring is haphazardly changed.")
if(timer_off)
. += "<span class='notice'>The mining charge is connected to a detonator.</span>"
. += span_notice("The mining charge is connected to a detonator.")

/obj/item/grenade/plastic/miningcharge/Initialize()
. = ..()
Expand All @@ -38,7 +41,7 @@
return
if(iscarbon(AM))
return
to_chat(user, "<span class='notice'>You start planting the [src].</span>")
balloon_alert(user, "установка взрывчатки...")
if(do_after(user, 2.5 SECONDS * toolspeed, AM, category = DA_CAT_TOOL))
if(!user.drop_item_ground(src))
return
Expand All @@ -58,10 +61,10 @@
if(!(src in detonator.bombs) && !timer_off)
detonator.bombs += src
timer_off = TRUE
to_chat(user, span_notice("You synchronized [src] to a detonator."))
balloon_alert(user, "синхронизировано")
playsound(src, 'sound/machines/twobeep.ogg', 50)
else
to_chat(user, span_warning("[src] was already synchronized to a existing detonator!"))
balloon_alert(user, "уже синхронизировано!")
detonator.update_icon()
..()

Expand Down Expand Up @@ -90,7 +93,7 @@
if(ishuman(C)) //working on everyone
var/distance = get_dist_euclidean(location, C)
C.flash_eyes()
C.Weaken((boom_sizes[2] - distance) * 1 SECONDS) //1 second for how close you are to center if you're in range
C.Knockdown((boom_sizes[2] - distance) * 1 SECONDS) //1 second for how close you are to center if you're in range
C.AdjustDeaf((boom_sizes[3] - distance) * 10 SECONDS)
var/obj/item/organ/internal/ears/ears = C.get_int_organ(/obj/item/organ/internal/ears)
if(istype(ears))
Expand Down Expand Up @@ -162,10 +165,10 @@
if(istype(target,/obj/item/grenade/plastic/miningcharge))
var/obj/item/grenade/plastic/miningcharge/charge = target
if(charge.hacked)
to_chat(user, span_notice("[src] is already overridden!"))
balloon_alert(user, "уже взломано!")
return
if(charges <= 0)
to_chat(user, span_notice("Its overriding function is depleted."))
balloon_alert(user, "заряды закончились!")
return
charge.override_safety()
visible_message(span_warning("Sparks fly out of [src]!"), span_notice("You override [src], disabling its safeties."))
Expand All @@ -182,6 +185,7 @@
w_class = WEIGHT_CLASS_SMALL
icon = 'icons/obj/mining.dmi'
icon_state = "Detonator-0"
/// list of all bombs connected to a detonator for a moment
var/list/bombs = list()

/obj/item/detonator/examine(mob/user)
Expand All @@ -202,7 +206,7 @@
/obj/item/detonator/attack_self(mob/user)
playsound(src, 'sound/items/detonator.ogg', 40)
if(bombs.len)
to_chat(user, span_notice("Activating explosives..."))
balloon_alert(user, "активация взрывчатки...")
for(var/obj/item/grenade/plastic/miningcharge/charge in bombs)
if(QDELETED(charge))
to_chat(user, span_notice("Can't reach [charge]. Deleting from the list..."))
Expand All @@ -212,6 +216,6 @@
bombs -= charge
charge.detonate()
else
to_chat(user, span_warning("There is no charges linked to a detonator!"))
balloon_alert(user, "нет привязанной взрывчатки!")
update_icon(UPDATE_ICON_STATE)
. = ..()
18 changes: 10 additions & 8 deletions code/modules/mining/equipment/regenerative_core.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,17 @@
w_class = WEIGHT_CLASS_TINY
origin_tech = "biotech=3"

/obj/item/hivelordstabilizer/afterattack(obj/item/organ/internal/M, mob/user)
/obj/item/hivelordstabilizer/afterattack(obj/item/organ/internal/M, mob/user, proximity)
. = ..()
if(!proximity)
return
var/obj/item/organ/internal/regenerative_core/C = M
if(!istype(C, /obj/item/organ/internal/regenerative_core))
to_chat(user, "<span class='warning'>The stabilizer only works on certain types of monster organs, generally regenerative in nature.</span>")
to_chat(user, span_warning("The stabilizer only works on certain types of monster organs, generally regenerative in nature."))
return ..()

C.preserved()
to_chat(user, "<span class='notice'>You inject the [M] with the stabilizer. It will no longer go inert.</span>")
balloon_alert(user, "ядро стабилизировано!") //replace to "organ" when there is more than one kind of regenerative organ
qdel(src)

/************************Hivelord core*******************/
Expand Down Expand Up @@ -72,17 +74,17 @@
if(ishuman(target))
var/mob/living/carbon/human/H = target
if(inert)
to_chat(user, "<span class='notice'>[src] has decayed and can no longer be used to heal.</span>")
balloon_alert(user, "ядро сгнило!")
return
else
if(H.stat == DEAD)
to_chat(user, "<span class='notice'>[src] is useless on the dead.</span>")
balloon_alert(user, "не сработает на трупах!")
return
if(H != user)
H.visible_message("[user] forces [H] to apply [src]... Black tendrils entangle and reinforce [H.p_them()]!")
SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "other"))
else
to_chat(user, "<span class='notice'>You start to smear [src] on yourself. Disgusting tendrils hold you together and allow you to keep moving, but for how long?</span>")
to_chat(user, span_notice("You start to smear [src] on yourself. Disgusting tendrils hold you together and allow you to keep moving, but for how long?"))
SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "self"))
H.apply_status_effect(STATUS_EFFECT_REGENERATIVE_CORE)
user.temporarily_remove_item_from_inventory(src)
Expand Down Expand Up @@ -195,13 +197,13 @@
if(ishuman(target))
var/mob/living/carbon/human/H = target
if(H.stat == DEAD)
to_chat(user, "<span class='notice'>[src] is useless on the dead.</span>")
balloon_alert(user, "не сработает на трупах!")
return
if(H != user)
H.visible_message("[user] forces [H] to apply [src]... Black tendrils entangle and reinforce [H.p_them()]!")
SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "other"))
else
to_chat(user, "<span class='notice'>You start to smear [src] on yourself. Disgusting tendrils hold you together and allow you to keep moving, but for how long?</span>")
to_chat(user, span_notice("You start to smear [src] on yourself. Disgusting tendrils hold you together and allow you to keep moving, but for how long?"))
SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "self"))
H.apply_status_effect(STATUS_EFFECT_REGENERATIVE_CORE)
user.temporarily_remove_item_from_inventory(src)
Expand Down
4 changes: 2 additions & 2 deletions code/modules/mining/equipment/wormhole_jaunter.dm
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
var/list/destinations = get_destinations()
if(!length(destinations))
if(user)
to_chat(user, span_notice("\The [src] found no beacons in the world to anchor a wormhole to."))
balloon_alert(user, "нет доступных маяков!")
else
visible_message(span_notice("\The [src] found no beacons in the world to anchor a wormhole to!"))
return TRUE // used for chasm code
Expand Down Expand Up @@ -75,7 +75,7 @@
add_attack_logs(user, src, "emagged")
emagged = TRUE
if(user)
to_chat(user, "<span class='notice'>You emag [src].</span>")
balloon_alert(user, "протоколы защиты сняты!")
var/turf/T = get_turf(src)
do_sparks(5, 0, T)
playsound(T, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
Expand Down
12 changes: 6 additions & 6 deletions code/modules/mining/fulton.dm
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons)
possible_beacons += EP

if(!possible_beacons.len)
to_chat(user, "There are no extraction beacons in existence!")
balloon_alert(user, "маяки не найдены!")
return

else
Expand All @@ -36,7 +36,7 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons)
if(!A)
return
beacon = A
to_chat(user, "You link the extraction pack to the beacon system.")
balloon_alert(user, "синхронизация завершена")

/obj/item/extraction_pack/MouseDrop(atom/over_object, src_location, over_location, src_control, over_control, params)
if(!..())
Expand All @@ -52,12 +52,12 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons)
/obj/item/extraction_pack/afterattack(atom/movable/A, mob/living/carbon/human/user, flag, params)
. = ..()
if(!beacon)
to_chat(user, "<span class='warning'>[src] is not linked to a beacon, and cannot be used!</span>")
balloon_alert(user, "синхронизируйте с маяком!")
return
if(!can_use_indoors)
var/area/area = get_area(A)
if(!area.outdoors)
to_chat(user, "<span class='warning'>[src] can only be used on things that are outdoors!</span>")
balloon_alert(user, "используйте снаружи!")
return
if(!flag)
return
Expand All @@ -71,9 +71,9 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons)
return
if(A.anchored || (A.move_resist > max_force_fulton))
return
to_chat(user, "<span class='notice'>You start attaching the pack to [A]...</span>")
balloon_alert(user, "подготовка эвакуации...")
if(do_after(user, 5 SECONDS, A))
to_chat(user, "<span class='notice'>You attach the pack to [A] and activate it.</span>")
balloon_alert(user, "эвакуация завершена")
if(loc == user && istype(user.back, /obj/item/storage/backpack))
var/obj/item/storage/backpack/B = user.back
if(B.can_be_inserted(src, stop_messages = TRUE))
Expand Down
14 changes: 7 additions & 7 deletions code/modules/mining/ores_coins.dm
Original file line number Diff line number Diff line change
Expand Up @@ -57,12 +57,12 @@
/obj/item/stack/ore/welder_act(mob/user, obj/item/I)
. = TRUE
if(!refined_type)
to_chat(user, "<span class='notice'>You can't smelt [src] into anything useful!</span>")
balloon_alert(usr, "нельзя расплавить!")
return
if(!I.use_tool(src, user, 0, 15, volume = I.tool_volume))
return
new refined_type(drop_location(), amount)
to_chat(user, "<span class='notice'>You smelt [src] into its refined form!</span>")
balloon_alert(usr, "переплавлено!")
qdel(src)


Expand Down Expand Up @@ -255,7 +255,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\

/obj/item/twohanded/required/gibtonite/can_be_pulled(atom/movable/puller, grab_state, force, supress_message)
if(!supress_message && ismob(puller))
to_chat(puller, span_warning("It's too heavy to be pulled!"))
balloon_alert(puller, "слишком тяжело!")
return FALSE // must be carried in two hands or be picked up with ripley

/obj/item/twohanded/required/gibtonite/attackby(obj/item/I, mob/user, params)
Expand Down Expand Up @@ -460,15 +460,15 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
if(istype(W, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/CC = W
if(string_attached)
to_chat(user, "<span class='notice'>There already is a string attached to this coin.</span>")
balloon_alert(user, "уже прикреплено!")
return

if(CC.use(1))
add_overlay(image('icons/obj/economy.dmi',"coin_string_overlay"))
string_attached = 1
to_chat(user, "<span class='notice'>You attach a string to the coin.</span>")
balloon_alert(user, "прикреплено!")
else
to_chat(user, "<span class='warning'>You need one length of cable to attach a string to the coin.</span>")
balloon_alert(user, "недостаточно кабеля") //how the f could you take less than one lenght of cable
return

else if(istype(W,/obj/item/wirecutters))
Expand All @@ -480,7 +480,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
CC.update_icon()
overlays = list()
string_attached = null
to_chat(user, "<span class='notice'>You detach the string from the coin.</span>")
balloon_alert(user, "кабель срезан")
else ..()

/obj/item/coin/welder_act(mob/user, obj/item/I)
Expand Down
8 changes: 4 additions & 4 deletions code/modules/mining/satchel_ore_boxdm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
add_fingerprint(usr)
if(href_list["removeall"])
dump_box_contents()
to_chat(usr, "<span class='notice'>You empty the box.</span>")
balloon_alert(usr, "разгружено")
updateUsrDialog()

/obj/structure/ore_box/deconstruct(disassembled = TRUE, mob/user)
Expand Down Expand Up @@ -92,14 +92,14 @@
return

if(!Adjacent(usr))
to_chat(usr, "You cannot reach the ore box.")
balloon_alert(usr, "слишком далеко!")
return

add_fingerprint(usr)

if(contents.len < 1)
to_chat(usr, "<span class='warning'>The ore box is empty.</span>")
balloon_alert(usr, "груз отсутствует")
return

dump_box_contents()
to_chat(usr, "<span class='notice'>You empty the ore box.</span>")
balloon_alert(usr, "разгружено")

0 comments on commit f2a7439

Please sign in to comment.