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.