Browse files

Merge pull request #520 from rcythr/various_features

Various features
  • Loading branch information...
2 parents 3cff6eb + 4e5af1e commit 505e2d4d16b4dc31127d979a034550d85616ce96 @dead1ock dead1ock committed Mar 6, 2013
Showing with 2,275 additions and 416 deletions.
  1. +32 −32 data/scripts/attributes/ArmorAttributeTemplate.py
  2. +19 −2 data/scripts/attributes/AttributeHelpers.py
  3. +1 −1 data/scripts/attributes/CraftingToolAttributeTemplate.py
  4. +1 −1 data/scripts/attributes/StaticNPCAttributeTemplate.py
  5. +3 −3 data/scripts/attributes/WeaponAttributeTemplate.py
  6. +1 −1 data/scripts/attributes/WearableAttributeTemplate.py
  7. +2 −2 data/scripts/character_create/create_starting_character.py
  8. +1 −1 data/scripts/commands/transferItem.py
  9. +1 −1 data/scripts/commands/transferItemArmor.py
  10. +1 −1 data/scripts/commands/transferItemMisc.py
  11. +1 −1 data/scripts/commands/transferItemWeapon.py
  12. +645 −0 data/scripts/radials/blue_frog.py
  13. +44 −0 data/scripts/radials/deed_datapad.py
  14. +0 −23 data/scripts/radials/deed_vehicle.py
  15. +1 −1 data/scripts/radials/elevator.py
  16. +26 −20 data/scripts/radials/pcd_vehicle.py
  17. +27 −16 data/scripts/radials/vehicle.py
  18. +2 −0 data/scripts/templates/object/intangible/vehicle/shared_jetpack_pcd.py
  19. +2 −0 data/scripts/templates/object/intangible/vehicle/shared_landspeeder_av21_pcd.py
  20. +2 −0 data/scripts/templates/object/intangible/vehicle/shared_landspeeder_x31_pcd.py
  21. +2 −1 data/scripts/templates/object/intangible/vehicle/shared_landspeeder_x34_pcd.py
  22. +2 −0 data/scripts/templates/object/intangible/vehicle/shared_speederbike_flash_pcd.py
  23. +2 −0 data/scripts/templates/object/intangible/vehicle/shared_speederbike_swoop_pcd.py
  24. +3 −0 data/scripts/templates/object/intangible/vehicle/shared_vehicle_pcd_base.py
  25. +4 −1 data/scripts/templates/object/mobile/shared_3po_protocol_droid_crafted.py
  26. +3 −0 data/scripts/templates/object/mobile/shared_acklay_hue.py
  27. +1 −1 data/scripts/templates/object/mobile/shared_angler.py
  28. +4 −1 data/scripts/templates/object/mobile/shared_angler_hue.py
  29. +4 −1 data/scripts/templates/object/mobile/shared_bageraset_hue.py
  30. +4 −1 data/scripts/templates/object/mobile/shared_bantha_hue.py
  31. +3 −0 data/scripts/templates/object/mobile/shared_bantha_saddle_hue.py
  32. +3 −0 data/scripts/templates/object/mobile/shared_bark_mite_hue.py
  33. +3 −0 data/scripts/templates/object/mobile/shared_baz_nitch_hue.py
  34. +3 −0 data/scripts/templates/object/mobile/shared_bearded_jax_hue.py
  35. +4 −1 data/scripts/templates/object/mobile/shared_blurrg_hue.py
  36. +4 −1 data/scripts/templates/object/mobile/shared_boar_wolf_hue.py
  37. +4 −1 data/scripts/templates/object/mobile/shared_bocatt_hue.py
  38. +4 −1 data/scripts/templates/object/mobile/shared_bol_hue.py
  39. +4 −1 data/scripts/templates/object/mobile/shared_bolle_bol_hue.py
  40. +4 −1 data/scripts/templates/object/mobile/shared_bolma_hue.py
  41. +4 −1 data/scripts/templates/object/mobile/shared_bordok_hue.py
  42. +3 −0 data/scripts/templates/object/mobile/shared_borgle_hue.py
  43. +4 −1 data/scripts/templates/object/mobile/shared_brackaset_hue.py
  44. +3 −0 data/scripts/templates/object/mobile/shared_capper_spineflap_hue.py
  45. +4 −1 data/scripts/templates/object/mobile/shared_carrion_spat_hue.py
  46. +3 −0 data/scripts/templates/object/mobile/shared_choku_hue.py
  47. +3 −0 data/scripts/templates/object/mobile/shared_chuba_hue.py
  48. +3 −1 data/scripts/templates/object/mobile/shared_cll8_binary_load_lifter.py
  49. +3 −0 data/scripts/templates/object/mobile/shared_condor_dragon_hue.py
  50. +3 −0 data/scripts/templates/object/mobile/shared_corellian_butterfly_hue.py
  51. +3 −0 data/scripts/templates/object/mobile/shared_corellian_sand_panther_hue.py
  52. +3 −0 data/scripts/templates/object/mobile/shared_corellian_slice_hound_hue.py
  53. +3 −0 data/scripts/templates/object/mobile/shared_crowned_rasp_hue.py
  54. +4 −1 data/scripts/templates/object/mobile/shared_cu_pa_hue.py
  55. +4 −1 data/scripts/templates/object/mobile/shared_dalyrake_hue.py
  56. +3 −0 data/scripts/templates/object/mobile/shared_dewback_hue.py
  57. +3 −0 data/scripts/templates/object/mobile/shared_dune_lizard_hue.py
  58. +3 −0 data/scripts/templates/object/mobile/shared_durni_hue.py
  59. +3 −0 data/scripts/templates/object/mobile/shared_dwarf_nuna_hue.py
  60. +3 −1 data/scripts/templates/object/mobile/shared_dz70_fugitive_tracker_droid.py
  61. +3 −0 data/scripts/templates/object/mobile/shared_eopie_hue.py
  62. +3 −0 data/scripts/templates/object/mobile/shared_falumpaset_hue.py
  63. +3 −0 data/scripts/templates/object/mobile/shared_fambaa_hue.py
  64. +3 −0 data/scripts/templates/object/mobile/shared_fanned_rawl_hue.py
  65. +3 −0 data/scripts/templates/object/mobile/shared_flewt_hue.py
  66. +3 −0 data/scripts/templates/object/mobile/shared_flit_hue.py
  67. +3 −0 data/scripts/templates/object/mobile/shared_flite_rasp_hue.py
  68. +3 −0 data/scripts/templates/object/mobile/shared_fynock_hue.py
  69. +3 −0 data/scripts/templates/object/mobile/shared_gackle_bat_hue.py
  70. +3 −0 data/scripts/templates/object/mobile/shared_gaping_spider_hue.py
  71. +3 −0 data/scripts/templates/object/mobile/shared_gnort_hue.py
  72. +3 −0 data/scripts/templates/object/mobile/shared_graul_hue.py
  73. +3 −0 data/scripts/templates/object/mobile/shared_gronda_hue.py
  74. +3 −0 data/scripts/templates/object/mobile/shared_gualama_hue.py
  75. +3 −0 data/scripts/templates/object/mobile/shared_gubbur_hue.py
  76. +3 −0 data/scripts/templates/object/mobile/shared_guf_drolg_hue.py
  77. +3 −0 data/scripts/templates/object/mobile/shared_gulginaw_hue.py
  78. +3 −0 data/scripts/templates/object/mobile/shared_gurk_hue.py
  79. +3 −0 data/scripts/templates/object/mobile/shared_gurnaset_hue.py
  80. +3 −0 data/scripts/templates/object/mobile/shared_gurreck_hue.py
  81. +3 −0 data/scripts/templates/object/mobile/shared_hanadak_hue.py
  82. +3 −0 data/scripts/templates/object/mobile/shared_hermit_spider_hue.py
  83. +3 −0 data/scripts/templates/object/mobile/shared_horned_krevol_hue.py
  84. +3 −0 data/scripts/templates/object/mobile/shared_horned_rasp_hue.py
  85. +3 −0 data/scripts/templates/object/mobile/shared_huf_dun_hue.py
  86. +3 −0 data/scripts/templates/object/mobile/shared_huurton_hue.py
  87. +3 −0 data/scripts/templates/object/mobile/shared_ikopi_hue.py
  88. +3 −0 data/scripts/templates/object/mobile/shared_kaadu_hue.py
  89. +3 −0 data/scripts/templates/object/mobile/shared_kai_tok_hue.py
  90. +3 −0 data/scripts/templates/object/mobile/shared_kima_hue.py
  91. +3 −0 data/scripts/templates/object/mobile/shared_kimogila_hue.py
  92. +3 −0 data/scripts/templates/object/mobile/shared_kittle_hue.py
  93. +3 −0 data/scripts/templates/object/mobile/shared_kliknik_hue.py
  94. +3 −0 data/scripts/templates/object/mobile/shared_krahbu_hue.py
  95. +3 −0 data/scripts/templates/object/mobile/shared_krayt_dragon_hue.py
  96. +3 −0 data/scripts/templates/object/mobile/shared_kusak_hue.py
  97. +3 −0 data/scripts/templates/object/mobile/shared_kwi_hue.py
  98. +3 −0 data/scripts/templates/object/mobile/shared_langlatch_hue.py
  99. +3 −0 data/scripts/templates/object/mobile/shared_lantern_bird_hue.py
  100. +3 −1 data/scripts/templates/object/mobile/shared_le_repair_droid.py
  101. +3 −0 data/scripts/templates/object/mobile/shared_malkloc_hue.py
  102. +3 −0 data/scripts/templates/object/mobile/shared_mamien_hue.py
  103. +3 −0 data/scripts/templates/object/mobile/shared_mawgax_hue.py
  104. +3 −0 data/scripts/templates/object/mobile/shared_merek_hue.py
  105. +3 −0 data/scripts/templates/object/mobile/shared_mott_hue.py
  106. +4 −1 data/scripts/templates/object/mobile/shared_mouse_droid_crafted.py
  107. +3 −0 data/scripts/templates/object/mobile/shared_murra_hue.py
  108. +3 −0 data/scripts/templates/object/mobile/shared_mynock_hue.py
  109. +3 −0 data/scripts/templates/object/mobile/shared_narglatch_female_hue.py
  110. +3 −0 data/scripts/templates/object/mobile/shared_narglatch_hue.py
  111. +3 −0 data/scripts/templates/object/mobile/shared_nerf_hue.py
  112. +3 −0 data/scripts/templates/object/mobile/shared_nuna_hue.py
  113. +3 −0 data/scripts/templates/object/mobile/shared_peko_peko_hue.py
  114. +3 −0 data/scripts/templates/object/mobile/shared_perlek_hue.py
  115. +3 −0 data/scripts/templates/object/mobile/shared_pharple_hue.py
  116. +3 −0 data/scripts/templates/object/mobile/shared_piket_hue.py
  117. +3 −0 data/scripts/templates/object/mobile/shared_plumed_rasp_hue.py
  118. +3 −1 data/scripts/templates/object/mobile/shared_probot.py
  119. +3 −0 data/scripts/templates/object/mobile/shared_pugoriss_hue.py
  120. +3 −0 data/scripts/templates/object/mobile/shared_purbole_hue.py
  121. +3 −0 data/scripts/templates/object/mobile/shared_quenker_hue.py
  122. +4 −1 data/scripts/templates/object/mobile/shared_r2_crafted.py
  123. +4 −1 data/scripts/templates/object/mobile/shared_r3_crafted.py
  124. +4 −1 data/scripts/templates/object/mobile/shared_r4_crafted.py
  125. +3 −1 data/scripts/templates/object/mobile/shared_r5.py
  126. +4 −1 data/scripts/templates/object/mobile/shared_r5_crafted.py
  127. +3 −0 data/scripts/templates/object/mobile/shared_rancor_hue.py
  128. +3 −0 data/scripts/templates/object/mobile/shared_remmer_hue.py
  129. +3 −0 data/scripts/templates/object/mobile/shared_reptilian_flier_hue.py
  130. +3 −0 data/scripts/templates/object/mobile/shared_roba_hue.py
  131. +3 −0 data/scripts/templates/object/mobile/shared_rock_mite_hue.py
  132. +3 −0 data/scripts/templates/object/mobile/shared_ronto_hue.py
  133. +3 −0 data/scripts/templates/object/mobile/shared_salt_mynock_hue.py
  134. +3 −0 data/scripts/templates/object/mobile/shared_sharnaff_hue.py
  135. +3 −0 data/scripts/templates/object/mobile/shared_shaupaut_hue.py
  136. +3 −0 data/scripts/templates/object/mobile/shared_shear_mite_hue.py
  137. +3 −0 data/scripts/templates/object/mobile/shared_skreeg_hue.py
  138. +3 −0 data/scripts/templates/object/mobile/shared_snorbal_hue.py
  139. +3 −0 data/scripts/templates/object/mobile/shared_spined_puc_hue.py
  140. +3 −0 data/scripts/templates/object/mobile/shared_spined_snake_hue.py
  141. +3 −0 data/scripts/templates/object/mobile/shared_squall_hue.py
  142. +3 −0 data/scripts/templates/object/mobile/shared_squill_hue.py
  143. +3 −0 data/scripts/templates/object/mobile/shared_stintaril_hue.py
  144. +3 −0 data/scripts/templates/object/mobile/shared_swirl_prong_hue.py
  145. +3 −0 data/scripts/templates/object/mobile/shared_tanc_mite_hue.py
  146. +3 −0 data/scripts/templates/object/mobile/shared_tauntaun_hue.py
  147. +3 −0 data/scripts/templates/object/mobile/shared_thune_hue.py
  148. +3 −0 data/scripts/templates/object/mobile/shared_torton_hue.py
  149. +3 −0 data/scripts/templates/object/mobile/shared_tusk_cat_hue.py
  150. +3 −0 data/scripts/templates/object/mobile/shared_tybis_hue.py
  151. +3 −0 data/scripts/templates/object/mobile/shared_veermok_hue.py
  152. +3 −0 data/scripts/templates/object/mobile/shared_verne_hue.py
  153. +3 −0 data/scripts/templates/object/mobile/shared_vesp_hue.py
  154. +3 −0 data/scripts/templates/object/mobile/shared_vir_vur_hue.py
  155. +3 −0 data/scripts/templates/object/mobile/shared_vog_eel_hue.py
  156. +3 −0 data/scripts/templates/object/mobile/shared_voritor_lizard_hue.py
  157. +3 −0 data/scripts/templates/object/mobile/shared_vynock_hue.py
  158. +3 −0 data/scripts/templates/object/mobile/shared_whisper_bird_hue.py
  159. +3 −0 data/scripts/templates/object/mobile/shared_womp_rat_hue.py
  160. +3 −0 data/scripts/templates/object/mobile/shared_woolamander_hue.py
  161. +3 −0 data/scripts/templates/object/mobile/shared_worrt_hue.py
  162. +3 −0 data/scripts/templates/object/mobile/shared_zucca_boar_hue.py
  163. +1 −1 data/scripts/templates/object/mobile/vehicle/shared_jetpack.py
  164. +1 −1 data/scripts/templates/object/mobile/vehicle/shared_landspeeder_av21.py
  165. +1 −1 data/scripts/templates/object/mobile/vehicle/shared_landspeeder_x31.py
  166. +1 −1 data/scripts/templates/object/mobile/vehicle/shared_landspeeder_x34.py
  167. +1 −1 data/scripts/templates/object/mobile/vehicle/shared_landspeeder_xp38.py
  168. +1 −1 data/scripts/templates/object/mobile/vehicle/shared_speederbike_flash.py
  169. +1 −1 data/scripts/templates/object/mobile/vehicle/shared_speederbike_swoop.py
  170. +1 −1 data/scripts/templates/object/tangible/deed/pet_deed/shared_acklay_deed.py
  171. +4 −1 data/scripts/templates/object/tangible/deed/pet_deed/shared_angler_deed.py
  172. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_bageraset_deed.py
  173. +6 −1 data/scripts/templates/object/tangible/deed/pet_deed/shared_bantha_deed.py
  174. +6 −1 data/scripts/templates/object/tangible/deed/pet_deed/shared_bearded_jax_deed.py
  175. +4 −1 data/scripts/templates/object/tangible/deed/pet_deed/shared_blurrg_deed.py
  176. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_boar_wolf_deed.py
  177. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_bocatt_deed.py
  178. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_bol_deed.py
  179. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_bolle_bol_deed.py
  180. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_bolma_deed.py
  181. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_bordok_deed.py
  182. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_brackaset_deed.py
  183. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_carrion_spat_deed.py
  184. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_choku_deed.py
  185. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_cu_pa_deed.py
  186. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_dalyrake_deed.py
  187. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_deed_3p0_advanced_basic.py
  188. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_deed_3p0_basic.py
  189. +3 −0 .../scripts/templates/object/tangible/deed/pet_deed/shared_deed_binary_load_lifter_advanced_basic.py
  190. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_deed_binary_load_lifter_basic.py
  191. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_deed_dz70_advanced_basic.py
  192. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_deed_dz70_basic.py
  193. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_deed_le_repair_advanced_basic.py
  194. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_deed_le_repair_basic.py
  195. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_deed_mse_advanced_basic.py
  196. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_deed_mse_basic.py
  197. +3 −1 data/scripts/templates/object/tangible/deed/pet_deed/shared_deed_power_advanced_basic.py
  198. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_deed_probot_advanced_basic.py
  199. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_deed_probot_basic.py
  200. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_deed_r2_advanced_basic.py
  201. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_deed_r2_basic.py
  202. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_deed_r3_advanced_basic.py
  203. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_deed_r3_basic.py
  204. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_deed_r4_advanced_basic.py
  205. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_deed_r4_basic.py
  206. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_deed_r5_advanced_basic.py
  207. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_deed_r5_basic.py
  208. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_dewback_deed.py
  209. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_dune_lizard_deed.py
  210. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_durni_deed.py
  211. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_eopie_deed.py
  212. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_falumpaset_deed.py
  213. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_fambaa_deed.py
  214. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_gnort_deed.py
  215. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_graul_deed.py
  216. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_gronda_deed.py
  217. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_gualama_deed.py
  218. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_guf_drolg_deed.py
  219. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_gurnaset_deed.py
  220. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_gurrcat_deed.py
  221. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_gurreck_deed.py
  222. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_hermit_spider_deed.py
  223. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_huf_dun_deed.py
  224. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_huurton_deed.py
  225. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_ikopi_deed.py
  226. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_kaadu_deed.py
  227. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_kahmurra_deed.py
  228. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_kima_deed.py
  229. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_kimogila_deed.py
  230. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_kliknik_deed.py
  231. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_krahbu_deed.py
  232. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_kusak_deed.py
  233. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_kwi_deed.py
  234. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_langlatch_deed.py
  235. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_malkloc_deed.py
  236. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_mawgax_deed.py
  237. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_merek_deed.py
  238. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_mott_deed.py
  239. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_narglatch_deed.py
  240. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_piket_deed.py
  241. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_pugoriss_deed.py
  242. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_rancor_deed.py
  243. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_roba_deed.py
  244. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_ronto_deed.py
  245. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_sand_panther_deed.py
  246. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_sharnaff_deed.py
  247. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_shear_mite_deed.py
  248. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_slice_hound_deed.py
  249. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_snorbal_deed.py
  250. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_squall_deed.py
  251. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_swirl_prong_deed.py
  252. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_thune_deed.py
  253. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_torton_deed.py
  254. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_tybis_deed.py
  255. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_veermok_deed.py
  256. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_verne_deed.py
  257. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_vesp_deed.py
  258. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_vir_vur_deed.py
  259. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_woolamander_deed.py
  260. +3 −0 data/scripts/templates/object/tangible/deed/pet_deed/shared_zucca_boar_deed.py
  261. +4 −1 data/scripts/templates/object/tangible/deed/vehicle_deed/shared_jetpack_deed.py
  262. +3 −0 data/scripts/templates/object/tangible/deed/vehicle_deed/shared_landspeeder_av21_deed.py
  263. +3 −0 data/scripts/templates/object/tangible/deed/vehicle_deed/shared_landspeeder_x31_deed.py
  264. +3 −0 data/scripts/templates/object/tangible/deed/vehicle_deed/shared_landspeeder_x34_deed.py
  265. +3 −0 data/scripts/templates/object/tangible/deed/vehicle_deed/shared_speederbike_flash_deed.py
  266. +3 −0 data/scripts/templates/object/tangible/deed/vehicle_deed/shared_speederbike_swoop_deed.py
  267. +1 −0 data/scripts/templates/object/tangible/terminal/shared_terminal_character_builder.py
  268. +2 −1 data/sql/galaxy/scripts/container_permissions.sql
  269. +2 −2 src/swganh_core/character/character_create.cc
  270. +9 −1 src/swganh_core/command/python_command_creator.cc
  271. +34 −10 src/swganh_core/object/container_interface.cc
  272. +15 −6 src/swganh_core/object/container_interface.h
  273. +1 −0 src/swganh_core/object/creature/creature_binding.h
  274. +193 −71 src/swganh_core/object/object.cc
  275. +14 −30 src/swganh_core/object/object.h
  276. +17 −5 src/swganh_core/object/object_binding.h
  277. +3 −3 src/swganh_core/object/object_events.h
  278. +4 −1 src/swganh_core/object/object_factory.cc
  279. +2 −1 src/swganh_core/object/object_manager.cc
  280. +24 −0 src/swganh_core/object/permissions/no_view_permission.cc
  281. +28 −0 src/swganh_core/object/permissions/no_view_permission.h
  282. +2 −1 src/swganh_core/object/permissions/permission_type.h
  283. +6 −3 src/swganh_core/object/permissions/ridable_permission.cc
  284. +2 −2 src/swganh_core/object/tangible/tangible.cc
  285. +2 −1 src/swganh_core/object/tangible/tangible_binding.h
  286. +58 −0 src/swganh_core/player/player_service.cc
  287. +5 −0 src/swganh_core/player/player_service.h
  288. +3 −0 src/swganh_core/player/player_service_binding.h
  289. +6 −0 src/swganh_core/player/player_service_interface.h
  290. +79 −24 src/swganh_core/simulation/movement_manager.cc
  291. +3 −0 src/swganh_core/simulation/movement_manager_interface.h
  292. +33 −13 src/swganh_core/simulation/node.cc
  293. +3 −3 src/swganh_core/simulation/node.h
  294. +20 −0 src/swganh_core/simulation/node_unittest.cc
  295. +110 −76 src/swganh_core/simulation/quadtree_spatial_provider.cc
  296. +9 −5 src/swganh_core/simulation/quadtree_spatial_provider.h
  297. +5 −1 src/swganh_core/simulation/scene.cc
  298. +3 −0 src/swganh_core/simulation/scene.h
  299. +8 −5 src/swganh_core/simulation/scene_interface.h
  300. +11 −4 src/swganh_core/simulation/simulation_service.cc
