Merge pull request #16212 from AffectedArc07/atom-rotation

Better atom rotation
This commit is contained in:
Fox McCloud
2021-07-01 22:15:58 -04:00
committed by GitHub
10 changed files with 31 additions and 24 deletions
@@ -189,7 +189,7 @@ Difficulty: Very Hard
var/turf/target_turf = get_turf(target)
playsound(src, 'sound/magic/clockwork/invoke_general.ogg', 200, TRUE, 2)
newtonian_move(get_dir(target_turf, src))
var/angle_to_target = Get_Angle(src, target_turf)
var/angle_to_target = get_angle(src, target_turf)
if(isnum(set_angle))
angle_to_target = set_angle
var/static/list/colossus_shotgun_shot_angles = list(12.5, 7.5, 2.5, -2.5, -7.5, -12.5)
+5 -5
View File
@@ -101,7 +101,7 @@
overlays += image('icons/obj/power.dmi', icon_state = "solar_panel-b", layer = FLY_LAYER)
else
overlays += image('icons/obj/power.dmi', icon_state = "solar_panel", layer = FLY_LAYER)
src.dir = angle2dir(adir)
set_angle(adir)
return
//calculates the fraction of the sunlight that the panel recieves
@@ -298,7 +298,7 @@
if(autostart)
search_for_connected()
if(connected_tracker && track == TRACKER_AUTO)
connected_tracker.set_angle(SSsun.angle)
connected_tracker.modify_angle(SSsun.angle)
set_panels(cdir)
/obj/machinery/power/solar_control/Destroy()
@@ -338,7 +338,7 @@
return
if(track == TRACKER_AUTO && connected_tracker) // auto-tracking
connected_tracker.set_angle(SSsun.angle)
connected_tracker.modify_angle(SSsun.angle)
set_panels(cdir)
updateDialog()
@@ -410,7 +410,7 @@
track = text2num(params["track"])
if(track == TRACKER_AUTO)
if(connected_tracker)
connected_tracker.set_angle(SSsun.angle)
connected_tracker.modify_angle(SSsun.angle)
set_panels(cdir)
else if(track == TRACKER_TIMED)
targetdir = cdir
@@ -420,7 +420,7 @@
if("refresh")
search_for_connected()
if(connected_tracker && track == TRACKER_AUTO)
connected_tracker.set_angle(SSsun.angle)
connected_tracker.modify_angle(SSsun.angle)
set_panels(cdir)
/obj/machinery/power/solar_control/attackby(obj/item/I, mob/user, params)
+1 -1
View File
@@ -50,7 +50,7 @@
update_icon()
//updates the tracker icon and the facing angle for the control computer
/obj/machinery/power/tracker/proc/set_angle(angle)
/obj/machinery/power/tracker/proc/modify_angle(angle)
sun_angle = angle
//set icon dir to show sun illumination
+1 -1
View File
@@ -239,7 +239,7 @@
if((!current || loc == current))
current = locate(clamp(x + xo, 1, world.maxx), clamp(y + yo, 1, world.maxy), z)
if(isnull(Angle))
Angle = round(Get_Angle(src, current))
Angle = round(get_angle(src, current))
if(spread)
Angle += (rand() - 0.5) * spread
var/matrix/M = new