Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master220' into small-things
Browse files Browse the repository at this point in the history
  • Loading branch information
Vladisvell committed Nov 6, 2024
2 parents 552a0ce + 530c355 commit 651c634
Show file tree
Hide file tree
Showing 6 changed files with 66 additions and 37 deletions.
74 changes: 37 additions & 37 deletions code/modules/mining/lavaland/loot/tendril_loot.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -13,15 +13,15 @@
// 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 ..()


//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
Expand Down Expand Up @@ -111,19 +111,19 @@

/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


/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)
Expand All @@ -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()
Expand All @@ -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, "<span class='warning'>Этот предмет на данный момент не может быть использован.</span>")
to_chat(M, "<span class='warning'>This item is currently non-functional.</span>")
/*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, "<span class='notice'><i>Вы не чувствуете ничего, кроме отвратительного послевкусия..</i></span>")
to_chat(H, "<span class='notice'><i>You feel nothing but a terrible aftertaste.</i></span>")
return ..()
to_chat(H, "<span class='userdanger'>Невыносимая боль проходит через вашу спину, как вдруг оттуда вырываются крылья!</span>")
to_chat(H, "<span class='userdanger'>A terrible pain travels down your back as wings burst out!</span>")
H.set_species(/datum/species/angel)
playsound(H.loc, 'sound/items/poster_ripped.ogg', 50, 1, -1)
H.adjustBruteLoss(20)
Expand All @@ -172,15 +172,15 @@

/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"

/obj/item/jacobs_ladder/attack_self(mob/user)
var/turf/T = get_turf(src)
var/ladder_x = T.x
var/ladder_y = T.y
to_chat(user, "<span class='notice'>Вы разворачиваете лестницу. Она уходит значительно дальше, чем вы ожидали.</span>")
to_chat(user, "<span class='notice'>You unfold the ladder. It extends much farther than you were expecting.</span>")
var/last_ladder = null
for(var/i in 1 to world.maxz)
if(is_admin_level(i) || is_away_level(i) || is_taipan(i))
Expand All @@ -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"
Expand All @@ -222,33 +222,33 @@

/obj/item/wisp_lantern/attack_self(mob/user)
if(!wisp)
balloon_alert(user, "<span class='warning'>Дух исчез!</span>")
to_chat(user, "<span class='warning'>The wisp has gone missing!</span>")
update_icon(UPDATE_ICON_STATE)
return

if(wisp.loc == src)
RegisterSignal(user, COMSIG_MOB_UPDATE_SIGHT, PROC_REF(update_user_sight))

to_chat(user, "<span class='notice'>Выпущенный дух крутится вокруг вашей головы.</span>")
to_chat(user, "<span class='notice'>You release the wisp. It begins to bob around your head.</span>")
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, "<span class='notice'>дух улучшает ваше зрение.</span>")
to_chat(user, "<span class='notice'>The wisp enhances your vision.</span>")

SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Freed") // freed
else
UnregisterSignal(user, COMSIG_MOB_UPDATE_SIGHT)

to_chat(user, "<span class='notice'>Вы помещаете духа обратно в лампу.</span>")
to_chat(user, "<span class='notice'>You return the wisp to the lantern.</span>")
wisp.stop_orbit()
wisp.forceMove(src)
set_light_on(TRUE)

user.update_sight()
balloon_alert(user, "<span class='notice'>ваше зрение вернулось в норму.</span>")
to_chat(user, "<span class='notice'>Your vision returns to normal.</span>")

update_icon(UPDATE_ICON_STATE)
SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Returned") // returned
Expand All @@ -263,7 +263,7 @@
if(wisp.loc == src)
qdel(wisp)
else
wisp.visible_message("<span class='notice'>[wisp] взгрустнул на момент, после чего исчез.</span>")
wisp.visible_message("<span class='notice'>[wisp] has a sad feeling for a moment, then it passes.</span>")
return ..()

/obj/item/wisp_lantern/proc/update_user_sight(mob/user)
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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, "<span class='warning'>[src] искрится и шипит.</span>")
to_chat(user, "<span class='warning'>[src] sparks and fizzles.</span>")
return
if(do_after(user, 1.5 SECONDS, user))
var/datum/effect_system/smoke_spread/smoke = new
Expand All @@ -313,12 +313,12 @@
smoke2.set_up(1, 0, user.loc)
smoke2.start()
else
balloon_alert(user, "<span class='notice'>перестаньте двигатся</span>")
to_chat(user, "<span class='notice'>You need to hold still to use [src].</span>")


/obj/item/warp_cube/red
name = "red cube"
desc = "Мистический красный куб."
desc = "A mysterious red cube."
icon_state = "red_cube"

/obj/item/warp_cube/red/New()
Expand All @@ -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"
Expand All @@ -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"
Expand Down Expand Up @@ -372,7 +372,7 @@
var/turf/firer_turf = get_turf(firer)
var/mob/living/L = target
if(!L.anchored && L.loc)
L.visible_message("<span class='danger'>[L] прицеплен за крюк [firer]!</span>")
L.visible_message("<span class='danger'>[L] is snagged by [firer]'s hook!</span>")
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))
Expand All @@ -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
Expand All @@ -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)
Expand All @@ -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))
Expand All @@ -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))
Expand Down
29 changes: 29 additions & 0 deletions html/changelogs/archive/2024-11.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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)
Binary file modified icons/mob/clothing/back.dmi
Binary file not shown.
Binary file modified icons/mob/inhands/items_lefthand.dmi
Binary file not shown.
Binary file modified icons/mob/inhands/items_righthand.dmi
Binary file not shown.
Binary file modified icons/obj/items.dmi
Binary file not shown.

0 comments on commit 651c634

Please sign in to comment.