Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
705e812
Латунный бур
Vadim7222 Feb 1, 2026
5b1c9ac
латунные колыбель и щиток
Vadim7222 Feb 1, 2026
6936fdf
Латунное оружие на мехов
Vadim7222 Feb 1, 2026
1b48c89
Латунная клешня
Vadim7222 Feb 1, 2026
62fd589
Крафт латунных штучек на мехов
Vadim7222 Feb 1, 2026
8850e72
Фикс1
Vadim7222 Feb 1, 2026
4f4b5f5
фикс2
Vadim7222 Feb 1, 2026
00684d6
Мехтазер
Vadim7222 Feb 1, 2026
69c1d79
Латунный снаряд для меха
Vadim7222 Feb 1, 2026
475556d
фикс3
Vadim7222 Feb 1, 2026
d77cb94
фикс4
Vadim7222 Feb 1, 2026
18c30a8
Update weapons.dm
Vadim7222 Feb 1, 2026
ec2f3f1
Спрайты мехаштучек
Vadim7222 Feb 1, 2026
ebb5f37
Мехконверт от осколка
Vadim7222 Feb 1, 2026
f9cdb60
фикс5
Vadim7222 Feb 1, 2026
6b9ad91
фикс6
Vadim7222 Feb 1, 2026
0da328d
фикс6
Vadim7222 Feb 1, 2026
d25569d
фикс7
Vadim7222 Feb 1, 2026
82199ac
фикс7
Vadim7222 Feb 1, 2026
789c2f6
фикс8
Vadim7222 Feb 1, 2026
848999f
фикс9
Vadim7222 Feb 1, 2026
557b0b9
Update other_tools.dm
Vadim7222 Feb 1, 2026
6f719ba
Update energy.dm
Vadim7222 Feb 1, 2026
bb1d2a3
Update weapons.dm
Vadim7222 Feb 1, 2026
279073d
Update clockwork_items.dm
Vadim7222 Feb 1, 2026
f529d7e
Update energy.dm
Vadim7222 Feb 1, 2026
6d57c3e
фикус
Vadim7222 Feb 1, 2026
d3ca0ef
фикус2
Vadim7222 Feb 1, 2026
11310c3
Починил за вадимом
L343-CJ Feb 4, 2026
10b38fa
del: Удаление МЭКов и Интегралок из билда (#8512)
chomasuke Feb 9, 2026
0df005d
Merge branch 'master220' into master220
Vadim7222 Feb 9, 2026
3613b0d
фиксик1
Vadim7222 Feb 11, 2026
a91ffcb
фиксик2
Vadim7222 Feb 11, 2026
7d8bbc5
фиксик3
Vadim7222 Feb 11, 2026
34fbb49
Фиксик4
Vadim7222 Feb 11, 2026
ccb3835
фиксик5
Vadim7222 Feb 11, 2026
1cdf189
фиксик6
Vadim7222 Feb 11, 2026
aeb2db2
Merge branch 'master220' into master220
dageavtobusnick Feb 18, 2026
469427f
Merge branch 'master220' into master220
Vadim7222 Feb 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 23 additions & 12 deletions code/game/gamemodes/clockwork/clockwork_items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1665,20 +1665,31 @@

/obj/item/clockwork/shard/afterattack(atom/target, mob/user, proximity, params)
. = ..()
if(!ishuman(target) || !isclocker(user))
return
if(!proximity)
return
var/mob/living/carbon/human/human = target
if(human.stat == DEAD && isclocker(human)) // dead clocker
user.temporarily_remove_item_from_inventory(src)
qdel(src)
if(!human.client)
give_ghost(human)
else
human.revive()
human.set_species(/datum/species/golem/clockwork)
to_chat(human, span_clocklarge("<b>\"You are back once again.\"</b>"))
if(ishuman(target) && isclocker(target))
revive(target, user)
if(ismecha(target)) // mech
convert_mecha(target, user)

/obj/item/clockwork/shard/proc/convert_mecha(obj/mecha/target, mob/user)
if(!do_after(user, 10 SECONDS, target))
return
user.temporarily_remove_item_from_inventory(src)
qdel(src)
target.ratvar_act(convert_mecha = TRUE)

/obj/item/clockwork/shard/proc/revive(mob/living/carbon/human/target, mob/user)
if(target.stat != DEAD)
return
user.temporarily_remove_item_from_inventory(src)
qdel(src)
if(!target.client)
give_ghost(target)
else
target.revive()
target.set_species(/datum/species/golem/clockwork)
to_chat(target, span_clocklarge("<b>\"You are back once again.\"</b>"))

/obj/item/clockwork/shard/pickup(mob/living/user)
. = ..()
Expand Down
8 changes: 8 additions & 0 deletions code/game/gamemodes/clockwork/clockwork_workshop.dm
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,14 @@
CLOCK_DESIGN("Marauder", /obj/item/clockwork/marauder, 1200, 300, 5),
CLOCK_DESIGN("Strange Shard", /obj/item/clockwork/shard, 2000, 500, 8),
)
item_list["Mecha"] = list(
CLOCK_DESIGN("Brass clamp", /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/brass, 500, 200, 4),
CLOCK_DESIGN("Brass Armor Booster Module", /obj/item/mecha_parts/mecha_equipment/brass_armor_booster, 1500, 200, 5),
CLOCK_DESIGN("Brass cradle", /obj/item/mecha_parts/mecha_equipment/cage/brass, 1000, 100, 4),
CLOCK_DESIGN("Brass exosuit drill", /obj/item/mecha_parts/mecha_equipment/drill/brass, 1500, 200, 4),
CLOCK_DESIGN("\"Spark of the Righteous\" Mounted Taser", /obj/item/mecha_parts/mecha_equipment/weapon/energy/brasstaser, 2000, 300, 6),
CLOCK_DESIGN("\"Ray of Faith\" Laser", /obj/item/mecha_parts/mecha_equipment/weapon/energy/brasslaser, 2500, 500, 6),
)