Sorry, we could not display the entire diff because too many files (304) changed.
View
64 data/scripts/attributes/ArmorAttributeTemplate.py
@@ -1,7 +1,7 @@
import swgpy
from swgpy.object import *
from swgpy.attributes import *
-from attributes.AttributeHelpers import SetOptionalAttribute
+from attributes.AttributeHelpers import SetOptionalAttribute, RAW, PERCENT, PERCENT_DASH
class ArmorAttributeTemplate(BaseAttributeTemplate):
def buildAttributeTemplate(self, object):
attribute_list_message = AttributeListMessage()
@@ -10,41 +10,41 @@ def buildAttributeTemplate(self, object):
if len(object.custom_name) > 0:
attributes.append("@obj_attr_n:original_name", "@" + object.stf_file + ":" + object.stf_name)
attributes.extend([
- Attribute("@obj_attr_n:condition", str(object.condition_damage) + "/" + str(object.max_condition)),
+ Attribute("@obj_attr_n:condition", str(object.max_condition-object.condition_damage) + "/" + str(object.max_condition)),
Attribute("@obj_attr_n:volume", str(object.volume)),
Attribute("@obj_attr_n:armor_rating", object.getStringAttribute("armor_rating"))
])
SetOptionalAttribute(attributes, '@obj_attr_n:sockets', 'sockets', object, True)
- SetOptionalAttribute(attributes, "cat_armor_special_protection.@obj_attr_n:armor_eff_kinetic", "cat_armor_special_protection.armor_eff_kinetic", object, True);
- SetOptionalAttribute(attributes, "cat_armor_special_protection.@obj_attr_n:armor_eff_energy", "cat_armor_special_protection.armor_eff_energy", object, True);
- SetOptionalAttribute(attributes, "cat_armor_special_protection.@obj_attr_n:armor_eff_blast", "cat_armor_special_protection.armor_eff_blast", object, True);
- SetOptionalAttribute(attributes, "cat_armor_special_protection.@obj_attr_n:armor_eff_stun", "cat_armor_special_protection.armor_eff_stun", object, True);
- SetOptionalAttribute(attributes, "cat_armor_special_protection.@obj_attr_n:armor_eff_elemental_heat", "cat_armor_special_protection.armor_eff_elemental_heat", object, True);
- SetOptionalAttribute(attributes, "cat_armor_special_protection.@obj_attr_n:armor_eff_elemental_cold", "cat_armor_special_protection.armor_eff_elemental_cold", object, True);
- SetOptionalAttribute(attributes, "cat_armor_special_protection.@obj_attr_n:armor_eff_elemental_acid", "cat_armor_special_protection.armor_eff_elemental_acid", object, True);
- SetOptionalAttribute(attributes, "cat_armor_special_protection.@obj_attr_n:armor_eff_elemental_electrical", "cat_armor_special_protection.armor_eff_elemental_electrical", object, True);
- SetOptionalAttribute(attributes, "cat_armor_special_protection.@obj_attr_n:armor_eff_restraint", "cat_armor_special_protection.armor_eff_restraint", object, True);
- SetOptionalAttribute(attributes, "cat_armor_effectiveness.@obj_attr_n:armor_eff_kinetic", "cat_armor_effectiveness.armor_eff_restraint", object, True);
- SetOptionalAttribute(attributes, "cat_armor_effectiveness.@obj_attr_n:armor_eff_energy", "cat_armor_effectiveness.armor_eff_energy", object, True);
- SetOptionalAttribute(attributes, "cat_armor_effectiveness.@obj_attr_n:armor_eff_blast", "cat_armor_effectiveness.armor_eff_blast", object, True);
- SetOptionalAttribute(attributes, "cat_armor_effectiveness.@obj_attr_n:armor_eff_stun", "cat_armor_effectiveness.armor_eff_stun", object, True);
- SetOptionalAttribute(attributes, "cat_armor_effectiveness.@obj_attr_n:armor_eff_elemental_heat", "cat_armor_effectiveness.armor_eff_elemental_heat", object, True);
- SetOptionalAttribute(attributes, "cat_armor_effectiveness.@obj_attr_n:armor_eff_elemental_cold", "cat_armor_effectiveness.armor_eff_elemental_cold", object, True);
- SetOptionalAttribute(attributes, "cat_armor_effectiveness.@obj_attr_n:armor_eff_elemental_acid", "cat_armor_effectiveness.armor_eff_elemental_acid", object, True);
- SetOptionalAttribute(attributes, "cat_armor_effectiveness.@obj_attr_n:armor_eff_elemental_electrical", "cat_armor_effectiveness.armor_eff_elemental_electrical", object, True);
- SetOptionalAttribute(attributes, "cat_armor_effectiveness.@obj_attr_n:armor_eff_restraint", "cat_armor_effectiveness.armor_eff_restraint", object, True);
- SetOptionalAttribute(attributes, "cat_armor_vulnerability.@obj_attr_n:armor_eff_kinetic", "cat_armor_vulnerability.armor_eff_kinetic", object, True);
- SetOptionalAttribute(attributes, "cat_armor_vulnerability.@obj_attr_n:armor_eff_energy", "cat_armor_vulnerability.armor_eff_energy", object, True);
- SetOptionalAttribute(attributes, "cat_armor_vulnerability.@obj_attr_n:armor_eff_blast", "cat_armor_vulnerability.armor_eff_blast", object, True);
- SetOptionalAttribute(attributes, "cat_armor_vulnerability.@obj_attr_n:armor_eff_stun", "cat_armor_vulnerability.armor_eff_stun", object, True);
- SetOptionalAttribute(attributes, "cat_armor_vulnerability.@obj_attr_n:armor_eff_elemental_heat", "cat_armor_vulnerability.armor_eff_elemental_heat", object, True);
- SetOptionalAttribute(attributes, "cat_armor_vulnerability.@obj_attr_n:armor_eff_elemental_cold", "cat_armor_vulnerability.armor_eff_elemental_cold", object, True);
- SetOptionalAttribute(attributes, "cat_armor_vulnerability.@obj_attr_n:armor_eff_elemental_acid", "cat_armor_vulnerability.armor_eff_elemental_acid", object, True);
- SetOptionalAttribute(attributes, "cat_armor_vulnerability.@obj_attr_n:armor_eff_elemental_electrical", "cat_armor_vulnerability.armor_eff_elemental_electrical", object, True);
- SetOptionalAttribute(attributes, "cat_armor_vulnerability.@obj_attr_n:armor_eff_restraint", "cat_armor_vulnerability.armor_eff_restraint", object, True);
- SetOptionalAttribute(attributes, "cat_armor_encumbrance.@obj_attr_n:armor_health_encumbrance", "cat_armor_encumbrance.armor_health_encumbrance", object, True);
- SetOptionalAttribute(attributes, "cat_armor_encumbrance.@obj_attr_n:armor_action_encumbrance", "cat_armor_encumbrance.armor_action_encumbrance", object, True);
- SetOptionalAttribute(attributes, "cat_armor_encumbrance.@obj_attr_n:armor_mind_encumbrance", "cat_armor_encumbrance.armor_mind_encumbrance", object, True);
+ SetOptionalAttribute(attributes, "cat_armor_special_protection.@obj_attr_n:armor_eff_kinetic", "cat_armor_special_protection.armor_eff_kinetic", object, True, PERCENT);
+ SetOptionalAttribute(attributes, "cat_armor_special_protection.@obj_attr_n:armor_eff_energy", "cat_armor_special_protection.armor_eff_energy", object, True, PERCENT);
+ SetOptionalAttribute(attributes, "cat_armor_special_protection.@obj_attr_n:armor_eff_blast", "cat_armor_special_protection.armor_eff_blast", object, True, PERCENT);
+ SetOptionalAttribute(attributes, "cat_armor_special_protection.@obj_attr_n:armor_eff_stun", "cat_armor_special_protection.armor_eff_stun", object, True, PERCENT);
+ SetOptionalAttribute(attributes, "cat_armor_special_protection.@obj_attr_n:armor_eff_elemental_heat", "cat_armor_special_protection.armor_eff_elemental_heat", object, True, PERCENT);
+ SetOptionalAttribute(attributes, "cat_armor_special_protection.@obj_attr_n:armor_eff_elemental_cold", "cat_armor_special_protection.armor_eff_elemental_cold", object, True, PERCENT);
+ SetOptionalAttribute(attributes, "cat_armor_special_protection.@obj_attr_n:armor_eff_elemental_acid", "cat_armor_special_protection.armor_eff_elemental_acid", object, True, PERCENT);
+ SetOptionalAttribute(attributes, "cat_armor_special_protection.@obj_attr_n:armor_eff_elemental_electrical", "cat_armor_special_protection.armor_eff_elemental_electrical", object, True, PERCENT);
+ SetOptionalAttribute(attributes, "cat_armor_special_protection.@obj_attr_n:armor_eff_restraint", "cat_armor_special_protection.armor_eff_restraint", object, True, PERCENT);
+ SetOptionalAttribute(attributes, "cat_armor_effectiveness.@obj_attr_n:armor_eff_kinetic", "cat_armor_effectiveness.armor_eff_restraint", object, True, PERCENT);
+ SetOptionalAttribute(attributes, "cat_armor_effectiveness.@obj_attr_n:armor_eff_energy", "cat_armor_effectiveness.armor_eff_energy", object, True, PERCENT);
+ SetOptionalAttribute(attributes, "cat_armor_effectiveness.@obj_attr_n:armor_eff_blast", "cat_armor_effectiveness.armor_eff_blast", object, True, PERCENT);
+ SetOptionalAttribute(attributes, "cat_armor_effectiveness.@obj_attr_n:armor_eff_stun", "cat_armor_effectiveness.armor_eff_stun", object, True, PERCENT);
+ SetOptionalAttribute(attributes, "cat_armor_effectiveness.@obj_attr_n:armor_eff_elemental_heat", "cat_armor_effectiveness.armor_eff_elemental_heat", object, True, PERCENT);
+ SetOptionalAttribute(attributes, "cat_armor_effectiveness.@obj_attr_n:armor_eff_elemental_cold", "cat_armor_effectiveness.armor_eff_elemental_cold", object, True, PERCENT);
+ SetOptionalAttribute(attributes, "cat_armor_effectiveness.@obj_attr_n:armor_eff_elemental_acid", "cat_armor_effectiveness.armor_eff_elemental_acid", object, True, PERCENT);
+ SetOptionalAttribute(attributes, "cat_armor_effectiveness.@obj_attr_n:armor_eff_elemental_electrical", "cat_armor_effectiveness.armor_eff_elemental_electrical", object, True, PERCENT);
+ SetOptionalAttribute(attributes, "cat_armor_effectiveness.@obj_attr_n:armor_eff_restraint", "cat_armor_effectiveness.armor_eff_restraint", object, True, PERCENT);
+ SetOptionalAttribute(attributes, "cat_armor_vulnerability.@obj_attr_n:armor_eff_kinetic", "cat_armor_vulnerability.armor_eff_kinetic", object, True, PERCENT_DASH);
+ SetOptionalAttribute(attributes, "cat_armor_vulnerability.@obj_attr_n:armor_eff_energy", "cat_armor_vulnerability.armor_eff_energy", object, True, PERCENT_DASH);
+ SetOptionalAttribute(attributes, "cat_armor_vulnerability.@obj_attr_n:armor_eff_blast", "cat_armor_vulnerability.armor_eff_blast", object, True, PERCENT_DASH);
+ SetOptionalAttribute(attributes, "cat_armor_vulnerability.@obj_attr_n:armor_eff_stun", "cat_armor_vulnerability.armor_eff_stun", object, True, PERCENT_DASH);
+ SetOptionalAttribute(attributes, "cat_armor_vulnerability.@obj_attr_n:armor_eff_elemental_heat", "cat_armor_vulnerability.armor_eff_elemental_heat", object, True, PERCENT_DASH);
+ SetOptionalAttribute(attributes, "cat_armor_vulnerability.@obj_attr_n:armor_eff_elemental_cold", "cat_armor_vulnerability.armor_eff_elemental_cold", object, True, PERCENT_DASH);
+ SetOptionalAttribute(attributes, "cat_armor_vulnerability.@obj_attr_n:armor_eff_elemental_acid", "cat_armor_vulnerability.armor_eff_elemental_acid", object, True, PERCENT_DASH);
+ SetOptionalAttribute(attributes, "cat_armor_vulnerability.@obj_attr_n:armor_eff_elemental_electrical", "cat_armor_vulnerability.armor_eff_elemental_electrical", object, True, PERCENT);
+ SetOptionalAttribute(attributes, "cat_armor_vulnerability.@obj_attr_n:armor_eff_restraint", "cat_armor_vulnerability.armor_eff_restraint", object, True, PERCENT);
+ SetOptionalAttribute(attributes, "cat_armor_encumbrance.@obj_attr_n:health", "cat_armor_encumbrance.armor_health_encumbrance", object, True);
+ SetOptionalAttribute(attributes, "cat_armor_encumbrance.@obj_attr_n:action", "cat_armor_encumbrance.armor_action_encumbrance", object, True);
+ SetOptionalAttribute(attributes, "cat_armor_encumbrance.@obj_attr_n:mind", "cat_armor_encumbrance.armor_mind_encumbrance", object, True);
SetOptionalAttribute(attributes, '@obj_attr_n:crafter', 'crafter', object, False)
SetOptionalAttribute(attributes, '@obj_attr_n:serial_number', 'serial_number', object, False)
attribute_list_message.attributes = attributes
View
21 data/scripts/attributes/AttributeHelpers.py
@@ -1,12 +1,29 @@
import swgpy
from swgpy.object import *
from swgpy.attributes import *
-def SetOptionalAttribute(attribute_list, attribute_name, attribute_label, object, is_recursive):
+
+def RAW(input):
+ return input
+
+def PERCENT(input):
+ return ('%.1f' % float(input)) + "%"
+
+def PERCENT_DASH(input):
+ output = PERCENT(input)
+ if output == '0.0%':
+ return '-';
+ else:
+ return output
+
+def SetOptionalAttribute(attribute_list, attribute_name, attribute_label, object, is_recursive, func=RAW):
attr_val = ""
if is_recursive:
attr_val = object.getAttributeRecursive(attribute_label)
else:
if object.hasAttribute(attribute_label):
attr_val = object.getStringAttribute(attribute_label)
- if len(attr_val) > 0:
+
+ attr_val = func(attr_val)
+
+ if attr_val != '' and attr_val != '0.0%':
attribute_list.append(Attribute(attribute_name, attr_val))
View
2 data/scripts/attributes/CraftingToolAttributeTemplate.py
@@ -10,7 +10,7 @@ def buildAttributeTemplate(self, object):
if len(object.custom_name) > 0:
attributes.append("@obj_attr_n:original_name", "@" + object.stf_file + ":" + object.stf_name)
attributes.extend([
- Attribute("@obj_attr_n:condition", str(object.condition_damage) + "/" + str(object.max_condition)),
+ Attribute("@obj_attr_n:condition", str(object.max_condition-object.condition_damage) + "/" + str(object.max_condition)),
Attribute("@obj_attr_n:volume", str(object.volume)),
Attribute("@obj_attr_n:craft_tool_effectiveness", object.getStringAttribute("craft_tool_effectiveness")),
Attribute("@obj_attr_n:craft_tool_status", object.getStringAttribute("craft_tool_status"))
View
2 data/scripts/attributes/StaticNPCAttributeTemplate.py
@@ -10,7 +10,7 @@ def buildAttributeTemplate(self, object):
if len(object.custom_name) > 0:
attributes.append("@obj_attr_n:original_name", "@" + object.stf_file + ":" + object.stf_name)
attributes.extend([
- Attribute("@obj_attr_n:condition", str(object.condition_damage) + "/" + str(object.max_condition)),
+ Attribute("@obj_attr_n:condition", str(object.max_condition-object.condition_damage) + "/" + str(object.max_condition)),
Attribute("@obj_attr_n:volume", str(object.volume)),
Attribute("@obj_attr_n:armor_rating", object.getStringAttribute("armor_rating"))
])
View
6 data/scripts/attributes/WeaponAttributeTemplate.py
@@ -23,9 +23,9 @@ def buildAttributeTemplate(self, object):
SetOptionalAttribute(attributes, "cat_wpn_rangemods.@obj_attr_n:wpn_range_zero", "cat_wpn_rangemods.wpn_range_zero", object, True)
SetOptionalAttribute(attributes, "cat_wpn_rangemods.@obj_attr_n:wpn_range_mid", "cat_wpn_rangemods.wpn_range_mid", object, True)
SetOptionalAttribute(attributes, "cat_wpn_rangemods.@obj_attr_n:wpn_range_max", "cat_wpn_rangemods.wpn_range_max", object, True)
- SetOptionalAttribute(attributes, "cat_wpn_attack_cost.@obj_attr_n:wpn_attack_cost_health", "cat_wpn_attack_cost.wpn_attack_cost_health", object, True)
- SetOptionalAttribute(attributes, "cat_wpn_attack_cost.@obj_attr_n:wpn_attack_cost_action", "cat_wpn_attack_cost.wpn_attack_cost_action", object, True)
- SetOptionalAttribute(attributes, "cat_wpn_attack_cost.@obj_attr_n:wpn_attack_cost_mind", "cat_wpn_attack_cost.wpn_attack_cost_mind", object, True)
+ SetOptionalAttribute(attributes, "cat_wpn_attack_cost.@obj_attr_n:health", "cat_wpn_attack_cost.wpn_attack_cost_health", object, True)
+ SetOptionalAttribute(attributes, "cat_wpn_attack_cost.@obj_attr_n:action", "cat_wpn_attack_cost.wpn_attack_cost_action", object, True)
+ SetOptionalAttribute(attributes, "cat_wpn_attack_cost.@obj_attr_n:mind", "cat_wpn_attack_cost.wpn_attack_cost_mind", object, True)
attribute_list_message.attributes = attributes
return attribute_list_message
View
2 data/scripts/attributes/WearableAttributeTemplate.py
@@ -10,7 +10,7 @@ def buildAttributeTemplate(self, object):
if len(object.custom_name) > 0:
attributes.append("@obj_attr_n:original_name", "@" + object.stf_file + ":" + object.stf_name)
attributes.extend([
- Attribute("@obj_attr_n:condition", str(object.condition_damage) + "/" + str(object.max_condition)),
+ Attribute("@obj_attr_n:condition", str(object.max_condition-object.condition_damage) + "/" + str(object.max_condition)),
Attribute("@obj_attr_n:volume", str(object.volume))
])
SetOptionalAttribute(attributes, '@obj_attr_n:crafter', 'crafter', object, False)
View
4 data/scripts/character_create/create_starting_character.py
@@ -25,7 +25,7 @@ def CreateStartingCharacter(kernel, scale, base_model, customization, full_name,
creature.custom_name = full_name
creature.position = vector3(startLoc.x, startLoc.y, startLoc.z)
if customization:
- creature.customization = customization
+ creature.setCustomizationFromInts(customization)
creature.bank_credits = 2000
creature.speed_base = 5.75
# Set Starting Stats
@@ -53,7 +53,7 @@ def CreateStartingCharacter(kernel, scale, base_model, customization, full_name,
creature.add(creature, bank)
creature.add(creature, mission)
if (hair):
- hair.customization = hair_customization
+ hair.setCustomizationFromInts(hair_customization)
creature.add(creature, hair)
creature.add(creature, player)
# Now add the objects to the inventory
View
2 data/scripts/commands/transferItem.py
@@ -7,4 +7,4 @@ def run(self):
split = re.split('\W+', self.getCommandString())
container_id = split[1]
container = self.getKernel().serviceManager().simulationService().findObjectById(int(container_id))
- self.getActor().transfer(self.getActor(), self.getTarget(), container)
+ self.getActor().transfer(self.getActor(), self.getTarget(), container, vector3(0, 0, 0))
View
2 data/scripts/commands/transferItemArmor.py
@@ -7,4 +7,4 @@ def run(self):
split = re.split('\W+', self.getCommandString())
container_id = split[1]
container = self.getKernel().serviceManager().simulationService().findObjectById(int(container_id))
- self.getTarget().container().transfer(self.getActor(), self.getTarget(), container)
+ self.getTarget().container().transfer(self.getActor(), self.getTarget(), container, vector3(0, 0, 0))
View
2 data/scripts/commands/transferItemMisc.py
@@ -7,4 +7,4 @@ def run(self):
split = re.split('\W+', self.getCommandString())
container_id = split[1]
c = self.getKernel().serviceManager().simulationService().findObjectById(int(container_id))
- self.getTarget().container().transfer(self.getActor(), self.getTarget(), c)
+ self.getTarget().container().transfer(self.getActor(), self.getTarget(), c, vector3(0, 0, 0))
View
2 data/scripts/commands/transferItemWeapon.py
@@ -7,4 +7,4 @@ def run(self):
split = re.split('\W+', self.getCommandString())
container_id = split[1]
container = self.getKernel().serviceManager().simulationService().findObjectById(int(container_id))
- self.getActor().container().transfer(self.getActor(), self.getTarget(), container)
+ self.getActor().container().transfer(self.getActor(), self.getTarget(), container, vector3(0, 0, 0))
View
645 data/scripts/radials/blue_frog.py
@@ -0,0 +1,645 @@
+import swgpy
+from swgpy.object import *
+from swgpy.sui import *
+from swgpy.utility import vector3, quat
+import random
+
+class PyRadialMenu(RadialMenu):
+
+ def buildRadial(self, owner, target, radials):
+ radial_list = RadialOptionsList()
+ radial_list.append(RadialOptions(0, RadialIdentifier.itemUse, 1, 'Hack Universe'))
+ radial_list.append(RadialOptions(0, RadialIdentifier.examine, 1, ''))
+ radial_list.append(RadialOptions(1, RadialIdentifier.serverMenu1, 3, 'Vehicles (6 items)'))
+ radial_list.append(RadialOptions(1, RadialIdentifier.serverMenu2, 3, 'Weapon Pack'))
+ radial_list.append(RadialOptions(1, RadialIdentifier.serverMenu3, 3, 'Armor Pack'))
+ radial_list.append(RadialOptions(1, RadialIdentifier.serverMenu4, 3, 'Structures Pack'))
+ radial_list.append(RadialOptions(1, RadialIdentifier.serverMenu5, 3, 'Pets Pack'))
+ radial_list.append(RadialOptions(1, RadialIdentifier.serverMenu6, 3, 'Droids Pack'))
+ radial_list.append(RadialOptions(1, RadialIdentifier.serverMenu7, 3, 'Instrument Pack'))
+ return radial_list
+
+ levels = ('None', 'Light', 'Medium', 'Heavy')
+
+ damage_types = ('Energy', 'Kinetic', 'Acid', 'Cold', 'Electricity', 'Heat')
+
+ def defaultPostProcess(self, item):
+ pass
+
+ def weaponPostProcess(self, item):
+
+ item.max_condition = random.randint(100, 10000)
+ item.setStringAttribute('wpn_armor_pierce_rating', random.choice(self.levels))
+ item.setFloatAttribute('wpn_attack_speed', random.uniform(0.1, 5))
+ item.setStringAttribute('cat_wpn_damage.wpn_damage_type', random.choice(self.damage_types))
+ min_damage = random.randint(1, 1000)
+ max_damage = random.randint(min_damage, 1000)
+ item.setIntAttribute('cat_wpn_damage.wpn_damage_min', min_damage)
+ item.setIntAttribute('cat_wpn_damage.wpn_damage_max', max_damage)
+ item.setFloatAttribute('cat_wpn_damage.wpn_wound_chance', random.uniform(0, 100))
+ item.setIntAttribute('cat_wpn_rangemods.wpn_range_zero', 0)
+ item.setIntAttribute('cat_wpn_rangemods.wpn_range_mid', 40)
+ item.setIntAttribute('cat_wpn_rangemods.wpn_range_max', -80)
+ item.setIntAttribute('cat_wpn_attack_cost.wpn_attack_cost_health', random.randint(1, 200))
+ item.setIntAttribute('cat_wpn_attack_cost.wpn_attack_cost_action', random.randint(1, 200))
+ item.setIntAttribute('cat_wpn_attack_cost.wpn_attack_cost_mind', random.randint(1, 200))
+
+ def armorPostProcess(self, item):
+ item.max_condition = random.randint(100, 10000)
+ item.setStringAttribute('armor_rating', random.choice(self.levels))
+ item.setFloatAttribute('cat_armor_special_protection.armor_eff_kinetic', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_special_protection.armor_eff_energy', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_special_protection.armor_eff_blast', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_special_protection.armor_eff_stun', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_special_protection.armor_eff_elemental_heat', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_special_protection.armor_eff_elemental_cold', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_special_protection.armor_eff_elemental_acid', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_special_protection.armor_eff_elemental_electrical', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_special_protection.armor_eff_restraint', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_effectiveness.armor_eff_restraint', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_effectiveness.armor_eff_energy', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_effectiveness.armor_eff_blast', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_effectiveness.armor_eff_stun', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_effectiveness.armor_eff_elemental_heat', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_effectiveness.armor_eff_elemental_cold', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_effectiveness.armor_eff_elemental_acid', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_effectiveness.armor_eff_elemental_electrical', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_effectiveness.armor_eff_restraint', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_vulnerability.armor_eff_kinetic', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_vulnerability.armor_eff_energy', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_vulnerability.armor_eff_blast', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_vulnerability.armor_eff_stun', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_vulnerability.armor_eff_elemental_heat', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_vulnerability.armor_eff_elemental_cold', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_vulnerability.armor_eff_elemental_acid', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_vulnerability.armor_eff_elemental_electrical', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setFloatAttribute('cat_armor_vulnerability.armor_eff_restraint', random.uniform(0, 100) if random.random()>0.7 else 0)
+ item.setIntAttribute('cat_armor_encumbrance.armor_health_encumbrance', random.randint(20, 300))
+ item.setIntAttribute('cat_armor_encumbrance.armor_action_encumbrance', random.randint(20, 300))
+ item.setIntAttribute('cat_armor_encumbrance.armor_mind_encumbrance', random.randint(20, 300))
+ item.setStringAttribute('crafter', 'Blue Frog, Inc.')
+
+ def giveItems(self, owner, list, postProcess):
+ sim = self.getKernel().serviceManager().simulationService()
+ inv = self.getKernel().serviceManager().equipmentService().getEquippedObject(owner, "inventory")
+ for name in list:
+ item = sim.createObject(name, swgpy.ContainerPermission.DEFAULT)
+ if item is not None:
+ postProcess(item)
+ inv.add(owner, item)
+
+ def displaySUIList(self, owner, list, callbackName):
+ sui = self.getKernel().serviceManager().suiService()
+
+ #if sui.getSUIWindowByScriptName(owner, 'Script.listBox') != None:
+ #return
+
+ options = EventResultList()
+ for option in list:
+ options.append(option)
+
+ window = sui.createListBox(ListBoxType.OK_CANCEL, '0xDEADBEEF', '...00010011010001...\n\n...[OVERRIDE]...\n\nWELCOME, JOHN SMEDLEY', options, owner)
+
+ results = ResultList()
+ results.append('List.lstList:SelectedRow')
+ callback = PythonCallback(self, callbackName)
+
+ window.subscribeToEventCallback(0, '', InputTrigger.OK, results, callback)
+ window.subscribeToEventCallback(1, '', InputTrigger.CANCEL, results, callback)
+ sui.openSUIWindow(window)
+
+ def weaponCallback(self, owner, event_id, results):
+ if event_id == 0:
+ self.giveItems(owner, self.weapons[int(results[0])], self.weaponPostProcess)
+ return True
+
+
+
+ def armorCallback(self, owner, event_id, results):
+ if event_id == 0:
+ self.giveItems(owner, self.armor[int(results[0])], self.armorPostProcess)
+ return True
+
+ def structureCallback(self, owner, event_id, results):
+ if event_id == 0:
+ self.giveItems(owner, self.structureDeeds[int(results[0])], self.defaultPostProcess)
+ return True
+
+ def handleRadial(self, owner, target, action):
+ if action == RadialIdentifier.serverMenu1:
+ self.giveItems(owner, self.vehicleDeeds, self.defaultPostProcess)
+ elif action == RadialIdentifier.serverMenu2:
+ self.displaySUIList(owner, ['Melee Weapons', 'Ranged Weapons', 'Misc Weapons'], 'weaponCallback')
+ elif action == RadialIdentifier.serverMenu3:
+ self.displaySUIList(owner, ['Bone', 'Bounty Hunter', 'Chitin', 'Composite',
+ 'Ithorian Defender', 'Ithorian Guardian', 'Ithorian Sentinel', 'Mandalorian',
+ 'Marine', 'Padded', 'Ris', 'Stormtrooper', 'Tantel', 'Ubese'], 'armorCallback')
+ elif action == RadialIdentifier.serverMenu4:
+ self.displaySUIList(owner, ['Crafting Structures', 'Housing Structures', 'Corellia Civic Structures',
+ 'Naboo Civic Structures', 'Tatooine Civic Structures', 'Guild Structures', 'Faction Structures'], 'structureCallback')
+ elif action == RadialIdentifier.serverMenu5:
+ self.giveItems(owner, self.petDeeds, self.defaultPostProcess)
+ elif action == RadialIdentifier.serverMenu6:
+ self.giveItems(owner, self.droidDeeds, self.defaultPostProcess)
+ elif action == RadialIdentifier.serverMenu7:
+ self.giveItems(owner, self.instruments, self.defaultPostProcess)
+
+ vehicleDeeds = ('object/tangible/deed/vehicle_deed/shared_jetpack_deed.iff',
+ 'object/tangible/deed/vehicle_deed/shared_landspeeder_av21_deed.iff',
+ 'object/tangible/deed/vehicle_deed/shared_landspeeder_x31_deed.iff',
+ 'object/tangible/deed/vehicle_deed/shared_landspeeder_x34_deed.iff',
+ 'object/tangible/deed/vehicle_deed/shared_speederbike_flash_deed.iff',
+ 'object/tangible/deed/vehicle_deed/shared_speederbike_swoop_deed.iff')
+
+ weapons = [('object/weapon/melee/2h_sword/shared_2h_sword_battleaxe.iff',
+ 'object/weapon/melee/2h_sword/shared_2h_sword_blacksun_hack.iff',
+ 'object/weapon/melee/2h_sword/shared_2h_sword_cleaver.iff',
+ 'object/weapon/melee/2h_sword/shared_2h_sword_katana.iff',
+ 'object/weapon/melee/2h_sword/shared_2h_sword_maul.iff',
+ 'object/weapon/melee/2h_sword/shared_2h_sword_scythe.iff',
+ 'object/weapon/melee/axe/shared_axe_heavy_duty.iff',
+ 'object/weapon/melee/axe/shared_axe_vibroaxe.iff',
+ 'object/weapon/melee/baton/shared_baton_gaderiffi.iff',
+ 'object/weapon/melee/baton/shared_baton_stun.iff',
+ 'object/weapon/melee/baton/shared_victor_baton_gaderiffi.iff',
+ 'object/weapon/melee/knife/shared_knife_dagger.iff',
+ 'object/weapon/melee/knife/shared_knife_donkuwah.iff',
+ 'object/weapon/melee/knife/shared_knife_janta.iff',
+ 'object/weapon/melee/knife/shared_knife_stone.iff',
+ 'object/weapon/melee/knife/shared_knife_stone_noob.iff',
+ 'object/weapon/melee/knife/shared_knife_survival.iff',
+ 'object/weapon/melee/knife/shared_knife_vibroblade.iff',
+ 'object/weapon/melee/polearm/shared_lance_nightsister.iff',
+ 'object/weapon/melee/polearm/shared_lance_staff_janta.iff',
+ 'object/weapon/melee/polearm/shared_lance_staff_metal.iff',
+ 'object/weapon/melee/polearm/shared_lance_staff_wood_s1.iff',
+ 'object/weapon/melee/polearm/shared_lance_staff_wood_s2.iff',
+ 'object/weapon/melee/polearm/shared_lance_vibrolance.iff',
+ 'object/weapon/melee/polearm/shared_polearm_vibro_axe.iff',
+ 'object/weapon/melee/special/shared_blacksun_razor.iff',
+ 'object/weapon/melee/special/shared_vibroknucler.iff'),
+
+ ('object/weapon/ranged/carbine/shared_carbine_cdef.iff',
+ 'object/weapon/ranged/carbine/shared_carbine_cdef_corsec.iff',
+ 'object/weapon/ranged/carbine/shared_carbine_dh17.iff',
+ 'object/weapon/ranged/carbine/shared_carbine_dh17_black.iff',
+ 'object/weapon/ranged/carbine/shared_carbine_dh17_snubnose.iff',
+ 'object/weapon/ranged/carbine/shared_carbine_dxr6.iff',
+ 'object/weapon/ranged/carbine/shared_carbine_e11.iff',
+ 'object/weapon/ranged/carbine/shared_carbine_ee3.iff',
+ 'object/weapon/ranged/carbine/shared_carbine_elite.iff',
+ 'object/weapon/ranged/carbine/shared_carbine_laser.iff',
+ 'object/weapon/ranged/carbine/shared_carbine_nym_slugthrower.iff',
+ 'object/weapon/ranged/heavy/shared_heavy_acid_beam.iff',
+ 'object/weapon/ranged/heavy/shared_heavy_lightning_beam.iff',
+ 'object/weapon/ranged/heavy/shared_heavy_particle_beam.iff',
+ 'object/weapon/ranged/heavy/shared_heavy_rocket_launcher.iff',
+ 'object/weapon/ranged/pistol/shared_pistol_cdef.iff',
+ 'object/weapon/ranged/pistol/shared_pistol_cdef_corsec.iff',
+ 'object/weapon/ranged/pistol/shared_pistol_cdef_noob.iff',
+ 'object/weapon/ranged/pistol/shared_pistol_d18.iff',
+ 'object/weapon/ranged/pistol/shared_pistol_de_10.iff',
+ 'object/weapon/ranged/pistol/shared_pistol_dh17.iff',
+ 'object/weapon/ranged/pistol/shared_pistol_dl44.iff',
+ 'object/weapon/ranged/pistol/shared_pistol_dl44_metal.iff',
+ 'object/weapon/ranged/pistol/shared_pistol_dx2.iff',
+ 'object/weapon/ranged/pistol/shared_pistol_fwg5.iff',
+ 'object/weapon/ranged/pistol/shared_pistol_geonosian_sonic_blaster_loot.iff',
+ 'object/weapon/ranged/pistol/shared_pistol_launcher.iff',
+ 'object/weapon/ranged/pistol/shared_pistol_power5.iff',
+ 'object/weapon/ranged/pistol/shared_pistol_republic_blaster.iff',
+ 'object/weapon/ranged/pistol/shared_pistol_scatter.iff',
+ 'object/weapon/ranged/pistol/shared_pistol_scout_blaster.iff',
+ 'object/weapon/ranged/pistol/shared_pistol_scout_blaster_corsec.iff',
+ 'object/weapon/ranged/pistol/shared_pistol_srcombat.iff',
+ 'object/weapon/ranged/pistol/shared_pistol_striker.iff',
+ 'object/weapon/ranged/pistol/shared_pistol_striker_noob.iff',
+ 'object/weapon/ranged/pistol/shared_pistol_tangle.iff',
+ 'object/weapon/ranged/rifle/shared_rifle_acid_beam.iff',
+ 'object/weapon/ranged/rifle/shared_rifle_beam.iff',
+ 'object/weapon/ranged/rifle/shared_rifle_berserker.iff',
+ 'object/weapon/ranged/rifle/shared_rifle_bowcaster.iff',
+ 'object/weapon/ranged/rifle/shared_rifle_cdef.iff',
+ 'object/weapon/ranged/rifle/shared_rifle_dlt20.iff',
+ 'object/weapon/ranged/rifle/shared_rifle_dlt20a.iff',
+ 'object/weapon/ranged/rifle/shared_rifle_e11.iff',
+ 'object/weapon/ranged/rifle/shared_rifle_ewok_crossbow.iff',
+ 'object/weapon/ranged/rifle/shared_rifle_flame_thrower.iff',
+ 'object/weapon/ranged/rifle/shared_rifle_jawa_ion.iff',
+ 'object/weapon/ranged/rifle/shared_rifle_laser.iff',
+ 'object/weapon/ranged/rifle/shared_rifle_laser_noob.iff',
+ 'object/weapon/ranged/rifle/shared_rifle_lightning.iff',
+ 'object/weapon/ranged/rifle/shared_rifle_sg82.iff',
+ 'object/weapon/ranged/rifle/shared_rifle_spraystick.iff',
+ 'object/weapon/ranged/rifle/shared_rifle_t21.iff',
+ 'object/weapon/ranged/rifle/shared_rifle_tenloss_dxr6_disruptor_loot.iff',
+ 'object/weapon/ranged/rifle/shared_rifle_tusken.iff',
+ 'object/weapon/ranged/rifle/shared_rifle_victor_tusken.iff'),
+
+ ()]
+
+ armor = [ ('object/tangible/wearables/armor/bone/shared_armor_bone_s01_bicep_l.iff',
+ 'object/tangible/wearables/armor/bone/shared_armor_bone_s01_bicep_r.iff',
+ 'object/tangible/wearables/armor/bone/shared_armor_bone_s01_boots.iff',
+ 'object/tangible/wearables/armor/bone/shared_armor_bone_s01_bracer_l.iff',
+ 'object/tangible/wearables/armor/bone/shared_armor_bone_s01_bracer_r.iff',
+ 'object/tangible/wearables/armor/bone/shared_armor_bone_s01_chest_plate.iff',
+ 'object/tangible/wearables/armor/bone/shared_armor_bone_s01_gloves.iff',
+ 'object/tangible/wearables/armor/bone/shared_armor_bone_s01_helmet.iff',
+ 'object/tangible/wearables/armor/bone/shared_armor_bone_s01_leggings.iff',),
+
+ ('object/tangible/wearables/armor/bounty_hunter/shared_armor_bounty_hunter_belt.iff',
+ 'object/tangible/wearables/armor/bounty_hunter/shared_armor_bounty_hunter_bicep_l.iff',
+ 'object/tangible/wearables/armor/bounty_hunter/shared_armor_bounty_hunter_bicep_r.iff',
+ 'object/tangible/wearables/armor/bounty_hunter/shared_armor_bounty_hunter_boots.iff',
+ 'object/tangible/wearables/armor/bounty_hunter/shared_armor_bounty_hunter_bracer_l.iff',
+ 'object/tangible/wearables/armor/bounty_hunter/shared_armor_bounty_hunter_bracer_r.iff',
+ 'object/tangible/wearables/armor/bounty_hunter/shared_armor_bounty_hunter_chest_plate.iff',
+ 'object/tangible/wearables/armor/bounty_hunter/shared_armor_bounty_hunter_gloves.iff',
+ 'object/tangible/wearables/armor/bounty_hunter/shared_armor_bounty_hunter_helmet.iff',
+ 'object/tangible/wearables/armor/bounty_hunter/shared_armor_bounty_hunter_leggings.iff'),
+
+ ('object/tangible/wearables/armor/chitin/shared_armor_chitin_s01_bicep_l.iff',
+ 'object/tangible/wearables/armor/chitin/shared_armor_chitin_s01_bicep_r.iff',
+ 'object/tangible/wearables/armor/chitin/shared_armor_chitin_s01_boots.iff',
+ 'object/tangible/wearables/armor/chitin/shared_armor_chitin_s01_bracer_l.iff',
+ 'object/tangible/wearables/armor/chitin/shared_armor_chitin_s01_bracer_r.iff',
+ 'object/tangible/wearables/armor/chitin/shared_armor_chitin_s01_chest_plate.iff',
+ 'object/tangible/wearables/armor/chitin/shared_armor_chitin_s01_gloves.iff',
+ 'object/tangible/wearables/armor/chitin/shared_armor_chitin_s01_helmet.iff',
+ 'object/tangible/wearables/armor/chitin/shared_armor_chitin_s01_leggings.iff'),
+
+ ('object/tangible/wearables/armor/composite/shared_armor_composite_bicep_l.iff',
+ 'object/tangible/wearables/armor/composite/shared_armor_composite_bicep_r.iff',
+ 'object/tangible/wearables/armor/composite/shared_armor_composite_boots.iff',
+ 'object/tangible/wearables/armor/composite/shared_armor_composite_bracer_l.iff',
+ 'object/tangible/wearables/armor/composite/shared_armor_composite_bracer_r.iff',
+ 'object/tangible/wearables/armor/composite/shared_armor_composite_chest_plate.iff',
+ 'object/tangible/wearables/armor/composite/shared_armor_composite_gloves.iff',
+ 'object/tangible/wearables/armor/composite/shared_armor_composite_helmet.iff',
+ 'object/tangible/wearables/armor/composite/shared_armor_composite_leggings.iff'),
+
+ ('object/tangible/wearables/armor/ithorian_defender/shared_ith_armor_s01_bicep_l.iff',
+ 'object/tangible/wearables/armor/ithorian_defender/shared_ith_armor_s01_bicep_r.iff',
+ 'object/tangible/wearables/armor/ithorian_defender/shared_ith_armor_s01_boots.iff',
+ 'object/tangible/wearables/armor/ithorian_defender/shared_ith_armor_s01_bracer_l.iff',
+ 'object/tangible/wearables/armor/ithorian_defender/shared_ith_armor_s01_bracer_r.iff',
+ 'object/tangible/wearables/armor/ithorian_defender/shared_ith_armor_s01_chest_plate.iff',
+ 'object/tangible/wearables/armor/ithorian_defender/shared_ith_armor_s01_gloves.iff',
+ 'object/tangible/wearables/armor/ithorian_defender/shared_ith_armor_s01_helmet.iff',
+ 'object/tangible/wearables/armor/ithorian_defender/shared_ith_armor_s01_leggings.iff'),
+
+ ('object/tangible/wearables/armor/ithorian_guardian/shared_ith_armor_s02_bicep_l.iff',
+ 'object/tangible/wearables/armor/ithorian_guardian/shared_ith_armor_s02_bicep_r.iff',
+ 'object/tangible/wearables/armor/ithorian_guardian/shared_ith_armor_s02_boots.iff',
+ 'object/tangible/wearables/armor/ithorian_guardian/shared_ith_armor_s02_bracer_l.iff',
+ 'object/tangible/wearables/armor/ithorian_guardian/shared_ith_armor_s02_bracer_r.iff',
+ 'object/tangible/wearables/armor/ithorian_guardian/shared_ith_armor_s02_chest_plate.iff',
+ 'object/tangible/wearables/armor/ithorian_guardian/shared_ith_armor_s02_gloves.iff',
+ 'object/tangible/wearables/armor/ithorian_guardian/shared_ith_armor_s02_helmet.iff',
+ 'object/tangible/wearables/armor/ithorian_guardian/shared_ith_armor_s02_leggings.iff'),
+
+ ('object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bicep_l.iff',
+ 'object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bicep_r.iff',
+ 'object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_boots.iff',
+ 'object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bracer_l.iff',
+ 'object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_bracer_r.iff',
+ 'object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_chest_plate.iff',
+ 'object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_gloves.iff',
+ 'object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_helmet.iff',
+ 'object/tangible/wearables/armor/ithorian_sentinel/shared_ith_armor_s03_leggings.iff'),
+
+ ('object/tangible/wearables/armor/mandalorian/shared_armor_mandalorian_belt.iff',
+ 'object/tangible/wearables/armor/mandalorian/shared_armor_mandalorian_bicep_l.iff',
+ 'object/tangible/wearables/armor/mandalorian/shared_armor_mandalorian_bicep_r.iff',
+ 'object/tangible/wearables/armor/mandalorian/shared_armor_mandalorian_bracer_l.iff',
+ 'object/tangible/wearables/armor/mandalorian/shared_armor_mandalorian_bracer_r.iff',
+ 'object/tangible/wearables/armor/mandalorian/shared_armor_mandalorian_chest_plate.iff',
+ 'object/tangible/wearables/armor/mandalorian/shared_armor_mandalorian_gloves.iff',
+ 'object/tangible/wearables/armor/mandalorian/shared_armor_mandalorian_helmet.iff',
+ 'object/tangible/wearables/armor/mandalorian/shared_armor_mandalorian_leggings.iff',
+ 'object/tangible/wearables/armor/mandalorian/shared_armor_mandalorian_shoes.iff'),
+
+ ('object/tangible/wearables/armor/marine/shared_armor_marine_backpack.iff',
+ 'object/tangible/wearables/armor/marine/shared_armor_marine_bicep_l.iff',
+ 'object/tangible/wearables/armor/marine/shared_armor_marine_bicep_r.iff',
+ 'object/tangible/wearables/armor/marine/shared_armor_marine_boots.iff',
+ 'object/tangible/wearables/armor/marine/shared_armor_marine_chest_plate.iff',
+ 'object/tangible/wearables/armor/marine/shared_armor_marine_chest_plate_rebel.iff',
+ 'object/tangible/wearables/armor/marine/shared_armor_marine_helmet.iff',
+ 'object/tangible/wearables/armor/marine/shared_armor_marine_leggings.iff'),
+
+ ('object/tangible/wearables/armor/padded/shared_armor_padded_s01_belt.iff',
+ 'object/tangible/wearables/armor/padded/shared_armor_padded_s01_bicep_l.iff',
+ 'object/tangible/wearables/armor/padded/shared_armor_padded_s01_bicep_r.iff',
+ 'object/tangible/wearables/armor/padded/shared_armor_padded_s01_boots.iff',
+ 'object/tangible/wearables/armor/padded/shared_armor_padded_s01_bracer_l.iff',
+ 'object/tangible/wearables/armor/padded/shared_armor_padded_s01_bracer_r.iff',
+ 'object/tangible/wearables/armor/padded/shared_armor_padded_s01_chest_plate.iff',
+ 'object/tangible/wearables/armor/padded/shared_armor_padded_s01_gloves.iff',
+ 'object/tangible/wearables/armor/padded/shared_armor_padded_s01_helmet.iff',
+ 'object/tangible/wearables/armor/padded/shared_armor_padded_s01_leggings.iff'),
+
+ ('object/tangible/wearables/armor/ris/shared_armor_ris_bicep_l.iff',
+ 'object/tangible/wearables/armor/ris/shared_armor_ris_bicep_r.iff',
+ 'object/tangible/wearables/armor/ris/shared_armor_ris_boots.iff',
+ 'object/tangible/wearables/armor/ris/shared_armor_ris_bracer_l.iff',
+ 'object/tangible/wearables/armor/ris/shared_armor_ris_bracer_r.iff',
+ 'object/tangible/wearables/armor/ris/shared_armor_ris_chest_plate.iff',
+ 'object/tangible/wearables/armor/ris/shared_armor_ris_gloves.iff',
+ 'object/tangible/wearables/armor/ris/shared_armor_ris_helmet.iff',
+ 'object/tangible/wearables/armor/ris/shared_armor_ris_leggings.iff'),
+
+ ('object/tangible/wearables/armor/stormtrooper/shared_armor_stormtrooper_bicep_l.iff',
+ 'object/tangible/wearables/armor/stormtrooper/shared_armor_stormtrooper_bicep_r.iff',
+ 'object/tangible/wearables/armor/stormtrooper/shared_armor_stormtrooper_boots.iff',
+ 'object/tangible/wearables/armor/stormtrooper/shared_armor_stormtrooper_bracer_l.iff',
+ 'object/tangible/wearables/armor/stormtrooper/shared_armor_stormtrooper_bracer_r.iff',
+ 'object/tangible/wearables/armor/stormtrooper/shared_armor_stormtrooper_chest_plate.iff',
+ 'object/tangible/wearables/armor/stormtrooper/shared_armor_stormtrooper_gloves.iff',
+ 'object/tangible/wearables/armor/stormtrooper/shared_armor_stormtrooper_helmet.iff',
+ 'object/tangible/wearables/armor/stormtrooper/shared_armor_stormtrooper_leggings.iff',
+ 'object/tangible/wearables/armor/stormtrooper/shared_armor_stormtrooper_utility_belt.iff'),
+
+ ('object/tangible/wearables/armor/tantel/shared_armor_tantel_skreej_boots.iff',
+ 'object/tangible/wearables/armor/tantel/shared_armor_tantel_skreej_chest_plate.iff',
+ 'object/tangible/wearables/armor/tantel/shared_armor_tantel_skreej_helmet.iff'),
+
+ ('object/tangible/wearables/armor/ubese/shared_armor_ubese_bandolier.iff',
+ 'object/tangible/wearables/armor/ubese/shared_armor_ubese_boots.iff',
+ 'object/tangible/wearables/armor/ubese/shared_armor_ubese_bracer_l.iff',
+ 'object/tangible/wearables/armor/ubese/shared_armor_ubese_bracer_r.iff',
+ 'object/tangible/wearables/armor/ubese/shared_armor_ubese_gloves.iff',
+ 'object/tangible/wearables/armor/ubese/shared_armor_ubese_helmet.iff',
+ 'object/tangible/wearables/armor/ubese/shared_armor_ubese_jacket.iff',
+ 'object/tangible/wearables/armor/ubese/shared_armor_ubese_pants.iff',
+ 'object/tangible/wearables/armor/ubese/shared_armor_ubese_shirt.iff')]
+
+ structureDeeds = [('object/tangible/deed/factory_deed/shared_factory_clothing_deed.iff',
+ 'object/tangible/deed/factory_deed/shared_factory_food_deed.iff',
+ 'object/tangible/deed/factory_deed/shared_factory_item_deed.iff',
+ 'object/tangible/deed/factory_deed/shared_factory_structure_deed.iff',
+ 'object/tangible/deed/generator_deed/shared_generator_fusion_deed.iff',
+ 'object/tangible/deed/generator_deed/shared_generator_photo_bio_deed.iff',
+ 'object/tangible/deed/generator_deed/shared_generator_solar_deed.iff',
+ 'object/tangible/deed/generator_deed/shared_generator_wind_deed.iff',
+ 'object/tangible/deed/harvester_deed/shared_harvester_creature_deed.iff',
+ 'object/tangible/deed/harvester_deed/shared_harvester_flora_deed.iff',
+ 'object/tangible/deed/harvester_deed/shared_harvester_flora_deed_heavy.iff',
+ 'object/tangible/deed/harvester_deed/shared_harvester_flora_deed_medium.iff',
+ 'object/tangible/deed/harvester_deed/shared_harvester_gas_deed.iff',
+ 'object/tangible/deed/harvester_deed/shared_harvester_gas_deed_heavy.iff',
+ 'object/tangible/deed/harvester_deed/shared_harvester_gas_deed_medium.iff',
+ 'object/tangible/deed/harvester_deed/shared_harvester_liquid_deed.iff',
+ 'object/tangible/deed/harvester_deed/shared_harvester_liquid_deed_heavy.iff',
+ 'object/tangible/deed/harvester_deed/shared_harvester_liquid_deed_medium.iff',
+ 'object/tangible/deed/harvester_deed/shared_harvester_moisture_deed.iff',
+ 'object/tangible/deed/harvester_deed/shared_harvester_moisture_deed_heavy.iff',
+ 'object/tangible/deed/harvester_deed/shared_harvester_moisture_deed_medium.iff',
+ 'object/tangible/deed/harvester_deed/shared_harvester_ore_heavy_deed.iff',
+ 'object/tangible/deed/harvester_deed/shared_harvester_ore_s1_deed.iff',
+ 'object/tangible/deed/harvester_deed/shared_harvester_ore_s2_deed.iff'),
+
+ ('object/tangible/deed/player_house_deed/shared_corellia_house_large_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_corellia_house_large_style_02_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_corellia_house_medium_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_corellia_house_medium_style_02_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_corellia_house_small_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_corellia_house_small_floor_02_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_corellia_house_small_style_02_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_corellia_house_small_style_02_floor_02_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_generic_house_large_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_generic_house_large_style_02_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_generic_house_medium_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_generic_house_medium_style_02_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_generic_house_small_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_generic_house_small_floor_02_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_generic_house_small_style_02_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_generic_house_small_style_02_floor_02_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_merchent_tent_style_01_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_merchent_tent_style_02_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_merchent_tent_style_03_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_naboo_house_large_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_naboo_house_medium_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_naboo_house_medium_style_02_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_naboo_house_small_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_naboo_house_small_style_02_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_tatooine_house_large_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_tatooine_house_medium_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_tatooine_house_medium_style_02_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_tatooine_house_small_deed.iff',
+ 'object/tangible/deed/player_house_deed/shared_tatooine_house_small_style_02_deed.iff'),
+
+ ('object/tangibe/deed/city_deed/shared_bank_corellia_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_cantina_corellia_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_cantina_corellia_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_cityhall_corellia_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_cloning_corellia_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garage_corellia_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_cantina_corellia_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_corellia_lrg_01_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_corellia_lrg_02_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_corellia_lrg_03_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_corellia_lrg_04_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_corellia_lrg_05_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_corellia_med_01_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_corellia_med_02_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_corellia_med_03_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_corellia_med_04_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_corellia_med_05_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_corellia_sml_01_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_corellia_sml_02_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_corellia_sml_03_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_corellia_sml_04_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_corellia_sml_05_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_hospital_corellia_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_shuttleport_corellia_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_theater_corellia_deed.iff'),
+
+ ('object/tangibe/deed/city_deed/shared_bank_naboo_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_cantina_naboo_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_cantina_naboo_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_cityhall_naboo_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_cloning_naboo_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garage_naboo_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_cantina_naboo_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_naboo_lrg_01_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_naboo_lrg_02_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_naboo_lrg_03_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_naboo_lrg_04_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_naboo_lrg_05_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_naboo_med_01_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_naboo_med_02_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_naboo_med_03_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_naboo_med_04_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_naboo_med_05_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_naboo_sml_01_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_naboo_sml_02_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_naboo_sml_03_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_naboo_sml_04_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_naboo_sml_05_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_hospital_naboo_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_shuttleport_naboo_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_theater_naboo_deed.iff'),
+
+ ('object/tangibe/deed/city_deed/shared_bank_tatooine_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_cantina_tatooine_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_cantina_tatooine_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_cityhall_tatooine_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_cloning_tatooine_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garage_tatooine_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_cantina_tatooine_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_tatooine_lrg_01_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_tatooine_lrg_02_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_tatooine_lrg_03_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_tatooine_lrg_04_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_tatooine_lrg_05_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_tatooine_med_01_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_tatooine_med_02_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_tatooine_med_03_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_tatooine_med_04_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_tatooine_med_05_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_tatooine_sml_01_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_tatooine_sml_02_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_tatooine_sml_03_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_tatooine_sml_04_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_garden_tatooine_sml_05_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_hospital_tatooine_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_shuttleport_tatooine_deed.iff',
+ 'object/tangibe/deed/city_deed/shared_theater_tatooine_deed.iff'),
+
+ ('object/tangible/deed/guild_deed/shared_corellia_guild_deed.iff',
+ 'object/tangible/deed/guild_deed/shared_generic_guild_deed.iff',
+ 'object/tangible/deed/guild_deed/shared_naboo_guild_deed.iff',
+ 'object/tangible/deed/guild_deed/shared_tatooine_guild_deed.iff',
+ 'object/tangible/deed/guild_deed/shared_tatooine_guild_style_02_deed.iff'),
+
+ ('object/tangible/deed/faction_perk/covert_detector/shared_detector_32m_deed.iff',
+ 'object/tangible/deed/faction_perk/hq/shared_hq_s01.iff',
+ 'object/tangible/deed/faction_perk/hq/shared_hq_s01_pvp.iff',
+ 'object/tangible/deed/faction_perk/hq/shared_hq_s02.iff',
+ 'object/tangible/deed/faction_perk/hq/shared_hq_s02_pvp.iff',
+ 'object/tangible/deed/faction_perk/hq/shared_hq_s03.iff',
+ 'object/tangible/deed/faction_perk/hq/shared_hq_s03_pvp.iff',
+ 'object/tangible/deed/faction_perk/hq/shared_hq_s04.iff',
+ 'object/tangible/deed/faction_perk/hq/shared_hq_s04_pvp.iff',
+ 'object/tangible/deed/faction_perk/hq/shared_hq_s05.iff',
+ 'object/tangible/deed/faction_perk/hq/shared_hq_s05_pvp.iff',
+ 'object/tangible/deed/faction_perk/minefield/shared_field_1x1_deed.iff',
+ 'object/tangible/deed/faction_perk/turret/shared_block_lg_deed.iff',
+ 'object/tangible/deed/faction_perk/turret/shared_block_med_deed.iff',
+ 'object/tangible/deed/faction_perk/turret/shared_block_sm_deed.iff',
+ 'object/tangible/deed/faction_perk/turret/shared_dish_lg_deed.iff',
+ 'object/tangible/deed/faction_perk/turret/shared_dish_sm_deed.iff',
+ 'object/tangible/deed/faction_perk/turret/shared_tower_lg_deed.iff',
+ 'object/tangible/deed/faction_perk/turret/shared_tower_med_deed.iff',
+ 'object/tangible/deed/faction_perk/turret/shared_tower_sm_deed.iff')]
+
+ petDeeds = ('object/tangible/deed/pet_deed/shared_angler_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_bageraset_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_bantha_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_bearded_jax_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_blurrg_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_boar_wolf_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_bocatt_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_bol_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_bolle_bol_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_bolma_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_bordok_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_brackaset_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_carrion_spat_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_choku_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_cu_pa_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_dalyrake_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_dewback_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_dune_lizard_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_durni_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_eopie_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_falumpaset_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_fambaa_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_gnort_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_graul_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_gronda_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_gualama_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_guf_drolg_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_gurnaset_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_gurrcat_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_gurreck_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_hermit_spider_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_huf_dun_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_huurton_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_ikopi_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_kaadu_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_kahmurra_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_kima_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_kimogila_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_kliknik_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_krahbu_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_kusak_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_kwi_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_langlatch_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_malkloc_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_mawgax_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_marek_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_mott_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_narglatch_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_piket_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_pugoriss_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_rancor_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_roba_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_ronto_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_sand_panther_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_sharnaff_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_shear_mite_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_slice_hound_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_snorbal_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_squall_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_swirl_prong_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_thune_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_torton_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_tybis_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_veermok_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_verne_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_vesp_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_vir_vur_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_woolamander_deed.iff',
+ 'object/tangible/deed/pet_deed/shared_zucca_boar_deed.iff')
+
+ droidDeeds = ( 'object/tangible/deed/pet_deed/shared_deed_3p0_advanced_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_3p0_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_binary_load_lifter_advanced_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_binary_load_lifter_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_dz70_advanced_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_dz70_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_le_repair_advanced_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_le_repair_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_mse_advanced_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_mse_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_power_advanced_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_power_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_probot_advanced_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_probot_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_r2_advanced_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_r2_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_r3_advanced_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_r3_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_r4_advanced_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_r4_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_r5_advanced_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_r5_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_surgical_advanced_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_surgical_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_treadwell_advanced_basic.iff',
+ 'object/tangible/deed/pet_deed/shared_deed_treadwell_basic.iff',
+ )
+
+ instruments = ( 'object/tangible/instrument/shared_bandfill.iff',
+ 'object/tangible/instrument/shared_fanfar.iff',
+ 'object/tangible/instrument/shared_fizz.iff',
+ 'object/tangible/instrument/shared_flute_droopy.iff',
+ 'object/tangible/instrument/shared_instrument_kloo_horn.iff',
+ 'object/tangible/instrument/shared_mandoviol.iff',
+ 'object/tangible/instrument/shared_nalargon.iff',
+ 'object/tangible/instrument/shared_ommni_box.iff',
+ 'object/tangible/instrument/shared_slitherhorn.iff',
+ 'object/tangible/instrument/shared_traz.iff')
View
44 data/scripts/radials/deed_datapad.py
@@ -0,0 +1,44 @@
+import swgpy
+from swgpy.object import *
+from swgpy.simulation import ContainerPermission
+from swgpy.sui import RadialMenu, RadialOptions, RadialOptionsList, RadialIdentifier
+from swgpy.utility import vector3, quat
+
+class PyRadialMenu(RadialMenu):
+ def buildRadial(self, owner, target, radials):
+ radial_list = RadialOptionsList()
+ radial_list.append(RadialOptions(0, RadialIdentifier.examine, 1, ''))
+ radial_list.append(RadialOptions(0, RadialIdentifier.itemDestroy, 1, ''))
+ radial_list.append(RadialOptions(0, RadialIdentifier.serverMenu1, 3, '@ui_radial:item_use_deed'))
+ return radial_list
+
+ def handleRadial(self, owner, target, action):
+ if action == RadialIdentifier.serverMenu1:
+ sim = self.getKernel().serviceManager().simulationService()
+ datapad = self.getKernel().serviceManager().equipmentService().getEquippedObject(owner, "datapad")
+ pcd = sim.createObject(target.getStringAttribute("deed_pcd"), ContainerPermission.NO_VIEW)
+ mobile = sim.createObject(target.getStringAttribute("deed_mobile"), ContainerPermission.RIDEABLE)
+
+ if not (datapad is None or pcd is None or mobile is None):
+
+ #Set Owner
+ mobile.owner_id = owner.id
+ pcd.owner_id = owner.id
+
+ #Link the two pieces
+ mobile.setIntAttribute("pcd_id", pcd.id)
+ pcd.setIntAttribute("mobile_id", mobile.id)
+
+ #Store any called vehicles
+ self.getKernel().serviceManager().playerService().storeAllCalledMounts(owner)
+
+ #Add the the pcd to the datapad, and mobile to world
+ datapad.add(owner, pcd)
+
+ pos = owner.position
+ mobile.position = vector3(pos.x, pos.y-0.3, pos.z)
+ mobile.orientation = owner.orientation
+ owner.container().add(owner, mobile)
+
+ #Destroy the deed
+ target.container().remove(owner, target)
View
23 data/scripts/radials/deed_vehicle.py
@@ -1,23 +0,0 @@
-import swgpy
-from swgpy.object import *
-from swgpy.sui import RadialMenu, RadialOptions, RadialOptionsList, RadialIdentifier
-from swgpy.static import ElevatorData, ElevatorDataList
-from swgpy.utility import vector3, quat
-
-class PyRadialMenu(RadialMenu):
- def buildRadial(self, owner, target, radials):
- radial_list = RadialOptionsList()
- if (radials):
- radial_list.extend(radials)
- return radial_list
-
- def handleRadial(self, owner, target, action):
- pass
-
-def use():
- pass
-
-def destroy():
- pass
-
-
View
2 data/scripts/radials/elevator.py
@@ -38,5 +38,5 @@ def handleElevatorAction(self, target, owner, expected_elevator_action, effect_n
#Move the player
destination_cell = simulation_service.findObjectById(data.dst_cell)
new_position = vector3(owner.position.x, data.dst_position.y, owner.position.z)
- owner.updatePosition(destination_cell, new_position, owner.orientation)
+ owner.updatePosition(new_position, owner.orientation, destination_cell)
SystemMessage.sendEffect(owner, effect_name, data.dst_orientation, data.dst_position)
View
46 data/scripts/radials/pcd_vehicle.py
@@ -1,32 +1,38 @@
import swgpy
from swgpy.object import *
from swgpy.sui import RadialMenu, RadialOptions, RadialOptionsList, RadialIdentifier
-from swgpy.static import ElevatorData, ElevatorDataList
from swgpy.utility import vector3, quat
class PyRadialMenu(RadialMenu):
def buildRadial(self, owner, target, radials):
radial_list = RadialOptionsList()
- if (radials):
- radial_list.extend(radials)
-
+
+ if target.hasContainedObjects():
+ radial_list.append(RadialOptions(0, RadialIdentifier.vehicleGenerate, 3, '@pet/pet_menu:menu_call'))
+ else:
+ radial_list.append(RadialOptions(0, RadialIdentifier.vehicleGenerate, 3, '@pet/pet_menu:menu_store'))
+
+ radial_list.append(RadialOptions(0, RadialIdentifier.examine, 1, ''))
+ radial_list.append(RadialOptions(0, RadialIdentifier.itemDestroy, 1, ''))
+
return radial_list
def handleRadial(self, owner, target, action):
- pass
-
-def call():
- pass
-
-def store():
- pass
-
-def mount():
- pass
-
-def unmount():
- pass
-
-def destroy():
- pass
+ if action == RadialIdentifier.vehicleGenerate:
+ sim = self.getKernel().serviceManager().simulationService()
+ mobile = sim.findObjectById(target.getIntAttribute("mobile_id"))
+ if mobile:
+ if target.hasContainedObjects():
+ #Call it!
+ playServ = self.getKernel().serviceManager().playerService()
+ playServ.storeAllCalledMounts(owner)
+ pos = owner.position
+ mobile.orientation = owner.orientation
+ mobile.container().transfer(mobile, mobile, owner.container(), vector3(pos.x, pos.y-0.3, pos.z))
+ else:
+ #Store it!
+ if owner.container().id == mobile.id:
+ #Move the player out first
+ mobile.transfer(owner, owner, mobile.container(), mobile.position)
+ mobile.container().transfer(owner, mobile, target, vector3(0, 0, 0))
View
43 data/scripts/radials/vehicle.py
@@ -1,28 +1,39 @@
import swgpy
from swgpy.object import *
from swgpy.sui import RadialMenu, RadialOptions, RadialOptionsList, RadialIdentifier
-from swgpy.static import ElevatorData, ElevatorDataList
from swgpy.utility import vector3, quat
class PyRadialMenu(RadialMenu):
def buildRadial(self, owner, target, radials):
radial_list = RadialOptionsList()
- if (radials):
- radial_list.extend(radials)
+
+ radial_list.append(RadialOptions(0, RadialIdentifier.examine, 1, ''))
+
+ if owner.id == target.owner_id:
+ if owner.container().id == target.id:
+ radial_list.append(RadialOptions(0, RadialIdentifier.serverVehicleExit, 3, "@pet/pet_menu:menu_enter_exit"))
+ else:
+ radial_list.append(RadialOptions(0, RadialIdentifier.serverVehicleEnter, 3, "@pet/pet_menu:menu_enter_exit"))
+ radial_list.append(RadialOptions(0, RadialIdentifier.vehicleStore, 3, "@pet/pet_menu:menu_store"))
+
return radial_list
def handleRadial(self, owner, target, action):
- pass
-
-def store():
- pass
-
-def mount():
- pass
-
-def unmount():
- pass
-
-def destroy():
- pass
+ if owner.id == target.owner_id:
+ if action == RadialIdentifier.serverVehicleExit or action == RadialIdentifier.serverVehicleEnter:
+ if owner.container().id == target.id and action == RadialIdentifier.serverVehicleExit:
+ #Exit
+ target.transfer(owner, owner,target.container(), target.position)
+ target.toggleStateOff(ACTION.MOUNTED_CREATURE)
+ elif action == RadialIdentifier.serverVehicleEnter:
+ #Enter
+ owner.container().transfer(owner, owner, target, vector3(0, 0, 0))
+ target.toggleStateOn(ACTION.MOUNTED_CREATURE)
+ elif action == RadialIdentifier.vehicleStore:
+ sim = self.getKernel().serviceManager().simulationService()
+ pcd = sim.findObjectById(target.getIntAttribute("pcd_id"))
+ if pcd:
+ if owner.container().id == target.id:
+ target.transfer(owner, owner, target.container(), target.position)
+ target.container().transfer(owner, target, pcd, vector3(0, 0, 0))
View
2 data/scripts/templates/object/intangible/vehicle/shared_jetpack_pcd.py
@@ -12,6 +12,8 @@ def create(kernel):
result.stfName("monster_name","jetpack")
#### BEGIN MODIFICATIONS ####
+ result.setStringAttribute("radial_filename", "radials.pcd_vehicle")
+ result.setIntAttribute("is_mount", 1)
#### END MODIFICATIONS ####
return result
View
2 data/scripts/templates/object/intangible/vehicle/shared_landspeeder_av21_pcd.py
@@ -12,6 +12,8 @@ def create(kernel):
result.stfName("monster_name","landspeeder_av21")
#### BEGIN MODIFICATIONS ####
+ result.setStringAttribute("radial_filename", "radials.pcd_vehicle")
+ result.setIntAttribute("is_mount", 1)
#### END MODIFICATIONS ####
return result
View
2 data/scripts/templates/object/intangible/vehicle/shared_landspeeder_x31_pcd.py
@@ -12,6 +12,8 @@ def create(kernel):
result.stfName("monster_name","landspeeder_x31")
#### BEGIN MODIFICATIONS ####
+ result.setStringAttribute("radial_filename", "radials.pcd_vehicle")
+ result.setIntAttribute("is_mount", 1)
#### END MODIFICATIONS ####
return result
View
3 data/scripts/templates/object/intangible/vehicle/shared_landspeeder_x34_pcd.py
@@ -1,7 +1,6 @@
#### NOTICE: THIS FILE IS AUTOGENERATED
#### MODIFICATIONS MAY BE LOST IF DONE IMPROPERLY
#### PLEASE SEE THE ONLINE DOCUMENTATION FOR EXAMPLES
-
from swgpy.object import *
def create(kernel):
@@ -12,6 +11,8 @@ def create(kernel):
result.stfName("monster_name","landspeeder_x34")
#### BEGIN MODIFICATIONS ####
+ result.setStringAttribute("radial_filename", "radials.pcd_vehicle")
+ result.setIntAttribute("is_mount", 1)
#### END MODIFICATIONS ####
return result
View
2 data/scripts/templates/object/intangible/vehicle/shared_speederbike_flash_pcd.py
@@ -12,6 +12,8 @@ def create(kernel):
result.stfName("monster_name","speederbike_flash")
#### BEGIN MODIFICATIONS ####
+ result.setStringAttribute("radial_filename", "radials.pcd_vehicle")
+ result.setIntAttribute("is_mount", 1)
#### END MODIFICATIONS ####
return result
View
2 data/scripts/templates/object/intangible/vehicle/shared_speederbike_swoop_pcd.py
@@ -12,6 +12,8 @@ def create(kernel):
result.stfName("monster_name","speederbike_swoop")
#### BEGIN MODIFICATIONS ####
+ result.setStringAttribute("radial_filename", "radials.pcd_vehicle")
+ result.setIntAttribute("is_mount", 1)
#### END MODIFICATIONS ####
return result
View
3 data/scripts/templates/object/intangible/vehicle/shared_vehicle_pcd_base.py
@@ -2,6 +2,9 @@
#### MODIFICATIONS MAY BE LOST IF DONE IMPROPERLY
#### PLEASE SEE THE ONLINE DOCUMENTATION FOR EXAMPLES
+#### MODIFIED ####
+
+from swgpy.simulation import ContainerPermission
from swgpy.object import *
def create(kernel):
View
5 data/scripts/templates/object/mobile/shared_3po_protocol_droid_crafted.py
@@ -12,6 +12,9 @@ def create(kernel):
result.stfName("droid_name","3po_base")
#### BEGIN MODIFICATIONS ####
+ result.setStringAttribute("radial_filename", "radials.player_pet")
+ result.options_mask = 0x100
+ result.pvp_status = PVPSTATUS.PvPStatus_None
#### END MODIFICATIONS ####
- return result
+ return result
View
3 data/scripts/templates/object/mobile/shared_acklay_hue.py
@@ -12,6 +12,9 @@ def create(kernel):
result.stfName("monster_name","acklay")
#### BEGIN MODIFICATIONS ####
+ result.options_mask = 0x100
+ result.pvp_status = PVPSTATUS.PvPStatus_None
+ result.setStringAttribute("radial_filename", "radials.player_pet")
#### END MODIFICATIONS ####
return result
View
2 data/scripts/templates/object/mobile/shared_angler.py
@@ -14,4 +14,4 @@ def create(kernel):
#### BEGIN MODIFICATIONS ####
#### END MODIFICATIONS ####
- return result
+ return result
View
5 data/scripts/templates/object/mobile/shared_angler_hue.py
@@ -12,6 +12,9 @@ def create(kernel):
result.stfName("monster_name","angler")
#### BEGIN MODIFICATIONS ####
+ result.setStringAttribute("radial_filename", "radials.player_pet")
+ result.options_mask = 0x100
+ result.pvp_status = PVPSTATUS.PvPStatus_None
#### END MODIFICATIONS ####
- return result
+ return result
View
5 data/scripts/templates/object/mobile/shared_bageraset_hue.py
@@ -12,6 +12,9 @@ def create(kernel):
result.stfName("monster_name","bageraset")
#### BEGIN MODIFICATIONS ####
+ result.setStringAttribute("radial_filename", "radials.player_pet")
+ result.options_mask = 0x100
+ result.pvp_status = PVPSTATUS.PvPStatus_None
#### END MODIFICATIONS ####
- return result
+ return result
View
5 data/scripts/templates/object/mobile/shared_bantha_hue.py
@@ -12,6 +12,9 @@ def create(kernel):
result.stfName("monster_name","bantha")
#### BEGIN MODIFICATIONS ####
+ result.setStringAttribute("radial_filename", "radials.player_pet")
+ result.options_mask = 0x100
+ result.pvp_status = PVPSTATUS.PvPStatus_None
#### END MODIFICATIONS ####
- return result
+ return result
View
3 data/scripts/templates/object/mobile/shared_bantha_saddle_hue.py
@@ -12,6 +12,9 @@ def create(kernel):
result.stfName("monster_name","bantha")
#### BEGIN MODIFICATIONS ####
+ result.options_mask = 0x100
+ result.pvp_status = PVPSTATUS.PvPStatus_None
+ result.setStringAttribute("radial_filename", "radials.player_pet")
#### END MODIFICATIONS ####
return result
View
3 data/scripts/templates/object/mobile/shared_bark_mite_hue.py
@@ -12,6 +12,9 @@ def create(kernel):
result.stfName("monster_name","bark_mite")
#### BEGIN MODIFICATIONS ####
+ result.options_mask = 0x100
+ result.pvp_status = PVPSTATUS.PvPStatus_None
+ result.setStringAttribute("radial_filename", "radials.player_pet")
#### END MODIFICATIONS ####
return result
View
3 data/scripts/templates/object/mobile/shared_baz_nitch_hue.py
@@ -12,6 +12,9 @@ def create(kernel):
result.stfName("monster_name","baz_nitch")
#### BEGIN MODIFICATIONS ####
+ result.options_mask = 0x100
+ result.pvp_status = PVPSTATUS.PvPStatus_None
+ result.setStringAttribute("radial_filename", "radials.player_pet")
#### END MODIFICATIONS ####
return result
View
3 data/scripts/templates/object/mobile/shared_bearded_jax_hue.py
@@ -12,6 +12,9 @@ def create(kernel):
result.stfName("monster_name","bearded_jax")
#### BEGIN MODIFICATIONS ####
+ result.options_mask = 0x100
+ result.pvp_status = PVPSTATUS.PvPStatus_None
+ result.setStringAttribute("radial_filename", "radials.player_pet")
#### END MODIFICATIONS ####
return result
View
5 data/scripts/templates/object/mobile/shared_blurrg_hue.py
@@ -12,6 +12,9 @@ def create(kernel):
result.stfName("monster_name","blurrg")
#### BEGIN MODIFICATIONS ####
+ result.setStringAttribute("radial_filename", "radials.player_pet")
+ result.options_mask = 0x100
+ result.pvp_status = PVPSTATUS.PvPStatus_None
#### END MODIFICATIONS ####
- return result
+ return result
View
5 data/scripts/templates/object/mobile/shared_boar_wolf_hue.py
@@ -12,6 +12,9 @@ def create(kernel):
result.stfName("monster_name","boar_wolf")
#### BEGIN MODIFICATIONS ####
+ result.setStringAttribute("radial_filename", "radials.player_pet")
+ result.options_mask = 0x100
+ result.pvp_status = PVPSTATUS.PvPStatus_None
#### END MODIFICATIONS ####
- return result
+ return result
View
5 data/scripts/templates/object/mobile/shared_bocatt_hue.py
@@ -12,6 +12,9 @@ def create(kernel):
result.stfName("monster_name","bocatt")
#### BEGIN MODIFICATIONS ####
+ result.setStringAttribute("radial_filename", "radials.player_pet")
+ result.options_mask = 0x100
+ result.pvp_status = PVPSTATUS.PvPStatus_None
#### END MODIFICATIONS ####
- return result
+ return result
View
5 data/scripts/templates/object/mobile/shared_bol_hue.py
@@ -12,6 +12,9 @@ def create(kernel):
result.stfName("monster_name","bol")
#### BEGIN MODIFICATIONS ####
+ result.setStringAttribute("radial_filename", "radials.player_pet")
+ result.options_mask = 0x100
+ result.pvp_status = PVPSTATUS.PvPStatus_None