Snowflake accuracy rework.

shotguns accurate up close.  rapid accuracy drops after five tiles.
sniper rifles accuracybuffed.  Added accuracy to modularguns, which are
now finished except for sprites.  Energy weapons made slightly more
accurate than bulletweapons.
This commit is contained in:
Duck-
2014-08-31 23:15:43 -04:00
parent c2c5e6668f
commit 78fa3ce8d0
6 changed files with 25 additions and 13 deletions
+2 -2
View File
@@ -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
@@ -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
..()
@@ -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)
@@ -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"
+3 -2
View File
@@ -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