From 1b27035da7a76b230bd6ca9daddf4412fa9617c6 Mon Sep 17 00:00:00 2001 From: Kolergo <85778771+Kolergo@users.noreply.github.com> Date: Thu, 13 Jul 2023 19:49:04 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=BA=D0=B0=20=D0=B1=D0=B0=D1=81?= =?UTF-8?q?=D1=82=D0=B8=D0=BE=D0=BD=20=D0=BE=D1=84=20=D1=81=D0=BB=D0=B0?= =?UTF-8?q?=D0=B2=D1=81=20=D1=81=D1=8113=20=D1=82=D0=BE=D1=87=D0=BA=D0=B0?= =?UTF-8?q?=20=D1=80=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- baystation12.dme | 3 + code/bos/modules/guns/ks_23m.dm | 16 + .../overmap/disperser/disperser_charge.dm | 6 +- .../overmap/disperser/disperser_fire.dm | 12 +- .../modules/projectiles/ammunition/bullets.dm | 7 + .../modules/projectiles/projectile/bullets.dm | 6 + code/game/antagonist/station/mini_roles.dm | 10 +- code/modules/emotes/definitions/visible.dm | 2 +- .../living/carbon/human/human_interactions.dm | 4 + .../mob/living/carbon/human/interactions.dm | 1 + icons/bos/obj/guns/ks_23m.dmi | Bin 0 -> 2316 bytes maps/castelnau/mjolnir/mjolnir_surface.dmm | 359 +++++++++++------- 12 files changed, 288 insertions(+), 138 deletions(-) create mode 100644 code/bos/modules/guns/ks_23m.dm create mode 100644 code/bos/modules/projectiles/ammunition/bullets.dm create mode 100644 code/bos/modules/projectiles/projectile/bullets.dm create mode 100644 icons/bos/obj/guns/ks_23m.dmi diff --git a/baystation12.dme b/baystation12.dme index c677e42a2e340..73d4de5440a81 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -281,6 +281,7 @@ #include "code\bos\modules\food\recipes_microwave.dm" #include "code\bos\modules\guns\crafting_zipgun.dm" #include "code\bos\modules\guns\disprcd.dm" +#include "code\bos\modules\guns\ks_23m.dm" #include "code\bos\modules\guns\mantid.dm" #include "code\bos\modules\guns\revolver.dm" #include "code\bos\modules\guns\zipgun.dm" @@ -355,6 +356,8 @@ #include "code\bos\modules\overmap\ships\engines\engine.dm" #include "code\bos\modules\overmap\ships\engines\gas_thruster.dm" #include "code\bos\modules\overmap\ships\engines\ion_thruster.dm" +#include "code\bos\modules\projectiles\ammunition\bullets.dm" +#include "code\bos\modules\projectiles\projectile\bullets.dm" #include "code\bos\modules\projectiles\projectile\special.dm" #include "code\bos\modules\reagents\Chemistry-Reagents-Recipes.dm" #include "code\bos\modules\reagents\kvasok.dm" diff --git a/code/bos/modules/guns/ks_23m.dm b/code/bos/modules/guns/ks_23m.dm new file mode 100644 index 0000000000000..11f760c6f6315 --- /dev/null +++ b/code/bos/modules/guns/ks_23m.dm @@ -0,0 +1,16 @@ +/obj/item/gun/projectile/shotgun/pump/mirania + name = "KS-23M Racist" + desc = "Originaly, modification of old Hephaestus KS-23, made in Mirania." + icon = 'icons/bos/obj/guns/ks_23m.dmi' + icon_state = "KS-23M" + item_state = "cshotgun" + wielded_item_state = "cshotgun-wielded" + origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 3) + max_shells = 3 + ammo_type = /obj/item/ammo_casing/shotgun/pellet/giant + one_hand_penalty = 9 + bulk = 8 + screen_shake = 6 + +/obj/item/gun/projectile/shotgun/pump/mirania/update_icon() + return diff --git a/code/bos/modules/overmap/disperser/disperser_charge.dm b/code/bos/modules/overmap/disperser/disperser_charge.dm index dcfc0570a172d..f154109a9c84a 100644 --- a/code/bos/modules/overmap/disperser/disperser_charge.dm +++ b/code/bos/modules/overmap/disperser/disperser_charge.dm @@ -85,6 +85,9 @@ chargetype = OVERMAP_WEAKNESS_EXPLOSIVE chargedesc = "KOSMAG" +/obj/structure/ship_munition/disperser_charge/s2s/fire(turf/target, strength, range) + explosion(target, strength * range / 1) + /obj/structure/closet/odst name = "OFD droppod" desc = "A crude droppod allowing the OFD to safely fire itself, with a living creature at a target. Oxygen not included. Designed to fit a single rifleman, but may be used to drop two soldiers in a pinch." @@ -93,9 +96,6 @@ storage_capacity = (MOB_MEDIUM * 2) var/chargedesc = "ODST" -/obj/structure/ship_munition/disperser_charge/s2s/fire(turf/target, strength, range) - explosion(target, 0, strength * range / 1, 2) - /obj/structure/ship_munition/disperser_charge/vox name = "Vox charge" color = "#a33fbf" diff --git a/code/bos/modules/overmap/disperser/disperser_fire.dm b/code/bos/modules/overmap/disperser/disperser_fire.dm index 87b4b5c8fa367..3a73c0e297ec0 100644 --- a/code/bos/modules/overmap/disperser/disperser_fire.dm +++ b/code/bos/modules/overmap/disperser/disperser_fire.dm @@ -130,6 +130,16 @@ targetturf.ex_act(1) for(var/atom/A in targetturf) A.ex_act(3) + //BoS start. Add some effects, make hole in roof if droppod fall in house + var/turf/above_turf = GetAbove(targetturf) + while(above_turf) + explosion(above_turf, 1, 1, 2) + above_turf = GetAbove(above_turf) + explosion(targetturf, 0, 0, 3) + var/datum/effect/effect/system/smoke_spread/smoke = new /datum/effect/effect/system/smoke_spread() + smoke.set_up(7, 0, targetturf) + smoke.start() + //BoS end charge.forceMove(targetturf) //The disperser is infact a taxi for(var/mob/living/L in charge) @@ -157,4 +167,4 @@ if(WEST) return locate(1,start.y,start.z) if(EAST) - return locate(world.maxx,start.y,start.z) \ No newline at end of file + return locate(world.maxx,start.y,start.z) diff --git a/code/bos/modules/projectiles/ammunition/bullets.dm b/code/bos/modules/projectiles/ammunition/bullets.dm new file mode 100644 index 0000000000000..107d3dd19ca00 --- /dev/null +++ b/code/bos/modules/projectiles/ammunition/bullets.dm @@ -0,0 +1,7 @@ +/obj/item/ammo_casing/shotgun/pellet/giant + name = "giant shotgun shell" + desc = "A giant shotshell." + icon_state = "gshell" + spent_icon = "gshell-spent" + projectile_type = /obj/item/projectile/bullet/pellet/shotgun/giant + matter = list(MATERIAL_STEEL = 450) diff --git a/code/bos/modules/projectiles/projectile/bullets.dm b/code/bos/modules/projectiles/projectile/bullets.dm new file mode 100644 index 0000000000000..7dd362503f55b --- /dev/null +++ b/code/bos/modules/projectiles/projectile/bullets.dm @@ -0,0 +1,6 @@ +/obj/item/projectile/bullet/pellet/shotgun/giant + icon_state = "pellet" + damage = 40 + pellets = 14 + range_step = 1 + spread_step = 80 diff --git a/code/game/antagonist/station/mini_roles.dm b/code/game/antagonist/station/mini_roles.dm index 349ddc5d3ce62..98015b04bd182 100644 --- a/code/game/antagonist/station/mini_roles.dm +++ b/code/game/antagonist/station/mini_roles.dm @@ -261,8 +261,8 @@ GLOBAL_DATUM_INIT(mini_role, /datum/antagonist/mini_roles, new) /datum/mini_role/creditor/special_act(var/mob/living/carbon/human/target) var/debt - debt = mini_target.assigned_job.economic_power * 1000 - rand(-40,1) * 100 - if(debt << 0) debt += 4000 + debt = mini_target.assigned_job.economic_power * 500 + rand(-10,20) * 100 + if(debt << 1000) debt += 2000 objective = "[mini_target]([mini_target.assigned_job.title]) задолжал Вам [debt] кредитов. Добейтесь от должника возвращения долга до конца смены." double_text = "Вы вспоминаете, что то ли по пьяне, то ли из-за смертельной угрозы, то ли просто по случайности, но Вы должны [owner] [debt] кредитов. Не сказать, что бы Вам хотелось с ними раставаться..." double_objective = "Избегать отдачи долга в [debt] кредитов [owner]([owner.assigned_job.title])." @@ -302,15 +302,17 @@ GLOBAL_DATUM_INIT(mini_role, /datum/antagonist/mini_roles, new) double_text = "Где-то рядом с Вами должен находится связной, который может обладать интересной и полезной информацией. Найдите его и получите эту информацию." double_objective = "Найдите и установите контакт с связным." - //Put names of possible coop roles in list below + //Put types of possible coop roles in list below var/connected_roles = list(/datum/mini_role/rat, /datum/mini_role/contractor) + //Guys below too boring to unmask them + var/boring_roles = list(/datum/mini_role/creditor) /datum/mini_role/link/additional_check(var/mob/living/carbon/human/target) var/try_amount = 0 var/list/unmasked_roles = list() while(try_amount != 4) var/datum/mini_role/picked_role = pick(GLOB.mini_role.all_mini_roles_datums) - if((is_type_in_list(picked_role, connected_roles)) || (picked_role.owner == target.mind)) + if((is_type_in_list(picked_role, connected_roles)) || (is_type_in_list(picked_role, unmasked_roles)) || (is_type_in_list(picked_role, boring_roles)) || (picked_role.owner == target.mind)) try_amount += 1 continue unmasked_roles += picked_role diff --git a/code/modules/emotes/definitions/visible.dm b/code/modules/emotes/definitions/visible.dm index 73b067c031790..42bb3465ead64 100644 --- a/code/modules/emotes/definitions/visible.dm +++ b/code/modules/emotes/definitions/visible.dm @@ -343,4 +343,4 @@ key = "adjust" check_restraints = TRUE emote_message_3p = "USER поправляет одежду." - emote_message_3p_target = "USER поправляет одежду TARGET." \ No newline at end of file + emote_message_3p_target = "USER поправляет одежду TARGET." diff --git a/code/modules/mob/living/carbon/human/human_interactions.dm b/code/modules/mob/living/carbon/human/human_interactions.dm index f11f47b652fc1..d5c9f46a69c87 100644 --- a/code/modules/mob/living/carbon/human/human_interactions.dm +++ b/code/modules/mob/living/carbon/human/human_interactions.dm @@ -32,6 +32,10 @@ if (istype(P.loc, /obj/structure/closet) && P.loc == H.loc) P.visible_message("[H] кланяется [P].") + else if (href_list["interaction"] == "wink") //BoS + to_chat(P, "[H] незаметно подмигивает Вам.") + to_chat(H, "Вы незаметно подмигнули [P].") + else if (href_list["interaction"] == "pet") if(((!istype(P.loc, /obj/structure/closet)) || (H.loc == P.loc)) && hashands && H.Adjacent(P)) H.visible_message("[H] [pick("гладит", "поглаживает")] [P].") diff --git a/code/modules/mob/living/carbon/human/interactions.dm b/code/modules/mob/living/carbon/human/interactions.dm index 64dabc0e9067f..8d124845bb70b 100644 --- a/code/modules/mob/living/carbon/human/interactions.dm +++ b/code/modules/mob/living/carbon/human/interactions.dm @@ -42,6 +42,7 @@ var/ya = "я" dat += {"• Отвесить поклон.
"} + dat += {"• Незаметно подмигнуть.
"} if (hashands) dat += {"Руки:
"} dat += {"• Приветливо кивнуть.
"} diff --git a/icons/bos/obj/guns/ks_23m.dmi b/icons/bos/obj/guns/ks_23m.dmi new file mode 100644 index 0000000000000000000000000000000000000000..7e7f74de705c32a5dd3a4788d7178fb8eab35a2a GIT binary patch literal 2316 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 m%VFsJ4gdfE00000rpN!rS~XOd70YY@0000