/obj/structure/clockwork/functional/workshop/Destroy()
// let all the brass out!
Expand Down
8 changes: 8 additions & 0 deletions code/game/mecha/equipment/tools/mining_tools.dm
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,14 @@
drill_level = DRILL_HARDENED
integrated = TRUE

/obj/item/mecha_parts/mecha_equipment/drill/brass
name = "Brass exosuit drill"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ру неймс

desc = "Оборудование для инженерных и боевых экзокостюмов. Это благословлённая версия бура."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лучше поменять на то что это покрытый латунью механизм можно еще описать шестеренки или то что он светиться. Предмет могут осматривать не только игроки с спец ролью ратвра

icon_state = "mech_brass_drill"
equip_cooldown = 0.5 SECONDS
drill_delay = 2.5
drill_level = DRILL_HARDENED

/obj/item/mecha_parts/mecha_equipment/mining_scanner
name = "exosuit mining scanner"
desc = "Equipment for engineering and combat exosuits. It will automatically check surrounding rock for useful minerals."
Expand Down
41 changes: 41 additions & 0 deletions code/game/mecha/equipment/tools/other_tools.dm
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,27 @@
start_cooldown()
return TRUE

/obj/item/mecha_parts/mecha_equipment/brass_armor_booster
name = "Brass Armor Booster Module"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ру неймс

desc = "Усиливает броню экзокостюма против всех атак. Полностью блокирует выстрелы тазера. Требует энергию для работы."
icon_state = "mecha_abooster_brass"
equip_cooldown = 0.5 SECONDS
energy_drain = 25
range = 0
var/deflect_coeff = 1.30
var/damage_coeff = 0.7
selectable = MODULE_SELECTABLE_NONE

/obj/item/mecha_parts/mecha_equipment/brass_armor_booster/proc/projectile_react()
if(action_checks(src))
start_cooldown()
return TRUE

/obj/item/mecha_parts/mecha_equipment/brass_armor_booster/proc/attack_react(mob/user)
if(action_checks(user))
start_cooldown()
return TRUE

