-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsumm_armory.dat
291 lines (248 loc) · 7.68 KB
/
summ_armory.dat
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
<?xml version="1.0" encoding="UTF-8"?>
<!-- This file contains the definition of the "Armory" summary panel. This panel
contains the list of weapons and armor for the character.
Since all of the tables shown within this summary panel should normally fit
within the available vertical space, no scroller is required, so we turn off
the scroller for each table so that Hero Lab doesn't leave space for one. It
is possible that the list of weapons and armor is longer than will fit. If so,
then we just truncate the list to what we can actually fit.
All public visual elements used with summary panels start with the prefix "sm"
to associate them with the various summary panels.
-->
<document signature="Hero Lab Data">
<!-- smDefense portal - table of armor and Shields
-->
<portal
id="smDefense"
style="tblInvisSm">
<table_fixed
component="Defense"
showtemplate="smDefense"
showsortset="Armory"
scrollable="no">
<headertitle><![CDATA[
@text = #summtitle_decoration[] & " Armor & Shields " & #summtitle_decoration[]
]]></headertitle>
</table_fixed>
</portal>
<!-- smRange portal - table of ranged weapons
-->
<portal
id="smRange"
style="tblInvisSm">
<table_fixed
component="WeapRange"
showtemplate="smWeapon"
scrollable="no">
<headertitle><![CDATA[
@text = #summtitle_decoration[] & " Ranged Weapons " & #summtitle_decoration[]
]]></headertitle>
</table_fixed>
</portal>
<!-- smMelee portal - table of melee weapons
-->
<portal
id="smMelee"
style="tblInvisSm">
<table_fixed
component="WeapMelee"
showtemplate="smWeapon"
scrollable="no">
<headertitle><![CDATA[
@text = #summtitle_decoration[] & " Melee Weapons " & #summtitle_decoration[]
]]></headertitle>
</table_fixed>
</portal>
<!-- smEnergy portal - table of energy weapons
-->
<portal
id="smEnergy"
style="tblInvisSm">
<table_fixed
component="Energy"
showtemplate="smWeapon"
showsortset="ShipWeapDeliv"
scrollable="no">
<headertitle><![CDATA[
@text = #summtitle_decoration[] & " Energy Weapons " & #summtitle_decoration[]
]]></headertitle>
</table_fixed>
</portal>
<!-- smTorp portal - table of energy weapons
-->
<portal
id="smTorp"
style="tblInvisSm">
<table_fixed
component="Torpedo"
showtemplate="smWeapon"
showsortset="ShipWeapDeliv"
scrollable="no">
<headertitle><![CDATA[
@text = #summtitle_decoration[] & " Torpedoes " & #summtitle_decoration[]
]]></headertitle>
</table_fixed>
</portal>
<!-- smGear portal - table of non-weapon gear
-->
<portal
id="smGear"
style="tblInvisSm">
<table_fixed
component="Equipment"
showtemplate="smGear"
scrollable="no">
<list>!Print.NoPrint</list>
<headertitle><![CDATA[
@text = #summtitle_decoration[] & " Gear " & #summtitle_decoration[]
]]></headertitle>
</table_fixed>
</portal>
<!-- smGear template
This template shows the name of equipment,
providing mouse-over behavior to show the details of each piece of gear.
-->
<template
id="smGear"
name="Gear Pick"
compset="Defense">
<portal
id="name"
style="lblSummary">
<label>
<labeltext><![CDATA[
@text &= field[name].text
]]></labeltext>
</label>
<mouseinfo/>
</portal>
<position><![CDATA[
~set up our height based on our tallest portal
height = portal[name].height
~if this is a "sizing" calculation, we're done
doneif (issizing <> 0)
~position the value on the left in a limited span and the name on the right
perform portal[name].alignedge[left,5]
]]></position>
</template>
<!-- smDefense template
This template shows the name and defensive value of armor and shields,
providing mouse-over behavior to show the details of each piece of gear.
-->
<template
id="smDefense"
name="Summary Defense Pick"
compset="Defense">
<portal
id="value"
style="lblSummary">
<label
field="defResist">
</label>
</portal>
<portal
id="name"
style="lblSummary">
<label>
<labeltext><![CDATA[
if (field[grIsEquip].value <> 0) then
@text = "{b}{i}"
endif
@text &= field[name].text
]]></labeltext>
</label>
<mouseinfo/>
</portal>
<position><![CDATA[
~set up our height based on our tallest portal
height = portal[name].height
~if this is a "sizing" calculation, we're done
doneif (issizing <> 0)
~position the value on the left in a limited span and the name on the right
portal[value].width = 30
perform portal[name].alignrel[ltor,value,5]
]]></position>
</template>
<!-- smWeapon template
This template shows the name and attack value of weapons, providing mouse-over
behavior to show the details of each piece of gear.
-->
<template
id="smWeapon"
name="Summary Weapon Pick"
compset="Weapon">
<portal
id="attack"
style="lblSummary">
<label
field="wpNetAtk">
</label>
</portal>
<portal
id="name"
style="lblSummary">
<label>
<labeltext><![CDATA[
if (field[grIsEquip].value <> 0) then
@text = "{b}{i}"
endif
@text &= field[name].text
]]></labeltext>
</label>
<mouseinfo/>
</portal>
<position><![CDATA[
~set up our height based on our tallest portal
height = portal[name].height
~if this is a "sizing" calculation, we're done
doneif (issizing <> 0)
~position the attack value on the left in a limited span and the name on the right
portal[attack].width = 30
perform portal[name].alignrel[ltor,attack,5]
]]></position>
</template>
<!-- smArmory layout
This layout contains the table of armor, table of ranged weapons, and table
of melee weapons for the character.
-->
<layout
id="smArmory">
<portalref portal="smDefense"/>
<portalref portal="smRange"/>
<portalref portal="smMelee"/>
<portalref portal="smEnergy"/>
<portalref portal="smTorp"/>
<portalref portal="smGear"/>
<position><![CDATA[
~position and size the tables to span the full layout
perform portal[smDefense].autoplace
perform portal[smRange].autoplace[20]
perform portal[smMelee].autoplace[20]
perform portal[smEnergy].autoplace[20]
perform portal[smTorp].autoplace[20]
perform portal[smGear].autoplace[20]
]]></position>
</layout>
<!-- smArmory panel
This panel is designated as a summary panel and given an order that positions
it properly amongst the other defined summary panels. We setup a small margin
to indent the layout from the edges of the panel.
The panel is assigned a "live" tagexpr so that its visibility can be
controlled for different types of characters. While not really useful in the
sample data files, this approach can be quite useful when the data files
expand to govern creation of widely varying characters, such as vampires vs.
ghosts vs. mortals in the World of Darkness game system.
-->
<panel
id="smArmory"
name="Armory"
order="10030"
marginhorz="2"
marginvert="2"
issummary="yes">
<live>!HideTab.smArmory</live>
<layoutref layout="smArmory"/>
<position><![CDATA[
]]></position>
</panel>
</document>