behavior3行为树
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

1785 行
56 KiB

  1. {
  2. "version": "0.3.0",
  3. "scope": "project",
  4. "selectedTree": "1bbac5e1-753c-4f30-8fef-6db07a54746a",
  5. "trees": [
  6. {
  7. "version": "0.3.0",
  8. "scope": "tree",
  9. "id": "9da29574-2f80-4d31-98ba-eafd8a29b6bc",
  10. "title": "巡逻兵巡逻逻辑",
  11. "description": "",
  12. "root": "8bf79ff6-a1e8-4f45-8342-82c4ecccc68e",
  13. "properties": {},
  14. "nodes": {
  15. "8bf79ff6-a1e8-4f45-8342-82c4ecccc68e": {
  16. "id": "8bf79ff6-a1e8-4f45-8342-82c4ecccc68e",
  17. "name": "MemSequence",
  18. "category": "composite",
  19. "title": "MemSequence",
  20. "description": "",
  21. "properties": {},
  22. "display": {
  23. "x": 48,
  24. "y": -132
  25. },
  26. "children": [
  27. "11f48f39-e5d0-4697-9f06-457eff8cea3e",
  28. "ea4f98b0-8be8-4cda-b9b3-182a3b8c8ec3"
  29. ]
  30. },
  31. "ea4f98b0-8be8-4cda-b9b3-182a3b8c8ec3": {
  32. "id": "ea4f98b0-8be8-4cda-b9b3-182a3b8c8ec3",
  33. "name": "Sequence",
  34. "category": "composite",
  35. "title": "Sequence",
  36. "description": "",
  37. "properties": {},
  38. "display": {
  39. "x": 252,
  40. "y": 60
  41. },
  42. "children": [
  43. "3ea60740-694d-4486-b692-fc0b4d4d6057",
  44. "2a291d2b-91e3-4f5b-886b-7205861cb480",
  45. "0d2b4c05-f854-40f3-864b-990bffe2b50b"
  46. ]
  47. },
  48. "3ea60740-694d-4486-b692-fc0b4d4d6057": {
  49. "id": "3ea60740-694d-4486-b692-fc0b4d4d6057",
  50. "name": "Inverter",
  51. "category": "decorator",
  52. "title": "Inverter",
  53. "description": "",
  54. "properties": {},
  55. "display": {
  56. "x": 468,
  57. "y": -60
  58. },
  59. "child": "c46a8f97-4d9b-4491-9ae5-61876186d2e0"
  60. },
  61. "2a291d2b-91e3-4f5b-886b-7205861cb480": {
  62. "id": "2a291d2b-91e3-4f5b-886b-7205861cb480",
  63. "name": "action_move_grid",
  64. "category": "action",
  65. "title": "移动一格",
  66. "description": "action_move_grid\n移动一格\n返回:SUCCESS",
  67. "properties": {},
  68. "display": {
  69. "x": 468,
  70. "y": 72
  71. }
  72. },
  73. "c46a8f97-4d9b-4491-9ae5-61876186d2e0": {
  74. "id": "c46a8f97-4d9b-4491-9ae5-61876186d2e0",
  75. "name": "Sequence",
  76. "category": "composite",
  77. "title": "Sequence",
  78. "description": "",
  79. "properties": {},
  80. "display": {
  81. "x": 672,
  82. "y": -60
  83. },
  84. "children": [
  85. "4bd05aea-40b4-4b6f-a8c4-c3c29020f21a",
  86. "8c3497d7-0b53-43d7-9215-3f13ff44d223"
  87. ]
  88. },
  89. "4bd05aea-40b4-4b6f-a8c4-c3c29020f21a": {
  90. "id": "4bd05aea-40b4-4b6f-a8c4-c3c29020f21a",
  91. "name": "cond_is_dest",
  92. "category": "condition",
  93. "title": "到达终点",
  94. "description": "cond_is_dest\n判断是否到达终点\n是:SUCCESS\n否:FAILURE",
  95. "properties": {},
  96. "display": {
  97. "x": 876,
  98. "y": -108
  99. }
  100. },
  101. "0d2b4c05-f854-40f3-864b-990bffe2b50b": {
  102. "id": "0d2b4c05-f854-40f3-864b-990bffe2b50b",
  103. "name": "Runner",
  104. "category": "action",
  105. "title": "Runner",
  106. "description": "",
  107. "properties": {},
  108. "display": {
  109. "x": 468,
  110. "y": 156
  111. }
  112. },
  113. "8c3497d7-0b53-43d7-9215-3f13ff44d223": {
  114. "id": "8c3497d7-0b53-43d7-9215-3f13ff44d223",
  115. "name": "action_finish",
  116. "category": "action",
  117. "title": "游戏<is_win>",
  118. "description": "action_finish\n游戏结束,根据is_win属性打印结果\n打印结果,结束行为树运行\n返回:SUCCESS",
  119. "properties": {
  120. "is_win": "胜利"
  121. },
  122. "display": {
  123. "x": 876,
  124. "y": -12
  125. }
  126. },
  127. "11f48f39-e5d0-4697-9f06-457eff8cea3e": {
  128. "id": "11f48f39-e5d0-4697-9f06-457eff8cea3e",
  129. "name": "action_collect_dest_path",
  130. "category": "action",
  131. "title": "收集终点路径",
  132. "description": "action_collect_dest_path\n收集终点路径\n返回:SUCCESS",
  133. "properties": {},
  134. "display": {
  135. "x": 252,
  136. "y": -192
  137. }
  138. }
  139. },
  140. "display": {
  141. "camera_x": 550,
  142. "camera_y": 562.5,
  143. "camera_z": 1,
  144. "x": -156,
  145. "y": -132
  146. }
  147. },
  148. {
  149. "version": "0.3.0",
  150. "scope": "tree",
  151. "id": "c084afd6-c72b-40fc-88a8-9c4445771fc6",
  152. "title": "巡逻兵主动AI",
  153. "description": "",
  154. "root": "2b5aaee3-9b28-4925-8a8b-b21236788844",
  155. "properties": {},
  156. "nodes": {
  157. "2b5aaee3-9b28-4925-8a8b-b21236788844": {
  158. "id": "2b5aaee3-9b28-4925-8a8b-b21236788844",
  159. "name": "Priority",
  160. "category": "composite",
  161. "title": "Priority",
  162. "description": "",
  163. "properties": {},
  164. "display": {
  165. "x": 204,
  166. "y": 0
  167. },
  168. "children": [
  169. "03643393-9519-41c5-a5fc-5d2e68ad13c7",
  170. "af215e32-e4d5-45a9-8511-cd4d0bcea761",
  171. "253accf9-14bb-450a-b562-02e9a528b20b",
  172. "7673cc91-2cbe-4c17-a57a-2c7d614ffb37"
  173. ]
  174. },
  175. "5c18cf59-642f-4e99-9847-242df72579d6": {
  176. "id": "5c18cf59-642f-4e99-9847-242df72579d6",
  177. "name": "b7eea887-72c9-4462-8d74-83c13ac82fba",
  178. "category": "tree",
  179. "title": "巡逻兵攻击逻辑",
  180. "description": "",
  181. "properties": {},
  182. "display": {
  183. "x": 624,
  184. "y": 132
  185. }
  186. },
  187. "060b2c7a-aebb-46e1-8f56-288264ba61e4": {
  188. "id": "060b2c7a-aebb-46e1-8f56-288264ba61e4",
  189. "name": "cond_is_idle",
  190. "category": "condition",
  191. "title": "是空闲状态",
  192. "description": "cond_is_idle\n判断是否处于空闲状态\n是:SUCCESS\n否:FAILURE",
  193. "properties": {},
  194. "display": {
  195. "x": 624,
  196. "y": -312
  197. }
  198. },
  199. "03643393-9519-41c5-a5fc-5d2e68ad13c7": {
  200. "id": "03643393-9519-41c5-a5fc-5d2e68ad13c7",
  201. "name": "Sequence",
  202. "category": "composite",
  203. "title": "Sequence",
  204. "description": "",
  205. "properties": {},
  206. "display": {
  207. "x": 408,
  208. "y": -264
  209. },
  210. "children": [
  211. "060b2c7a-aebb-46e1-8f56-288264ba61e4",
  212. "4a111c90-18b7-4af8-88b9-13caf316d72a"
  213. ]
  214. },
  215. "7631d5cb-0820-42e6-a3fa-c7a368f71312": {
  216. "id": "7631d5cb-0820-42e6-a3fa-c7a368f71312",
  217. "name": "action_become_patrolling",
  218. "category": "action",
  219. "title": "变为巡逻状态",
  220. "description": "action_become_patrolling\n变为巡逻状态\n返回:SUCCESS",
  221. "properties": {},
  222. "display": {
  223. "x": 828,
  224. "y": -228
  225. }
  226. },
  227. "df3825c5-5d6f-4a0d-88b7-d54a277c4a52": {
  228. "id": "df3825c5-5d6f-4a0d-88b7-d54a277c4a52",
  229. "name": "9da29574-2f80-4d31-98ba-eafd8a29b6bc",
  230. "category": "tree",
  231. "title": "巡逻兵巡逻逻辑",
  232. "description": "",
  233. "properties": {},
  234. "display": {
  235. "x": 624,
  236. "y": -48
  237. }
  238. },
  239. "4a111c90-18b7-4af8-88b9-13caf316d72a": {
  240. "id": "4a111c90-18b7-4af8-88b9-13caf316d72a",
  241. "name": "Inverter",
  242. "category": "decorator",
  243. "title": "Inverter",
  244. "description": "",
  245. "properties": {},
  246. "display": {
  247. "x": 624,
  248. "y": -228
  249. },
  250. "child": "7631d5cb-0820-42e6-a3fa-c7a368f71312"
  251. },
  252. "b671173e-6347-44ee-8253-5f41d65f48a3": {
  253. "id": "b671173e-6347-44ee-8253-5f41d65f48a3",
  254. "name": "cond_is_patrolling",
  255. "category": "condition",
  256. "title": "是巡逻状态",
  257. "description": "cond_is_patrolling\n判断是否处于巡逻状态\n是:SUCCESS\n否:FAILURE",
  258. "properties": {},
  259. "display": {
  260. "x": 624,
  261. "y": -132
  262. }
  263. },
  264. "af215e32-e4d5-45a9-8511-cd4d0bcea761": {
  265. "id": "af215e32-e4d5-45a9-8511-cd4d0bcea761",
  266. "name": "Sequence",
  267. "category": "composite",
  268. "title": "Sequence",
  269. "description": "",
  270. "properties": {},
  271. "display": {
  272. "x": 408,
  273. "y": -96
  274. },
  275. "children": [
  276. "b671173e-6347-44ee-8253-5f41d65f48a3",
  277. "df3825c5-5d6f-4a0d-88b7-d54a277c4a52"
  278. ]
  279. },
  280. "253accf9-14bb-450a-b562-02e9a528b20b": {
  281. "id": "253accf9-14bb-450a-b562-02e9a528b20b",
  282. "name": "Sequence",
  283. "category": "composite",
  284. "title": "Sequence",
  285. "description": "",
  286. "properties": {},
  287. "display": {
  288. "x": 408,
  289. "y": 84
  290. },
  291. "children": [
  292. "36527522-a9df-44e6-8179-0503e731bdc4",
  293. "5c18cf59-642f-4e99-9847-242df72579d6"
  294. ]
  295. },
  296. "36527522-a9df-44e6-8179-0503e731bdc4": {
  297. "id": "36527522-a9df-44e6-8179-0503e731bdc4",
  298. "name": "cond_is_attacking",
  299. "category": "condition",
  300. "title": "是攻击状态",
  301. "description": "cond_is_attacking\n判断是否处于攻击状态\n是:SUCCESS\n否:FAILURE",
  302. "properties": {},
  303. "display": {
  304. "x": 624,
  305. "y": 36
  306. }
  307. },
  308. "730ae916-ec3f-4bfe-b577-0c9545792e72": {
  309. "id": "730ae916-ec3f-4bfe-b577-0c9545792e72",
  310. "name": "a62217c8-655c-4266-9405-4ffcdbb4360d",
  311. "category": "tree",
  312. "title": "巡逻兵恢复逻辑",
  313. "description": "",
  314. "properties": {},
  315. "display": {
  316. "x": 624,
  317. "y": 300
  318. }
  319. },
  320. "7673cc91-2cbe-4c17-a57a-2c7d614ffb37": {
  321. "id": "7673cc91-2cbe-4c17-a57a-2c7d614ffb37",
  322. "name": "Sequence",
  323. "category": "composite",
  324. "title": "Sequence",
  325. "description": "",
  326. "properties": {},
  327. "display": {
  328. "x": 408,
  329. "y": 264
  330. },
  331. "children": [
  332. "0304627c-6944-435e-9c8d-4e4cb2062435",
  333. "730ae916-ec3f-4bfe-b577-0c9545792e72"
  334. ]
  335. },
  336. "0304627c-6944-435e-9c8d-4e4cb2062435": {
  337. "id": "0304627c-6944-435e-9c8d-4e4cb2062435",
  338. "name": "cond_is_recovering",
  339. "category": "condition",
  340. "title": "是恢复状态",
  341. "description": "cond_is_recovering\n判断是否处于恢复状态\n是:SUCCESS\n否:FAILURE",
  342. "properties": {},
  343. "display": {
  344. "x": 624,
  345. "y": 216
  346. }
  347. }
  348. },
  349. "display": {
  350. "camera_x": 485,
  351. "camera_y": 519.5,
  352. "camera_z": 1,
  353. "x": 0,
  354. "y": 0
  355. }
  356. },
  357. {
  358. "version": "0.3.0",
  359. "scope": "tree",
  360. "id": "b7eea887-72c9-4462-8d74-83c13ac82fba",
  361. "title": "巡逻兵攻击逻辑",
  362. "description": "",
  363. "root": "cf2ef19d-fbd1-4c7c-80b6-0b3a5c355598",
  364. "properties": {},
  365. "nodes": {
  366. "cf2ef19d-fbd1-4c7c-80b6-0b3a5c355598": {
  367. "id": "cf2ef19d-fbd1-4c7c-80b6-0b3a5c355598",
  368. "name": "Sequence",
  369. "category": "composite",
  370. "title": "Sequence",
  371. "description": "",
  372. "properties": {},
  373. "display": {
  374. "x": 204,
  375. "y": 0
  376. },
  377. "children": [
  378. "8f21ebb2-ccd8-4938-8d50-753b2251e60c",
  379. "9f376dff-8225-4718-8895-193b4bb3d613"
  380. ]
  381. },
  382. "8f21ebb2-ccd8-4938-8d50-753b2251e60c": {
  383. "id": "8f21ebb2-ccd8-4938-8d50-753b2251e60c",
  384. "name": "Inverter",
  385. "category": "decorator",
  386. "title": "Inverter",
  387. "description": "",
  388. "properties": {},
  389. "display": {
  390. "x": 408,
  391. "y": -264
  392. },
  393. "child": "5588cee3-28b6-4e00-8b57-67f7ea261b35"
  394. },
  395. "5588cee3-28b6-4e00-8b57-67f7ea261b35": {
  396. "id": "5588cee3-28b6-4e00-8b57-67f7ea261b35",
  397. "name": "Sequence",
  398. "category": "composite",
  399. "title": "Sequence",
  400. "description": "",
  401. "properties": {},
  402. "display": {
  403. "x": 624,
  404. "y": -264
  405. },
  406. "children": [
  407. "08a08a9c-2867-4824-805a-d7ad1c2a4425",
  408. "9136ce4c-e2f2-41de-89a7-234543ebf7d8",
  409. "79eb3e34-df1e-45f4-8f9a-6ad572e693cf"
  410. ]
  411. },
  412. "9f376dff-8225-4718-8895-193b4bb3d613": {
  413. "id": "9f376dff-8225-4718-8895-193b4bb3d613",
  414. "name": "Priority",
  415. "category": "composite",
  416. "title": "Priority",
  417. "description": "",
  418. "properties": {},
  419. "display": {
  420. "x": 408,
  421. "y": 252
  422. },
  423. "children": [
  424. "f8f3b041-7d51-49a3-aeaa-884f1fcf96e9",
  425. "f6618c6b-236a-48ee-8c51-0b537d408c3b"
  426. ]
  427. },
  428. "f8f3b041-7d51-49a3-aeaa-884f1fcf96e9": {
  429. "id": "f8f3b041-7d51-49a3-aeaa-884f1fcf96e9",
  430. "name": "Sequence",
  431. "category": "composite",
  432. "title": "Sequence",
  433. "description": "",
  434. "properties": {},
  435. "display": {
  436. "x": 624,
  437. "y": 144
  438. },
  439. "children": [
  440. "45ef4736-d23e-4572-b774-f7376813781c",
  441. "8fe84e26-7b19-4e75-82dc-3a9c7de38a88",
  442. "44f08768-4f25-448d-b19c-1fb41c326c68"
  443. ]
  444. },
  445. "f6618c6b-236a-48ee-8c51-0b537d408c3b": {
  446. "id": "f6618c6b-236a-48ee-8c51-0b537d408c3b",
  447. "name": "Sequence",
  448. "category": "composite",
  449. "title": "Sequence",
  450. "description": "",
  451. "properties": {},
  452. "display": {
  453. "x": 624,
  454. "y": 360
  455. },
  456. "children": [
  457. "9af19bbe-1c42-4553-9db6-cb4be8901a98",
  458. "604d7780-7012-4175-88b1-7b5c110132ea"
  459. ]
  460. },
  461. "5c75bd99-3249-448d-8a09-2127d91a1c12": {
  462. "id": "5c75bd99-3249-448d-8a09-2127d91a1c12",
  463. "name": "action_become_idle",
  464. "category": "action",
  465. "title": "变为空闲状态",
  466. "description": "action_become_idle\n变为空闲状态\n返回:SUCCESS",
  467. "properties": {},
  468. "display": {
  469. "x": 1032,
  470. "y": -36
  471. }
  472. },
  473. "45ef4736-d23e-4572-b774-f7376813781c": {
  474. "id": "45ef4736-d23e-4572-b774-f7376813781c",
  475. "name": "cond_is_rage_full",
  476. "category": "condition",
  477. "title": "怒气值已满",
  478. "description": "cond_is_rage_full\n判断怒气值是否已满\n已满:SUCCESS\n未满:FAILURE",
  479. "properties": {},
  480. "display": {
  481. "x": 828,
  482. "y": 48
  483. }
  484. },
  485. "44f08768-4f25-448d-b19c-1fb41c326c68": {
  486. "id": "44f08768-4f25-448d-b19c-1fb41c326c68",
  487. "name": "action_cost_rage",
  488. "category": "action",
  489. "title": "扣除<cost_rage>怒气",
  490. "description": "action_cost_rage\n扣除怒气\n根据cost_rage扣除相应怒气,结果大于等于0\n返回:SUCCESS",
  491. "properties": {
  492. "cost_rage": 100
  493. },
  494. "display": {
  495. "x": 828,
  496. "y": 228
  497. }
  498. },
  499. "08a08a9c-2867-4824-805a-d7ad1c2a4425": {
  500. "id": "08a08a9c-2867-4824-805a-d7ad1c2a4425",
  501. "name": "cond_is_target_died",
  502. "category": "condition",
  503. "title": "目标死亡",
  504. "description": "cond_is_target_died\n判断目标是否死亡\n死亡:SUCCESS\n未死亡:FAILURE",
  505. "properties": {},
  506. "display": {
  507. "x": 828,
  508. "y": -384
  509. }
  510. },
  511. "604d7780-7012-4175-88b1-7b5c110132ea": {
  512. "id": "604d7780-7012-4175-88b1-7b5c110132ea",
  513. "name": "action_add_rage",
  514. "category": "action",
  515. "title": "增加<add_rage>怒气",
  516. "description": "action_add_rage\n增加怒气\n根据add_rage增加相应怒气,结果小于等于100\n返回:SUCCESS",
  517. "properties": {
  518. "add_rage": 10
  519. },
  520. "display": {
  521. "x": 828,
  522. "y": 408
  523. }
  524. },
  525. "d7bf8a85-e2a4-48d0-807b-c8b4ff0eb85e": {
  526. "id": "d7bf8a85-e2a4-48d0-807b-c8b4ff0eb85e",
  527. "name": "cond_power_lt",
  528. "category": "condition",
  529. "title": "体力小于<power>",
  530. "description": "cond_power_lt\n判断体力是否小于某值\n是:SUCCESS\n否:FAILURE",
  531. "properties": {
  532. "power": 50
  533. },
  534. "display": {
  535. "x": 1248,
  536. "y": -216
  537. }
  538. },
  539. "f80a69a0-3eca-43a7-8a0f-8bf62e459d9e": {
  540. "id": "f80a69a0-3eca-43a7-8a0f-8bf62e459d9e",
  541. "name": "Sequence",
  542. "category": "composite",
  543. "title": "Sequence",
  544. "description": "",
  545. "properties": {},
  546. "display": {
  547. "x": 1032,
  548. "y": -168
  549. },
  550. "children": [
  551. "d7bf8a85-e2a4-48d0-807b-c8b4ff0eb85e",
  552. "835e8a59-65c5-4dcf-a9c0-69cb36cb5b82"
  553. ]
  554. },
  555. "835e8a59-65c5-4dcf-a9c0-69cb36cb5b82": {
  556. "id": "835e8a59-65c5-4dcf-a9c0-69cb36cb5b82",
  557. "name": "action_become_recovering",
  558. "category": "action",
  559. "title": "变为恢复状态",
  560. "description": "action_become_recovering\n变为恢复状态\n返回:SUCCESS",
  561. "properties": {},
  562. "display": {
  563. "x": 1248,
  564. "y": -120
  565. }
  566. },
  567. "79eb3e34-df1e-45f4-8f9a-6ad572e693cf": {
  568. "id": "79eb3e34-df1e-45f4-8f9a-6ad572e693cf",
  569. "name": "Priority",
  570. "category": "composite",
  571. "title": "Priority",
  572. "description": "",
  573. "properties": {},
  574. "display": {
  575. "x": 828,
  576. "y": -96
  577. },
  578. "children": [
  579. "f80a69a0-3eca-43a7-8a0f-8bf62e459d9e",
  580. "5c75bd99-3249-448d-8a09-2127d91a1c12"
  581. ]
  582. },
  583. "8fe84e26-7b19-4e75-82dc-3a9c7de38a88": {
  584. "id": "8fe84e26-7b19-4e75-82dc-3a9c7de38a88",
  585. "name": "action_skill_attack",
  586. "category": "action",
  587. "title": "技能攻击",
  588. "description": "action_skill_attack\n技能攻击\nskill_type : 普通攻击,技能攻击\n 随机伤害值 RAND(min_power ,max_power) * RAND(min_rate, max_rate)\n返回:SUCCESS",
  589. "properties": {
  590. "min_power": 5,
  591. "max_power": 10,
  592. "min_rate": 3,
  593. "max_rate": 4,
  594. "skill_type": "爆头"
  595. },
  596. "display": {
  597. "x": 828,
  598. "y": 144
  599. }
  600. },
  601. "9af19bbe-1c42-4553-9db6-cb4be8901a98": {
  602. "id": "9af19bbe-1c42-4553-9db6-cb4be8901a98",
  603. "name": "action_skill_attack",
  604. "category": "action",
  605. "title": "技能攻击",
  606. "description": "action_skill_attack\n技能攻击\nskill_type : 普通攻击,技能攻击\n 随机伤害值 RAND(min_power ,max_power) * RAND(min_rate, max_rate)\n返回:SUCCESS",
  607. "properties": {
  608. "min_power": 5,
  609. "max_power": 10,
  610. "min_rate": 1,
  611. "max_rate": 2,
  612. "skill_type": "平砍"
  613. },
  614. "display": {
  615. "x": 828,
  616. "y": 312
  617. }
  618. },
  619. "9136ce4c-e2f2-41de-89a7-234543ebf7d8": {
  620. "id": "9136ce4c-e2f2-41de-89a7-234543ebf7d8",
  621. "name": "action_del_dead_target",
  622. "category": "action",
  623. "title": "删除死亡目标",
  624. "description": "action_del_dead_target\n删除死亡目标\n删除rival_list中第一个目标\n返回:SUCCESS",
  625. "properties": {},
  626. "display": {
  627. "x": 828,
  628. "y": -300
  629. }
  630. }
  631. },
  632. "display": {
  633. "camera_x": 316,
  634. "camera_y": 534.5,
  635. "camera_z": 1,
  636. "x": 0,
  637. "y": 0
  638. }
  639. },
  640. {
  641. "version": "0.3.0",
  642. "scope": "tree",
  643. "id": "a62217c8-655c-4266-9405-4ffcdbb4360d",
  644. "title": "巡逻兵恢复逻辑",
  645. "description": "",
  646. "root": "1af2edc5-7d01-4975-8439-e391d2f7c719",
  647. "properties": {},
  648. "nodes": {
  649. "1af2edc5-7d01-4975-8439-e391d2f7c719": {
  650. "id": "1af2edc5-7d01-4975-8439-e391d2f7c719",
  651. "name": "Sequence",
  652. "category": "composite",
  653. "title": "Sequence",
  654. "description": "",
  655. "properties": {},
  656. "display": {
  657. "x": 204,
  658. "y": 0
  659. },
  660. "children": [
  661. "068d057d-a43d-4936-8d25-b1ee86f77ea6",
  662. "0dda2c45-3ff1-4a26-88bb-ee516beaad0d",
  663. "a04072a5-31cc-4125-89a0-9187ffa17fe9"
  664. ]
  665. },
  666. "0dda2c45-3ff1-4a26-88bb-ee516beaad0d": {
  667. "id": "0dda2c45-3ff1-4a26-88bb-ee516beaad0d",
  668. "name": "Inverter",
  669. "category": "decorator",
  670. "title": "Inverter",
  671. "description": "",
  672. "properties": {},
  673. "display": {
  674. "x": 408,
  675. "y": 0
  676. },
  677. "child": "ede1fa6f-2295-409b-8641-2c32970c069f"
  678. },
  679. "ede1fa6f-2295-409b-8641-2c32970c069f": {
  680. "id": "ede1fa6f-2295-409b-8641-2c32970c069f",
  681. "name": "Sequence",
  682. "category": "composite",
  683. "title": "Sequence",
  684. "description": "",
  685. "properties": {},
  686. "display": {
  687. "x": 624,
  688. "y": 0
  689. },
  690. "children": [
  691. "1c629e69-7006-4146-8c2a-cd525736f1a2",
  692. "68c837c4-2e31-45bf-80bf-488c8699c824"
  693. ]
  694. },
  695. "1c629e69-7006-4146-8c2a-cd525736f1a2": {
  696. "id": "1c629e69-7006-4146-8c2a-cd525736f1a2",
  697. "name": "cond_is_power_full",
  698. "category": "condition",
  699. "title": "体力已满",
  700. "description": "cond_is_power_full\n判断体力是否已满\n已满:SUCCESS\n未满:FAILURE",
  701. "properties": {},
  702. "display": {
  703. "x": 828,
  704. "y": -48
  705. }
  706. },
  707. "68c837c4-2e31-45bf-80bf-488c8699c824": {
  708. "id": "68c837c4-2e31-45bf-80bf-488c8699c824",
  709. "name": "action_become_idle",
  710. "category": "action",
  711. "title": "变为空闲状态",
  712. "description": "action_become_idle\n变为空闲状态\n返回:SUCCESS",
  713. "properties": {},
  714. "display": {
  715. "x": 828,
  716. "y": 36
  717. }
  718. },
  719. "068d057d-a43d-4936-8d25-b1ee86f77ea6": {
  720. "id": "068d057d-a43d-4936-8d25-b1ee86f77ea6",
  721. "name": "action_recover_power",
  722. "category": "action",
  723. "title": "恢复<max_power> - <min_power>体力",
  724. "description": "action_recover_power\n恢复体力\n根据Max - Min之间随机恢复几点体力\n返回:SUCCESS",
  725. "properties": {
  726. "max_power": 10,
  727. "min_power": 5
  728. },
  729. "display": {
  730. "x": 408,
  731. "y": -132
  732. }
  733. },
  734. "a04072a5-31cc-4125-89a0-9187ffa17fe9": {
  735. "id": "a04072a5-31cc-4125-89a0-9187ffa17fe9",
  736. "name": "Runner",
  737. "category": "action",
  738. "title": "Runner",
  739. "description": "",
  740. "properties": {},
  741. "display": {
  742. "x": 408,
  743. "y": 132
  744. }
  745. }
  746. },
  747. "display": {
  748. "camera_x": 359,
  749. "camera_y": 491,
  750. "camera_z": 1,
  751. "x": 0,
  752. "y": 0
  753. }
  754. },
  755. {
  756. "version": "0.3.0",
  757. "scope": "tree",
  758. "id": "0cbbfbf6-c591-4373-80e4-6cef94fdb961",
  759. "title": "巡逻兵被动AI",
  760. "description": "",
  761. "root": "e4227377-3bbb-48ca-9d86-80796498c818",
  762. "properties": {},
  763. "nodes": {
  764. "3b209dd0-e890-493b-835e-0fdb3c8d2fd6": {
  765. "id": "3b209dd0-e890-493b-835e-0fdb3c8d2fd6",
  766. "name": "ac40be47-ca6f-4969-9ee0-881bc7f6f831",
  767. "category": "tree",
  768. "title": "巡逻兵受击逻辑",
  769. "description": "",
  770. "properties": {},
  771. "display": {
  772. "x": 156,
  773. "y": 60
  774. }
  775. },
  776. "e4227377-3bbb-48ca-9d86-80796498c818": {
  777. "id": "e4227377-3bbb-48ca-9d86-80796498c818",
  778. "name": "Sequence",
  779. "category": "composite",
  780. "title": "Sequence",
  781. "description": "",
  782. "properties": {},
  783. "display": {
  784. "x": -48,
  785. "y": 0
  786. },
  787. "children": [
  788. "28a16fe8-0397-429a-a1e4-9886e9034468",
  789. "3b209dd0-e890-493b-835e-0fdb3c8d2fd6"
  790. ]
  791. },
  792. "28a16fe8-0397-429a-a1e4-9886e9034468": {
  793. "id": "28a16fe8-0397-429a-a1e4-9886e9034468",
  794. "name": "Priority",
  795. "category": "composite",
  796. "title": "Priority",
  797. "description": "",
  798. "properties": {},
  799. "display": {
  800. "x": 156,
  801. "y": -72
  802. },
  803. "children": [
  804. "1c4eb87e-bf0b-466e-b8b5-1e7252f79a8e",
  805. "4ef71f58-8159-49eb-8d8d-4adb0c2646a5"
  806. ]
  807. },
  808. "1c4eb87e-bf0b-466e-b8b5-1e7252f79a8e": {
  809. "id": "1c4eb87e-bf0b-466e-b8b5-1e7252f79a8e",
  810. "name": "cond_is_attacking",
  811. "category": "condition",
  812. "title": "是攻击状态",
  813. "description": "cond_is_attacking\n判断是否处于攻击状态\n是:SUCCESS\n否:FAILURE",
  814. "properties": {},
  815. "display": {
  816. "x": 372,
  817. "y": -120
  818. }
  819. },
  820. "4ef71f58-8159-49eb-8d8d-4adb0c2646a5": {
  821. "id": "4ef71f58-8159-49eb-8d8d-4adb0c2646a5",
  822. "name": "action_become_attacking",
  823. "category": "action",
  824. "title": "变为攻击状态",
  825. "description": "action_become_attacking\n变为攻击状态\n返回:SUCCESS",
  826. "properties": {},
  827. "display": {
  828. "x": 372,
  829. "y": -24
  830. }
  831. }
  832. },
  833. "display": {
  834. "camera_x": 804,
  835. "camera_y": 537.5,
  836. "camera_z": 1,
  837. "x": -252,
  838. "y": 0
  839. }
  840. },
  841. {
  842. "version": "0.3.0",
  843. "scope": "tree",
  844. "id": "ac40be47-ca6f-4969-9ee0-881bc7f6f831",
  845. "title": "巡逻兵受击逻辑",
  846. "description": "",
  847. "root": "d4fa320c-bbc3-4258-813c-cfb13f5df1f4",
  848. "properties": {},
  849. "nodes": {
  850. "d4fa320c-bbc3-4258-813c-cfb13f5df1f4": {
  851. "id": "d4fa320c-bbc3-4258-813c-cfb13f5df1f4",
  852. "name": "Sequence",
  853. "category": "composite",
  854. "title": "Sequence",
  855. "description": "",
  856. "properties": {},
  857. "display": {
  858. "x": 24,
  859. "y": 24
  860. },
  861. "children": [
  862. "04bdb774-4d05-497d-894d-9c3e8974a3ad",
  863. "daeadd62-d74e-4dfd-8a1c-cd7bb34a4810",
  864. "0df0056e-0e92-4136-970d-706194b56556"
  865. ]
  866. },
  867. "daeadd62-d74e-4dfd-8a1c-cd7bb34a4810": {
  868. "id": "daeadd62-d74e-4dfd-8a1c-cd7bb34a4810",
  869. "name": "action_add_rage",
  870. "category": "action",
  871. "title": "增加<add_rage>怒气",
  872. "description": "action_add_rage\n增加怒气\n根据add_rage增加相应怒气,结果小于等于100\n返回:SUCCESS",
  873. "properties": {
  874. "add_rage": 5
  875. },
  876. "display": {
  877. "x": 228,
  878. "y": -12
  879. }
  880. },
  881. "e0c2363e-bc0c-4b1a-a11f-def279017890": {
  882. "id": "e0c2363e-bc0c-4b1a-a11f-def279017890",
  883. "name": "cond_is_died",
  884. "category": "condition",
  885. "title": "已经死亡",
  886. "description": "cond_is_died\n判断自己是否死亡\n死亡:SUCCESS\n存活:FAILURE",
  887. "properties": {},
  888. "display": {
  889. "x": 444,
  890. "y": 72
  891. }
  892. },
  893. "0df0056e-0e92-4136-970d-706194b56556": {
  894. "id": "0df0056e-0e92-4136-970d-706194b56556",
  895. "name": "Sequence",
  896. "category": "composite",
  897. "title": "Sequence",
  898. "description": "",
  899. "properties": {},
  900. "display": {
  901. "x": 228,
  902. "y": 168
  903. },
  904. "children": [
  905. "e0c2363e-bc0c-4b1a-a11f-def279017890",
  906. "9d4a7cc5-176b-47e8-8b89-df51f2737af8",
  907. "8da8ccf3-70ff-4fbe-8150-de4a0d6be8d1"
  908. ]
  909. },
  910. "8da8ccf3-70ff-4fbe-8150-de4a0d6be8d1": {
  911. "id": "8da8ccf3-70ff-4fbe-8150-de4a0d6be8d1",
  912. "name": "action_finish",
  913. "category": "action",
  914. "title": "游戏<is_win>",
  915. "description": "action_finish\n游戏结束,根据is_win属性打印结果\n打印结果,结束行为树运行\n返回:SUCCESS",
  916. "properties": {
  917. "is_win": "失败"
  918. },
  919. "display": {
  920. "x": 444,
  921. "y": 252
  922. }
  923. },
  924. "04bdb774-4d05-497d-894d-9c3e8974a3ad": {
  925. "id": "04bdb774-4d05-497d-894d-9c3e8974a3ad",
  926. "name": "action_cost_power",
  927. "category": "action",
  928. "title": "扣除体力",
  929. "description": "action_cost_power\n扣除体力\n获取Misc结构中的atk_dmg字段的值\n返回:SUCCESS",
  930. "properties": {
  931. "max_power": "",
  932. "min_power": ""
  933. },
  934. "display": {
  935. "x": 228,
  936. "y": -96
  937. }
  938. },
  939. "9d4a7cc5-176b-47e8-8b89-df51f2737af8": {
  940. "id": "9d4a7cc5-176b-47e8-8b89-df51f2737af8",
  941. "name": "action_died",
  942. "category": "action",
  943. "title": "自我死亡",
  944. "description": "action_died\n自我死亡\n销毁对象数据\n返回:SUCCESS",
  945. "properties": {},
  946. "display": {
  947. "x": 444,
  948. "y": 168
  949. }
  950. }
  951. },
  952. "display": {
  953. "camera_x": 723,
  954. "camera_y": 516.5,
  955. "camera_z": 1,
  956. "x": -180,
  957. "y": 24
  958. }
  959. },
  960. {
  961. "version": "0.3.0",
  962. "scope": "tree",
  963. "id": "1bbac5e1-753c-4f30-8fef-6db07a54746a",
  964. "title": "丧尸主动AI",
  965. "description": "",
  966. "root": "eb8e9463-53ff-4f24-b52f-f8a96eb5b850",
  967. "properties": {},
  968. "nodes": {
  969. "9413445a-1417-4b4d-9ad1-d2166629f6e6": {
  970. "id": "9413445a-1417-4b4d-9ad1-d2166629f6e6",
  971. "name": "cond_is_idle",
  972. "category": "condition",
  973. "title": "是空闲状态",
  974. "description": "cond_is_idle\n判断是否处于空闲状态\n是:SUCCESS\n否:FAILURE",
  975. "properties": {},
  976. "display": {
  977. "x": 276,
  978. "y": -228
  979. }
  980. },
  981. "cef0c3dd-76bc-468a-8cb8-04a334577975": {
  982. "id": "cef0c3dd-76bc-468a-8cb8-04a334577975",
  983. "name": "action_become_patrolling",
  984. "category": "action",
  985. "title": "变为巡逻状态",
  986. "description": "action_become_patrolling\n变为巡逻状态\n返回:SUCCESS",
  987. "properties": {},
  988. "display": {
  989. "x": 480,
  990. "y": -132
  991. }
  992. },
  993. "eb8e9463-53ff-4f24-b52f-f8a96eb5b850": {
  994. "id": "eb8e9463-53ff-4f24-b52f-f8a96eb5b850",
  995. "name": "Priority",
  996. "category": "composite",
  997. "title": "Priority",
  998. "description": "",
  999. "properties": {},
  1000. "display": {
  1001. "x": -144,
  1002. "y": 0
  1003. },
  1004. "children": [
  1005. "a595ab10-3b5e-48e6-89cb-6d04b61b8464",
  1006. "5ace3342-0d7a-40f1-b4ab-e2045bfc9bcf",
  1007. "a90441be-cfff-45e7-8366-c38dbf37a6da"
  1008. ]
  1009. },
  1010. "a595ab10-3b5e-48e6-89cb-6d04b61b8464": {
  1011. "id": "a595ab10-3b5e-48e6-89cb-6d04b61b8464",
  1012. "name": "Sequence",
  1013. "category": "composite",
  1014. "title": "Sequence",
  1015. "description": "",
  1016. "properties": {},
  1017. "display": {
  1018. "x": 60,
  1019. "y": -180
  1020. },
  1021. "children": [
  1022. "9413445a-1417-4b4d-9ad1-d2166629f6e6",
  1023. "25bfbded-ea50-40fd-ba5d-a433e4fce2f9"
  1024. ]
  1025. },
  1026. "698392c2-5651-4eee-8c08-aac7a7cad452": {
  1027. "id": "698392c2-5651-4eee-8c08-aac7a7cad452",
  1028. "name": "2fcfa9bf-f759-4eb6-9168-8ef89d1c46da",
  1029. "category": "tree",
  1030. "title": "丧尸攻击逻辑",
  1031. "description": "",
  1032. "properties": {},
  1033. "display": {
  1034. "x": 276,
  1035. "y": 216
  1036. }
  1037. },
  1038. "03082add-ab19-4c27-9926-086ee0bb3262": {
  1039. "id": "03082add-ab19-4c27-9926-086ee0bb3262",
  1040. "name": "5cb48d65-0fa7-4b75-82e8-a222a0deffdd",
  1041. "category": "tree",
  1042. "title": "丧尸巡逻逻辑",
  1043. "description": "",
  1044. "properties": {},
  1045. "display": {
  1046. "x": 276,
  1047. "y": 36
  1048. }
  1049. },
  1050. "e3619b0d-64b0-40f2-8246-a90ca01b23a9": {
  1051. "id": "e3619b0d-64b0-40f2-8246-a90ca01b23a9",
  1052. "name": "cond_is_patrolling",
  1053. "category": "condition",
  1054. "title": "是巡逻状态",
  1055. "description": "cond_is_patrolling\n判断是否处于巡逻状态\n是:SUCCESS\n否:FAILURE",
  1056. "properties": {},
  1057. "display": {
  1058. "x": 276,
  1059. "y": -48
  1060. }
  1061. },
  1062. "5ace3342-0d7a-40f1-b4ab-e2045bfc9bcf": {
  1063. "id": "5ace3342-0d7a-40f1-b4ab-e2045bfc9bcf",
  1064. "name": "Sequence",
  1065. "category": "composite",
  1066. "title": "Sequence",
  1067. "description": "",
  1068. "properties": {},
  1069. "display": {
  1070. "x": 60,
  1071. "y": 0
  1072. },
  1073. "children": [
  1074. "e3619b0d-64b0-40f2-8246-a90ca01b23a9",
  1075. "03082add-ab19-4c27-9926-086ee0bb3262"
  1076. ]
  1077. },
  1078. "a90441be-cfff-45e7-8366-c38dbf37a6da": {
  1079. "id": "a90441be-cfff-45e7-8366-c38dbf37a6da",
  1080. "name": "Sequence",
  1081. "category": "composite",
  1082. "title": "Sequence",
  1083. "description": "",
  1084. "properties": {},
  1085. "display": {
  1086. "x": 60,
  1087. "y": 168
  1088. },
  1089. "children": [
  1090. "8cbe368e-65ce-4cf2-8563-ca83ffc0f002",
  1091. "698392c2-5651-4eee-8c08-aac7a7cad452"
  1092. ]
  1093. },
  1094. "8cbe368e-65ce-4cf2-8563-ca83ffc0f002": {
  1095. "id": "8cbe368e-65ce-4cf2-8563-ca83ffc0f002",
  1096. "name": "cond_is_attacking",
  1097. "category": "condition",
  1098. "title": "是攻击状态",
  1099. "description": "cond_is_attacking\n判断是否处于攻击状态\n是:SUCCESS\n否:FAILURE",
  1100. "properties": {},
  1101. "display": {
  1102. "x": 276,
  1103. "y": 132
  1104. }
  1105. },
  1106. "25bfbded-ea50-40fd-ba5d-a433e4fce2f9": {
  1107. "id": "25bfbded-ea50-40fd-ba5d-a433e4fce2f9",
  1108. "name": "Inverter",
  1109. "category": "decorator",
  1110. "title": "Inverter",
  1111. "description": "",
  1112. "properties": {},
  1113. "display": {
  1114. "x": 276,
  1115. "y": -132
  1116. },
  1117. "child": "cef0c3dd-76bc-468a-8cb8-04a334577975"
  1118. }
  1119. },
  1120. "display": {
  1121. "camera_x": 960,
  1122. "camera_y": 508.5,
  1123. "camera_z": 1,
  1124. "x": -348,
  1125. "y": 0
  1126. }
  1127. },
  1128. {
  1129. "version": "0.3.0",
  1130. "scope": "tree",
  1131. "id": "5cb48d65-0fa7-4b75-82e8-a222a0deffdd",
  1132. "title": "丧尸巡逻逻辑",
  1133. "description": "",
  1134. "root": "0dd7d80e-734c-4832-9b1a-c8b85df4a580",
  1135. "properties": {},
  1136. "nodes": {
  1137. "0dd7d80e-734c-4832-9b1a-c8b85df4a580": {
  1138. "id": "0dd7d80e-734c-4832-9b1a-c8b85df4a580",
  1139. "name": "MemSequence",
  1140. "category": "composite",
  1141. "title": "MemSequence",
  1142. "description": "",
  1143. "properties": {},
  1144. "display": {
  1145. "x": -72,
  1146. "y": 36
  1147. },
  1148. "children": [
  1149. "5de1553f-7936-4349-8960-34d2ab175def",
  1150. "9d77ee7a-f5c3-4bdf-bc67-24d28cdce98b"
  1151. ]
  1152. },
  1153. "9d77ee7a-f5c3-4bdf-bc67-24d28cdce98b": {
  1154. "id": "9d77ee7a-f5c3-4bdf-bc67-24d28cdce98b",
  1155. "name": "Sequence",
  1156. "category": "composite",
  1157. "title": "Sequence",
  1158. "description": "",
  1159. "properties": {},
  1160. "display": {
  1161. "x": 132,
  1162. "y": 192
  1163. },
  1164. "children": [
  1165. "8320ac47-9d8c-432e-a0f3-3583e4e592e5",
  1166. "fe54994c-99a0-4086-a827-ffbfb9144653",
  1167. "4afa6247-b396-4e15-b1e4-2b5ec4659789",
  1168. "5dc62c15-2709-4cba-90cb-01f8e06e8f6c"
  1169. ]
  1170. },
  1171. "8320ac47-9d8c-432e-a0f3-3583e4e592e5": {
  1172. "id": "8320ac47-9d8c-432e-a0f3-3583e4e592e5",
  1173. "name": "Inverter",
  1174. "category": "decorator",
  1175. "title": "Inverter",
  1176. "description": "",
  1177. "properties": {},
  1178. "display": {
  1179. "x": 348,
  1180. "y": 0
  1181. },
  1182. "child": "a7ef4ace-028e-4d8e-9054-082acad9f568"
  1183. },
  1184. "fe54994c-99a0-4086-a827-ffbfb9144653": {
  1185. "id": "fe54994c-99a0-4086-a827-ffbfb9144653",
  1186. "name": "action_move_grid",
  1187. "category": "action",
  1188. "title": "移动一格",
  1189. "description": "action_move_grid\n移动一格\n返回:SUCCESS",
  1190. "properties": {},
  1191. "display": {
  1192. "x": 348,
  1193. "y": 132
  1194. }
  1195. },
  1196. "a7ef4ace-028e-4d8e-9054-082acad9f568": {
  1197. "id": "a7ef4ace-028e-4d8e-9054-082acad9f568",
  1198. "name": "Sequence",
  1199. "category": "composite",
  1200. "title": "Sequence",
  1201. "description": "",
  1202. "properties": {},
  1203. "display": {
  1204. "x": 552,
  1205. "y": 0
  1206. },
  1207. "children": [
  1208. "7f5cc5fa-39d2-4939-8a9c-158e75ca927a",
  1209. "1650138e-bccc-41dc-868f-d48485ac164e"
  1210. ]
  1211. },
  1212. "7f5cc5fa-39d2-4939-8a9c-158e75ca927a": {
  1213. "id": "7f5cc5fa-39d2-4939-8a9c-158e75ca927a",
  1214. "name": "cond_is_dest",
  1215. "category": "condition",
  1216. "title": "到达终点",
  1217. "description": "cond_is_dest\n判断是否到达终点\n是:SUCCESS\n否:FAILURE",
  1218. "properties": {},
  1219. "display": {
  1220. "x": 756,
  1221. "y": -48
  1222. }
  1223. },
  1224. "5dc62c15-2709-4cba-90cb-01f8e06e8f6c": {
  1225. "id": "5dc62c15-2709-4cba-90cb-01f8e06e8f6c",
  1226. "name": "Runner",
  1227. "category": "action",
  1228. "title": "Runner",
  1229. "description": "",
  1230. "properties": {},
  1231. "display": {
  1232. "x": 348,
  1233. "y": 396
  1234. }
  1235. },
  1236. "5de1553f-7936-4349-8960-34d2ab175def": {
  1237. "id": "5de1553f-7936-4349-8960-34d2ab175def",
  1238. "name": "action_collect_path",
  1239. "category": "action",
  1240. "title": "收集巡逻路径",
  1241. "description": "action_collect_path\n收集巡逻路径\n返回:SUCCESS",
  1242. "properties": {},
  1243. "display": {
  1244. "x": 132,
  1245. "y": -132
  1246. }
  1247. },
  1248. "1650138e-bccc-41dc-868f-d48485ac164e": {
  1249. "id": "1650138e-bccc-41dc-868f-d48485ac164e",
  1250. "name": "action_become_idle",
  1251. "category": "action",
  1252. "title": "变为空闲状态",
  1253. "description": "action_become_idle\n变为空闲状态\n返回:SUCCESS",
  1254. "properties": {},
  1255. "display": {
  1256. "x": 756,
  1257. "y": 36
  1258. }
  1259. },
  1260. "5f6c51dc-f579-4855-8fb7-342e93b9c255": {
  1261. "id": "5f6c51dc-f579-4855-8fb7-342e93b9c255",
  1262. "name": "action_collect_patrol",
  1263. "category": "action",
  1264. "title": "寻找巡逻兵",
  1265. "description": "action_collect_patrol\n寻找巡逻兵\n找到:SUCCESS\n未找到:FAILURE",
  1266. "properties": {},
  1267. "display": {
  1268. "x": 756,
  1269. "y": 216
  1270. }
  1271. },
  1272. "78d85af4-83d9-4a46-856b-ae4d5c710941": {
  1273. "id": "78d85af4-83d9-4a46-856b-ae4d5c710941",
  1274. "name": "Sequence",
  1275. "category": "composite",
  1276. "title": "Sequence",
  1277. "description": "",
  1278. "properties": {},
  1279. "display": {
  1280. "x": 552,
  1281. "y": 264
  1282. },
  1283. "children": [
  1284. "5f6c51dc-f579-4855-8fb7-342e93b9c255",
  1285. "bb283abe-9129-43a5-8fa4-2a9876042b41"
  1286. ]
  1287. },
  1288. "bb283abe-9129-43a5-8fa4-2a9876042b41": {
  1289. "id": "bb283abe-9129-43a5-8fa4-2a9876042b41",
  1290. "name": "action_become_attacking",
  1291. "category": "action",
  1292. "title": "变为攻击状态",
  1293. "description": "action_become_attacking\n变为攻击状态\n返回:SUCCESS",
  1294. "properties": {},
  1295. "display": {
  1296. "x": 756,
  1297. "y": 300
  1298. }
  1299. },
  1300. "4afa6247-b396-4e15-b1e4-2b5ec4659789": {
  1301. "id": "4afa6247-b396-4e15-b1e4-2b5ec4659789",
  1302. "name": "Inverter",
  1303. "category": "decorator",
  1304. "title": "Inverter",
  1305. "description": "",
  1306. "properties": {},
  1307. "display": {
  1308. "x": 348,
  1309. "y": 264
  1310. },
  1311. "child": "78d85af4-83d9-4a46-856b-ae4d5c710941"
  1312. }
  1313. },
  1314. "display": {
  1315. "camera_x": 648,
  1316. "camera_y": 397.5,
  1317. "camera_z": 1,
  1318. "x": -276,
  1319. "y": 36
  1320. }
  1321. },
  1322. {
  1323. "version": "0.3.0",
  1324. "scope": "tree",
  1325. "id": "2fcfa9bf-f759-4eb6-9168-8ef89d1c46da",
  1326. "title": "丧尸攻击逻辑",
  1327. "description": "",
  1328. "root": "95440e68-5b72-4f57-a643-0b5ad4cf16c3",
  1329. "properties": {},
  1330. "nodes": {
  1331. "95440e68-5b72-4f57-a643-0b5ad4cf16c3": {
  1332. "id": "95440e68-5b72-4f57-a643-0b5ad4cf16c3",
  1333. "name": "Sequence",
  1334. "category": "composite",
  1335. "title": "Sequence",
  1336. "description": "",
  1337. "properties": {},
  1338. "display": {
  1339. "x": 204,
  1340. "y": 0
  1341. },
  1342. "children": [
  1343. "64d0d38a-d813-4350-8864-9f49d4cc2cd1",
  1344. "795036b5-a153-4872-b42f-a583b09c517e"
  1345. ]
  1346. },
  1347. "64d0d38a-d813-4350-8864-9f49d4cc2cd1": {
  1348. "id": "64d0d38a-d813-4350-8864-9f49d4cc2cd1",
  1349. "name": "Inverter",
  1350. "category": "decorator",
  1351. "title": "Inverter",
  1352. "description": "",
  1353. "properties": {},
  1354. "display": {
  1355. "x": 408,
  1356. "y": -96
  1357. },
  1358. "child": "b1dcd56f-2af7-4771-b280-30d0d6215d34"
  1359. },
  1360. "b1dcd56f-2af7-4771-b280-30d0d6215d34": {
  1361. "id": "b1dcd56f-2af7-4771-b280-30d0d6215d34",
  1362. "name": "Sequence",
  1363. "category": "composite",
  1364. "title": "Sequence",
  1365. "description": "",
  1366. "properties": {},
  1367. "display": {
  1368. "x": 624,
  1369. "y": -96
  1370. },
  1371. "children": [
  1372. "c0f543a4-ab0c-48d8-8ea4-a714762e9f0e",
  1373. "9fcaa262-144f-4340-bc30-1469ed6ac7f0",
  1374. "5bbba631-c4da-452a-9e65-f22d12d98ba2"
  1375. ]
  1376. },
  1377. "5bbba631-c4da-452a-9e65-f22d12d98ba2": {
  1378. "id": "5bbba631-c4da-452a-9e65-f22d12d98ba2",
  1379. "name": "action_become_idle",
  1380. "category": "action",
  1381. "title": "变为空闲状态",
  1382. "description": "action_become_idle\n变为空闲状态\n返回:SUCCESS",
  1383. "properties": {},
  1384. "display": {
  1385. "x": 828,
  1386. "y": 0
  1387. }
  1388. },
  1389. "c0f543a4-ab0c-48d8-8ea4-a714762e9f0e": {
  1390. "id": "c0f543a4-ab0c-48d8-8ea4-a714762e9f0e",
  1391. "name": "cond_is_target_died",
  1392. "category": "condition",
  1393. "title": "目标死亡",
  1394. "description": "cond_is_target_died\n判断目标是否死亡\n死亡:SUCCESS\n未死亡:FAILURE",
  1395. "properties": {},
  1396. "display": {
  1397. "x": 828,
  1398. "y": -180
  1399. }
  1400. },
  1401. "795036b5-a153-4872-b42f-a583b09c517e": {
  1402. "id": "795036b5-a153-4872-b42f-a583b09c517e",
  1403. "name": "action_skill_attack",
  1404. "category": "action",
  1405. "title": "技能攻击",
  1406. "description": "action_skill_attack\n技能攻击\nskill_type : 普通攻击,技能攻击\n 随机伤害值 RAND(min_power ,max_power) * RAND(min_rate, max_rate)\n返回:SUCCESS",
  1407. "properties": {
  1408. "min_power": 1,
  1409. "max_power": 10,
  1410. "min_rate": 1,
  1411. "max_rate": 3,
  1412. "skill_type": "撕咬"
  1413. },
  1414. "display": {
  1415. "x": 408,
  1416. "y": 84
  1417. }
  1418. },
  1419. "9fcaa262-144f-4340-bc30-1469ed6ac7f0": {
  1420. "id": "9fcaa262-144f-4340-bc30-1469ed6ac7f0",
  1421. "name": "action_del_dead_target",
  1422. "category": "action",
  1423. "title": "删除死亡目标",
  1424. "description": "action_del_dead_target\n删除死亡目标\n删除rival_list中第一个目标\n返回:SUCCESS",
  1425. "properties": {},
  1426. "display": {
  1427. "x": 828,
  1428. "y": -96
  1429. }
  1430. }
  1431. },
  1432. "display": {
  1433. "camera_x": 446,
  1434. "camera_y": 521.5,
  1435. "camera_z": 1,
  1436. "x": 0,
  1437. "y": 0
  1438. }
  1439. },
  1440. {
  1441. "version": "0.3.0",
  1442. "scope": "tree",
  1443. "id": "2e441ec0-fdeb-4ab4-8738-f3bba3d7cc93",
  1444. "title": "丧尸被动AI",
  1445. "description": "",
  1446. "root": "35e25c83-58a9-4b80-9876-0d3eb8a0039e",
  1447. "properties": {},
  1448. "nodes": {
  1449. "35e25c83-58a9-4b80-9876-0d3eb8a0039e": {
  1450. "id": "35e25c83-58a9-4b80-9876-0d3eb8a0039e",
  1451. "name": "Sequence",
  1452. "category": "composite",
  1453. "title": "Sequence",
  1454. "description": "",
  1455. "properties": {},
  1456. "display": {
  1457. "x": -36,
  1458. "y": 0
  1459. },
  1460. "children": [
  1461. "1dd4c3f5-3e36-4327-8612-6603529a4fe8",
  1462. "d0f019f0-b156-4a47-856f-710eabb8c1d5"
  1463. ]
  1464. },
  1465. "a44f21a3-743a-4ea0-8350-5981428ce497": {
  1466. "id": "a44f21a3-743a-4ea0-8350-5981428ce497",
  1467. "name": "cond_is_died",
  1468. "category": "condition",
  1469. "title": "已经死亡",
  1470. "description": "cond_is_died\n判断自己是否死亡\n死亡:SUCCESS\n存活:FAILURE",
  1471. "properties": {},
  1472. "display": {
  1473. "x": 384,
  1474. "y": 12
  1475. }
  1476. },
  1477. "d0f019f0-b156-4a47-856f-710eabb8c1d5": {
  1478. "id": "d0f019f0-b156-4a47-856f-710eabb8c1d5",
  1479. "name": "Sequence",
  1480. "category": "composite",
  1481. "title": "Sequence",
  1482. "description": "",
  1483. "properties": {},
  1484. "display": {
  1485. "x": 168,
  1486. "y": 60
  1487. },
  1488. "children": [
  1489. "a44f21a3-743a-4ea0-8350-5981428ce497",
  1490. "468dc36b-d1e5-4d77-a8a2-ac5079628799"
  1491. ]
  1492. },
  1493. "1dd4c3f5-3e36-4327-8612-6603529a4fe8": {
  1494. "id": "1dd4c3f5-3e36-4327-8612-6603529a4fe8",
  1495. "name": "action_cost_power",
  1496. "category": "action",
  1497. "title": "扣除体力",
  1498. "description": "action_cost_power\n扣除体力\n获取Misc结构中的atk_dmg字段的值\n返回:SUCCESS",
  1499. "properties": {
  1500. "max_power": "",
  1501. "min_power": ""
  1502. },
  1503. "display": {
  1504. "x": 168,
  1505. "y": -72
  1506. }
  1507. },
  1508. "468dc36b-d1e5-4d77-a8a2-ac5079628799": {
  1509. "id": "468dc36b-d1e5-4d77-a8a2-ac5079628799",
  1510. "name": "action_died",
  1511. "category": "action",
  1512. "title": "自我死亡",
  1513. "description": "action_died\n自我死亡\n销毁对象数据\n返回:SUCCESS",
  1514. "properties": {},
  1515. "display": {
  1516. "x": 384,
  1517. "y": 108
  1518. }
  1519. }
  1520. },
  1521. "display": {
  1522. "camera_x": 817,
  1523. "camera_y": 507.5,
  1524. "camera_z": 1,
  1525. "x": -240,
  1526. "y": 0
  1527. }
  1528. }
  1529. ],
  1530. "custom_nodes": [
  1531. {
  1532. "version": "0.3.0",
  1533. "scope": "node",
  1534. "name": "cond_is_patrolling",
  1535. "category": "condition",
  1536. "title": "是巡逻状态",
  1537. "description": "cond_is_patrolling\n判断是否处于巡逻状态\n是:SUCCESS\n否:FAILURE",
  1538. "properties": {}
  1539. },
  1540. {
  1541. "version": "0.3.0",
  1542. "scope": "node",
  1543. "name": "cond_is_dest",
  1544. "category": "condition",
  1545. "title": "到达终点",
  1546. "description": "cond_is_dest\n判断是否到达终点\n是:SUCCESS\n否:FAILURE",
  1547. "properties": {}
  1548. },
  1549. {
  1550. "version": "0.3.0",
  1551. "scope": "node",
  1552. "name": "action_move_grid",
  1553. "category": "action",
  1554. "title": "移动一格",
  1555. "description": "action_move_grid\n移动一格\n返回:SUCCESS",
  1556. "properties": {}
  1557. },
  1558. {
  1559. "version": "0.3.0",
  1560. "scope": "node",
  1561. "name": "action_become_idle",
  1562. "category": "action",
  1563. "title": "变为空闲状态",
  1564. "description": "action_become_idle\n变为空闲状态\n返回:SUCCESS",
  1565. "properties": {}
  1566. },
  1567. {
  1568. "version": "0.3.0",
  1569. "scope": "node",
  1570. "name": "cond_is_attacking",
  1571. "category": "condition",
  1572. "title": "是攻击状态",
  1573. "description": "cond_is_attacking\n判断是否处于攻击状态\n是:SUCCESS\n否:FAILURE",
  1574. "properties": {}
  1575. },
  1576. {
  1577. "version": "0.3.0",
  1578. "scope": "node",
  1579. "name": "cond_is_rage_full",
  1580. "category": "condition",
  1581. "title": "怒气值已满",
  1582. "description": "cond_is_rage_full\n判断怒气值是否已满\n已满:SUCCESS\n未满:FAILURE",
  1583. "properties": {}
  1584. },
  1585. {
  1586. "version": "0.3.0",
  1587. "scope": "node",
  1588. "name": "cond_is_power_full",
  1589. "category": "condition",
  1590. "title": "体力已满",
  1591. "description": "cond_is_power_full\n判断体力是否已满\n已满:SUCCESS\n未满:FAILURE",
  1592. "properties": {}
  1593. },
  1594. {
  1595. "version": "0.3.0",
  1596. "scope": "node",
  1597. "name": "cond_is_died",
  1598. "category": "condition",
  1599. "title": "已经死亡",
  1600. "description": "cond_is_died\n判断自己是否死亡\n死亡:SUCCESS\n存活:FAILURE",
  1601. "properties": {}
  1602. },
  1603. {
  1604. "version": "0.3.0",
  1605. "scope": "node",
  1606. "name": "cond_is_target_died",
  1607. "category": "condition",
  1608. "title": "目标死亡",
  1609. "description": "cond_is_target_died\n判断目标是否死亡\n死亡:SUCCESS\n未死亡:FAILURE",
  1610. "properties": {}
  1611. },
  1612. {
  1613. "version": "0.3.0",
  1614. "scope": "node",
  1615. "name": "cond_is_idle",
  1616. "category": "condition",
  1617. "title": "是空闲状态",
  1618. "description": "cond_is_idle\n判断是否处于空闲状态\n是:SUCCESS\n否:FAILURE",
  1619. "properties": {}
  1620. },
  1621. {
  1622. "version": "0.3.0",
  1623. "scope": "node",
  1624. "name": "action_become_patrolling",
  1625. "category": "action",
  1626. "title": "变为巡逻状态",
  1627. "description": "action_become_patrolling\n变为巡逻状态\n返回:SUCCESS",
  1628. "properties": {}
  1629. },
  1630. {
  1631. "version": "0.3.0",
  1632. "scope": "node",
  1633. "name": "action_finish",
  1634. "category": "action",
  1635. "title": "游戏<is_win>",
  1636. "description": "action_finish\n游戏结束,根据is_win属性打印结果\n打印结果,结束行为树运行\n返回:SUCCESS",
  1637. "properties": {
  1638. "is_win": ""
  1639. }
  1640. },
  1641. {
  1642. "version": "0.3.0",
  1643. "scope": "node",
  1644. "name": "action_add_rage",
  1645. "category": "action",
  1646. "title": "增加<add_rage>怒气",
  1647. "description": "action_add_rage\n增加怒气\n根据add_rage增加相应怒气,结果小于等于100\n返回:SUCCESS",
  1648. "properties": {
  1649. "add_rage": ""
  1650. }
  1651. },
  1652. {
  1653. "version": "0.3.0",
  1654. "scope": "node",
  1655. "name": "action_recover_power",
  1656. "category": "action",
  1657. "title": "恢复<max_power> - <min_power>体力",
  1658. "description": "action_recover_power\n恢复体力\n根据Max - Min之间随机恢复几点体力\n返回:SUCCESS",
  1659. "properties": {
  1660. "max_power": "",
  1661. "min_power": ""
  1662. }
  1663. },
  1664. {
  1665. "version": "0.3.0",
  1666. "scope": "node",
  1667. "name": "action_cost_rage",
  1668. "category": "action",
  1669. "title": "扣除<cost_rage>怒气",
  1670. "description": "action_cost_rage\n扣除怒气\n根据cost_rage扣除相应怒气,结果大于等于0\n返回:SUCCESS",
  1671. "properties": {
  1672. "cost_rage": ""
  1673. }
  1674. },
  1675. {
  1676. "version": "0.3.0",
  1677. "scope": "node",
  1678. "name": "cond_is_recovering",
  1679. "category": "condition",
  1680. "title": "是恢复状态",
  1681. "description": "cond_is_recovering\n判断是否处于恢复状态\n是:SUCCESS\n否:FAILURE",
  1682. "properties": {}
  1683. },
  1684. {
  1685. "version": "0.3.0",
  1686. "scope": "node",
  1687. "name": "action_become_recovering",
  1688. "category": "action",
  1689. "title": "变为恢复状态",
  1690. "description": "action_become_recovering\n变为恢复状态\n返回:SUCCESS",
  1691. "properties": {}
  1692. },
  1693. {
  1694. "version": "0.3.0",
  1695. "scope": "node",
  1696. "name": "cond_power_lt",
  1697. "category": "condition",
  1698. "title": "体力小于<power>",
  1699. "description": "cond_power_lt\n判断体力是否小于某值\n是:SUCCESS\n否:FAILURE",
  1700. "properties": {
  1701. "power": 50
  1702. }
  1703. },
  1704. {
  1705. "version": "0.3.0",
  1706. "scope": "node",
  1707. "name": "action_become_attacking",
  1708. "category": "action",
  1709. "title": "变为攻击状态",
  1710. "description": "action_become_attacking\n变为攻击状态\n返回:SUCCESS",
  1711. "properties": {}
  1712. },
  1713. {
  1714. "version": "0.3.0",
  1715. "scope": "node",
  1716. "name": "action_collect_dest_path",
  1717. "category": "action",
  1718. "title": "收集终点路径",
  1719. "description": "action_collect_dest_path\n收集终点路径\n返回:SUCCESS",
  1720. "properties": {}
  1721. },
  1722. {
  1723. "version": "0.3.0",
  1724. "scope": "node",
  1725. "name": "action_collect_path",
  1726. "category": "action",
  1727. "title": "收集巡逻路径",
  1728. "description": "action_collect_path\n收集巡逻路径\n返回:SUCCESS",
  1729. "properties": {}
  1730. },
  1731. {
  1732. "version": "0.3.0",
  1733. "scope": "node",
  1734. "name": "action_collect_patrol",
  1735. "category": "action",
  1736. "title": "寻找巡逻兵",
  1737. "description": "action_collect_patrol\n寻找巡逻兵\n找到:SUCCESS\n未找到:FAILURE",
  1738. "properties": {}
  1739. },
  1740. {
  1741. "version": "0.3.0",
  1742. "scope": "node",
  1743. "name": "action_cost_power",
  1744. "category": "action",
  1745. "title": "扣除体力",
  1746. "description": "action_cost_power\n扣除体力\n获取Misc结构中的atk_dmg字段的值\n返回:SUCCESS",
  1747. "properties": {
  1748. "max_power": "",
  1749. "min_power": ""
  1750. }
  1751. },
  1752. {
  1753. "version": "0.3.0",
  1754. "scope": "node",
  1755. "name": "action_skill_attack",
  1756. "category": "action",
  1757. "title": "技能攻击",
  1758. "description": "action_skill_attack\n技能攻击\nskill_type : 普通攻击,技能攻击\n 随机伤害值 RAND(min_power ,max_power) * RAND(min_rate, max_rate)\n返回:SUCCESS",
  1759. "properties": {
  1760. "min_power": 0,
  1761. "max_power": 0,
  1762. "min_rate": 0,
  1763. "max_rate": 0,
  1764. "skill_type": ""
  1765. }
  1766. },
  1767. {
  1768. "version": "0.3.0",
  1769. "scope": "node",
  1770. "name": "action_del_dead_target",
  1771. "category": "action",
  1772. "title": "删除死亡目标",
  1773. "description": "action_del_dead_target\n删除死亡目标\n删除rival_list中第一个目标\n返回:SUCCESS",
  1774. "properties": {}
  1775. },
  1776. {
  1777. "version": "0.3.0",
  1778. "scope": "node",
  1779. "name": "action_died",
  1780. "category": "action",
  1781. "title": "自我死亡",
  1782. "description": "action_died\n自我死亡\n销毁对象数据\n返回:SUCCESS",
  1783. "properties": {}
  1784. }
  1785. ]
  1786. }