Advertisement
Guest User

isogame.proto

a guest
Jul 30th, 2013
377
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 44.90 KB | None | 0 0
  1. package isogame;
  2.  
  3.  
  4. enum Orientation {
  5. ORIENTATION_N = 0;
  6. ORIENTATION_E = 1;
  7. ORIENTATION_S = 2;
  8. ORIENTATION_W = 3;
  9. }
  10.  
  11. enum GridFlags {
  12. IMPASSABLE = 1;
  13. OPAQUE = 2;
  14. HALF_OPAQUE = 4;
  15. IMPENETRABLE = 8;
  16. HALF_IMPENETRABLE = 16;
  17. }
  18.  
  19. enum TsVariableScope {
  20. TsVariableScope_Local = 1;
  21. TsVariableScope_Scene = 2;
  22. TsVariableScope_Story_Topic = 3;
  23. TsVariableScope_Story = 4;
  24. TsVariableScope_Character = 5;
  25. TsVariableScope_PlayerAccount = 6;
  26. }
  27.  
  28. enum IsoMeshPrefab {
  29. ISOMESH_PREFAB_BOX = 1;
  30. ISOMESH_PREFAB_FLAT_BOTTOM_BOX = 2;
  31. ISOMESH_PREFAB_COLUMN = 3;
  32. ISOMESH_PREFAB_WALL_N = 4;
  33. ISOMESH_PREFAB_WALL_E = 5;
  34. ISOMESH_PREFAB_WALL_S = 6;
  35. ISOMESH_PREFAB_WALL_W = 7;
  36. ISOMESH_PREFAB_FLOOR = 8;
  37. }
  38.  
  39. enum NormalsPreset {
  40. NORMALS_PRESET_FLOOR = 0;
  41. NORMALS_PRESET_BOX = 1;
  42. NORMALS_PRESET_SPHERE = 2;
  43. NORMALS_PRESET_COLUMN = 3;
  44. NORMALS_PRESET_WALL_N = 4;
  45. NORMALS_PRESET_WALL_E = 5;
  46. NORMALS_PRESET_WALL_S = 6;
  47. NORMALS_PRESET_WALL_W = 7;
  48. NORMALS_PRESET_BOX_DISJOINT = 8;
  49. }
  50.  
  51. enum MapLayer {
  52. MAPLAYER_GROUND = 0;
  53. MAPLAYER_GROUNDDECO = 1;
  54. MAPLAYER_WALLS = 2;
  55. MAPLAYER_WALLDECO = 3;
  56. MAPLAYER_PROPS = 4;
  57. MAPLAYER_CHARACTERS = 5;
  58. MAPLAYER_REGIONS = 6;
  59. MAPLAYER_PATHS = 7;
  60. MAPLAYER_LIGHTS = 8;
  61. MAPLAYER_INVISIBLE = 9;
  62. MAPLAYER_UNDERFLOOR = 10;
  63. MAPLAYER_LAN = 11;
  64. }
  65.  
  66. enum CoverAmount {
  67. COVERAMOUNT_NONE = 0;
  68. COVERAMOUNT_LIGHT = 1;
  69. COVERAMOUNT_MEDIUM = 2;
  70. COVERAMOUNT_HEAVY = 3;
  71. }
  72.  
  73. enum InteractionIcon {
  74. InteractionIcon_Generic = 0;
  75. InteractionIcon_Matrix = 1;
  76. InteractionIcon_ItemPickup = 2;
  77. InteractionIcon_Conversation = 3;
  78. InteractionIcon_Summon = 4;
  79. InteractionIcon_Door = 5;
  80. InteractionIcon_LockedDoor = 6;
  81. InteractionIcon_Inspect = 7;
  82. InteractionIcon_SceneTransition = 8;
  83. InteractionIcon_Warp = 9;
  84. }
  85.  
  86. enum LightType {
  87. LightType_Point = 1;
  88. LightType_Directional = 2;
  89. }
  90.  
  91. enum GoalType {
  92. GoalType_Primary = 0;
  93. GoalType_Secondary = 1;
  94. }
  95.  
  96. enum GoalStatus {
  97. GoalStatus_Hidden = 0;
  98. GoalStatus_Started = 1;
  99. GoalStatus_Success = 2;
  100. GoalStatus_Failure = 3;
  101. }
  102.  
  103. enum ConversationNodeType {
  104. ConversationNodeType_Simple = 1;
  105. ConversationNodeType_GM_Voice = 4;
  106. ConversationNodeType_GM_Speaker_Voice = 6;
  107. }
  108.  
  109. enum ConversationAutoFollowType {
  110. ConversationAutoFollowType_None = 1;
  111. ConversationAutoFollowType_Short = 2;
  112. ConversationAutoFollowType_Medium = 3;
  113. ConversationAutoFollowType_Long = 4;
  114. }
  115.  
  116. enum TopicType {
  117. TopicType_Person = 1;
  118. TopicType_Place = 2;
  119. TopicType_Organization = 3;
  120. TopicType_Object = 4;
  121. TopicType_CaseFile = 5;
  122. TopicType_Clue = 6;
  123. }
  124.  
  125. enum PatrolPathType {
  126. LOOP = 0;
  127. PING_PONG = 1;
  128. PATROL_AND_STOP = 2;
  129. }
  130.  
  131. enum Attribute {
  132. Attribute_None = 0;
  133. Attribute_Body = 1;
  134. Attribute_Quickness = 2;
  135. Attribute_Strength = 3;
  136. Attribute_Charisma = 4;
  137. Attribute_Intelligence = 5;
  138. Attribute_Willpower = 6;
  139. Attribute_Essence = 7;
  140. Attribute_Magic = 8;
  141. Attribute_Reaction = 9;
  142. Attribute_Initiative = 10;
  143. Attribute_HP = 11;
  144. Attribute_AP = 12;
  145. Attribute_Armor = 13;
  146. Attribute_Force = 14;
  147. Attribute_Move_Speed = 15;
  148. Attribute_Magic_Essence = 16;
  149. Attribute_Accuracy = 50;
  150. Attribute_Wound_Mod = 51;
  151. Attribute_AP_Mod = 52;
  152. Attribute_Magic_AP_Mod = 53;
  153. Attribute_Decking_AP_Mod = 54;
  154. Attribute_Decking_Alarm_Mod = 55;
  155. Attribute_Decking_Accuracy = 56;
  156. Attribute_Damage_Mod = 57;
  157. Attribute_Damage_Reduction_Mod = 58;
  158. Attribute_Accuracy_Reduction_Mod = 59;
  159. Attribute_Tether_Action = 70;
  160. Attribute_Tether_Follow = 71;
  161. Attribute_Authority = 101;
  162. Attribute_Discipline = 102;
  163. Attribute_Morale = 103;
  164. Attribute_Awareness = 104;
  165. Attribute_Perception = 105;
  166. Attribute_Protect_Tether_Range = 106;
  167. Attribute_Is_Fearless = 107;
  168. }
  169.  
  170. enum Skill {
  171. Skill_None = 0;
  172. Skill_RangedCombat = 1;
  173. Skill_CloseCombat = 2;
  174. Skill_ThrowingWeapons = 3;
  175. Skill_Spellcasting = 4;
  176. Skill_ChiCasting = 5;
  177. Skill_Decking = 20;
  178. Skill_DeckBuildRepair = 21;
  179. Skill_Conjuring = 30;
  180. Skill_SpiritSummoning = 31;
  181. Skill_SpiritControl = 32;
  182. Skill_SpiritBanishing = 33;
  183. Skill_MagicDefense = 34;
  184. Skill_DrainResistance = 35;
  185. Skill_DroneControl = 50;
  186. Skill_RemoteGunnery = 51;
  187. Skill_DroneBuildRepair = 52;
  188. Skill_DroneCombat = 53;
  189. Skill_Athletics = 60;
  190. Skill_Biotech = 61;
  191. Skill_Dodge = 62;
  192. Skill_Stealth = 63;
  193. Skill_Negotiation = 70;
  194. Skill_Etq_Corporate = 100;
  195. Skill_Etq_Security = 101;
  196. Skill_Etq_Gang = 102;
  197. Skill_Etq_Paranormal = 103;
  198. Skill_Etq_Socialite = 104;
  199. Skill_Etq_Infected = 105;
  200. Skill_Etq_Shadowrunner = 106;
  201. Skill_Etq_Street = 107;
  202. Skill_Etq_Academic = 108;
  203. }
  204.  
  205. enum Specialization {
  206. Specialization_None = 0;
  207. Specialization_RC_Bows = 1;
  208. Specialization_RC_Heavy = 2;
  209. Specialization_RC_Lasers = 3;
  210. Specialization_RC_Pistol = 4;
  211. Specialization_RC_Rifle = 5;
  212. Specialization_RC_Shotgun = 6;
  213. Specialization_RC_Smg = 7;
  214. Specialization_CC_Edged = 21;
  215. Specialization_CC_Unarmed = 23;
  216. Specialization_TW_Blades = 40;
  217. Specialization_SC_Attack_Spells = 60;
  218. Specialization_SC_Manipulation_Spells = 61;
  219. Specialization_SC_Social_Spells = 62;
  220. Specialization_SC_Support_Spells = 63;
  221. Specialization_DK_Combat_Programs = 80;
  222. Specialization_DK_Defensive_Programs = 81;
  223. Specialization_DK_Trap_Programs = 82;
  224. Specialization_DK_ESP_Control = 83;
  225. Specialization_SU_Spirit_Control = 90;
  226. Specialization_DR_Drone_Combat = 100;
  227. }
  228.  
  229. enum Culture {
  230. Culture_Corporate = 1;
  231. Culture_Security = 2;
  232. Culture_Street = 3;
  233. Culture_Socialite = 4;
  234. Culture_Scientist = 5;
  235. Culture_Creative = 6;
  236. Culture_Cult = 7;
  237. }
  238.  
  239. enum Attitude {
  240. AttitudeNone = 0;
  241. AttitudeCautious = 1;
  242. AttitudeAggressive = 2;
  243. AttitudeBoss = 3;
  244. }
  245.  
  246. enum AttackStyle {
  247. AttackStyle_NotSet = 0;
  248. AttackStyle_BestOnly = 1;
  249. AttackStyle_AllEqual = 2;
  250. AttackStyle_AnyNonZero = 3;
  251. AttackStyle_CycleAll = 4;
  252. AttackStyle_RandomAll = 5;
  253. }
  254.  
  255. enum StatusCondition {
  256. Condition_Blind = 1;
  257. Condition_Deaf = 2;
  258. Condition_Rooted = 3;
  259. Condition_Silence = 4;
  260. Condition_Disarmed = 5;
  261. Condition_Petrified = 6;
  262. Condition_Confused = 7;
  263. Condition_MindWiped = 8;
  264. Condition_Invisible = 9;
  265. Condition_HalfVisibility = 10;
  266. Condition_Dispelled = 11;
  267. Condition_Paralyzed = 12;
  268. Condition_KillingHands = 13;
  269. Condition_MageAura = 14;
  270. Condition_CoverLight = 50;
  271. Condition_CoverMedium = 51;
  272. Condition_CoverHeavy = 52;
  273. Condition_MagicCoverLight = 53;
  274. Condition_MagicCoverMedium = 54;
  275. Condition_MagicCoverHeavy = 55;
  276. Condition_MageEnhanceLight = 60;
  277. Condition_MageEnhanceMedium = 61;
  278. Condition_MageEnhanceHeavy = 62;
  279. Condition_DocWagonBasic = 63;
  280. Condition_DocWagonGold = 64;
  281. Condition_DocWagonPlatinum = 65;
  282. Condition_BossTotemBuff = 66;
  283. Condition_BossTotemDebuff = 67;
  284. Condition_MatrixCharge1 = 68;
  285. Condition_MatrixCharge2 = 69;
  286. Condition_AutoDodge = 70;
  287. }
  288.  
  289. enum Gender {
  290. Gender_None = 0;
  291. Gender_Male = 1;
  292. Gender_Female = 2;
  293. }
  294.  
  295. enum Race {
  296. Race_None = 0;
  297. Race_Human = 1;
  298. Race_Dwarf = 2;
  299. Race_Elf = 3;
  300. Race_Ork = 4;
  301. Race_Troll = 5;
  302. Race_Dragon = 6;
  303. Race_Ghoul = 7;
  304. Race_Spirit = 8;
  305. Race_Drone = 9;
  306. Race_Object = 10;
  307. Race_Creature = 11;
  308. Race_Bug = 12;
  309. }
  310.  
  311. enum SpawnType {
  312. SpawnType_Normal = 0;
  313. SpawnType_Matrix = 1;
  314. }
  315.  
  316. enum HiringType {
  317. HiringType_None = 0;
  318. HiringType_Hireable = 1;
  319. HiringType_NOTUSED = 2;
  320. HiringType_Forced = 3;
  321. }
  322.  
  323. enum AnimAction {
  324. AnimAction_Null = 1;
  325. AnimAction_Idle = 2;
  326. AnimAction_Running = 3;
  327. AnimAction_HitReaction = 4;
  328. AnimAction_Death = 5;
  329. AnimAction_Dizzy = 6;
  330. AnimAction_Attack = 7;
  331. AnimAction_Throw = 8;
  332. AnimAction_Cast = 9;
  333. AnimAction_Summon = 10;
  334. AnimAction_Escape = 11;
  335. AnimAction_Interact = 12;
  336. AnimAction_Reload = 13;
  337. AnimAction_JackIn = 14;
  338. AnimAction_JackOut = 15;
  339. AnimAction_Spawn = 16;
  340. AnimAction_Use = 17;
  341. AnimAction_Aiming = 18;
  342. AnimAction_Control = 19;
  343. AnimAction_Subject = 20;
  344. AnimAction_Resurrect = 21;
  345. AnimAction_Dodge = 22;
  346. AnimAction_Banish = 23;
  347. AnimAction_Downed = 24;
  348. }
  349.  
  350. enum AnimModifier {
  351. AnimModifier_Null = 1;
  352. AnimModifier_Burst = 2;
  353. AnimModifier_FullAuto = 3;
  354. AnimModifier_BigFront = 4;
  355. AnimModifier_SmallFront = 5;
  356. AnimModifier_BigBehind = 6;
  357. AnimModifier_SmallBehind = 7;
  358. AnimModifier_DumpShock = 8;
  359. AnimModifier_Decking = 9;
  360. AnimModifier_Rigging = 10;
  361. AnimModifier_Medkit = 11;
  362. AnimModifier_Buff = 12;
  363. AnimModifier_Magic = 13;
  364. AnimModifier_Disarm = 14;
  365. AnimModifier_Walk = 15;
  366. AnimModifier_Sprint = 16;
  367. }
  368.  
  369. enum ItemType {
  370. ItemType_None = 0;
  371. ItemType_Pistol = 1;
  372. ItemType_Rifle = 2;
  373. ItemType_Shotgun = 3;
  374. ItemType_Melee1H = 4;
  375. ItemType_Melee2H = 5;
  376. ItemType_Unarmed = 6;
  377. ItemType_Thrown = 7;
  378. ItemType_Spell = 8;
  379. ItemType_Consumable = 9;
  380. ItemType_Shaman = 10;
  381. ItemType_Rigger = 11;
  382. ItemType_Adept = 12;
  383. ItemType_Samurai = 13;
  384. ItemType_Decker = 14;
  385. ItemType_DeckerProgram = 15;
  386. ItemType_ShamanTotem = 16;
  387. ItemType_SMG = 17;
  388. ItemType_Outfit = 18;
  389. ItemType_Cyberware = 19;
  390. ItemType_Disguise = 20;
  391. ItemType_QuestItem = 21;
  392. ItemType_QuestNote = 22;
  393. ItemType_DeckerESP = 23;
  394. ItemType_AttackSpell = 24;
  395. }
  396.  
  397. enum AnimType {
  398. AnimType_Null = 1;
  399. AnimType_Pistol = 2;
  400. AnimType_Rifle = 3;
  401. AnimType_Shotgun = 4;
  402. AnimType_Melee1H = 5;
  403. AnimType_Melee2H = 6;
  404. AnimType_Unarmed = 7;
  405. AnimType_Thrown = 8;
  406. AnimType_Spell = 9;
  407. AnimType_Consumable = 10;
  408. AnimType_Melee = 11;
  409. AnimType_Range = 12;
  410. AnimType_SMG = 13;
  411. }
  412.  
  413. enum CyberwareType {
  414. CyberwareType_None = 0;
  415. CyberwareType_Eyes = 1;
  416. CyberwareType_Jack = 2;
  417. CyberwareType_Body = 3;
  418. CyberwareType_Arm = 4;
  419. CyberwareType_Leg = 5;
  420. }
  421.  
  422. enum IntendedUser {
  423. IntendedUser_Player = 0;
  424. IntendedUser_AI = 1;
  425. IntendedUser_Spirits = 2;
  426. IntendedUser_Drone = 3;
  427. }
  428.  
  429. enum VulnerabilityType {
  430. VulnerabilityType_Normal = 0;
  431. VulnerabilityType_Magic = 1;
  432. VulnerabilityType_Repair = 2;
  433. VulnerabilityType_Heal = 3;
  434. VulnerabilityType_Insecticide = 4;
  435. VulnerabilityType_Fire = 5;
  436. VulnerabilityType_Death = 6;
  437. VulnerabilityType_Buff = 7;
  438. VulnerabilityType_Debuff = 8;
  439. VulnerabilityType_Stun = 9;
  440. VulnerabilityType_Crit = 10;
  441. VulnerabilityType_PermaDeath = 11;
  442. }
  443. message GridData {
  444. required int32 width = 1;
  445. required int32 depth = 2;
  446. repeated int32 flagmap = 3;
  447. repeated float heightmap = 4;
  448. }
  449.  
  450. message ColorValue {
  451. optional float r = 1 [default = 0];
  452. optional float g = 2 [default = 0];
  453. optional float b = 3 [default = 0];
  454. optional float a = 4 [default = 1];
  455. optional string hex = 5;
  456. }
  457.  
  458. message Vector {
  459. optional float x = 1;
  460. optional float y = 2;
  461. optional float z = 3;
  462. }
  463.  
  464. message Dimension {
  465. optional float width = 1;
  466. optional float height = 2;
  467. optional float depth = 3;
  468. }
  469.  
  470. message Rect {
  471. optional float x = 1;
  472. optional float y = 2;
  473. optional float width = 3;
  474. optional float height = 4;
  475. }
  476.  
  477. message TextureRef {
  478. optional string filename = 1;
  479. optional bool flip_horizontal = 2;
  480. optional bool flip_vertical = 3;
  481. optional Vector offset = 4;
  482. optional Rect uv_rect = 5;
  483. }
  484.  
  485. message UIRep {
  486. optional string icon = 1;
  487. optional string name = 2;
  488. optional string description = 3;
  489. optional string thumbnail = 4;
  490. }
  491.  
  492. message FxRep {
  493. optional string preActionFxName = 1;
  494. optional string actionFxName = 2;
  495. optional string postActionFxName = 3;
  496. optional string hitReactionFxName = 4;
  497. optional string missReactionFxName = 5;
  498. }
  499.  
  500. message StringList {
  501. repeated string value = 1;
  502. }
  503.  
  504. message TsStoryId {
  505. optional string account_id = 1;
  506. optional string content_pack_id = 2;
  507. optional string story_id = 3;
  508. }
  509.  
  510. message TsVariant {
  511. optional int32 int_value = 1;
  512. optional bool bool_value = 2;
  513. optional float float_value = 3;
  514. optional string string_value = 4;
  515. optional TsCall call_value = 5;
  516. optional TsVariableRef variableref_value = 6;
  517. }
  518.  
  519. message TsNameValuePair {
  520. required string name = 1;
  521. required TsVariant value = 2;
  522. }
  523.  
  524. message TsPresetValue {
  525. required string name = 1;
  526. optional string hint = 2;
  527. required TsVariant value = 3;
  528. }
  529.  
  530. message TsType {
  531. required string name = 1;
  532. optional string baseTypeName = 2;
  533. optional string group = 3;
  534. repeated TsPresetValue presets = 4;
  535. optional string protobufPresetSource = 5;
  536. optional bool hideInEditor = 6 [default = false];
  537. }
  538.  
  539. message TsVariableRef {
  540. required TsVariableScope scope = 1;
  541. optional string scope_name = 2;
  542. required string name = 3;
  543. optional TsStoryId parent_story = 4;
  544. optional string typeName = 5;
  545. }
  546.  
  547. message TsCall {
  548. required string functionName = 1;
  549. repeated TsVariant args = 2;
  550. }
  551.  
  552. message TsParam {
  553. required string name = 1;
  554. required string typeName = 2;
  555. optional TsVariant defaultValue = 3;
  556. optional string hint = 4;
  557. }
  558.  
  559. message TsBlock {
  560. repeated TsCall ops = 1;
  561. }
  562.  
  563. message TsFunction {
  564. required string name = 1;
  565. optional string returnTypeName = 2;
  566. repeated TsParam params = 3;
  567. optional string grammarText = 4;
  568. optional string tooltipText = 5;
  569. optional string group = 6;
  570. optional bool hideInEditor = 7 [default = false];
  571. }
  572.  
  573. message TsLibrary {
  574. optional string name = 1;
  575. repeated TsType types = 2;
  576. repeated TsFunction functions = 3;
  577. }
  578.  
  579. message CustomPropertyDef {
  580. message BooleanType {
  581. optional bool defaultValue = 1;
  582. }
  583.  
  584. message IntegerType {
  585. optional int32 defaultValue = 1;
  586. optional int32 minimum = 2;
  587. optional int32 maximum = 3;
  588. }
  589.  
  590. message FloatType {
  591. optional float defaultValue = 1;
  592. optional float minimum = 2;
  593. optional float maximum = 3;
  594. }
  595.  
  596. message StringType {
  597. optional string defaultValue = 1;
  598. optional string validation_regex = 2;
  599. }
  600.  
  601. message EnumType {
  602. repeated string value = 1;
  603. optional int32 defaultValue = 2;
  604. }
  605.  
  606. message VectorType {
  607. optional Vector defaultValue = 1;
  608. }
  609.  
  610. message DimensionType {
  611. optional Dimension defaultValue = 1;
  612. }
  613.  
  614. message RectType {
  615. optional Rect defaultValue = 1;
  616. }
  617.  
  618. required string id = 1;
  619. optional string ui_name = 2;
  620. optional string ui_description = 3;
  621. optional string ui_group = 4;
  622. optional BooleanType boolean_info = 10;
  623. optional IntegerType integer_info = 11;
  624. optional FloatType float_info = 12;
  625. optional StringType string_info = 13;
  626. optional EnumType enum_info = 14;
  627. optional VectorType vector_info = 15;
  628. optional DimensionType dimension_info = 16;
  629. optional RectType rect_info = 17;
  630. }
  631.  
  632. message CustomPropertyMapping {
  633. repeated string id = 1;
  634. }
  635.  
  636. message CustomProperty {
  637. optional int32 property_index = 1;
  638. optional string property_id = 2;
  639. optional int32 int_value = 3;
  640. optional float float_value = 4;
  641. optional string string_value = 5;
  642. optional int32 enum_value = 6;
  643. optional Vector vector_value = 7;
  644. optional Dimension dimension_value = 8;
  645. optional Rect rect_value = 9;
  646. optional bool bool_value = 10;
  647. }
  648.  
  649. message MeshData {
  650. message Vertex {
  651. optional float position_x = 1;
  652. optional float position_y = 2;
  653. optional float position_z = 3;
  654. optional float texcoord0_u = 4;
  655. optional float texcoord0_v = 5;
  656. optional float texcoord1_u = 6;
  657. optional float texcoord1_v = 7;
  658. optional float texcoord2_u = 8;
  659. optional float texcoord2_v = 9;
  660. optional float texcoord3_u = 10;
  661. optional float texcoord3_v = 11;
  662. optional float normal_x = 12;
  663. optional float normal_y = 13;
  664. optional float normal_z = 14;
  665. }
  666.  
  667. repeated float position_x = 1;
  668. repeated float position_y = 2;
  669. repeated float position_z = 3;
  670. repeated float uv0_u = 21;
  671. repeated float uv0_v = 22;
  672. repeated float normal_x = 41;
  673. repeated float normal_y = 42;
  674. repeated float normal_z = 43;
  675. repeated Vertex vertices = 100;
  676. repeated int32 tri_indexes = 101;
  677. optional bytes vbuf_p = 201;
  678. optional bytes vbuf_pt0 = 202;
  679. optional bytes vbuf_pt0n = 203;
  680. optional bytes ibuf16_triangles = 301;
  681. optional bytes ibuf32_triangles = 401;
  682. }
  683.  
  684. message Mesh {
  685. optional Dimension bounds = 1;
  686. optional IsoMeshPrefab prefab = 2;
  687. optional string meshfile = 3;
  688. optional MeshData meshdata = 4;
  689. }
  690.  
  691. message Render {
  692. optional Dimension bounds = 1;
  693. optional Vector offset = 2;
  694. }
  695.  
  696. message PropView {
  697. optional Orientation orientation = 1;
  698. optional TextureRef texture = 2;
  699. optional Render render = 3;
  700. optional Mesh mesh = 4;
  701. optional GridData grid_data = 5;
  702. optional NormalsPreset normals_preset = 6;
  703. optional bool lighting_enabled = 7 [default = true];
  704. }
  705.  
  706. message PropDef {
  707. optional string ui_name = 1;
  708. optional string ui_description = 2;
  709. optional string ui_group = 3;
  710. repeated string ui_tag = 4;
  711. optional MapLayer mapLayer = 5;
  712. optional CoverAmount coverAmount = 6;
  713. repeated PropView views = 7;
  714. repeated CustomProperty properties = 8;
  715. }
  716.  
  717. message PropInstance {
  718. required string name = 1;
  719. required Vector gridPoint = 2;
  720. required Orientation orientation = 3;
  721. repeated CustomProperty properties = 4;
  722. repeated string aiSightTags = 5;
  723. repeated string aiSoundTags = 6;
  724. repeated string GeneralTags = 7;
  725. optional string displayName = 8;
  726. optional int32 uniqueId = 9;
  727. optional IDRef idRef = 10;
  728. optional InteractionBehaviorRoot interactionRoot = 11;
  729. optional bool tablet_optional = 20;
  730. optional CharacterInstance character_instance = 100;
  731. optional Light light = 101;
  732. }
  733.  
  734. message IDRef {
  735. required string id = 1;
  736. }
  737.  
  738. message InteractionBehaviorRoot {
  739. required bool isEnabled = 1;
  740. optional int32 interactionRadius = 2;
  741. optional TsBlock prerequisites = 3;
  742. optional InteractionBehaviorJackPoint jackPoint = 10;
  743. optional InteractionBehaviorSummonPoint summonPoint = 11;
  744. optional InteractionBehaviorAlarm alarmPoint = 12;
  745. optional InteractionBehaviorPickup pickupItem = 13;
  746. optional InteractionBehaviorConversation conversationPoint = 14;
  747. optional InteractionBehaviorDoor doorPoint = 15;
  748. optional InteractionBehaviorTransition transitionPoint = 16;
  749. optional InteractionBehaviorMatrixNode matrixNode = 17;
  750. optional InteractionBehaviorMatrixSpawnPoint matrixSpawnPoint = 18;
  751. optional InteractionBehaviorDummy dummyInteraciton = 19;
  752. optional InteractionBehaviorInspect inspectInteraction = 20;
  753. optional InteractionWarp warpInteraction = 21;
  754. optional InteractionIcon interactionIcon = 30;
  755. }
  756.  
  757. message InteractionBehaviorJackPoint {
  758. required string LANIdentifier = 1;
  759. optional string LANEquipment = 2;
  760. }
  761.  
  762. message InteractionBehaviorSummonPoint {
  763. required bool hasCharacter = 1;
  764. required string summon_icon = 2;
  765. required int32 max_summon_force = 3;
  766. }
  767.  
  768. message InteractionBehaviorAlarm {
  769. required bool isActive = 1;
  770. required int32 soundRadius = 2;
  771. }
  772.  
  773. message InteractionBehaviorPickup {
  774. required string itemName = 1;
  775. required bool destroyOnPickup = 2;
  776. }
  777.  
  778. message InteractionBehaviorConversation {
  779. required string conversationID = 1;
  780. optional bool turnToFace = 2;
  781. }
  782.  
  783. message InteractionBehaviorDoor {
  784. required bool doorState = 1;
  785. optional bool aiOnlyDoor = 2;
  786. optional string doorSound = 3;
  787. optional string doorSoundBundle = 4;
  788. }
  789.  
  790. message InteractionBehaviorTransition {
  791. required string scene_name = 1;
  792. optional bool open_hiring_screen = 2;
  793. optional string confirmation_text = 3;
  794. }
  795.  
  796. message InteractionBehaviorMatrixNode {
  797. optional string hackingObjectID = 1;
  798. }
  799.  
  800. message InteractionBehaviorMatrixSpawnPoint {
  801. required string dimension = 1;
  802. }
  803.  
  804. message InteractionBehaviorDummy {
  805. }
  806.  
  807. message InteractionBehaviorInspect {
  808. required float dispalyTime = 1;
  809. required float fadeTime = 2;
  810. required string inspectText = 3;
  811. required bool disableAfterInteracting = 4;
  812. }
  813.  
  814. message InteractionWarp {
  815. }
  816.  
  817. message LANNetwork {
  818. required string LANIdentifier = 1;
  819. required float alarmFailureDelta = 2;
  820. required float blackAlarmFailureDelta = 3;
  821. required string blackAlarmDescription = 4;
  822. repeated LANNode nodes = 5;
  823. required int32 securityRating = 6;
  824. required string lan_difficulty = 7 [default = green];
  825. }
  826.  
  827. message LANNode {
  828. required string nodeName = 1;
  829. required string nodeType = 2;
  830. required int32 apCost = 3;
  831. required string nodeDescription = 4;
  832. required TsBlock nodeActions = 5;
  833. required bool existsInWorld = 6;
  834. optional Vector worldPosition = 7;
  835. optional int32 defenseRating = 8 [default = 1];
  836. optional bool requires_black_alarm = 9;
  837. optional int32 ic_rating = 10;
  838. optional int32 base_hp_dam = 11;
  839. optional int32 base_ap_dam = 12;
  840. optional bool can_hack_multiple_times = 13;
  841. }
  842.  
  843. message BaseObject {
  844. optional string id = 1;
  845. optional string name = 2;
  846. optional int32 layer = 8;
  847. optional string parent_id_ref = 9;
  848. optional Transform transform = 100;
  849. optional Light light = 101;
  850. }
  851.  
  852. message Transform {
  853. optional Vector position = 1;
  854. }
  855.  
  856. message Light {
  857. optional LightType light_type = 1;
  858. optional float range = 2 [default = 10];
  859. optional ColorValue color = 3;
  860. optional float intensity = 4 [default = 1];
  861. optional bool lightGroup0 = 30;
  862. optional bool lightGroup1 = 31;
  863. optional bool lightGroup2 = 32;
  864. optional bool lightGroup3 = 33;
  865. optional bool lightGroup4 = 34;
  866. optional bool lightGroup5 = 35;
  867. optional bool lightGroup6 = 36;
  868. optional bool lightGroup7 = 37;
  869. }
  870.  
  871. message MapDef {
  872. optional string name = 1;
  873. optional string description = 15;
  874. optional int32 minX = 2;
  875. optional int32 minZ = 3;
  876. optional int32 numX = 4;
  877. optional int32 numZ = 5;
  878. repeated CustomProperty properties = 7;
  879. repeated PropInstance props = 8;
  880. }
  881.  
  882. message WorldMapLocation {
  883. optional string filename = 1;
  884. optional Vector location = 2;
  885. }
  886.  
  887. message TeamAffiliation {
  888. optional string team_name = 1;
  889. repeated int32 affiliation = 2;
  890. }
  891.  
  892. message DimensionInformation {
  893. optional string dimension_name = 1 [default = Default];
  894. optional float initial_alarm_state = 2 [default = 0];
  895. optional int32 turns_per_round = 3 [default = 1];
  896. }
  897.  
  898. message SceneDef {
  899. repeated TsTriggerDef triggers = 1;
  900. repeated RegionDef regions = 2;
  901. repeated PathRoute patrolRoutes = 3;
  902. repeated PropInstance characters = 4;
  903. repeated TsVariant variables = 5;
  904. repeated string mapEvents = 7;
  905. repeated string senseTags = 8;
  906. repeated SceneGoal goals = 9;
  907. repeated LANNetwork LANNetworks = 13;
  908. optional WorldMapLocation worldMapLocation = 10;
  909. optional string mapName = 11;
  910. optional string parentStory = 12;
  911. repeated BaseObject game_objects = 15;
  912. optional string scene_title = 20;
  913. optional string scene_subtitle = 21;
  914. optional string scene_synopsis = 22;
  915. optional string scene_image = 23;
  916. optional bool scene_continue_button_skip = 24;
  917. optional bool scene_restore_runner_health = 25;
  918. optional Vector directional_light_dir = 40;
  919. optional ColorValue directional_light_color = 41;
  920. optional ColorValue ambient_light_color = 42;
  921. optional bool allow_drawn_weapons = 50;
  922. repeated int32 etiquette_ratings = 51;
  923. repeated TeamAffiliation team_affiliations = 52;
  924. repeated ItemDef scene_disguises = 53;
  925. repeated DimensionInformation scene_dimensions = 54;
  926. optional string ambience_template = 60;
  927. optional string combat_music = 61;
  928. optional string matrix_music = 62;
  929. optional CharacterRoster character_roster = 80;
  930. optional bool show_hiring_screen_on_scene_load = 81;
  931. optional RosterConfirmPrereq scene_hiring_prerequisites = 82;
  932. optional int32 hiring_slot_count = 83 [default = 0];
  933. optional int32 hiring_minimum_karma = 84 [default = 0];
  934. optional int32 hiring_maximum_karma = 85 [default = 25];
  935. repeated string hire_from_content_pack = 86;
  936. optional CharacterRoster roster_overrides = 87;
  937. optional bool use_hiring_cost_warning = 88;
  938. optional int32 hiring_average_cost = 89 [default = 0];
  939. optional bool override_hiring_average_cost = 90;
  940. optional bool show_equip_screen_on_scene_load = 95;
  941. }
  942.  
  943. message ScratchpadDef {
  944. required string working_directory = 1;
  945. required string project_id = 2;
  946. required string scene_name = 3;
  947. required int32 nuyen = 4;
  948. repeated TsParam story_variables = 5;
  949. repeated TsVariant scene_variables = 6;
  950. optional CharacterInstance main_character_override = 7;
  951. optional bool dont_show_character_load = 8;
  952. }
  953.  
  954. message MissionDef {
  955. required string id = 1;
  956. repeated TsParam variables = 2;
  957. }
  958.  
  959. message SceneGoal {
  960. required string name = 1;
  961. required GoalType type = 2;
  962. required GoalStatus status = 3;
  963. optional string description = 4;
  964. }
  965.  
  966. message ConversationTopicRef {
  967. required IDRef topicIDRef = 1;
  968. optional int32 imageIndex = 2;
  969. optional bool showInConversation = 3;
  970. }
  971.  
  972. message ConversationNode {
  973. required IDRef idRef = 1;
  974. required int32 index = 2;
  975. optional string text = 4;
  976. repeated ConversationLink branches = 5;
  977. optional ConversationNodeType nodeType = 6;
  978. optional bool truthValue = 7;
  979. optional ConversationAutoFollowType autoFollowBranchDelay = 8;
  980. optional ConversationTopicRef sourceTopicRef = 10;
  981. repeated ConversationTopicRef subjectTopicRefs = 11;
  982. optional IDRef sourceInSceneRef = 12;
  983. optional TsBlock actions = 20;
  984. }
  985.  
  986. message ConversationLink {
  987. optional string responseText = 1;
  988. optional TsBlock conditions = 2;
  989. optional TsBlock actions = 3;
  990. optional int32 nextNodeIndex = 4;
  991. optional bool hideIfUnavailable = 5;
  992. optional bool onlyOnce = 6;
  993. optional IDRef idRef = 7;
  994. optional bool auxiliaryLink = 10;
  995. }
  996.  
  997. message Conversation {
  998. required IDRef idRef = 1;
  999. optional string ui_name = 2;
  1000. repeated ConversationNode nodes = 3;
  1001. repeated ConversationLink roots = 4;
  1002. }
  1003.  
  1004. message Topic {
  1005. required IDRef idRef = 1;
  1006. optional TopicType topicType = 2;
  1007. optional string title = 3;
  1008. optional string subtitle = 4;
  1009. repeated string images = 5;
  1010. optional string description = 7;
  1011. repeated string keywords = 8;
  1012. repeated TsParam variables = 9;
  1013. repeated IDRef relatedConversations = 20;
  1014. }
  1015.  
  1016. message CharacterRosterEntry {
  1017. required string reference_id = 1;
  1018. required TsBlock hiring_conditions = 2;
  1019. required int32 hiring_cost = 3;
  1020. optional string content_pack_source = 4;
  1021. }
  1022.  
  1023. message RosterConfirmPrereq {
  1024. required string prereq_description = 1;
  1025. required TsBlock prereq_conditions = 2;
  1026. }
  1027.  
  1028. message CharacterRoster {
  1029. repeated CharacterRosterEntry roster_entries = 1;
  1030. repeated RosterConfirmPrereq confirm_prereqs = 2;
  1031. }
  1032.  
  1033. message StoryDef {
  1034. required string id = 1;
  1035. repeated TsParam variables = 2;
  1036. optional string description = 3;
  1037. optional string startScene = 10;
  1038. repeated string scenes = 11;
  1039. optional bool allowCharacterImport = 13;
  1040. optional bool allowImportedEquipment = 14;
  1041. optional bool allowCharacterGen = 15;
  1042. optional bool allowFallbackCharacter = 16;
  1043. optional string fallbackCharacterName = 17;
  1044. optional bool useDefaultEquipment = 18;
  1045. optional string defaultCharacterEquipment = 19;
  1046. optional int32 storyKarmaLevel = 20 [default = 34];
  1047. optional CharacterRoster character_roster = 80;
  1048. }
  1049.  
  1050. message ProjectDef {
  1051. required string project_id = 1;
  1052. required string project_name = 2;
  1053. required string project_version = 3;
  1054. optional string author_name = 4;
  1055. optional string synopsis = 5;
  1056. optional bool has_story = 6;
  1057. optional string story_id = 7;
  1058. optional bool read_only = 8 [default = false];
  1059. optional string preview_image = 9;
  1060. repeated PackageRef content_pack_dependencies = 20;
  1061. }
  1062.  
  1063. message PackageRef {
  1064. required string package_id = 1;
  1065. required string package_version = 2;
  1066. optional string package_name = 3;
  1067. optional string package_description = 4;
  1068. optional string package_url = 5;
  1069. optional bool prevent_overwriting = 6;
  1070. }
  1071.  
  1072. message PackageFile {
  1073. required string file_name = 1;
  1074. required int32 package_id = 2;
  1075. required int32 relative_path = 3;
  1076. }
  1077.  
  1078. message TsTriggerDef {
  1079. optional string name = 1;
  1080. optional TsBlock events = 2;
  1081. optional TsBlock conditions = 3;
  1082. optional TsBlock actions = 4;
  1083. optional string comment = 5;
  1084. optional bool isActive = 6;
  1085. optional IDRef idRef = 7;
  1086. repeated TsVariant localVariables = 8;
  1087. optional TsBlock elseActions = 9;
  1088. optional bool is_oneshot = 10 [default = true];
  1089. }
  1090.  
  1091. message RegionDef {
  1092. optional string name = 1;
  1093. optional Rect position = 2;
  1094. optional bool enabledAtStart = 3;
  1095. repeated string GeneralTags = 4;
  1096. optional bool is_camera_region = 5;
  1097. optional IDRef idRef = 10;
  1098. optional Vector directional_light_dir = 40;
  1099. optional ColorValue directional_light_color = 41;
  1100. optional ColorValue ambient_light_color = 42;
  1101. optional string ambience_template = 60;
  1102. optional string combat_music = 61;
  1103. optional string default_music = 62;
  1104. optional bool loop_combat_music = 63;
  1105. optional bool loop_default_music = 64;
  1106. }
  1107.  
  1108. message PathNode {
  1109. optional string name = 1;
  1110. optional Vector position = 2;
  1111. optional int32 index = 3;
  1112. }
  1113.  
  1114. message PathRoute {
  1115. optional string name = 1;
  1116. optional int32 pathType = 2;
  1117. repeated PathNode nodes = 3;
  1118. optional IDRef idRef = 10;
  1119. optional bool can_move_beyond_node = 4;
  1120. }
  1121.  
  1122. message Skills {
  1123. optional int32 ranged_combat = 1 [default = 0];
  1124. optional int32 close_combat = 2 [default = 0];
  1125. optional int32 throwing_weapons = 3 [default = 0];
  1126. optional int32 spellcasting = 4 [default = 0];
  1127. optional int32 decking = 5 [default = 0];
  1128. optional int32 deck_build_repair = 6 [default = 0];
  1129. optional int32 conjuring = 7 [default = 0];
  1130. optional int32 spirit_summoning = 8 [default = 0];
  1131. optional int32 spirit_control = 9 [default = 0];
  1132. optional int32 spirit_banishing = 10 [default = 0];
  1133. optional int32 magic_defense = 11 [default = 0];
  1134. optional int32 drone_control = 12 [default = 0];
  1135. optional int32 remote_gunnery = 13 [default = 0];
  1136. optional int32 drone_build_repair = 14 [default = 0];
  1137. optional int32 athletics = 15 [default = 0];
  1138. optional int32 biotech = 16 [default = 0];
  1139. optional int32 dodge = 17 [default = 0];
  1140. optional int32 negotiation = 18 [default = 0];
  1141. optional int32 stealth = 19 [default = 0];
  1142. optional int32 etiquette_corporate = 20 [default = 0];
  1143. optional int32 etiquette_security = 21 [default = 0];
  1144. optional int32 etiquette_gang = 22 [default = 0];
  1145. optional int32 etiquette_paranormal = 23 [default = 0];
  1146. optional int32 etiquette_socialite = 24 [default = 0];
  1147. optional int32 etiquette_infected = 25 [default = 0];
  1148. optional int32 etiquette_shadowrunner = 29 [default = 0];
  1149. optional int32 etiquette_street = 30 [default = 0];
  1150. optional int32 etiquette_academic = 31 [default = 0];
  1151. optional int32 chi_casting = 26 [default = 0];
  1152. optional int32 drain_resistance = 27 [default = 0];
  1153. optional int32 drone_combat = 28 [default = 0];
  1154. }
  1155.  
  1156. message Specializations {
  1157. optional int32 bows = 1 [default = 0];
  1158. optional int32 heavy_weapons = 2 [default = 0];
  1159. optional int32 laser = 3 [default = 0];
  1160. optional int32 pistol = 4 [default = 0];
  1161. optional int32 rifle = 5 [default = 0];
  1162. optional int32 shotgun = 6 [default = 0];
  1163. optional int32 smg = 7 [default = 0];
  1164. optional int32 clubs = 8 [default = 0];
  1165. optional int32 edged = 9 [default = 0];
  1166. optional int32 polearms = 10 [default = 0];
  1167. optional int32 unarmed = 11 [default = 0];
  1168. optional int32 whips = 12 [default = 0];
  1169. optional int32 throwing_blades = 13 [default = 0];
  1170. optional int32 attack_spells = 14 [default = 0];
  1171. optional int32 manipulation_spells = 15 [default = 0];
  1172. optional int32 social_spells = 16 [default = 0];
  1173. optional int32 support_spells = 17 [default = 0];
  1174. optional int32 combat_programs = 18 [default = 0];
  1175. optional int32 defensive_programs = 19 [default = 0];
  1176. optional int32 trap_programs = 20 [default = 0];
  1177. optional int32 spirit_control = 21 [default = 0];
  1178. optional int32 esp_control = 22 [default = 0];
  1179. optional int32 drone_combat = 23 [default = 0];
  1180. }
  1181.  
  1182. message Attributes {
  1183. optional int32 body = 1 [default = 0];
  1184. optional int32 quickness = 2 [default = 0];
  1185. optional int32 strength = 3 [default = 0];
  1186. optional int32 charisma = 4 [default = 0];
  1187. optional int32 intelligence = 5 [default = 0];
  1188. optional int32 willpower = 6 [default = 0];
  1189. optional int32 essence = 7 [default = 0];
  1190. optional int32 magic = 8 [default = 0];
  1191. optional int32 reaction = 9 [default = 0];
  1192. optional int32 hp = 10 [default = 0];
  1193. optional int32 ap = 11 [default = 0];
  1194. optional int32 armor = 12 [default = 0];
  1195. optional int32 force = 13 [default = 0];
  1196. optional int32 morale = 14 [default = 75];
  1197. optional int32 discipline = 15 [default = 75];
  1198. optional int32 awareness = 16 [default = 80];
  1199. optional int32 perception = 17 [default = 50];
  1200. optional int32 authority = 18 [default = 50];
  1201. optional int32 protect_tether_range = 19 [default = 5];
  1202. optional int32 move_speed = 20 [default = 6];
  1203. optional float magic_essence = 21 [default = 0];
  1204. optional int32 accuracy = 40 [default = 0];
  1205. optional int32 wound_mod = 41 [default = 0];
  1206. optional int32 ap_mod = 42 [default = 0];
  1207. optional int32 magic_ap_mod = 43 [default = 0];
  1208. optional int32 damage_reduction_mod = 44 [default = 0];
  1209. optional int32 accuracy_reduction_mod = 45 [default = 0];
  1210. optional int32 decking_ap_mod = 50 [default = 0];
  1211. optional int32 decking_alarm_mod = 51 [default = 0];
  1212. optional int32 decking_accuracy = 52 [default = 0];
  1213. optional int32 damage_mod = 53 [default = 0];
  1214. optional int32 tether_action = 54 [default = 0];
  1215. optional int32 tether_follow = 55 [default = 0];
  1216. optional int32 is_fearless = 56 [default = 0];
  1217. }
  1218.  
  1219. message StatusEffects {
  1220. optional UIRep uirep = 1;
  1221. optional string stackingCategory = 2;
  1222. repeated StatMod statMods = 3;
  1223. repeated StatusCondition statusConditions = 4;
  1224. optional string fxScript = 5;
  1225. optional string durationFxScript = 6;
  1226. optional bool is_buff = 20;
  1227. optional bool is_debuff = 21;
  1228. optional bool is_totem = 22;
  1229. }
  1230.  
  1231. message StatMod {
  1232. optional Attribute attribute = 1;
  1233. optional Skill skill = 2;
  1234. optional Specialization specialization = 3;
  1235. optional int32 intModValue = 10;
  1236. optional float floatModValue = 11;
  1237. }
  1238.  
  1239. message Equipment {
  1240. required string prefab_name = 1 [default = Pistol];
  1241. repeated CustomProperty properties = 2;
  1242. }
  1243.  
  1244. message EquipmentSheet {
  1245. required string unique_id = 1;
  1246. repeated Equipment equipment = 2;
  1247. }
  1248.  
  1249. message Character {
  1250. required string unique_id = 1;
  1251. optional string archetypeName = 2;
  1252. optional Attitude attitude = 3;
  1253. optional Attributes stats = 4;
  1254. optional Skills skills = 5;
  1255. optional Specializations specializations = 6;
  1256. repeated CustomProperty properties = 8;
  1257. optional string prefab_name = 10;
  1258. optional TextureRef portrait = 11;
  1259. optional AttackStyle attackRandom = 12;
  1260. }
  1261.  
  1262. message CharacterMod {
  1263. optional Attributes stats = 1;
  1264. optional Skills skills = 2;
  1265. optional Specializations specializations = 3;
  1266. optional string archetypeName = 4;
  1267. optional Attitude attitude = 5;
  1268. repeated CustomProperty properties = 7;
  1269. optional AttackStyle attackRandom = 8;
  1270. }
  1271.  
  1272. message CharacterInstance {
  1273. optional string prefab_name = 1;
  1274. optional string character_sheet_id = 2;
  1275. repeated string equipment_sheet_id = 3;
  1276. optional CharacterMod character_mod = 4;
  1277. repeated Equipment equipment = 5;
  1278. repeated CustomProperty properties = 6;
  1279. optional string team_id = 7;
  1280. optional string char_name = 8;
  1281. repeated string aiSightTags = 9;
  1282. repeated string aiSoundTags = 10;
  1283. repeated string GeneralTags = 11;
  1284. optional Vector gridPoint = 12;
  1285. optional Orientation orientation = 13;
  1286. optional string patrolRoute = 14;
  1287. optional bool enabled_at_start = 15 [default = true];
  1288. optional int32 pc_spawn_number = 16 [default = -1];
  1289. optional bool ai_ignores = 17 [default = false];
  1290. optional bool uninjurable = 18 [default = false];
  1291. optional bool unkillable = 19 [default = false];
  1292. optional SpawnType spawn_type = 20;
  1293. optional HiringType hiring_type = 21;
  1294. optional string cyberware_eyes = 30;
  1295. optional string cyberware_jack = 31;
  1296. optional string cyberware_body = 32;
  1297. optional string cyberware_left_arm = 33;
  1298. optional string cyberware_right_arm = 34;
  1299. optional string cyberware_left_leg = 35;
  1300. optional string cyberware_right_leg = 36;
  1301. optional TextureRef portrait = 40;
  1302. optional string description_bio = 41;
  1303. optional string portrait_code_override = 42;
  1304. optional string linked_jackpoint = 50;
  1305. optional string dimension_name = 51;
  1306. optional int32 karma = 60;
  1307. optional int32 hiring_cost_override = 61;
  1308. optional string hiring_set_randomizer = 62;
  1309. optional string hiring_tag = 63;
  1310. optional bool is_backer = 64;
  1311. optional int32 unspent_karma = 65;
  1312. optional bool is_prop_character = 70;
  1313. optional string id = 100;
  1314. }
  1315.  
  1316. message AIObjectiveVariable {
  1317. optional string name = 1;
  1318. optional string value = 2;
  1319. }
  1320.  
  1321. message AIObjective {
  1322. optional string behavior = 1;
  1323. optional string type = 2;
  1324. repeated AIObjectiveVariable vars = 3;
  1325. repeated AIObjective subObjectives = 4;
  1326. }
  1327.  
  1328. message ObjectiveArchetype {
  1329. optional string name = 1;
  1330. repeated AIObjective objectives = 2;
  1331. }
  1332.  
  1333. message NameDescription {
  1334. required Gender gender = 1;
  1335. required string name = 2;
  1336. optional string description = 3;
  1337. }
  1338.  
  1339. message HiringSet {
  1340. required string id = 1;
  1341. repeated string prefab = 2;
  1342. repeated string portrait = 3;
  1343. repeated NameDescription description = 4;
  1344. repeated string outfit = 5;
  1345. }
  1346.  
  1347. message NameSet {
  1348. required string id = 1;
  1349. repeated string names = 2;
  1350. }
  1351.  
  1352. message CharacterPrefabData {
  1353. required string prefab_name = 1;
  1354. required string prefab_group = 2;
  1355. required string prefab_race = 3;
  1356. required string prefab_gender = 4;
  1357. }
  1358.  
  1359. message CharacterPrefabLibrary {
  1360. repeated CharacterPrefabData entries = 1;
  1361. }
  1362.  
  1363. message ResultBucket {
  1364. message Entry {
  1365. required float weight = 1;
  1366. required float value = 2;
  1367. }
  1368.  
  1369. repeated Entry successEntries = 1;
  1370. repeated Entry failureEntries = 2;
  1371. }
  1372.  
  1373. message AbilityDef {
  1374. required string id = 1;
  1375. optional UIRep uirep = 2;
  1376. optional AnimAction anim_action = 3;
  1377. optional AnimModifier anim_modifier = 4;
  1378. optional int32 apCostMod = 5;
  1379. optional float hpDamageMod = 6;
  1380. optional float apDamageMod = 7;
  1381. optional float accuracyMod = 8;
  1382. repeated string prereqStrings = 9;
  1383. optional ResultBucket damageBucket = 10;
  1384. optional float attackRatingMod = 11;
  1385. optional bool offensiveAbility = 12;
  1386. optional bool defensiveAbility = 13;
  1387. optional int32 ammoCost = 14;
  1388. optional int32 effectDuration = 15 [default = -1];
  1389. optional ResultBucket drainBucket = 16;
  1390. optional int32 repetition = 17 [default = 1];
  1391. optional bool can_summon = 18;
  1392. optional int32 cooldown = 19;
  1393. optional string cooldown_category = 20;
  1394. optional float spreadAngle = 21;
  1395. optional VulnerabilityType damageType = 22;
  1396. repeated float effectModTable = 23;
  1397. optional int32 additionalTargets = 24 [default = -1];
  1398. optional FxRep fxrep = 30;
  1399. optional string toHitFunction = 41;
  1400. optional string damageFunction = 42;
  1401. optional StatusEffects activationStatusEffects = 100;
  1402. optional IntendedUser intended_user = 110;
  1403. }
  1404.  
  1405. message ModeDef {
  1406. optional UIRep uirep = 1;
  1407. repeated string prereqStrings = 2;
  1408. repeated string abilities = 3;
  1409. }
  1410.  
  1411. message ItemDef {
  1412. required string id = 1;
  1413. optional ItemType type = 2;
  1414. optional UIRep uirep = 3;
  1415. optional string equipPrefabName = 4;
  1416. optional AnimType anim_type = 5;
  1417. optional Attribute coreAttribute = 6;
  1418. optional Skill coreSkill = 7;
  1419. optional Specialization coreSpecialization = 8;
  1420. optional int32 forceRating = 9;
  1421. optional int32 apCost = 10;
  1422. repeated string prereqStrings = 11;
  1423. optional int32 maxAmmo = 20;
  1424. optional float baseHPDamage = 21;
  1425. optional float baseAPDamage = 22;
  1426. repeated float rangeModTable = 23;
  1427. repeated float effectModTable = 24;
  1428. optional float noiseLevel = 25;
  1429. optional int32 noiseRounds = 26;
  1430. optional int32 ammoReloadAPCost = 27;
  1431. optional float spreadAngle = 28;
  1432. repeated string abilityModes = 30;
  1433. repeated string modelessAbilities = 31;
  1434. optional bool affectsFriendly = 40;
  1435. optional bool affectsEnemy = 41;
  1436. optional bool affectsDecker = 42;
  1437. optional bool canTargetSelf = 50;
  1438. optional bool canTargetActor = 51;
  1439. optional bool canTargetOccupiedGridPoint = 52;
  1440. optional bool canTargetUnoccupiedGridPoint = 53;
  1441. optional int32 additionalTargets = 54 [default = -1];
  1442. optional bool isBuff = 55;
  1443. optional bool isDebuff = 56;
  1444. optional int32 cooldown = 57;
  1445. optional string cooldown_category = 58;
  1446. optional bool isMagic = 60;
  1447. optional int32 effectDuration = 61 [default = -1];
  1448. optional int32 effectRadius = 62;
  1449. optional bool effectOnTile = 63;
  1450. optional ResultBucket drainBucket = 64;
  1451. optional FxRep fxrep = 65;
  1452. optional string character_sheet_id = 70;
  1453. repeated string equipment_sheet_id = 71;
  1454. optional string character_prefab_id = 72;
  1455. optional string character_ui_name = 73;
  1456. optional string decking_default_weapon = 80;
  1457. optional int32 decking_hardening = 81;
  1458. optional int32 decking_body = 82;
  1459. optional int32 decking_evasion = 83;
  1460. optional int32 decking_max_ip = 84;
  1461. optional int32 decking_max_ap = 85;
  1462. optional int32 decking_program_limit = 86;
  1463. optional int32 decking_esp_limit = 87;
  1464. optional int32 reactions_per_use = 90;
  1465. optional int32 credentials = 91;
  1466. optional int32 ai_priority = 92;
  1467. optional StatusEffects activationStatusEffects = 100;
  1468. optional StatusEffects equippedStatusEffects = 101;
  1469. optional IntendedUser intended_user = 110;
  1470. optional CyberwareType cyberware_type = 120;
  1471. optional string gear_bundle = 121;
  1472. optional string outfit_texture = 122;
  1473. optional string gear_prefab = 123;
  1474. optional bool gear_covers_arms = 124;
  1475. optional bool gear_covers_hair = 125;
  1476. optional bool gear_covers_face = 126;
  1477. optional int32 store_cost = 130 [default = -1];
  1478. optional string sorting_group = 131;
  1479. }
  1480.  
  1481. message DeckProgramDef {
  1482. required string id = 1;
  1483. optional UIRep uirep = 2;
  1484. optional int32 ap_cost = 3;
  1485. optional bool can_target_nodes = 4;
  1486. optional bool can_target_ic = 5;
  1487. optional bool can_target_black_ic = 6;
  1488. optional bool can_target_alarm = 7;
  1489. optional bool can_target_black_alarm = 8;
  1490. optional StatusEffects activation_status_effects = 100;
  1491. }
  1492.  
  1493. message PortraitPart {
  1494. optional Vector offset = 1;
  1495. optional string name = 2;
  1496. }
  1497.  
  1498. message Portrait {
  1499. optional string filename = 1;
  1500. repeated PortraitPart parts = 2;
  1501. }
  1502.  
  1503. message SaveStoryBlock {
  1504. message VariableDataSection {
  1505. required TsVariableScope scope = 1;
  1506. optional string scope_name = 2;
  1507. repeated TsNameValuePair values = 3;
  1508. }
  1509.  
  1510. message SavedRandomHire {
  1511. message CurrentRandomState {
  1512. required string prefab_name = 1;
  1513. required string portrait_name = 2;
  1514. required string portrait_code_override = 3;
  1515. required string character_name = 4;
  1516. required string character_description = 5;
  1517. required string outfit = 6;
  1518. }
  1519.  
  1520. required string template_root_name = 1;
  1521. required string original_randomizer = 2;
  1522. required CurrentRandomState random_state = 3;
  1523. repeated CurrentRandomState random_history = 4;
  1524. optional string permadead_id = 5;
  1525. }
  1526.  
  1527. optional string display_name = 1;
  1528. optional bool is_major_save = 2;
  1529. repeated CharacterInstance __DEPRECATED_party__ = 3;
  1530. repeated ActiveCharacterState party = 11;
  1531. optional string scene_name = 4;
  1532. repeated VariableDataSection variable_data = 5;
  1533. repeated string team_items = 6;
  1534. repeated string topic_conversation_history = 7;
  1535. repeated Equipment equipment_stash = 8;
  1536. optional int32 nuyen = 9;
  1537. repeated SavedRandomHire template_randomization = 10;
  1538. optional int32 lastUID = 20 [default = 100];
  1539. optional int64 time_utc = 30;
  1540. }
  1541.  
  1542. message SaveGame {
  1543. required string save_name = 1;
  1544. optional string display_name = 2;
  1545. optional int64 time_utc = 3;
  1546. required TsStoryId parent_story = 4;
  1547. optional string save_image = 5;
  1548. optional bool is_autosave = 6;
  1549. repeated SaveStoryBlock story_data = 7;
  1550. optional int64 first_time_utc = 10;
  1551. }
  1552.  
  1553. message ActiveCharacterState {
  1554. required string char_id = 1;
  1555. required CharacterInstance char_inst = 2;
  1556. required int32 current_hp = 3;
  1557. required int32 current_ap = 4;
  1558. repeated string current_tags = 5;
  1559. repeated StatusEffects active_buffs = 6;
  1560. repeated Equipment __DEPRECATED_current_equipment__ = 7;
  1561. optional string master = 8;
  1562. }
  1563.  
  1564. message Ambience {
  1565. optional string fx_script = 1;
  1566. optional string sound_clip = 10;
  1567. optional float volume = 11 [default = 1];
  1568. repeated float start_time = 12;
  1569. optional float crossfade_time = 13;
  1570. optional float pitch = 14 [default = 1];
  1571. optional float random_pitch = 15;
  1572. optional Vector source_point = 20;
  1573. optional Vector target_point = 21;
  1574. optional float frequency = 30 [default = 0.5];
  1575. optional float delay = 31;
  1576. optional float random_delay = 32;
  1577. optional float length = 33;
  1578. optional bool looping = 34;
  1579. required int32 layer = 50;
  1580. }
  1581.  
  1582. message AmbienceTemplate {
  1583. required string id = 1;
  1584. repeated Ambience ambience = 2;
  1585. repeated string audio_bundles = 3;
  1586. }
  1587.  
  1588. message AudioBundle {
  1589. required string id = 1;
  1590. repeated string sounds = 2;
  1591. }
  1592.  
  1593. message SoundLibrary {
  1594. repeated AudioBundle audio_bundles = 1;
  1595. }
  1596.  
  1597. message SubMixSound {
  1598. required string sound_name = 1;
  1599. optional float sound_volume = 2 [default = 1];
  1600. }
  1601.  
  1602. message SubMixGroup {
  1603. optional string group_name = 1;
  1604. optional float group_volume = 2 [default = 1];
  1605. repeated SubMixSound sounds = 3;
  1606. repeated SubMixGroup groups = 4;
  1607. }
  1608.  
  1609. message PortraitCodeEntry {
  1610. required string portrait = 1;
  1611. required string code = 2;
  1612. }
  1613.  
  1614. message PortraitCodeList {
  1615. repeated PortraitCodeEntry entries = 1;
  1616. }
  1617.  
  1618. message AnimationModifierEntry {
  1619. optional string ui_name = 1;
  1620. optional string mod_name = 2;
  1621. }
  1622.  
  1623. message AnimationModifierList {
  1624. repeated AnimationModifierEntry entries = 1;
  1625. }
  1626.  
  1627. message BackerPCData {
  1628. required string id = 1;
  1629. optional Race race = 2;
  1630. optional Gender gender = 3;
  1631. optional TextureRef portrait = 4;
  1632. optional Equipment outfit = 5;
  1633. }
  1634.  
  1635. message BackerPCLibrary {
  1636. repeated BackerPCData entries = 1;
  1637. }
  1638.  
  1639. message Manifest {
  1640. message Entry {
  1641. required string name = 1;
  1642. optional int64 size = 2;
  1643. optional string digest = 3;
  1644. optional string digest_method = 4;
  1645. }
  1646.  
  1647. repeated Entry entries = 1;
  1648. optional string entries_digest = 2;
  1649. optional string entries_digest_method = 3;
  1650. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement