Advertisement
ZoriaRPG

ItemData for Beta 13

Dec 10th, 2016
258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.67 KB | None | 0 0
  1.  
  2. //=========================================
  3. //--- Itemdata Functions and Variables ---
  4. //=========================================
  5.  
  6. //! You may reference itemdata variables via item scripts, using the 'this' pointer.
  7.  
  8. class itemdata
  9. int ID; ZASM Instruction:
  10. IDATAID
  11. /**
  12. * Returns the item number of the item in question.
  13. * Can be called with this->ID in item scripts.
  14. */ Example Use: !#!
  15.  
  16. /************************************************************************************************************/
  17.  
  18. int Modifier; ZASM Instruction:
  19. IDATALTM
  20. /**
  21. * The Link Tile Modifier
  22. *
  23. */ Example Use: !#!
  24.  
  25. /************************************************************************************************************/
  26.  
  27. int Tile; ZASM Instruction:
  28. IDATATILE
  29. /**
  30. * The tile used by the item.
  31. *
  32. */ Example Use: !#!
  33.  
  34. /************************************************************************************************************/
  35.  
  36. int CSet; ZASM Instruction:
  37. IDATAID
  38. /**
  39. * The CSet of the tile used by the item.
  40. *
  41. */ Example Use: !#!
  42.  
  43. /************************************************************************************************************/
  44.  
  45. int Flash; ZASM Instruction:
  46. IDATAFLASH
  47. /**
  48. * The Flash value for the CSet
  49. *
  50. */ Example Use: !#!
  51.  
  52. /************************************************************************************************************/
  53.  
  54. int AFrames; ZASM Instruction:
  55. IDATAFRAMES
  56. /**
  57. * The number of animation frames in the item's tile animation.
  58. *
  59. */ Example Use: !#!
  60.  
  61. /************************************************************************************************************/
  62.  
  63. int ASpeed; ZASM Instruction:
  64. IDATAASPEED
  65. /**
  66. * The speed of the item's animation.
  67. *
  68. */ Example Use: !#!
  69.  
  70. /************************************************************************************************************/
  71.  
  72. int Delay; ZASM Instruction:
  73. IDATADELAY
  74. /**
  75. * The Delay value, before the animation begins.
  76. *
  77. */ Example Use: !#!
  78.  
  79. /************************************************************************************************************/
  80.  
  81. int Script; ZASM Instruction:
  82. IDATAID
  83. /**
  84. * The Action Script for the item.
  85. *
  86. */ Example Use: !#!
  87.  
  88. /************************************************************************************************************/
  89.  
  90. int PScript; ZASM Instruction:
  91. IDATAID
  92. /**
  93. * The Pickup Script for the item.
  94. *
  95. */ Example Use: !#!
  96.  
  97. /************************************************************************************************************/
  98.  
  99. int MagicCost; ZASM Instruction:
  100. IDATAID
  101. /**
  102. * The item's maic (or rupees, if this is set) cost.
  103. *
  104. */ Example Use: !#!
  105.  
  106. /************************************************************************************************************/
  107.  
  108. int MinHearts; ZASM Instruction:
  109. IDATAID
  110. /**
  111. * The minimum number of hearts required to pick up the item.
  112. *
  113. */ Example Use: !#!
  114.  
  115. /************************************************************************************************************/
  116.  
  117. bool Combine; ZASM Instruction:
  118. IDATACOMBINE
  119. /**
  120. * Corresponds to 'Upgrade when collected twice'.
  121. *
  122. */ Example Use: !#!
  123.  
  124. /************************************************************************************************************/
  125.  
  126. bool Downgrade; ZASM Instruction:
  127. IDATADOWNGRADE
  128. /**
  129. * Corresponds to the 'Remove When Used' option on the Action tab of the item editor.
  130. *
  131. */ Example Use: !#!
  132.  
  133. /************************************************************************************************************/
  134.  
  135. bool KeepOld; ZASM Instruction:
  136. IDATAKEEPOLD
  137. /**
  138. * Corresponds to 'Keep lower level items on the Pickup tab of the item editor.
  139. * NOTE: Not to be confused with 'Keep', which corresponds to the 'Equipment Item' box.
  140. *
  141. */ Example Use: !#!
  142.  
  143. /************************************************************************************************************/
  144.  
  145. bool RupeeCost; ZASM Instruction:
  146. IDATARUPEECOST
  147. /**
  148. * Corresponds to the 'Use Rupees Instead of Magic' option on the item editor 'Action' tab.
  149. *
  150. */ Example Use: !#!
  151.  
  152. /************************************************************************************************************/
  153.  
  154. bool Edible; ZASM Instruction:
  155. IDATAEDIBLE
  156. /**
  157. * Corresponds to the 'Can be Eaten by Enemies' box on the Pickup tab of the item editor.
  158. *
  159. */ Example Use: !#!
  160.  
  161. /************************************************************************************************************/
  162.  
  163. bool GainLower; ZASM Instruction:
  164. IDATAGAINLOWER
  165. /**
  166. * Corresponds to the 'Gain All Lower Level Items' box on the Pickup tab of the item editor.
  167. *
  168. */ Example Use: !#!
  169.  
  170. /************************************************************************************************************/
  171.  
  172. bool Flag1; ZASM Instruction:
  173. IDATAFLAG1
  174. /**
  175. * Multipurpose Flag 1
  176. *
  177. * The properties of this flag change based on the item class (family).
  178. * This corresponds to the box directly below 'Equiment Item'.
  179. * For swords, this is 'B.H. is Percent'.
  180. * Scripted item classes may make use of this as a general-purpose 'Script 1' flag.
  181. * See 'zscript_itemdata.txt' for more information on what this flag does, based on the item class.
  182. *
  183. */ Example Use: !#!
  184.  
  185. /************************************************************************************************************/
  186.  
  187. bool Flag2; ZASM Instruction:
  188. IDATAFLAG2
  189. /**
  190. * Multipurpose Flag 2
  191. *
  192. * The properties of this flag change based on the item class (family).
  193. * This corresponds to the box directly below 'Flag 1, or two boxes down from 'Equiment Item'.
  194. * For swords, this is 'B.D. is Percent'.
  195. * Scripted item classes may make use of this as a general-purpose 'Script 2' flag.
  196. * See 'zscript_itemdata.txt' for more information on what this flag does, based on the item class.
  197. *
  198. */ Example Use: !#!
  199.  
  200. /************************************************************************************************************/
  201.  
  202. bool Flag3; ZASM Instruction:
  203. IDATAFLAG3
  204. /**
  205. * Multipurpose Flag 3
  206. *
  207. * The properties of this flag change based on the item class (family).
  208. * This corresponds to the box directly right of 'Equiment Item'.
  209. * For swords, this is 'B. Penetrates Enemies'.
  210. * Scripted item classes may make use of this as a general-purpose 'Script 3' flag.
  211. * See 'zscript_itemdata.txt' for more information on what this flag does, based on the item class.
  212. *
  213. */ Example Use: !#!
  214.  
  215. /************************************************************************************************************/
  216.  
  217. bool Flag4; ZASM Instruction:
  218. IDATAFLAG4
  219. /**
  220. * Multipurpose Flag 4
  221. *
  222. * The properties of this flag change based on the item class (family).
  223. * This corresponds to the box directly right of 'Flag 2'.
  224. * For swords, this is 'Can Slash'.
  225. * Scripted item classes may make use of this as a general-purpose 'Script 4' flag.
  226. * See 'zscript_itemdata.txt' for more information on what this flag does, based on the item class.
  227. *
  228. */ Example Use: !#!
  229.  
  230. /************************************************************************************************************/
  231.  
  232. bool Flag5; ZASM Instruction:
  233. IDATAFLAG5
  234. /**
  235. * Multipurpose Flag 5
  236. *
  237. * The properties of this flag change based on the item class (family).
  238. * This corresponds to the box directly below 'Flag 4'.
  239. * For swords, this is '<Unused>', and greyed out.
  240. * Scripted item classes may make use of this as a general-purpose 'Script 5' flag.
  241. * See 'zscript_itemdata.txt' for more information on what this flag does, based on the item class.
  242. *
  243. */ Example Use: !#!
  244.  
  245. /************************************************************************************************************/
  246.  
  247. bool Unused; ZASM Instruction:
  248. IDATAFLAGUNUSED
  249. /**
  250. * ? - An extra script-only flag. It's a mystery to everyone.
  251. * Likely best left unused in the event that we need to reserve it.
  252. *
  253. */ Example Use: !#!
  254.  
  255. /************************************************************************************************************/
  256.  
  257. float InitD[]; ZASM Instruction:
  258. IDATAINITDD
  259. /**
  260. * The original values of the item's 8 'D#' input values are they are stored in the
  261. * .qst file, regardles of whether they have been modified by ZScript.
  262. */ Example Use: !#!
  263.  
  264. /************************************************************************************************************/
  265.  
  266. void GetName(int buffer[]); ZASM Instruction:
  267. !
  268. /**
  269. * Loads the item this itemdata is attributed to's name into 'buffer'
  270. */ Example Use: !#!
  271.  
  272. /************************************************************************************************************/
  273.  
  274. int Family; ZASM Instruction:
  275. IDATAFAMILY
  276. /**
  277. * The kind of item to which this class belongs (swords, boomerangs,
  278. * potions, etc.) Use the IC_ constants in std.zh to set or compare this
  279. * value.
  280. */ Example Use: !#!
  281.  
  282. /************************************************************************************************************/
  283.  
  284. int Level; ZASM Instruction:
  285. IDATALEVEL
  286. /**
  287. * The level of this item. Higher-level items replace lower-level items
  288. * when they are picked up.
  289. */ Example Use: !#!
  290.  
  291. /************************************************************************************************************/
  292.  
  293. int Power; ZASM Instruction:
  294. IDATAPOWER
  295. /**
  296. * The item's power, for most items this is amount of damage dealt but is
  297. * used for other values in some items (ie. Roc's Feather)
  298. */ Example Use: !#!
  299.  
  300. /************************************************************************************************************/
  301.  
  302. int Amount; ZASM Instruction:
  303. IDATAAMOUNT
  304. /**
  305. * Corresponds to the "Increase Amount" entry in the Item Editor.
  306. * The value of this data member can have two meanings:
  307. * If Amount & 0x8000 is 1, the drain counter for this item is set
  308. * to Amount & 0x3FFF. The game then slowly fills the counter of this item
  309. * (see Counter below) out of the drain counter. Gaining rupees uses the
  310. * drain counter, for example.
  311. * is set to Amount when the item is picked up.
  312. * If Amount & 0x8000 is 0, the counter of this item is increased, if
  313. * Amount & 0x4000 is 1, or decreased, if Amount & 0x4000 is 0, by
  314. * Amount & 0x3FFF when the item is picked up.
  315. */ Example Use: !#!
  316.  
  317. /************************************************************************************************************/
  318.  
  319. int Max; ZASM Instruction:
  320. IDATAMAX
  321. /**
  322. * Corresponds to the "Full Max" entry in the Item Editor.
  323. * In conjunction with MaxIncrement (see below) this value controls how
  324. * the maximum value of the counter of this item (see Counter below) is
  325. * modified when the item is picked up. If MaxIncrement is nonzero at that
  326. * time, the counter's new maximum value is at that time set to the
  327. * minimum of its current value plus MaxIncrement, Max.
  328. * If Max is less than the current maximum of the counter, Max is ignored
  329. * and that maximum is used instead.
  330. * Notice that as a special case, if Max = MaxIncrement, the counter's
  331. * maximum value will be forced equal to Max.
  332. */ Example Use: !#!
  333.  
  334. /************************************************************************************************************/
  335.  
  336. int MaxIncrement; ZASM Instruction:
  337. IDATASETMAX
  338. /**
  339. * Corresponds to the "+Max" entry in the Item Editor.
  340. * In conjunction with Max (see above) this value controls how the
  341. * maximum value of the counter of this item (see Counter below) is
  342. * modified when the item is picked up. If MaxIncrement is nonzero at that
  343. * time, the counter's new maximum value is at that time set to the
  344. * minimum of its current value plus MaxIncrement, and Max.
  345. * If Max is less than the current maximum of the counter, Max is ignored
  346. * and that maximum is used instead.
  347. */ Example Use: !#!
  348.  
  349. /************************************************************************************************************/
  350.  
  351. bool Keep; ZASM Instruction:
  352. IDATAKEEP
  353. /**
  354. * Corresponds to the "Equipment Item" checkbox in the Item Editor.
  355. * If true, Link will keep the item, and it will show up as an item or
  356. * equipment in the subscreen. If false, it may modify the current value
  357. * or maximum value of its counter (see Counter below), then disappear.
  358. * The White Sword and Raft, for instance, have Keep true, and keys and
  359. * rupees have Keep false.
  360. */ Example Use: !#!
  361.  
  362. /************************************************************************************************************/
  363.  
  364. int Counter; ZASM Instruction:
  365. IDATACOUNTER
  366. /**
  367. * Corresponds to the "Counter Reference" entry in the Item Editor.
  368. * The game counter whose current and modified values might be modified
  369. * when the item is picked up (see Amount, Max, and MaxIncrement above.)
  370. * Use the CT_ constants in std.zh to set or compare this value.
  371. */ Example Use: !#!
  372.  
  373. /************************************************************************************************************/
  374.  
  375. int UseSound; ZASM Instruction:
  376. IDATAUSESOUND
  377.  
  378. /**
  379. * Corresponds to the "Sound" entry on the action tab in the Item Editor.
  380. */ Example Use: !#!
  381.  
  382.  
  383. /************************************************************************************************************/
  384. int Misc1, Misc2, Misc3, Misc4, Misc5, Misc6, Misc7, Misc8, Misc9, Misc10;
  385. ZASM Instructions:
  386. IDATAMISC1, IDATAMISC2, IDATAMISC3, IDATAMISC4, IDATAMISC5
  387. IDATAMISC6, IDATAMISC7, IDATAMISC8, IDATAMISC9, IDATAMISC10
  388. /**
  389. * These correspond to the pull-down options in the item editor 'Data' tab.
  390. *
  391. * Example: For a Sword Misc1 is 'Beam hearts', and Misc2 is 'Beam .
  392. *
  393. */ Example Use: !#!
  394.  
  395. /************************************************************************************************************/
  396.  
  397. int Attribute1, Attribute2, Attribute3, Attribute4, Attribute5, Attribute6,
  398. Attribute7, Attribute8, Attribute9, Attribute10;
  399. ZASM Instructions:
  400. IDATAWPN, IDATAWPN2, IDATAWPN3, IDATAWPN4, IDATAWPN5
  401. IDATAWPN6, IDATAWPN7, IDATAWPN8, IDATAWPN9, IDATAWPN10
  402. /**
  403. * These correspond to the pull-down options in the item editor 'Action' tab.
  404. *
  405. * Example: For a Sword Attribute1 is 'Sprite', Attribute 2 is 'Slash sprite'
  406. * and Attribute 3 is 'Beam sprite'.
  407. *
  408. */ Example Use: !#!
  409.  
  410. /************************************************************************************************************/
  411. /************************************************************************************************************/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement