Skip to content

Commit

Permalink
Feat: roflguns (#430)
Browse files Browse the repository at this point in the history
<!-- Пишите **НИЖЕ** заголовков и **ВЫШЕ** комментариев, иначе что то
может пойти не так. -->
<!-- Вы можете прочитать Contributing.MD, если хотите узнать больше. -->

## Что этот PR делает

<!-- Вкратце опишите изменения, которые вносите. -->
<!-- Опишите **все** изменения, так как противное может сказаться на
рассмотрении этого PR'а! -->
<!-- Если вы исправляете Issue, добавьте "Fixes #1234" (где 1234 - номер
Issue) где-нибудь в описании PR'а. Это автоматически закроет Issue после
принятия PR'а. -->

## Почему это хорошо для игры

<!-- Опишите, почему, по вашему, следует добавить эти изменения в игру.
-->

## Изображения изменений
<!-- Если вы не меняли карту или спрайты, можете опустить эту секцию.
Если хотите, можете вставить видео. -->

## Тестирование
<!-- Как вы тестировали свой PR, если делали это вовсе? -->

## Changelog

:cl:
add: Добавлен Кольт Анаконда - новое оружие гсб
add: Добавлен РШ-12 - новое оружие СССП
/:cl:

<!-- Оба :cl:'а должны быть на месте, что-бы чейнджлог работал! Вы
можете написать свой ник справа от первого :cl:, если хотите. Иначе
будет использован ваш ник на ГитХабе. -->
<!-- Вы можете использовать несколько записей с одинаковым префиксом
(Они используются только для иконки в игре) и удалить ненужные. Помните,
что чейнджлог должен быть понятен обычным игроком. -->
<!-- Если чейнджлог не влияет на игроков(например, это рефактор), вы
можете исключить всю секцию. -->
  • Loading branch information
Furrior committed Oct 22, 2023
1 parent 0352dda commit c6969bf
Show file tree
Hide file tree
Showing 9 changed files with 155 additions and 13 deletions.
8 changes: 2 additions & 6 deletions _maps/map_files220/cyberiad/cyberiad.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -10496,7 +10496,6 @@
/area/station/hallway/primary/fore)
"aNX" = (
/obj/machinery/disposal,
/obj/machinery/light_switch/west,
/obj/structure/disposalpipe/trunk{
dir = 4
},
Expand Down Expand Up @@ -69535,11 +69534,7 @@
},
/area/station/service/chapel)
"mEM" = (
/obj/structure/closet/secure_closet/guncabinet{
name = "HoS personal weapons";
req_access = list(58)
},
/obj/item/clothing/gloves/combat,
/obj/structure/displaycase/hos,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
Expand Down Expand Up @@ -75984,6 +75979,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/light_switch/east,
/turf/simulated/floor/plasteel{
icon_state = "barber"
},
Expand Down
9 changes: 2 additions & 7 deletions _maps/map_files220/delta/delta.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -18941,9 +18941,7 @@
/area/station/security/prison/cell_block)
"bzq" = (
/obj/effect/decal/warning_stripes/northwest,
/obj/structure/displaycase{
start_showpiece_type = /obj/item/reagent_containers/food/snacks/donut/sprinkles
},
/obj/structure/displaycase/hos,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
Expand Down Expand Up @@ -73273,7 +73271,6 @@
/obj/structure/closet/secure_closet/hos,
/obj/effect/decal/warning_stripes/west,
/obj/machinery/alarm/directional/south,
/obj/item/clothing/gloves/combat,
/obj/item/clothing/accessory/holster,
/turf/simulated/floor/plasteel{
icon_state = "dark"
Expand Down Expand Up @@ -77848,9 +77845,7 @@
/obj/item/clothing/glasses/hud/health{
pixel_y = 2
},
/obj/item/clothing/glasses/hud/health{
pixel_y = 0
},
/obj/item/clothing/glasses/hud/health,
/turf/simulated/floor/plasteel{
icon_state = "whiteblue"
},
Expand Down
1 change: 1 addition & 0 deletions modular_ss220/objects/_objects.dme
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@
#include "code/papershredder.dm"
#include "code/platform.dm"
#include "code/tribune.dm"
#include "code/weapons.dm"
4 changes: 4 additions & 0 deletions modular_ss220/objects/code/closets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,7 @@
new /obj/item/gun/energy/laser/awaymission_aeg/rnd(src)
new /obj/item/storage/firstaid/regular(src)
new /obj/item/paper/pamphlet/gateway(src)

/obj/structure/closet/secure_closet/hos/populate_contents()
. = ..()
new /obj/item/clothing/gloves/combat(src)
146 changes: 146 additions & 0 deletions modular_ss220/objects/code/weapons.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
// Colt Anaconda .44

/obj/item/gun/projectile/revolver/anaconda
name = "Анаконда"
desc = "Крупнокалиберный револьвер двадцатого века. Несмотря на то, что оружие хранилось в хороших условиях, старина даёт о себе знать."
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/d44
lefthand_file = 'modular_ss220/objects/icons/guns_lefthand.dmi'
righthand_file = 'modular_ss220/objects/icons/guns_righthand.dmi'
icon = 'modular_ss220/objects/icons/guns.dmi'
icon_state = "anaconda"

/obj/item/gun/projectile/revolver/anaconda/attackby(obj/item/A, mob/user, params)
if(istype(A, /obj/item/ammo_box/box_d44))
return
return ..()

/obj/item/gun/projectile/revolver/anaconda/process_fire(atom/target, mob/living/user, message, params, zone_override, bonus_spread)
bonus_spread += 30
. = ..()

/obj/item/ammo_box/magazine/internal/cylinder/d44
name = ".44 revolver cylinder"
ammo_type = /obj/item/ammo_casing/d44
caliber = "44"
max_ammo = 6

/obj/item/ammo_casing/d44
desc = "A .44 bullet casing."
caliber = "44"
icon = 'modular_ss220/objects/icons/ammo.dmi'
icon_state = "casing44"
projectile_type = /obj/item/projectile/bullet/d44
muzzle_flash_strength = MUZZLE_FLASH_STRENGTH_NORMAL
muzzle_flash_range = MUZZLE_FLASH_RANGE_STRONG

/obj/item/projectile/bullet/d44
name = ".44 bullet"
icon_state = "bullet"
damage = 50
damage_type = BRUTE
flag = "bullet"
hitsound_wall = "ricochet"
impact_effect_type = /obj/effect/temp_visual/impact_effect

/obj/item/ammo_box/speed_loader_d44
name = "speed loader (.44)"
desc = "Designed to quickly reload revolvers."
ammo_type = /obj/item/ammo_casing/d44
max_ammo = 6
multi_sprite_step = 1
icon = 'modular_ss220/objects/icons/ammo.dmi'
icon_state = "44"

/obj/item/ammo_box/box_d44
name = "ammo box (.44)"
desc = "Contains up to 24 .44 cartridges, intended to either be inserted into a speed loader or into the gun manually."
w_class = WEIGHT_CLASS_NORMAL
ammo_type = /obj/item/ammo_casing/d44
max_ammo = 24
icon_state = "44_box"

/obj/structure/displaycase/hos
alert = TRUE
start_showpiece_type = /obj/item/gun/projectile/revolver/anaconda
req_access = list(ACCESS_HOS)

// RSH-12 12.7

/obj/item/gun/projectile/revolver/rsh12
name = "РШ-12"
desc = "Тяжёлый револьвер винтовочного калибра с, откидным вниз для более удобного заряжания, стволом. По слухам, всё ещё находится на вооружении у СССП."
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rsh12
lefthand_file = 'modular_ss220/objects/icons/guns_lefthand.dmi'
righthand_file = 'modular_ss220/objects/icons/guns_righthand.dmi'
icon = 'modular_ss220/objects/icons/guns.dmi'
icon_state = "rsh12"
item_state = "rsh12"
var/reclined = FALSE

/obj/item/gun/projectile/revolver/rsh12/attack_self(mob/living/user)
reclined = !reclined
update_icon()
if(reclined)
return ..()

/obj/item/gun/projectile/revolver/rsh12/update_icon_state()
icon_state = initial(icon_state) + (reclined ? "_reclined" : "")

/obj/item/gun/projectile/revolver/rsh12/attackby(obj/item/A, mob/user, params)
if(istype(A, /obj/item/ammo_box/box_mm127))
return
if(!reclined)
return
return ..()

/obj/item/ammo_box/magazine/internal/cylinder/rsh12
name = "12.7mm revolver cylinder"
ammo_type = /obj/item/ammo_casing/mm127
caliber = "127mm"
max_ammo = 5

/obj/item/ammo_casing/mm127
desc = "A 12.7mm bullet casing."
caliber = "127mm"
icon = 'modular_ss220/objects/icons/ammo.dmi'
icon_state = "casing127mm"
projectile_type = /obj/item/projectile/bullet/mm127
muzzle_flash_strength = MUZZLE_FLASH_RANGE_STRONG
muzzle_flash_range = MUZZLE_FLASH_RANGE_STRONG

/obj/item/projectile/bullet/mm127
name = "127mm bullet"
icon_state = "bullet"
damage = 75
damage_type = BRUTE
flag = "bullet"
hitsound_wall = "ricochet"
impact_effect_type = /obj/effect/temp_visual/impact_effect

/obj/item/projectile/bullet/mm127/on_hit(atom/target, blocked, hit_zone)
. = ..()
if(!isliving(target))
return
var/mob/living/L = target
if(L.move_resist == INFINITY)
return
var/atom/throw_target = get_edge_target_turf(L, get_dir(src, get_step_away(L, starting)))
L.throw_at(throw_target, 2, 2)

/obj/item/ammo_box/speed_loader_mm127
name = "speed loader (12.7mm)"
desc = "Designed to quickly reload... is it a revolver speedloader with rifle cartidges in it?"
ammo_type = /obj/item/ammo_casing/mm127
max_ammo = 5
multi_sprite_step = 1
icon = 'modular_ss220/objects/icons/ammo.dmi'
icon_state = "mm127"

/obj/item/ammo_box/box_mm127
name = "ammo box (12.7)"
desc = "Contains up to 100 12.7mm cartridges."
w_class = WEIGHT_CLASS_BULKY
ammo_type = /obj/item/ammo_casing/d44
max_ammo = 100
icon = 'modular_ss220/objects/icons/ammo.dmi'
icon_state = "mm127_box"
Binary file added modular_ss220/objects/icons/ammo.dmi
Binary file not shown.
Binary file added modular_ss220/objects/icons/guns.dmi
Binary file not shown.
Binary file added modular_ss220/objects/icons/guns_lefthand.dmi
Binary file not shown.
Binary file added modular_ss220/objects/icons/guns_righthand.dmi
Binary file not shown.

0 comments on commit c6969bf

Please sign in to comment.