Skip to content

Commit

Permalink
фикс разброса винтовок g36 + morita (#822)
Browse files Browse the repository at this point in the history
* Реворк модульного оружия

Реворк кода G36 и Morita. Фикс после обновления оффов

* Х(
  • Loading branch information
Mirag1993 committed Jul 12, 2024
1 parent 1185d3a commit 84d0660
Show file tree
Hide file tree
Showing 10 changed files with 46 additions and 129 deletions.
4 changes: 2 additions & 2 deletions mod_celadon/weapons/code/gun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@
name = "Оружейный яшик G36-SH"
desc = "Содержит автоматическую винтовку G36-SH и запасную обойму. "
cost = 5000
contains = list(/obj/item/gun/ballistic/automatic/assault/g36sh,
contains = list(/obj/item/gun/ballistic/automatic/assault/p16/g36sh,
/obj/item/ammo_box/magazine/p16/g36sh)
crate_name = "auto rifle crate"

/datum/supply_pack/gun/g36
name = "Оружейный яшик G36"
desc = "Содержит автоматическую винтовку G36 и запасную обойму. "
cost = 5000
contains = list(/obj/item/gun/ballistic/automatic/assault/g36,
contains = list(/obj/item/gun/ballistic/automatic/assault/p16/g36,
/obj/item/ammo_box/magazine/p16/g36)
crate_name = "auto rifle crate"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
desc = "A simple assault rifle magazine designed to chamber 7.62x51mm."
icon = 'mod_celadon/weapons/icons/ammo/ammo.dmi'
icon_state = "morita1_mag"
base_icon_state = "morita1_mag"
caliber = ".308"
ammo_type = /obj/item/ammo_casing/a308
max_ammo = 25
Expand All @@ -16,6 +17,7 @@
desc = "A simple assault rifle magazine designed to chamber 7.62x51mm."
icon = 'mod_celadon/weapons/icons/ammo/ammo.dmi'
icon_state = "morita1_small_mag"
base_icon_state = "morita1_small_mag"
ammo_type = /obj/item/ammo_casing/a308
max_ammo = 10

Expand All @@ -28,6 +30,7 @@
desc = "A simple assault rifle magazine designed to chamber 7.62x51mm."
icon = 'mod_celadon/weapons/icons/ammo/ammo.dmi'
icon_state = "morita1_drum_mag"
base_icon_state = "morita1_drum_mag"
ammo_type = /obj/item/ammo_casing/a308
max_ammo = 50

Expand All @@ -40,6 +43,7 @@
desc = " Polymer 20-round assault rifle magazine 5.56x45mm."
icon = 'mod_celadon/weapons/icons/ammo/ammo.dmi'
icon_state = "g36sh_mag"
base_icon_state = "g36sh_mag"
ammo_type = /obj/item/ammo_casing/a556_45
max_ammo = 20

Expand All @@ -52,6 +56,7 @@
desc = "Polymer standart assault rifle magazine 5.56x45mm."
icon = 'mod_celadon/weapons/icons/ammo/ammo.dmi'
icon_state = "g36_mag"
base_icon_state = "g36_mag"
ammo_type = /obj/item/ammo_casing/a556_45
max_ammo = 30

Expand All @@ -63,8 +68,8 @@
name = "\improper G36 drum magazine"
desc = "Polymer high-capacyti assault rifle drum 5.56x45mm."
icon = 'mod_celadon/weapons/icons/ammo/ammo.dmi'
item_state = "g36drum_mag"
icon_state = "g36drum_mag"
base_icon_state = "g36drum_mag"
ammo_type = /obj/item/ammo_casing/a556_45
max_ammo = 75

Expand Down
162 changes: 37 additions & 125 deletions mod_celadon/weapons/code/modules/projectiles/guns/ballistic/assault.dm
Original file line number Diff line number Diff line change
@@ -1,185 +1,97 @@
/obj/item/gun/ballistic/automatic/assault/g36sh
/obj/item/gun/ballistic/automatic/assault/p16/g36sh
//Описание
name = "\improper G36-SH"
desc = "Наследие огненной эры Союза Человечества, укороченная версия, калибра 5.56x45. Технология производства восстановлена минитменами, но ввиду усложненной конструкции продана корпорации InteQ. Используется сотрудниками InteQ по сей день, как оружие для элитных наемников."
//Иконки
icon = 'mod_celadon/weapons/icons/guns/48x32guns.dmi'
lefthand_file = 'mod_celadon/weapons/icons/guns/guns_lefthand.dmi'
righthand_file = 'mod_celadon/weapons/icons/guns/guns_righthand.dmi'
fire_sound = 'mod_celadon/_components/sounds/gun/g36sh.ogg'
// mob_overlay_icon = прописать оверлей на спину , нужны спрайты!!
//mob_overlay_icon = 'mod_celadon/weapons/icons/guns/back.dmi'
icon_state = "g36sh"
item_state = "g36sh"
mag_type = /obj/item/ammo_box/magazine/p16/g36sh
//Звуки
fire_sound = 'mod_celadon/weapons/sound/gun/g36sh.ogg'
//Характеристики
spread = 4
wield_delay = 0.2 SECONDS
fire_delay = 0.14 SECONDS
weapon_weight = WEAPON_MEDIUM
w_class = WEIGHT_CLASS_NORMAL
spread = 16
actions_types = list()
// mag_display = TRUE
// special_mags = TRUE - сломано
tac_reloads = TRUE
unique_mag_sprites_for_variants = TRUE
mag_type = /obj/item/ammo_box/magazine/p16/g36sh
//Прочее
var/obj/item/ammo_box/magazine/p16/g36sh/alternate_magazine
actions_types = list(/datum/action/item_action/toggle_firemode)

/obj/item/gun/ballistic/automatic/assault/g36sh/ComponentInitialize()
. = ..()
AddComponent(/datum/component/automatic_fire, 0.15 SECONDS)

/obj/item/gun/ballistic/automatic/assault/g36sh/Initialize()
/obj/item/gun/ballistic/automatic/assault/p16/g36sh/Initialize()
. = ..()
if (!alternate_magazine)
alternate_magazine = new mag_type(src)
spawnwithmagazine = FALSE
mag_type = /obj/item/ammo_box/magazine/p16
/*
/obj/item/gun/ballistic/automatic/assault/g36sh/burst_select()
var/mob/living/carbon/human/user = usr
switch(select)
if(0)
select = 1
burst_size = 1
fire_delay = 0
spread = 16
to_chat(user, span_notice("You switch to full automatic."))
SEND_SIGNAL(src,COMSIG_GUN_ENABLE_AUTOFIRE)
if(1)
select = 2
spread = 4
to_chat(user, span_notice("You switch to semi-auto."))
SEND_SIGNAL(src, COMSIG_GUN_DISABLE_AUTOFIRE)
if(2)
select = 0
burst_size = 3
fire_delay = 2
spread = 8
to_chat(user, span_notice("You switch to [burst_size]-rnd Matter."))
SEND_SIGNAL(src, COMSIG_GUN_DISABLE_AUTOFIRE)
playsound(user, 'sound/weapons/empty.ogg', 100, TRUE)
update_icon()
return
*/
/obj/item/gun/ballistic/automatic/assault/g36sh/inteq

/obj/item/gun/ballistic/automatic/assault/p16/g36sh/inteq
name = "\improper Moded G36-SH"
desc = "Обширная модификация G36-SH, которая входит в стандартную комплектацию вооружения InteQ. Калибр 5,56x45 мм."
icon_state = "g36shinteq"
item_state = "g36shinteq"
//mob_overlay_icon = 'mod_celadon/weapons/icons/guns/back_inteq.dmi'
empty_indicator = TRUE
empty_alarm = TRUE
zoomable = TRUE


/obj/item/gun/ballistic/automatic/assault/g36
/obj/item/gun/ballistic/automatic/assault/p16/g36
name = "\improper G36"
desc = "Наследие огненной эры Союза Человечества , калибра 5.56x45 . Технология производства восстановлена минитменами , но ввиду усложненной конструкции продана корпорации InteQ. Используется сотрудниками InteQ по сей день , как оружие для элитных наемников. "
icon = 'mod_celadon/weapons/icons/guns/48x32guns.dmi'
lefthand_file = 'mod_celadon/weapons/icons/guns/guns_lefthand.dmi'
righthand_file = 'mod_celadon/weapons/icons/guns/guns_righthand.dmi'
// mob_overlay_icon = прописать оверлей на спину , нужны спрайты!!
fire_sound = 'mod_celadon/_components/sounds/gun/g36.ogg'
//mob_overlay_icon = 'mod_celadon/weapons/icons/guns/back.dmi'
fire_sound = 'mod_celadon/weapons/sound/gun/g36.ogg'
icon_state = "g36"
item_state = "g36"
weapon_weight = WEAPON_MEDIUM
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK
spread = 12
spread = 2
wield_delay = 0.5 SECONDS
fire_delay = 0.14 SECONDS
unique_mag_sprites_for_variants = TRUE
mag_type = /obj/item/ammo_box/magazine/p16/g36
actions_types = list()
// mag_display = TRUE
// special_mags = TRUE - сломано
tac_reloads = TRUE
var/obj/item/ammo_box/magazine/p16/g36/alternate_magazine
actions_types = list(/datum/action/item_action/toggle_firemode)

/obj/item/gun/ballistic/automatic/assault/g36/ComponentInitialize()
. = ..()
AddComponent(/datum/component/automatic_fire, 0.15 SECONDS)

/obj/item/gun/ballistic/automatic/assault/g36/Initialize()
/obj/item/gun/ballistic/automatic/assault/p16/g36/Initialize()
. = ..()
if (!alternate_magazine)
alternate_magazine = new mag_type(src)
spawnwithmagazine = FALSE
mag_type = /obj/item/ammo_box/magazine/p16
/*
/obj/item/gun/ballistic/automatic/assault/g36/burst_select()
var/mob/living/carbon/human/user = usr
switch(select)
if(0)
select = 1
burst_size = 1
fire_delay = 0
spread = 12
to_chat(user, "<span class='notice'>You switch to full automatic.</span>")
SEND_SIGNAL(src,COMSIG_GUN_ENABLE_AUTOFIRE)
if(1)
select = 2
spread = 4
to_chat(user, "<span class='notice'>You switch to semi-auto.</span>")
SEND_SIGNAL(src, COMSIG_GUN_DISABLE_AUTOFIRE)
if(2)
select = 0
burst_size = 3
fire_delay = 2
spread = 6
to_chat(user, "<span class='notice'>You switch to [burst_size]-rnd Matter.</span>")
SEND_SIGNAL(src, COMSIG_GUN_DISABLE_AUTOFIRE)
playsound(user, 'sound/weapons/empty.ogg', 100, TRUE)
update_icon()
return
*/
/obj/item/gun/ballistic/automatic/assault/g36/inteq

/obj/item/gun/ballistic/automatic/assault/p16/g36/inteq
name = "\improper Moded G36"
desc = "Обширная модификация G36, которая входит в стандартную комплектацию вооружения InteQ. Калибр 5,56x45 мм."
icon_state = "g36inteq"
item_state = "g36inteq"
//mob_overlay_icon = 'mod_celadon/weapons/icons/guns/back_inteq.dmi'
empty_indicator = TRUE
empty_alarm = TRUE
zoomable = TRUE

/obj/item/gun/ballistic/automatic/assault/morita1
name = "\improper Morita MK.I"
desc = "Стандартная пехотная автоматическая винтовка под калибр .308. Широко применяется армейскими корпусами в Союзе Человечества. Популярность в гражданских кругах заслужила после сьемок в фильме Starboat Troopes."
lefthand_file = 'mod_celadon/weapons/icons/guns/guns_lefthand.dmi'
righthand_file = 'mod_celadon/weapons/icons/guns/guns_righthand.dmi'
icon = 'mod_celadon/weapons/icons/guns/48x32guns.dmi'
fire_sound = 'mod_celadon/_components/sounds/gun/morita1.ogg'
fire_sound = 'mod_celadon/weapons/sound/gun/morita1.ogg'
icon_state = "morita1"
item_state = "morita1"
actions_types = list()
// special_mags = TRUE - сломано
// mag_display = TRUE
weapon_weight = WEAPON_MEDIUM
spread = 3
wield_delay = 0.6 SECONDS
fire_delay = 0.20 SECONDS
weapon_weight = WEAPON_HEAVY
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK
spread = 9
unique_mag_sprites_for_variants = TRUE
mag_type = /obj/item/ammo_box/magazine/morita1
actions_types = list(/datum/action/item_action/toggle_firemode)

/obj/item/gun/ballistic/automatic/assault/morita1/ComponentInitialize()
. = ..()
AddComponent(/datum/component/automatic_fire, 0.20 SECONDS)
/*
/obj/item/gun/ballistic/automatic/assault/morita1/burst_select()
var/mob/living/carbon/human/user = usr
switch(select)
if(0)
select = 1
burst_size = 1
fire_delay = 0
spread = 9
to_chat(user, "<span class='notice'>You switch to full automatic.</span>")
SEND_SIGNAL(src,COMSIG_GUN_ENABLE_AUTOFIRE)
if(1)
select = 2
spread = 4
to_chat(user, "<span class='notice'>You switch to semi-auto.</span>")
SEND_SIGNAL(src, COMSIG_GUN_DISABLE_AUTOFIRE)
if(2)
select = 0
burst_size = 3
fire_delay = 2
spread = 4
to_chat(user, "<span class='notice'>You switch to [burst_size]-rnd Matter.</span>")
SEND_SIGNAL(src, COMSIG_GUN_DISABLE_AUTOFIRE)
playsound(user, 'sound/weapons/empty.ogg', 100, TRUE)
update_icon()
return
*/
/obj/item/gun/ballistic/automatic/assault/morita1/desert
name = "\improper Morita MK.I(desert)"
desc = "Стандартная пехотная автоматическая винтовка под калибр .308. Широко применяется армейскими корпусами в Союзе Человечества. Популярность в гражданских кругах заслужила после сьемок в фильме Starboat Troopes./Модификация с пустынным камуфляжем"
Expand Down
Binary file modified mod_celadon/weapons/icons/guns/48x32guns.dmi
Binary file not shown.
Binary file added mod_celadon/weapons/icons/guns/back.dmi
Binary file not shown.
Binary file added mod_celadon/weapons/icons/guns/back_inteq.dmi
Binary file not shown.
Binary file modified mod_celadon/weapons/sound/gun/Morita1.ogg
Binary file not shown.
Binary file added mod_celadon/weapons/sound/gun/g36.ogg
Binary file not shown.
Binary file added mod_celadon/weapons/sound/gun/g36sh.ogg
Binary file not shown.
2 changes: 1 addition & 1 deletion shiptest.dme
Original file line number Diff line number Diff line change
Expand Up @@ -156,8 +156,8 @@
#include "code\__DEFINES\dcs\flags.dm"
#include "code\__DEFINES\dcs\helpers.dm"
#include "code\__DEFINES\dcs\signals.dm"
#include "code\__DEFINES\~mods\tajara.dm"
#include "code\__DEFINES\~mods\roaches.dm"
#include "code\__DEFINES\~mods\tajara.dm"
#include "code\__HELPERS\_auxtools_api.dm"
#include "code\__HELPERS\_lists.dm"
#include "code\__HELPERS\_logging.dm"
Expand Down

0 comments on commit 84d0660

Please sign in to comment.