diff --git a/code/modules/mining/lavaland/loot/tendril_loot.dm b/code/modules/mining/lavaland/loot/tendril_loot.dm
index f2fb1cbf61e..21d4e613711 100644
--- a/code/modules/mining/lavaland/loot/tendril_loot.dm
+++ b/code/modules/mining/lavaland/loot/tendril_loot.dm
@@ -3,7 +3,7 @@
//Internal
/obj/item/storage/backpack/shared
name = "paradox bag"
- desc = "Каким-то образом существует сразу в двух местах одновременно."
+ desc = "Somehow, it's in two places at once."
max_combined_w_class = 60
max_w_class = WEIGHT_CLASS_NORMAL
cant_hold = list(/obj/item/storage/backpack/shared)
@@ -13,7 +13,7 @@
// basically we cannot put one bag in the storage if another one is already there
if(istype(I) && I.bag && I.bag == src && I.twin_storage && I.twin_storage.loc == src)
if(!stop_messages)
- balloon_alert(usr, span_warning("нельзя в себя же!"))
+ to_chat(usr, span_warning("Yo dawg, and how are you going to do it?"))
return FALSE
return ..()
@@ -21,7 +21,7 @@
//External
/obj/item/shared_storage
name = "paradox bag"
- desc = "Каким-то образом существует сразу в двух местах одновременно."
+ desc = "Somehow, it's in two places at once."
icon = 'icons/obj/storage.dmi'
icon_state = "cultpack"
slot_flags = ITEM_SLOT_BACK
@@ -111,7 +111,7 @@
/obj/item/book_of_babel
name = "Book of Babel"
- desc = "Древний фолиант, написанный в бесчисленном количестве языков."
+ desc = "An ancient tome written in countless tongues."
icon = 'icons/obj/library.dmi'
icon_state = "book1"
w_class = 2
@@ -119,11 +119,11 @@
/obj/item/book_of_babel/attack_self(mob/living/carbon/user)
if(HAS_TRAIT(user, TRAIT_NO_BABEL))
- user.visible_message(span_notice("[user] внезапно останавливается, осознавая [src]."))
- to_chat(user, span_warning("Вы не знаете ни что такое книга, ни что с ней делать."))
+ user.visible_message(span_notice("[user] suddenly stops, releasing [src]."))
+ to_chat(user, span_warning("You don't know what a book is or what to do with it."))
return
- to_chat(user, "Вы залпом пролистываете через страницы книги, необъяснимо быстро изучая каждый язык во вселенной. К сожалению, в процессе древняя книга рассыпается в прах. Упс.")
+ to_chat(user, "You flip through the pages of the book, quickly and conveniently learning every language in existence. Somewhat less conveniently, the aging book crumbles to dust in the process. Whoops.")
user.grant_all_babel_languages()
new /obj/effect/decal/cleanable/ash(get_turf(user))
user.temporarily_remove_item_from_inventory(src)
@@ -138,7 +138,7 @@
/obj/item/reagent_containers/glass/bottle/potion/flight
name = "strange elixir"
- desc = "Мистический флакон с полусвятой аурой исходящей от него. Надпись на нем гласит: 'эуфц'хъъ тъи'рв лвх йв'атв'."
+ desc = "A flask with an almost-holy aura emitting from it. The label on the bottle says: 'erqo'hyy tvi'rf lbh jv'atf'."
list_reagents = list("flightpotion" = 5)
/obj/item/reagent_containers/glass/bottle/potion/update_icon_state()
@@ -150,20 +150,20 @@
/datum/reagent/flightpotion
name = "Flight Potion"
id = "flightpotion"
- description = "Странный реагент с неизвестным происхождением."
+ description = "Strange mutagenic compound of unknown origins."
reagent_state = LIQUID
color = "#FFEBEB"
/datum/reagent/flightpotion/reaction_mob(mob/living/M, method = REAGENT_TOUCH, reac_volume, show_message = 1)
- to_chat(M, "Этот предмет на данный момент не может быть использован.")
+ to_chat(M, "This item is currently non-functional.")
/*if(ishuman(M) && M.stat != DEAD)
var/mob/living/carbon/human/H = M
if(!ishumanbasic(H) || reac_volume < 5) // implying xenohumans are holy
if(method == INGEST && show_message)
- to_chat(H, "Вы не чувствуете ничего, кроме отвратительного послевкусия..")
+ to_chat(H, "You feel nothing but a terrible aftertaste.")
return ..()
- to_chat(H, "Невыносимая боль проходит через вашу спину, как вдруг оттуда вырываются крылья!")
+ to_chat(H, "A terrible pain travels down your back as wings burst out!")
H.set_species(/datum/species/angel)
playsound(H.loc, 'sound/items/poster_ripped.ogg', 50, 1, -1)
H.adjustBruteLoss(20)
@@ -172,7 +172,7 @@
/obj/item/jacobs_ladder
name = "jacob's ladder"
- desc = "Небесная лестница, нарушающая законы физики."
+ desc = "A celestial ladder that violates the laws of physics."
icon = 'icons/obj/structures.dmi'
icon_state = "ladder"
@@ -180,7 +180,7 @@
var/turf/T = get_turf(src)
var/ladder_x = T.x
var/ladder_y = T.y
- to_chat(user, "Вы разворачиваете лестницу. Она уходит значительно дальше, чем вы ожидали.")
+ to_chat(user, "You unfold the ladder. It extends much farther than you were expecting.")
var/last_ladder = null
for(var/i in 1 to world.maxz)
if(is_admin_level(i) || is_away_level(i) || is_taipan(i))
@@ -195,12 +195,12 @@
// Inherit from unbreakable but don't set ID, to suppress the default Z linkage
/obj/structure/ladder/unbreakable/jacob
name = "jacob's ladder"
- desc = "Нерушимая небесная лестница, нарушающая законы физики."
+ desc = "An indestructible celestial ladder that violates the laws of physics."
//Wisp Lantern
/obj/item/wisp_lantern
name = "spooky lantern"
- desc = "Эта лампа не источает света, но является убежищем для дружелюбного духа."
+ desc = "This lantern gives off no light, but is home to a friendly wisp."
icon = 'icons/obj/lighting.dmi'
icon_state = "lantern-blue"
item_state = "lantern"
@@ -222,33 +222,33 @@
/obj/item/wisp_lantern/attack_self(mob/user)
if(!wisp)
- balloon_alert(user, "Дух исчез!")
+ to_chat(user, "The wisp has gone missing!")
update_icon(UPDATE_ICON_STATE)
return
if(wisp.loc == src)
RegisterSignal(user, COMSIG_MOB_UPDATE_SIGHT, PROC_REF(update_user_sight))
- to_chat(user, "Выпущенный дух крутится вокруг вашей головы.")
+ to_chat(user, "You release the wisp. It begins to bob around your head.")
wisp.forceMove(user)
update_icon(UPDATE_ICON_STATE)
INVOKE_ASYNC(wisp, TYPE_PROC_REF(/atom/movable, orbit), user, 20)
set_light_on(FALSE)
user.update_sight()
- balloon_alert(user, "дух улучшает ваше зрение.")
+ to_chat(user, "The wisp enhances your vision.")
SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Freed") // freed
else
UnregisterSignal(user, COMSIG_MOB_UPDATE_SIGHT)
- to_chat(user, "Вы помещаете духа обратно в лампу.")
+ to_chat(user, "You return the wisp to the lantern.")
wisp.stop_orbit()
wisp.forceMove(src)
set_light_on(TRUE)
user.update_sight()
- balloon_alert(user, "ваше зрение вернулось в норму.")
+ to_chat(user, "Your vision returns to normal.")
update_icon(UPDATE_ICON_STATE)
SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Returned") // returned
@@ -263,7 +263,7 @@
if(wisp.loc == src)
qdel(wisp)
else
- wisp.visible_message("[wisp] взгрустнул на момент, после чего исчез.")
+ wisp.visible_message("[wisp] has a sad feeling for a moment, then it passes.")
return ..()
/obj/item/wisp_lantern/proc/update_user_sight(mob/user)
@@ -273,7 +273,7 @@
/obj/effect/wisp
name = "friendly wisp"
- desc = "Счастливо освещает ваш путь."
+ desc = "Happy to light your way."
icon = 'icons/obj/lighting.dmi'
icon_state = "orb"
light_range = 7
@@ -282,7 +282,7 @@
//Red/Blue Cubes
/obj/item/warp_cube
name = "blue cube"
- desc = "Мистический синий куб."
+ desc = "A mysterious blue cube."
icon = 'icons/obj/lavaland/artefacts.dmi'
icon_state = "blue_cube"
var/obj/item/warp_cube/linked
@@ -295,11 +295,11 @@
/obj/item/warp_cube/attack_self(mob/user)
if(!linked)
- balloon_alert(user, "[src] искрится и шипит.")
+ to_chat(user, "[src] fizzles uselessly.")
return
if(is_in_teleport_proof_area(user) || is_in_teleport_proof_area(linked))
- balloon_alert(user, "[src] искрится и шипит.")
+ to_chat(user, "[src] sparks and fizzles.")
return
if(do_after(user, 1.5 SECONDS, user))
var/datum/effect_system/smoke_spread/smoke = new
@@ -313,12 +313,12 @@
smoke2.set_up(1, 0, user.loc)
smoke2.start()
else
- balloon_alert(user, "перестаньте двигатся")
+ to_chat(user, "You need to hold still to use [src].")
/obj/item/warp_cube/red
name = "red cube"
- desc = "Мистический красный куб."
+ desc = "A mysterious red cube."
icon_state = "red_cube"
/obj/item/warp_cube/red/New()
@@ -332,7 +332,7 @@
/obj/item/gun/magic/hook
name = "meat hook"
- desc = "Ты погляди, свежее мясо!"
+ desc = "Mid or feed."
ammo_type = /obj/item/ammo_casing/magic/hook
icon_state = "hook"
item_state = "chain"
@@ -343,7 +343,7 @@
/obj/item/ammo_casing/magic/hook
name = "hook"
- desc = "Крюк. Get over here!"
+ desc = "a hook."
projectile_type = /obj/item/projectile/hook
caliber = "hook"
icon_state = "hook"
@@ -372,7 +372,7 @@
var/turf/firer_turf = get_turf(firer)
var/mob/living/L = target
if(!L.anchored && L.loc)
- L.visible_message("[L] прицеплен за крюк [firer]!")
+ L.visible_message("[L] is snagged by [firer]'s hook!")
ADD_TRAIT(L, TRAIT_UNDENSE, UNIQUE_TRAIT_SOURCE(src)) // Ensures the hook does not hit the target multiple times
L.forceMove(firer_turf)
REMOVE_TRAIT(L, TRAIT_UNDENSE, UNIQUE_TRAIT_SOURCE(src))
@@ -385,7 +385,7 @@
//Immortality Talisman
/obj/item/immortality_talisman
name = "Immortality Talisman"
- desc = "Зловещий талисман, способный временно сделать вас неуязвимым."
+ desc = "A dread talisman that can render you completely invulnerable."
icon = 'icons/obj/lavaland/artefacts.dmi'
icon_state = "talisman"
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
@@ -406,7 +406,7 @@
/obj/item/immortality_talisman/attack_self(mob/user)
if(!COOLDOWN_FINISHED(src, last_used_immortality_talisman))
- balloon_alert(user, span_warning("перезарядка!"))
+ to_chat(user, span_warning("[src] is still recharging."))
return
var/turf/source_turf = get_turf(src)
@@ -415,11 +415,11 @@
COOLDOWN_START(src, last_used_immortality_talisman, 60 SECONDS)
SSblackbox.record_feedback("amount", "immortality_talisman_uses", 1)
- user.visible_message(span_danger("[user] пропадает из реальности, оставляя пространственную дыру на [user.p_their()] месте!"))
+ user.visible_message(span_danger("[user] vanishes from reality, leaving a a hole in [user.p_their()] place!"))
var/obj/effect/immortality_talisman/effect = new(source_turf)
effect.name = "hole in reality"
- effect.desc = "Подозрительно напоминает силуэт [user.name]."
+ effect.desc = "It's shaped an awful lot like [user.name]."
effect.setDir(user.dir)
user.forceMove(effect)
user.add_traits(list(TRAIT_NO_TRANSFORM, TRAIT_GODMODE), UNIQUE_TRAIT_SOURCE(src))
@@ -433,12 +433,12 @@
var/turf/effect_turf = get_turf(effect)
if(!effect_turf)
- stack_trace("[effect] вне содержаний этой земли.")
+ stack_trace("[effect] is outside of the turf contents")
return
user.remove_traits(list(TRAIT_NO_TRANSFORM, TRAIT_GODMODE), UNIQUE_TRAIT_SOURCE(src))
user.forceMove(effect_turf)
- user.visible_message(span_danger("[user] вновь возникает в реальности!"))
+ user.visible_message(span_danger("[user] pops back into reality!"))
effect.can_destroy = TRUE
if(length(effect.contents))
diff --git a/html/changelogs/archive/2024-11.yml b/html/changelogs/archive/2024-11.yml
index 694667be1c8..f0381d35966 100644
--- a/html/changelogs/archive/2024-11.yml
+++ b/html/changelogs/archive/2024-11.yml
@@ -20,11 +20,17 @@
- bugfix: Cult fixes (#6090)
- bugfix: dna vault hotfix (#6122)
'2024-11-04':
+ Antoonij:
+ - add: ASHIE UPDATE (#5875)
Daeberdir:
- bugfix: Incorrect `mechanized` limb attaching. (#6125)
- bugfix: Light fixture attach_chain blocks. (#6124)
- bugfix: Fixed phazon noclip on teleport forbidden areas (#6121)
- bugfix: Correct input target for `mindscan`. (#6120)
+ NightDawnFox:
+ - add: a lot of roboquest tweaks. (#5961)
+ NoName:
+ - bugfix: Earings in loadout (#6129)
PiroMage:
- bugfix: 'Nova Station #12 Patch (#6115)'
- bugfix: Conveyor Belt and Disposal Outlet on Cyberiad & Celestation. (#6109)
@@ -34,3 +40,26 @@
- add: CE toolbet now can hold RCD and one more item (#6048)
Valtor:
- add: species age restrictions (#6101)
+ Vladisvell:
+ - bugfix: added failsafe check for elite fauna and chasms (#6126)
+ - server: Updated testmerge workflow (#6127)
+'2024-11-05':
+ Dictor:
+ - add: Entertainment monitor (#5900)
+ Explosi00N:
+ - server: Перевод лута с тендрилов Лаваленда (#6132)
+ LiquidPotroh:
+ - bugfix: Xenomorph fixes (#6110)
+ NightDawnFox:
+ - del: unathi rumble is gone (#6030)
+ - add: advanced laser & alien surgery kits (#6057)
+ Sheya:
+ - add: fishing rod is now craftable in R&D (#6045)
+ - add: Lockboxes on Taipan are no longer created in protholates and exosuit fabricators
+ (#6049)
+ Vladisvell:
+ - del: Перевод лута с тендрилов Лаваленда" (#6133)
+ github-actions[bot]:
+ - server: Automatic NanoMap Update (#6025)
+ littleboobs:
+ - qol: DNA effects translation (#6114)
diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi
index 43920ad30e2..f2d4f1822f2 100644
Binary files a/icons/mob/clothing/back.dmi and b/icons/mob/clothing/back.dmi differ
diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi
index a43f3ad5bef..1d4b1d61a5c 100755
Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ
diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi
index 5ba67e0ec3d..8146eb860e4 100755
Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ
diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi
index 483e1fd3e76..9c33efec694 100644
Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