////////////////////////////////// REPAIR DROID //////////////////////////////////////////////////

/obj/item/mecha_parts/mecha_equipment/repair_droid
Expand Down Expand Up @@ -853,3 +874,23 @@
INSTRUMENTAL = "механическими клешнями",
PREPOSITIONAL = "механических клешнях",
)

/obj/item/mecha_parts/mecha_equipment/cage/brass

Check failure on line 878 in code/game/mecha/equipment/tools/other_tools.dm

View workflow job for this annotation

GitHub Actions / Run Linters / Linters

Identical Variables

code/game/mecha/equipment/tools/other_tools.dm:878: /obj/item/mecha_parts/mecha_equipment/cage/brass has a identical variable to its parents: salvageable = 0

Check failure on line 878 in code/game/mecha/equipment/tools/other_tools.dm

View workflow job for this annotation

GitHub Actions / Run Linters / Linters

Identical Variables

code/game/mecha/equipment/tools/other_tools.dm:878: /obj/item/mecha_parts/mecha_equipment/cage/brass has a identical variable to its parents: origin_tech = combat=6;materials=5

Check failure on line 878 in code/game/mecha/equipment/tools/other_tools.dm

View workflow job for this annotation

GitHub Actions / Run Linters / Linters

Identical Variables

code/game/mecha/equipment/tools/other_tools.dm:878: /obj/item/mecha_parts/mecha_equipment/cage/brass has a identical variable to its parents: alert_category = mecha_cage
name = "Brass cradle"
desc = "Модуль для экзокостюмов, используемый для задержания заблудших."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

также более общее описание нужно. Если хочешь что бы игроки со спец ролю видели дополнительное описание есть отдельный флаг для этого

icon_state = "mecha_cage_brass"
origin_tech = "combat=6;materials=5"
equip_cooldown = 2 SECONDS
energy_drain = 250
salvageable = FALSE
alert_category = "mecha_cage"

/obj/item/mecha_parts/mecha_equipment/cage/brass/get_ru_names()
return list(
NOMINATIVE = "модуль \"Латунная колыбель\"",
GENITIVE = "модуля \"Латунная колыбель\"",
DATIVE = "модулю \"Латунная колыбель\"",
ACCUSATIVE = "модуль \"Латунная колыбель\"",
INSTRUMENTAL = "модулем \"Латунная колыбель\"",
PREPOSITIONAL = "модуле \"Латунная колыбель\"",
)
17 changes: 17 additions & 0 deletions code/game/mecha/equipment/tools/work_tools.dm
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,23 @@
start_cooldown()
return TRUE

/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/brass

Check failure on line 114 in code/game/mecha/equipment/tools/work_tools.dm

View workflow job for this annotation

GitHub Actions / Run Linters / Linters

Identical Variables

code/game/mecha/equipment/tools/work_tools.dm:114: /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/brass has a identical variable to its parents: harmful = 1
name = "Brass clamp"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ру неймс

desc = "Оборудование для латунных экзокостюмов. Поднимает объекты и загружает их в грузовой отсек."
icon_state = "mecha_brassclamp"
equip_cooldown = 1 SECONDS
energy_drain = 5
dam_force = 25
harmful = TRUE

/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/brass/attach_act(obj/mecha/M)
chassis.cargo_expanded = TRUE
chassis.cargo_capacity = 25

/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/brass/detach_act(obj/mecha/M)
chassis.cargo_expanded = FALSE
chassis.cargo_capacity = initial(chassis.cargo_capacity)

/obj/item/mecha_parts/mecha_equipment/cargo_upgrade
name = "Cargo expansion upgrade"
desc = "A working exosuit module that allows you to turn your Ripley into a hearse, zoo, or armored personnel carrier."
Expand Down
18 changes: 18 additions & 0 deletions code/game/mecha/equipment/weapons/weapons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,24 @@
fire_sound = 'sound/weapons/gunshots/1taser.ogg'
size = 1

