Moves projectile processing to a subsystem
This commit is contained in:
committed by
CitadelStationBot
parent
be2dc49384
commit
ed96224d3a
@@ -38,9 +38,14 @@
|
||||
var/aiming_time = 12
|
||||
var/aiming_time_fire_threshold = 5
|
||||
var/aiming_time_left = 12
|
||||
<<<<<<< HEAD
|
||||
var/aiming_time_increase_user_movement = 6
|
||||
=======
|
||||
var/aiming_time_increase_user_movement = 3
|
||||
>>>>>>> 64851d8... Moves projectile processing to a subsystem (#30599)
|
||||
var/scoped_slow = 1
|
||||
var/aiming_time_increase_angle_multiplier = 0.3
|
||||
var/last_process = 0
|
||||
|
||||
var/lastangle = 0
|
||||
var/aiming_lastangle = 0
|
||||
@@ -204,7 +209,7 @@
|
||||
|
||||
/obj/item/gun/energy/beam_rifle/Initialize()
|
||||
. = ..()
|
||||
START_PROCESSING(SSfastprocess, src)
|
||||
START_PROCESSING(SSprojectiles, src)
|
||||
zoom_speed_action = new(src)
|
||||
zoom_lock_action = new(src)
|
||||
|
||||
@@ -240,7 +245,7 @@
|
||||
if(!istype(curloc))
|
||||
return
|
||||
targloc = get_turf_in_angle(lastangle, curloc, 10)
|
||||
P.preparePixelProjectile(targloc, targloc, current_user, current_user.client.mouseParams, 0)
|
||||
P.preparePixelProjectile(targloc, current_user, current_user.client.mouseParams, 0)
|
||||
P.fire(lastangle)
|
||||
|
||||
/obj/item/gun/energy/beam_rifle/process()
|
||||
@@ -248,9 +253,15 @@
|
||||
return
|
||||
check_user()
|
||||
handle_zooming()
|
||||
<<<<<<< HEAD
|
||||
aiming_time_left = min(0, aiming_time_left - (world.time - lastprocess))
|
||||
aiming_beam(TRUE)
|
||||
lastprocess = world.time
|
||||
=======
|
||||
aiming_time_left = max(0, aiming_time_left - (world.time - last_process))
|
||||
aiming_beam(TRUE)
|
||||
last_process = world.time
|
||||
>>>>>>> 64851d8... Moves projectile processing to a subsystem (#30599)
|
||||
|
||||
/obj/item/gun/energy/beam_rifle/proc/check_user(automatic_cleanup = TRUE)
|
||||
if(!istype(current_user) || !isturf(current_user.loc) || !(src in current_user.held_items) || current_user.incapacitated()) //Doesn't work if you're not holding it!
|
||||
@@ -442,7 +453,7 @@
|
||||
firing_dir = BB.firer.dir
|
||||
if(!BB.suppressed && firing_effect_type)
|
||||
new firing_effect_type(get_turf(src), firing_dir)
|
||||
BB.preparePixelProjectile(target, targloc, user, params, spread)
|
||||
BB.preparePixelProjectile(target, user, params, spread)
|
||||
BB.fire(gun? gun.lastangle : null, null)
|
||||
BB = null
|
||||
return TRUE
|
||||
@@ -638,10 +649,6 @@
|
||||
while(loc)
|
||||
if(++safety > (range * 3)) //If it's looping for way, way too long...
|
||||
return //Kill!
|
||||
if((!( current ) || loc == current))
|
||||
current = locate(Clamp(x+xo,1,world.maxx),Clamp(y+yo,1,world.maxy),z)
|
||||
if(!Angle)
|
||||
Angle=round(Get_Angle(src,current))
|
||||
if(spread)
|
||||
Angle += (rand() - 0.5) * spread
|
||||
var/matrix/M = new
|
||||
|
||||
Reference in New Issue
Block a user