mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-24 05:23:22 +01:00
Ports table item autoalign from Bay (#6946)
Made it so items get their pixel x/y reset on pickup.
Thrown items now also get their pixel placement slightly randomized.
Tweaked the center of mass on a boatload of items to be more accurate to their sprite art.
Replaced a bunch of randomized pixel placement code into a unifying proc; randpixel_xy() that uses an item's randpixel var.
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
w_class = 3.0
|
||||
|
||||
var/image/blood_overlay //this saves our blood splatter overlay, which will be processed not to go over the edges of the sprite
|
||||
var/randpixel = 6
|
||||
var/abstract = 0
|
||||
var/r_speed = 1.0
|
||||
var/health
|
||||
@@ -171,7 +172,7 @@
|
||||
return
|
||||
if(!src.Adjacent(user) && !(TK in user.mutations))
|
||||
to_chat(user, span("notice", "\The [src] slips out of your grasp before you can grab it!")) // because things called before this can move it
|
||||
return // please don't pick things up
|
||||
return // please don't pick things up
|
||||
src.pickup(user)
|
||||
if (istype(src.loc, /obj/item/weapon/storage))
|
||||
var/obj/item/weapon/storage/S = src.loc
|
||||
@@ -266,6 +267,8 @@
|
||||
|
||||
// called just as an item is picked up (loc is not yet changed)
|
||||
/obj/item/proc/pickup(mob/user)
|
||||
pixel_x = 0
|
||||
pixel_y = 0
|
||||
return
|
||||
|
||||
// called when this item is removed from a storage item, which is passed on as S. The loc variable is already set to the new destination before this is called.
|
||||
@@ -780,4 +783,13 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
|
||||
return TRUE // Already adjacent.
|
||||
if(AStar(get_turf(us), get_turf(them), /turf/proc/AdjacentTurfsRanged, /turf/proc/Distance, max_nodes=25, max_node_depth=range))
|
||||
return TRUE
|
||||
return FALSE
|
||||
return FALSE
|
||||
|
||||
//Used for selecting a random pixel placement, usually on initialize. Checks for pixel_x/y to not interfere with mapped in items.
|
||||
/obj/item/proc/randpixel_xy()
|
||||
if(!pixel_x && !pixel_y)
|
||||
pixel_x = rand(-randpixel, randpixel)
|
||||
pixel_y = rand(-randpixel, randpixel)
|
||||
return TRUE
|
||||
else
|
||||
return FALSE
|
||||
Reference in New Issue
Block a user