/obj/item/mecha_parts/mecha_equipment/weapon/energy/brasstaser
name = "\"Spark of the Righteous\" Mounted Taser"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ру неймс

icon_state = "mecha_taser_brass"
energy_drain = 15
equip_cooldown = 0.5 SECONDS
projectile = /obj/projectile/energy/electrode/brass
fire_sound = 'sound/weapons/gunshots/1taser.ogg'
size = 1

/obj/item/mecha_parts/mecha_equipment/weapon/energy/brasslaser
equip_cooldown = 0.3 SECONDS
name = "\"Ray of Faith\" Laser"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.

icon_state = "mecha_brassdart"
energy_drain = 20
projectile = /obj/projectile/beam/laser/light/rat/mecha
fire_sound = 'sound/weapons/gunshots/1laser4.ogg'
harmful = TRUE

/obj/item/mecha_parts/mecha_equipment/weapon/honker
name = "HoNkER BlAsT 5000"
icon_state = "mecha_honker"
Expand Down
23 changes: 19 additions & 4 deletions code/modules/projectiles/projectile/beams.dm
Original file line number Diff line number Diff line change
Expand Up @@ -638,6 +638,11 @@
icon_state = "brasslaser"
impact_effect_type = /obj/effect/temp_visual/impact_effect/orange_laser

/obj/projectile/beam/laser/light/rat/prehit(atom/target)
if(isclocker(target))
damage = 0
return ..()

/obj/projectile/beam/laser/light/rat/get_ru_names()
return list(
NOMINATIVE = "лазер часовой энергии",
Expand All @@ -648,7 +653,17 @@
PREPOSITIONAL = "лазере часовой энергии",
)

/obj/projectile/beam/laser/light/rat/prehit(atom/target)
if(isclocker(target))
damage = 0
return ..()
/obj/projectile/beam/laser/light/rat/mecha
name = "brass laser beam"
damage = 20
armour_penetration = 10

/obj/projectile/beam/laser/light/rat/mecha/get_ru_names()
return list(
NOMINATIVE = "латунный импульс",
GENITIVE = "латунного импульса",
DATIVE = "латунному импульсу",
ACCUSATIVE = "латунный импульс",
INSTRUMENTAL = "латунным импульсом",
PREPOSITIONAL = "латунном импульсе",
)
30 changes: 30 additions & 0 deletions code/modules/projectiles/projectile/energy.dm
Original file line number Diff line number Diff line change
Expand Up @@ -551,4 +551,34 @@
if(!isclocker(to_heal))
return ..()
to_heal.heal_overall_damage(0, 75)

/obj/projectile/energy/electrode/brass

Check failure on line 555 in code/modules/projectiles/projectile/energy.dm

View workflow job for this annotation

GitHub Actions / Run Linters / Linters

Identical Variables

code/modules/projectiles/projectile/energy.dm:555: /obj/projectile/energy/electrode/brass has a identical variable to its parents: jitter = 300
name = "brass electrode"
confused = 3 SECONDS
stun = 0.5 SECONDS
stamina = 30
stutter = 10 SECONDS
jitter = 30 SECONDS
range = 8

/obj/projectile/energy/electrode/brass/get_ru_names()
return list(
NOMINATIVE = "латунный электрод",
GENITIVE = "латунного электрода",
DATIVE = "латунному электроду",
ACCUSATIVE = "латунный электрод",
INSTRUMENTAL = "латунным электродом",
PREPOSITIONAL = "латунном электроде",
)

/obj/projectile/energy/electrode/brass/prehit(atom/target)
if(isclocker(target))
confused = 0 SECONDS
stun = 0 SECONDS
stamina = 0
stutter = 0 SECONDS
jitter = 0 SECONDS
var/tasered_duration = 0 SECONDS
return ..()

#undef ELECTRODE_BUCKLED_WEAKEN_MULTIPLIER
Binary file modified icons/obj/mecha/mecha_equipment.dmi
Binary file not shown.
Loading