diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index ea46b882..44229ddb 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -44,8 +44,8 @@
var/force_unwielded = 0 //Force modification, because striking someone with a rifle held in two hands -hurts-
var/force_wielded = 0
- var/accuracy = -30 //goes into projectile.dm to provide individual offsets for each gun. negative to increase base accuracy
- var/rangedrop = 5 //how much accuracy the average gun loses for every tile
+ var/accuracy = 0 //goes into projectile.dm to provide individual offsets for each gun. negative to increase base accuracy
+ var/rangedrop = 0 //how much accuracy the average gun loses for every tile
proc/can_wield() //Override in order to make a weapon two handed, remember to add toggle_wield(mob/user as mob) in the weapon somewhere
return 0 //Override /Fire(..) to force the weapon to be two handed
diff --git a/code/modules/projectiles/guns/energy/erifles.dm b/code/modules/projectiles/guns/energy/erifles.dm
index bf62b849..99d73049 100644
--- a/code/modules/projectiles/guns/energy/erifles.dm
+++ b/code/modules/projectiles/guns/energy/erifles.dm
@@ -59,7 +59,7 @@
fire_delay_unwielded = 24 //4x difference, let's be an arse about this, and push the issue
force_wielded = 10 //10 is amped force, due to better grip
force_unwielded = 5 //5 is normal force
-
+ rangedrop = -5 //lasers are more accurate than bullets. fully accurate up to three tiles unaimed. 40% miss at 7 tiles. aimed: 6 tiles accurate, 10% miss at 7
/*
/obj/item/weapon/gun/energy/rifle/laser/update_icon() //Currently only here to fuck with the on-mob icons.
icon_state = "laser[wielded]"
@@ -128,6 +128,9 @@ Commenting out right now, due to a lack of sprites existing. I hate on-mob weapo
fire_delay_unwielded = 105 //3x difference, let's be an arse about this, and push the issue
var/zoom = 0
+ accuracy = -90
+ rangedrop = -5 // fully accurate up to first 10 tiles. the last 4 zoomed tiles you are on your
+
/obj/item/weapon/gun/energy/rifle/sniperrifle/dropped(mob/user)
user.client.view = world.view
..()
diff --git a/code/modules/projectiles/guns/energy/modular.dm b/code/modules/projectiles/guns/energy/modular.dm
index 4912e167..7d06e5ef 100644
--- a/code/modules/projectiles/guns/energy/modular.dm
+++ b/code/modules/projectiles/guns/energy/modular.dm
@@ -293,18 +293,20 @@
else if(delaymod.rating == 3)
fire_delay = 2
- if(!targetmod) // TBD after projectile accuracy. extreme placeholder values.
-// miss_modifier = 0
+ if(!targetmod)
+ accuracy = 30 //positive. subtracts to 0 accuracy base, 30 if aimed. fully accurate up to two tiles *if aimed*, -15% per tile after
canzoom = 0
else if(targetmod.rating == 1)
-// miss_modifier = -30
+ accuracy = -30 //standard accuracy. standard gun.
canzoom = 0
else if(targetmod.rating == 2)
-// miss_modifier = -60
- canzoom = 1 //advanced and up scanning modules let you zoom in.
+ accuracy = -60 //Fully accurate up to 6 tiles aimed. 15% drop per tile after that for ~-120% accuracy at 14 tiles. If you want to snipe things, get phasic.
+ canzoom = 1 //advanced and up scanning modules let you zoom in. good luck hitting without phasic though pal. good luck.
else if(targetmod.rating == 3)
-// miss_modifier = -90
+ rangedrop = -5 //Accurate aimed up to 12 tiles. 20% miss at 14. 9 tiles and 50% miss at 14 without aiming.
+ accuracy = -90 //If you're paying a premium for accuracy, you can have accuracy.
canzoom = 1
+
if(!powermod)
charge_cost = 1.5*charge_cost
else if(powermod.rating == 1)
diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm
index 5c70c715..4c5fbf0c 100644
--- a/code/modules/projectiles/guns/projectile/shotgun.dm
+++ b/code/modules/projectiles/guns/projectile/shotgun.dm
@@ -20,6 +20,9 @@
var/pumped = 0
var/obj/item/ammo_casing/current_shell = null
+ accuracy = -40 //-60 full accuracy up to 3 tiles unaimed. aimed 5 tiles accurate. 40% misschance at 7.
+ rangedrop = 5 //loses 20 accuracy per distance tile. unaimed 70% chance to miss at 7 tiles.
+
icon_action_button = "action_blank"
action_button_name = "Wield the shotgun"
@@ -91,6 +94,9 @@
origin_tech = "combat=3;materials=1"
ammo_type = "/obj/item/ammo_casing/shotgun/beanbag"
+ accuracy = -40 //-60 full accuracy up to 3 tiles unaimed. aimed 5 tiles accurate. 40% misschance at 7.
+ rangedrop = 5 //loses 20 accuracy per distance tile. unaimed 70% chance to miss at 7 tiles.
+
icon_action_button = "action_blank"
action_button_name = "Wield the double-barreled shotgun"
diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm
index 7aee9719..fbc06c80 100644
--- a/code/modules/projectiles/projectile.dm
+++ b/code/modules/projectiles/projectile.dm
@@ -93,8 +93,9 @@
var/obj/item/weapon/gun/daddy = shot_from //Kinda balanced by fact you need like 2 seconds to aim
if (daddy.target && original in daddy.target) //As opposed to no-delay pew pew
miss_modifier += -30
- def_zone = get_zone_with_miss_chance(def_zone, M, miss_modifier + 10*distance) // add +daddy.missmod vars to gun and this. snowflake accuracy
-
+ M << "\red [miss_modifier]!"
+ def_zone = get_zone_with_miss_chance(def_zone, M, miss_modifier + 15*distance + daddy.accuracy + daddy.rangedrop) // add +daddy.missmod vars to gun and this. snowflake accuracy
+//moving def_zone to be a child of the daddyblock because i need the daddy
if(!def_zone)
visible_message("\blue \The [src] misses [M] narrowly!")
forcedodge = -1
diff --git a/data/investigate/gravity.html b/data/investigate/gravity.html
index 00a9afb7..67ff95de 100644
--- a/data/investigate/gravity.html
+++ b/data/investigate/gravity.html
@@ -1,2 +1,2 @@
-02:39 [0x200783d] (92,152,1) || the gravitational generator has regained power.
-02:39 [0x200783d] (92,152,1) || the gravitational generator is now charging.
+13:02 [0x20077ee] (92,152,1) || the gravitational generator has regained power.
+13:02 [0x20077ee] (92,152,1) || the gravitational generator is now charging.