From d3234bba23d8fff5c19c973570426f253c920724 Mon Sep 17 00:00:00 2001
From: Kirie Saito <77302679+Kitsunemitsu@users.noreply.github.com>
Date: Sun, 31 Mar 2024 13:54:05 -0400
Subject: [PATCH] adds reloading to all guns
asd
Update ego_gun.dm
Update ego_gun.dm
---
.../ego_weapons/non_abnormality/fullstop.dm | 4 +-
.../ego_weapons/non_abnormality/kcorp.dm | 8 ++-
.../ego_weapons/non_abnormality/thumb.dm | 4 +-
code/modules/projectiles/gun.dm | 2 +-
code/modules/projectiles/guns/ego_gun.dm | 48 ++++++++++++++++-
.../modules/projectiles/guns/ego_gun/aleph.dm | 6 ++-
code/modules/projectiles/guns/ego_gun/he.dm | 25 +++++++--
code/modules/projectiles/guns/ego_gun/teth.dm | 30 ++++++++---
code/modules/projectiles/guns/ego_gun/waw.dm | 54 +++++++++++++++----
.../modules/projectiles/guns/ego_gun/zayin.dm | 18 +++++--
.../projectiles/projectile/ego_bullets/waw.dm | 10 ++--
11 files changed, 172 insertions(+), 37 deletions(-)
diff --git a/code/game/objects/items/ego_weapons/non_abnormality/fullstop.dm b/code/game/objects/items/ego_weapons/non_abnormality/fullstop.dm
index 607aff479a73..e8230481fbbb 100644
--- a/code/game/objects/items/ego_weapons/non_abnormality/fullstop.dm
+++ b/code/game/objects/items/ego_weapons/non_abnormality/fullstop.dm
@@ -8,8 +8,8 @@
weapon_weight = WEAPON_HEAVY
fire_sound = 'sound/weapons/gun/rifle/shot_alt.ogg'
special = "Use in hand to reload"
- var/shotsleft = 10
- var/reloadtime = 3 SECONDS
+ shotsleft = 10
+ reloadtime = 3 SECONDS
/obj/item/gun/ego_gun/city/fullstop/process_chamber()
if(shotsleft)
diff --git a/code/game/objects/items/ego_weapons/non_abnormality/kcorp.dm b/code/game/objects/items/ego_weapons/non_abnormality/kcorp.dm
index 18259a82e698..d76dd9f1ee75 100644
--- a/code/game/objects/items/ego_weapons/non_abnormality/kcorp.dm
+++ b/code/game/objects/items/ego_weapons/non_abnormality/kcorp.dm
@@ -97,6 +97,8 @@
righthand_file = 'ModularTegustation/Teguicons/lc13_right.dmi'
ammo_type = /obj/item/ammo_casing/caseless/ego_kcorp
fire_delay = 5
+ shotsleft = 12
+ reloadtime = 0.8 SECONDS
fire_sound = 'sound/weapons/gun/pistol/shot.ogg'
fire_sound_volume = 70
@@ -110,6 +112,8 @@
fire_sound = 'sound/weapons/gun/smg/mp7.ogg'
autofire = 0.08 SECONDS
fire_delay = 1
+ shotsleft = 40
+ reloadtime = 1.2 SECONDS
attribute_requirements = list(
FORTITUDE_ATTRIBUTE = 80,
PRUDENCE_ATTRIBUTE = 60,
@@ -124,7 +128,9 @@
icon_state = "kgrenade"
inhand_icon_state = "kgrenade"
ammo_type = /obj/item/ammo_casing/caseless/ego_knade
- fire_delay = 15
+ fire_delay = 7
+ shotsleft = 6
+ reloadtime = 1.8 SECONDS
fire_sound = 'sound/weapons/gun/general/grenade_launch.ogg'
fire_sound_volume = 70
attribute_requirements = list(
diff --git a/code/game/objects/items/ego_weapons/non_abnormality/thumb.dm b/code/game/objects/items/ego_weapons/non_abnormality/thumb.dm
index 7317b331f3f9..d4b0cdc4ee4f 100644
--- a/code/game/objects/items/ego_weapons/non_abnormality/thumb.dm
+++ b/code/game/objects/items/ego_weapons/non_abnormality/thumb.dm
@@ -12,8 +12,8 @@
special = "Use in hand to reload. Attack an enemy with your bayonet to reload."
projectile_damage_multiplier = 3 //30 damage per bullet
fire_delay = 7
- var/shotsleft = 5 //Based off the Mas 36, That's what my Girlfirend things it looks like. Holds 5 bullets.
- var/reloadtime = 5 SECONDS
+ shotsleft = 5 //Based off the Mas 36, That's what my Girlfirend things it looks like. Holds 5 bullets.
+ reloadtime = 5 SECONDS
attribute_requirements = list(
FORTITUDE_ATTRIBUTE = 80,
PRUDENCE_ATTRIBUTE = 60,
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index 27a026dd276d..330ef4c3e836 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -249,7 +249,7 @@
for(var/obj/item/gun/G in H.held_items)
if(G == src || G.weapon_weight >= WEAPON_MEDIUM)
continue
- else if(G.can_trigger_gun(user))
+ else if(G.can_trigger_gun(user) && G.can_shoot())
bonus_spread += dual_wield_spread
loop_counter++
addtimer(CALLBACK(G, TYPE_PROC_REF(/obj/item/gun, process_fire), target, user, TRUE, params, null, bonus_spread), loop_counter)
diff --git a/code/modules/projectiles/guns/ego_gun.dm b/code/modules/projectiles/guns/ego_gun.dm
index 5c6f6ccd6b72..1b5c6aaa74b2 100644
--- a/code/modules/projectiles/guns/ego_gun.dm
+++ b/code/modules/projectiles/guns/ego_gun.dm
@@ -15,6 +15,11 @@
///In deciseconds per round
var/autofire
+ //Reload mechanics
+ var/shotsleft
+ var/reloadtime
+ var/is_reloading
+
/obj/item/gun/ego_gun/Initialize()
. = ..()
chambered = new ammo_type(src)
@@ -28,6 +33,25 @@
. += "[special]"
if(weapon_weight != WEAPON_HEAVY)
. += "This weapon can be fired with one hand."
+
+ if(reloadtime)
+ . += "Ammo Counter: [shotsleft]/[initial(shotsleft)]."
+ else
+ . += "This weapon has unlimited ammo."
+
+ if(reloadtime)
+ switch(reloadtime)
+ if(1 to 0.7 SECONDS)
+ . += "This weapon has a very fast reload."
+ if(0.71 SECONDS to 1.2 SECONDS)
+ . += "This weapon has a fast reload."
+ if(1.21 SECONDS to 1.7 SECONDS)
+ . += "This weapon has a normal reload speed."
+ if(1.71 SECONDS to 2.5 SECONDS)
+ . += "This weapon has a slow reload."
+ if(2.51 to INFINITY)
+ . += "This weapon has an extremely slow reload."
+
if(!autofire)
switch(fire_delay)
if(0 to 5)
@@ -40,7 +64,6 @@
. += "This weapon fires slowly."
else
. += "This weapon fires extremely slowly."
-
else
//Give it to 'em in true rounds per minute, accurate to the 5s
var/rpm = 600 / autofire
@@ -95,9 +118,21 @@
return
/obj/item/gun/ego_gun/can_shoot()
+ if(reloadtime)
+ if(!shotsleft)
+ visible_message(span_notice("The gun is out of ammo."))
+ playsound(src, dry_fire_sound, 30, TRUE)
+ return FALSE
+ if(is_reloading)
+ return FALSE
+
return TRUE
/obj/item/gun/ego_gun/process_chamber()
+
+ if(reloadtime && shotsleft)
+ shotsleft-=1
+
if(chambered && !chambered.BB)
recharge_newshot()
@@ -114,6 +149,17 @@
before_firing(user = user)
return ..()
+/obj/item/gun/ego_gun/attack_self(mob/user)
+ if(reloadtime)
+ is_reloading = TRUE
+ to_chat(user,span_notice("You start loading a new magazine."))
+ playsound(src, 'sound/weapons/gun/general/slide_lock_1.ogg', 50, TRUE)
+ if(do_after(user, reloadtime, src)) //gotta reload
+ playsound(src, 'sound/weapons/gun/general/bolt_rack.ogg', 50, TRUE)
+ shotsleft = initial(shotsleft)
+ is_reloading = FALSE
+ ..()
+
//Examine text for pistols.
/obj/item/gun/ego_gun/pistol/examine(mob/user)
. = ..()
diff --git a/code/modules/projectiles/guns/ego_gun/aleph.dm b/code/modules/projectiles/guns/ego_gun/aleph.dm
index 16a4a8ad07ca..8e6d8e3ac921 100644
--- a/code/modules/projectiles/guns/ego_gun/aleph.dm
+++ b/code/modules/projectiles/guns/ego_gun/aleph.dm
@@ -15,6 +15,8 @@
vary_fire_sound = TRUE
fire_sound_volume = 25
autofire = 0.25 SECONDS
+ shotsleft = 333
+ reloadtime = 2.1 SECONDS
attribute_requirements = list(
FORTITUDE_ATTRIBUTE = 80,
@@ -146,7 +148,9 @@
ammo_type = /obj/item/ammo_casing/caseless/pink
weapon_weight = WEAPON_HEAVY
fire_sound = 'sound/abnormalities/armyinblack/pink.ogg'
- fire_delay = 18
+ fire_delay = 9
+ shotsleft = 8
+ reloadtime = 2.1 SECONDS
zoomable = TRUE
zoom_amt = 10
zoom_out_amt = 13
diff --git a/code/modules/projectiles/guns/ego_gun/he.dm b/code/modules/projectiles/guns/ego_gun/he.dm
index 5f88f026dc4d..937bba85d42f 100644
--- a/code/modules/projectiles/guns/ego_gun/he.dm
+++ b/code/modules/projectiles/guns/ego_gun/he.dm
@@ -6,7 +6,9 @@
inhand_icon_state = "prank"
ammo_type = /obj/item/ammo_casing/caseless/ego_prank
weapon_weight = WEAPON_HEAVY
- fire_delay = 10
+ fire_delay = 5
+ shotsleft = 10
+ reloadtime = 1.4 SECONDS
damtype = BLACK_DAMAGE
fire_sound = 'sound/weapons/gun/rifle/shot_alt.ogg'
attribute_requirements = list(
@@ -19,7 +21,9 @@
icon_state = "gaze"
inhand_icon_state = "gaze"
ammo_type = /obj/item/ammo_casing/caseless/ego_gaze
- fire_delay = 20
+ fire_delay = 10
+ shotsleft = 8
+ reloadtime = 1.8 SECONDS
fire_sound = 'sound/weapons/gun/pistol/deagle.ogg'
vary_fire_sound = FALSE
weapon_weight = WEAPON_HEAVY
@@ -144,6 +148,9 @@
vary_fire_sound = FALSE
weapon_weight = WEAPON_HEAVY
fire_sound_volume = 70
+ shotsleft = 18
+ reloadtime = 1.6 SECONDS
+
autofire = 0.35 SECONDS
attribute_requirements = list(
FORTITUDE_ATTRIBUTE = 40
@@ -156,7 +163,9 @@
inhand_icon_state = "transmission"
ammo_type = /obj/item/ammo_casing/caseless/ego_transmission
weapon_weight = WEAPON_HEAVY
- fire_delay = 10
+ fire_delay = 5
+ shotsleft = 10
+ reloadtime = 1.4 SECONDS
fire_sound = 'sound/weapons/gun/rifle/shot_alt.ogg'
attribute_requirements = list(
FORTITUDE_ATTRIBUTE = 40
@@ -170,6 +179,8 @@
ammo_type = /obj/item/ammo_casing/caseless/ego_song
fire_sound = 'sound/weapons/gun/pistol/shot_alt.ogg'
weapon_weight = WEAPON_HEAVY
+ shotsleft = 10
+ reloadtime = 1.6 SECONDS
spread = 8
autofire = 0.15 SECONDS
attribute_requirements = list(
@@ -184,6 +195,8 @@
special = "This weapon fires 3 pellets."
ammo_type = /obj/item/ammo_casing/caseless/ego_songmini
fire_sound = 'sound/weapons/gun/revolver/shot_light.ogg'
+ shotsleft = 16
+ reloadtime = 2.1 SECONDS
spread = 8
autofire = 0.3 SECONDS
attribute_requirements = list(
@@ -215,7 +228,9 @@
special = "This weapon fires dice that deal varying amounts of damage."
ammo_type = /obj/item/ammo_casing/caseless/ego_swindle
weapon_weight = WEAPON_HEAVY
- fire_delay = 10
+ fire_delay = 5
+ shotsleft = 12
+ reloadtime = 1.5 SECONDS
fire_sound = 'sound/weapons/gun/pistol/shot.ogg'
attribute_requirements = list(
FORTITUDE_ATTRIBUTE = 40
@@ -267,6 +282,8 @@
ammo_type = /obj/item/ammo_casing/caseless/ego_syrinx
weapon_weight = WEAPON_HEAVY
spread = 40
+ shotsleft = 40
+ reloadtime = 2 SECONDS
fire_sound = 'sound/weapons/ego/ecstasy.ogg'
autofire = 0.08 SECONDS
attribute_requirements = list(
diff --git a/code/modules/projectiles/guns/ego_gun/teth.dm b/code/modules/projectiles/guns/ego_gun/teth.dm
index 1fd86a7df06a..2b91d5bf8b50 100644
--- a/code/modules/projectiles/guns/ego_gun/teth.dm
+++ b/code/modules/projectiles/guns/ego_gun/teth.dm
@@ -11,7 +11,9 @@
special = "This weapon does AOE damage."
ammo_type = /obj/item/ammo_casing/caseless/ego_match
weapon_weight = WEAPON_HEAVY
- fire_delay = 30
+ fire_delay = 15
+ shotsleft = 8
+ reloadtime = 2.2 SECONDS
fire_sound = 'sound/weapons/ego/cannon.ogg'
/obj/item/gun/ego_gun/beak
@@ -23,6 +25,8 @@
ammo_type = /obj/item/ammo_casing/caseless/ego_beak
weapon_weight = WEAPON_HEAVY
spread = 10
+ shotsleft = 30
+ reloadtime = 1.3 SECONDS
fire_sound = 'sound/weapons/gun/smg/mp7.ogg'
autofire = 0.14 SECONDS
@@ -33,7 +37,9 @@
inhand_icon_state = "beakmagnum"
special = "This weapon has pinpoint accuracy when dual wielded."
ammo_type = /obj/item/ammo_casing/caseless/ego_beakmagnum
- fire_delay = 20
+ fire_delay = 10
+ shotsleft = 7
+ reloadtime = 2.1 SECONDS
fire_sound = 'sound/weapons/gun/revolver/shot_alt.ogg'
vary_fire_sound = FALSE
fire_sound_volume = 70
@@ -47,7 +53,9 @@
special = "This weapon fires 5 pellets."
ammo_type = /obj/item/ammo_casing/caseless/ego_noise
weapon_weight = WEAPON_HEAVY
- fire_delay = 20
+ fire_delay = 10
+ shotsleft = 8
+ reloadtime = 1.6 SECONDS
fire_sound = 'sound/weapons/gun/shotgun/shot_auto.ogg'
/obj/item/gun/ego_gun/pistol/solitude
@@ -56,7 +64,9 @@
icon_state = "solitude"
inhand_icon_state = "solitude"
ammo_type = /obj/item/ammo_casing/caseless/ego_solitude
- fire_delay = 25
+ fire_delay = 10
+ shotsleft = 5
+ reloadtime = 2 SECONDS
fire_sound = 'sound/weapons/gun/revolver/shot_light.ogg'
vary_fire_sound = FALSE
fire_sound_volume = 70
@@ -70,6 +80,8 @@
ammo_type = /obj/item/ammo_casing/caseless/ego_shy
fire_sound = 'sound/effects/meatslap.ogg'
vary_fire_sound = FALSE
+ shotsleft = 20
+ reloadtime = 1.2 SECONDS
autofire = 0.2 SECONDS
/obj/item/gun/ego_gun/dream
@@ -80,7 +92,7 @@
ammo_type = /obj/item/ammo_casing/caseless/ego_dream
weapon_weight = WEAPON_HEAVY
fire_sound = "dreamy_gun"
- autofire = 0.2 SECONDS
+ autofire = 0.25 SECONDS
/obj/item/gun/ego_gun/page
name = "page"
@@ -89,7 +101,9 @@
inhand_icon_state = "page"
ammo_type = /obj/item/ammo_casing/caseless/ego_page
weapon_weight = WEAPON_HEAVY
- fire_delay = 10
+ fire_delay = 5
+ shotsleft = 10
+ reloadtime = 1.4 SECONDS
damtype = BLACK_DAMAGE
fire_sound = 'sound/weapons/gun/rifle/shot_alt.ogg'
@@ -158,5 +172,7 @@
special = "This weapon fires 4 pellets."
ammo_type = /obj/item/ammo_casing/caseless/ego_patriot
weapon_weight = WEAPON_HEAVY
- fire_delay = 25
+ fire_delay = 12
+ shotsleft = 8
+ reloadtime = 1.4 SECONDS
fire_sound = 'sound/weapons/gun/shotgun/shot.ogg'
diff --git a/code/modules/projectiles/guns/ego_gun/waw.dm b/code/modules/projectiles/guns/ego_gun/waw.dm
index 951f8c5134dd..2cd2f5e47369 100644
--- a/code/modules/projectiles/guns/ego_gun/waw.dm
+++ b/code/modules/projectiles/guns/ego_gun/waw.dm
@@ -6,7 +6,9 @@
special = "This weapon fires 6 pellets."
ammo_type = /obj/item/ammo_casing/caseless/ego_correctional
weapon_weight = WEAPON_HEAVY
- fire_delay = 15
+ fire_delay = 7
+ shotsleft = 12
+ reloadtime = 1.4 SECONDS
fire_sound = 'sound/weapons/gun/shotgun/shot_auto.ogg'
attribute_requirements = list(
@@ -23,7 +25,9 @@
ammo_type = /obj/item/ammo_casing/caseless/ego_hornet
weapon_weight = WEAPON_HEAVY
fire_sound = 'sound/weapons/gun/rifle/leveraction.ogg'
- fire_delay = 5
+ fire_delay = 2
+ shotsleft = 10
+ reloadtime = 1.4 SECONDS
damtype = RED_DAMAGE
attribute_requirements = list(
FORTITUDE_ATTRIBUTE = 80
@@ -76,6 +80,8 @@
ammo_type = /obj/item/ammo_casing/caseless/ego_magicbullet
weapon_weight = WEAPON_HEAVY
fire_delay = 30 //Put on the armor, jackass.
+ shotsleft = 7
+ reloadtime = 2.1 SECONDS
fire_sound = 'sound/abnormalities/freischutz/shoot.ogg'
attribute_requirements = list(
@@ -91,7 +97,7 @@
var/obj/item/clothing/suit/armor/ego_gear/he/magicbullet/Y = myman.get_item_by_slot(ITEM_SLOT_OCLOTHING)
var/obj/item/clothing/suit/armor/ego_gear/realization/bigiron/Z = myman.get_item_by_slot(ITEM_SLOT_OCLOTHING)
if(istype(Y))
- fire_delay = 15
+ fire_delay = 8
if(istype(Z))
cached_multiplier = projectile_damage_multiplier
projectile_damage_multiplier *= 2.5
@@ -110,6 +116,8 @@
special = "Firing both solemn lament and solemn vow at the same time will increase damage by 1.5x"
ammo_type = /obj/item/ammo_casing/caseless/ego_solemnlament
fire_delay = 5
+ shotsleft = 18
+ reloadtime = 0.7 SECONDS
fire_sound = 'sound/abnormalities/funeral/spiritgunwhite.ogg'
fire_sound_volume = 30
attribute_requirements = list(PRUDENCE_ATTRIBUTE = 80)
@@ -131,6 +139,8 @@
special = "Firing both solemn lament and solemn vow at the same time will increase damage by 1.5x"
ammo_type = /obj/item/ammo_casing/caseless/ego_solemnvow
fire_delay = 5
+ shotsleft = 18
+ reloadtime = 0.7 SECONDS
fire_sound = 'sound/abnormalities/funeral/spiritgunblack.ogg'
fire_sound_volume = 30
@@ -152,6 +162,8 @@
ammo_type = /obj/item/ammo_casing/caseless/ego_loyalty
weapon_weight = WEAPON_HEAVY
spread = 20
+ shotsleft = 95
+ reloadtime = 0.7 SECONDS
special = "This weapon has IFF capabilities. \
Use in hand to turn off IFF."
fire_sound = 'sound/weapons/gun/smg/vp70.ogg'
@@ -179,7 +191,9 @@
inhand_icon_state = "executive"
special = "This gun scales with justice."
burst_size = 1
- fire_delay = 10
+ fire_delay = 5
+ shotsleft = 10
+ reloadtime = 0.7 SECONDS
fire_sound = 'sound/weapons/gun/pistol/shot.ogg'
vary_fire_sound = FALSE
fire_sound_volume = 70
@@ -196,7 +210,9 @@
inhand_icon_state = "crimsonscar"
ammo_type = /obj/item/ammo_casing/caseless/ego_crimson
special = "This weapon fires 3 pellets."
- fire_delay = 15
+ fire_delay = 7
+ shotsleft = 9
+ reloadtime = 1 SECONDS
fire_sound = 'sound/abnormalities/redhood/fire.ogg'
attribute_requirements = list(
FORTITUDE_ATTRIBUTE = 60,
@@ -214,6 +230,8 @@
spread = 40
fire_sound = 'sound/weapons/ego/ecstasy.ogg'
autofire = 0.08 SECONDS
+ shotsleft = 40
+ reloadtime = 1.8 SECONDS
attribute_requirements = list(
PRUDENCE_ATTRIBUTE = 60,
TEMPERANCE_ATTRIBUTE = 60
@@ -228,6 +246,8 @@
ammo_type = /obj/item/ammo_casing/caseless/ego_praetorian
fire_sound = 'sound/weapons/gun/pistol/tp17.ogg'
autofire = 0.12 SECONDS
+ shotsleft = 12
+ reloadtime = 0.5 SECONDS
fire_sound_volume = 30
attribute_requirements = list(
FORTITUDE_ATTRIBUTE = 60,
@@ -241,7 +261,9 @@
inhand_icon_state = "magic_pistol"
special = "This weapon pierces all targets."
ammo_type = /obj/item/ammo_casing/caseless/ego_magicpistol
- fire_delay = 12
+ fire_delay = 6
+ shotsleft = 7
+ reloadtime = 1.2 SECONDS
fire_sound = 'sound/abnormalities/freischutz/shoot.ogg'
attribute_requirements = list(
TEMPERANCE_ATTRIBUTE = 80
@@ -254,7 +276,9 @@
inhand_icon_state = "laststop"
ammo_type = /obj/item/ammo_casing/caseless/ego_laststop
weapon_weight = WEAPON_HEAVY
- fire_delay = 10 SECONDS // I mean it's a derringer
+ fire_delay = 5
+ shotsleft = 2
+ reloadtime = 10 SECONDS
fire_sound = 'sound/weapons/gun/shotgun/shot_auto.ogg'
attribute_requirements = list(
FORTITUDE_ATTRIBUTE = 80
@@ -270,6 +294,8 @@
spread = 40
fire_sound = 'sound/weapons/gun/smg/mp7.ogg'
autofire = 0.07 SECONDS
+ shotsleft = 50
+ reloadtime = 2.1 SECONDS
attribute_requirements = list(
PRUDENCE_ATTRIBUTE = 80
)
@@ -297,7 +323,9 @@
special = "This weapon fires a hitscan beam. \nUpon hitting an enemy, this weapon heals a nearby Discord weapon user."
ammo_type = /obj/item/ammo_casing/caseless/ego_assonance
weapon_weight = WEAPON_HEAVY
- fire_delay = 10
+ fire_delay = 5
+ shotsleft = 17
+ reloadtime = 1.6 SECONDS
fire_sound = 'sound/weapons/gun/smg/mp7.ogg'
attribute_requirements = list(
PRUDENCE_ATTRIBUTE = 80
@@ -419,7 +447,9 @@
inhand_icon_state = "banquet"
special = "This weapon uses HP to fire."
ammo_type = /obj/item/ammo_casing/caseless/ego_banquet
- fire_delay = 26
+ fire_delay = 13
+ shotsleft = 7
+ reloadtime = 1.6 SECONDS
fire_sound = 'sound/weapons/ego/cannon.ogg'
attribute_requirements = list(
FORTITUDE_ATTRIBUTE = 60,
@@ -441,6 +471,8 @@
ammo_type = /obj/item/ammo_casing/caseless/ego_blind_rage
weapon_weight = WEAPON_HEAVY
fire_delay = 8
+ shotsleft = 8
+ reloadtime = 1.4 SECONDS
fire_sound = 'sound/weapons/gun/shotgun/shot_auto.ogg'
attribute_requirements = list(
TEMPERANCE_ATTRIBUTE = 60,
@@ -456,6 +488,8 @@
ammo_type = /obj/item/ammo_casing/caseless/ego_bride
weapon_weight = WEAPON_HEAVY
fire_delay = 5
+ shotsleft = 10
+ reloadtime = 1.4 SECONDS
fire_sound = 'sound/weapons/gun/rifle/leveraction.ogg'
attribute_requirements = list(
FORTITUDE_ATTRIBUTE = 80
@@ -488,6 +522,8 @@
fire_sound = 'sound/abnormalities/orangetree/ding.ogg'
vary_fire_sound = TRUE
autofire = 0.2 SECONDS
+ shotsleft = 32
+ reloadtime = 2.1 SECONDS
fire_sound_volume = 20
attribute_requirements = list(
PRUDENCE_ATTRIBUTE = 80
diff --git a/code/modules/projectiles/guns/ego_gun/zayin.dm b/code/modules/projectiles/guns/ego_gun/zayin.dm
index 5cd78eab0490..8bb9337001d4 100644
--- a/code/modules/projectiles/guns/ego_gun/zayin.dm
+++ b/code/modules/projectiles/guns/ego_gun/zayin.dm
@@ -6,7 +6,9 @@
inhand_icon_state = "bald"
ammo_type = /obj/item/ammo_casing/caseless/ego_tough
burst_size = 1
- fire_delay = 10
+ fire_delay = 5
+ shotsleft = 17
+ reloadtime = 1 SECONDS
fire_sound = 'sound/weapons/gun/pistol/shot.ogg'
vary_fire_sound = FALSE
fire_sound_volume = 70
@@ -65,7 +67,9 @@
inhand_icon_state = "soda"
ammo_type = /obj/item/ammo_casing/caseless/ego_soda
burst_size = 1
- fire_delay = 10
+ fire_delay = 5
+ shotsleft = 12
+ reloadtime = 0.8 SECONDS
fire_sound = 'sound/weapons/gun/pistol/shot.ogg'
vary_fire_sound = FALSE
fire_sound_volume = 70
@@ -121,6 +125,8 @@
ammo_type = /obj/item/ammo_casing/caseless/ego_clerk
burst_size = 1
fire_delay = 3
+ shotsleft = 10
+ reloadtime = 0.5 SECONDS
fire_sound = 'sound/weapons/gun/pistol/shot.ogg'
vary_fire_sound = FALSE
fire_sound_volume = 70
@@ -174,10 +180,12 @@
icon_state = "nostalgia"
inhand_icon_state = "nostalgia"
ammo_type = /obj/item/ammo_casing/caseless/ego_nostalgia
- fire_delay = 20
fire_sound = 'sound/weapons/gun/pistol/shot.ogg'
vary_fire_sound = FALSE
fire_sound_volume = 70
+ fire_delay = 10
+ shotsleft = 7
+ reloadtime = 2 SECONDS
var/pulse_startup
var/pulse_startup_time = 10 SECONDS
@@ -316,7 +324,9 @@
inhand_icon_state = "oceanic"
ammo_type = /obj/item/ammo_casing/caseless/ego_oceanic
burst_size = 1
- fire_delay = 10
+ fire_delay = 5
+ shotsleft = 7
+ reloadtime = 1.2 SECONDS
fire_sound = 'sound/weapons/gun/pistol/shot.ogg'
vary_fire_sound = FALSE
fire_sound_volume = 70
diff --git a/code/modules/projectiles/projectile/ego_bullets/waw.dm b/code/modules/projectiles/projectile/ego_bullets/waw.dm
index ff3803c4b230..1b282b7d328e 100644
--- a/code/modules/projectiles/projectile/ego_bullets/waw.dm
+++ b/code/modules/projectiles/projectile/ego_bullets/waw.dm
@@ -5,7 +5,7 @@
/obj/projectile/ego_bullet/ego_hornet
name = "hornet"
- damage = 29
+ damage = 55
damage_type = RED_DAMAGE
/obj/projectile/ego_bullet/ego_hatred
@@ -57,14 +57,14 @@
/obj/projectile/ego_bullet/ego_solemnlament
name = "solemn lament"
icon_state = "whitefly"
- damage = 18
+ damage = 35
speed = 0.35
damage_type = WHITE_DAMAGE
/obj/projectile/ego_bullet/ego_solemnvow
name = "solemn vow"
icon_state = "blackfly"
- damage = 18
+ damage = 35
speed = 0.35
damage_type = BLACK_DAMAGE
@@ -93,7 +93,7 @@
/obj/projectile/ego_bullet/ego_executive
name = "executive"
- damage = 10
+ damage = 12
damage_type = PALE_DAMAGE //hehe
@@ -338,6 +338,6 @@
/obj/projectile/ego_bullet/ego_bride
name = "bride"
icon_state = "bride"
- damage = 25
+ damage = 55
damage_type = WHITE_DAMAGE