-
-
Notifications
You must be signed in to change notification settings - Fork 444
/
Copy pathsee_through_maps.dm
82 lines (73 loc) · 3.31 KB
/
see_through_maps.dm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
//For these defines, check also above for their actual shapes in-game and maybe get a better idea
///Default shape. It's one tile above the atom
#define SEE_THROUGH_MAP_DEFAULT "default"
///A 3x3 area 2 tiles above the atom (trees love to be this shape)
#define SEE_THROUGH_MAP_THREE_X_THREE "3x3"
///2 tiles above the atom
#define SEE_THROUGH_MAP_DEFAULT_TWO_TALL "default_two_tall"
///two rows of three tiles above the atom (small but thick trees love these)
#define SEE_THROUGH_MAP_THREE_X_TWO "3x2"
///One row of three tiles above the atom, but offset one tile to the left because of how billboards work
#define SEE_THROUGH_MAP_BILLBOARD "billboard"
///Two rows of three wide, but offset one tile to the left because thats how shipping containers work
#define SEE_THROUGH_MAP_SHIPPING_CONTAINER "shipping_container"
///Seethrough component for the ratvar wreck, in shape of the ratvar wreck
#define SEE_THROUGH_MAP_RATVAR_WRECK "ratvar"
/**global statics for the see_through_component coordinate maps
* For ease of use, include a comment in the shape of the coordinate map, where O is nothing, X is a hidden tile and A is the object
* List-coordinate layout is list(relative_x, relative_y, relative_z)
* Turf finding algorithm needs the z and you can totally use it, but I can't think of any reason to ever do it
* Also it'd be really cool if you could keep the list-coordinates in here represent their actual relative coords, dont use tabs though since their spacing can differ
*/
GLOBAL_LIST_INIT(see_through_maps, list(
// X
// A
SEE_THROUGH_MAP_DEFAULT = list(
/*----------------*/list(0, 1, 0),
/*----------------*/list(0, 0, 0)
),
// XXX
// XXX
// XXX
// OAO
SEE_THROUGH_MAP_THREE_X_THREE = list(
list(-1, 3, 0), list(0, 3, 0), list(1, 3, 0),
list(-1, 2, 0), list(0, 2, 0), list(1, 2, 0),
list(-1, 1, 0), list(0, 1, 0), list(1, 1, 0)
),
// X
// X
// A
SEE_THROUGH_MAP_DEFAULT_TWO_TALL = list(
/*----------------*/list(0, 2, 0),
/*----------------*/list(0, 1, 0),
/*----------------*/list(0, 0, 0)
),
// XXX
// XXX
// OAO
SEE_THROUGH_MAP_THREE_X_TWO = list(
list(-1, 2, 0), list(0, 2, 0), list(1, 2, 0),
list(-1, 1, 0), list(0, 1, 0), list(1, 1, 0)
),
/// XXX
/// AOO
SEE_THROUGH_MAP_BILLBOARD = list(
list(0, 1, 0), list(1, 1, 0), list(2, 1, 0)
),
/// XXX
/// AXX
SEE_THROUGH_MAP_SHIPPING_CONTAINER = list(
list(0, 1, 0), list(1, 1, 0), list(2, 1, 0),
list(0, 0, 0), list(1, 0, 0), list(2, 0, 0)
),
//No
SEE_THROUGH_MAP_RATVAR_WRECK = list(
list(3, 5, 0), list(4, 5, 0), list(5, 5, 0), list(6, 5, 0),
list(3, 4, 0), list(4, 4, 0), list(5, 4, 0), list(6, 4, 0), list(7, 4, 0), list(9, 4, 0),
list(3, 3, 0), list(4, 3, 0), list(5, 3, 0), list(6, 3, 0), /* the neck */ list(8, 3, 0), list(9, 3, 0),
list(0, 2, 0), list(1, 2, 0), list(2, 2, 0), list(3, 2, 0), list(4, 2, 0), list(5, 2, 0), list(6, 2, 0), list(7, 2, 0), list(8, 2, 0), list(9, 2, 0), list(10, 2, 0), list(11, 2, 0), list(12, 2, 0),
list(0, 1, 0), list(1, 1, 0), list(2, 1, 0), list(3, 1, 0), list(4, 1, 0), list(5, 1, 0), list(6, 1, 0), list(7, 1, 0), list(8, 1, 0), list(9, 1, 0), list(10, 1, 0), list(11, 1, 0), list(12, 1, 0),
list(0, 0, 0), list(1, 0, 0), list(2, 0, 0), list(3, 0, 0), list(4, 0, 0), list(5, 0, 0), list(6, 0, 0), list(7, 0, 0), list(8, 0, 0), list(9, 0, 0), list(10, 0, 0), list(11, 0, 0), list(12, 0, 0), list(13, 0, 0)
)
))