weapons.json 23 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115
  1. {
  2. "weapons": [
  3. {
  4. "id": "pea_shooter",
  5. "name": "毛豆射手",
  6. "type": "single_shot",
  7. "rarity": "common",
  8. "weight": 30,
  9. "stats": {
  10. "damage": 10,
  11. "fireRate": 10.0,
  12. "range": 450,
  13. "bulletSpeed": 30
  14. },
  15. "bulletConfig": {
  16. "count": {
  17. "type": "single",
  18. "amount": 1,
  19. "spreadAngle": 0,
  20. "burstCount": 1,
  21. "burstDelay": 0
  22. },
  23. "trajectory": {
  24. "type": "straight",
  25. "speed": 200,
  26. "gravity": 0,
  27. "arcHeight": 0,
  28. "homingStrength": 0,
  29. "homingDelay": 0
  30. },
  31. "hitEffects": [
  32. {
  33. "type": "normal_damage",
  34. "priority": 1,
  35. "damage": 10
  36. }
  37. ],
  38. "lifecycle": {
  39. "type": "hit_destroy",
  40. "maxLifetime": 5.0,
  41. "penetration": 1,
  42. "ricochetCount": 0,
  43. "returnToOrigin": false
  44. },
  45. "visual": {
  46. "bulletPrefab": "bullets/Pea_ShooterBullet",
  47. "hitEffect": "Animation/WeaponTx/tx0002/tx0002",
  48. "trailEffect": true
  49. }
  50. },
  51. "visualConfig": {
  52. "weaponSprites": {
  53. "I": "images/PlantsSprite/001-1",
  54. "H-I": "images/PlantsSprite/001-1",
  55. "L": "images/PlantsSprite/001-1",
  56. "S": "images/PlantsSprite/001-1",
  57. "D-T": "images/PlantsSprite/001-1"
  58. },
  59. "fireSound": "audio/pea_shooter_shot"
  60. },
  61. "upgradeConfig": {
  62. "maxLevel": 10,
  63. "levels": {
  64. "1": {
  65. "cost": 100,
  66. "damage": 10
  67. },
  68. "2": {
  69. "cost": 150,
  70. "damage": 11
  71. },
  72. "3": {
  73. "cost": 200,
  74. "damage": 12
  75. },
  76. "4": {
  77. "cost": 250,
  78. "damage": 13
  79. },
  80. "5": {
  81. "cost": 300,
  82. "damage": 14
  83. },
  84. "6": {
  85. "cost": 350,
  86. "damage": 15
  87. },
  88. "7": {
  89. "cost": 400,
  90. "damage": 16
  91. },
  92. "8": {
  93. "cost": 450,
  94. "damage": 17
  95. },
  96. "9": {
  97. "cost": 500,
  98. "damage": 18
  99. },
  100. "10": {
  101. "cost": 550,
  102. "damage": 19
  103. }
  104. }
  105. },
  106. "inGameCostConfig": {
  107. "baseCost": 5,
  108. "shapeCosts": {
  109. "I": 10,
  110. "H-I": 10,
  111. "L": 15,
  112. "S": 20,
  113. "D-T": 20
  114. }
  115. }
  116. },
  117. {
  118. "id": "sharp_carrot",
  119. "name": "尖胡萝卜",
  120. "type": "piercing",
  121. "rarity": "common",
  122. "weight": 25,
  123. "stats": {
  124. "damage": 8,
  125. "fireRate": 10.0,
  126. "range": 400,
  127. "bulletSpeed": 20
  128. },
  129. "bulletConfig": {
  130. "count": {
  131. "type": "single",
  132. "amount": 1,
  133. "spreadAngle": 0,
  134. "burstCount": 1,
  135. "burstDelay": 0
  136. },
  137. "trajectory": {
  138. "type": "straight",
  139. "speed": 200,
  140. "gravity": 0,
  141. "arcHeight": 0,
  142. "homingStrength": 0,
  143. "homingDelay": 0
  144. },
  145. "hitEffects": [
  146. {
  147. "type": "pierce_damage",
  148. "priority": 1,
  149. "damage": 8,
  150. "pierceCount": 999
  151. }
  152. ],
  153. "lifecycle": {
  154. "type": "range_limit",
  155. "maxLifetime": 5.0,
  156. "penetration": 999,
  157. "ricochetCount": 0,
  158. "returnToOrigin": false,
  159. "maxRange": 800
  160. },
  161. "visual": {
  162. "bulletPrefab": "bullets/Sharp_CarrotBullet",
  163. "hitEffect": "Animation/WeaponTx/tx0002/tx0002",
  164. "trailEffect": "Animation/WeaponTx/tx0001/tx0001"
  165. }
  166. },
  167. "visualConfig": {
  168. "weaponSprites": {
  169. "I": "images/PlantsSprite/002",
  170. "H-I": "images/PlantsSprite/002",
  171. "L": "images/PlantsSprite/002",
  172. "S": "images/PlantsSprite/002",
  173. "D-T": "images/PlantsSprite/002"
  174. },
  175. "fireSound": "audio/sharp_carrot_shot"
  176. },
  177. "upgradeConfig": {
  178. "maxLevel": 10,
  179. "levels": {
  180. "1": {
  181. "cost": 120,
  182. "damage": 8
  183. },
  184. "2": {
  185. "cost": 180,
  186. "damage": 9
  187. },
  188. "3": {
  189. "cost": 240,
  190. "damage": 10
  191. },
  192. "4": {
  193. "cost": 300,
  194. "damage": 11
  195. },
  196. "5": {
  197. "cost": 360,
  198. "damage": 12
  199. },
  200. "6": {
  201. "cost": 420,
  202. "damage": 13
  203. },
  204. "7": {
  205. "cost": 480,
  206. "damage": 14
  207. },
  208. "8": {
  209. "cost": 540,
  210. "damage": 15
  211. },
  212. "9": {
  213. "cost": 600,
  214. "damage": 16
  215. },
  216. "10": {
  217. "cost": 660,
  218. "damage": 17
  219. }
  220. }
  221. },
  222. "inGameCostConfig": {
  223. "baseCost": 6,
  224. "shapeCosts": {
  225. "I": 12,
  226. "H-I": 12,
  227. "L": 18,
  228. "S": 24,
  229. "D-T": 24
  230. }
  231. }
  232. },
  233. {
  234. "id": "saw_grass",
  235. "name": "锯齿草",
  236. "type": "ricochet_piercing",
  237. "rarity": "uncommon",
  238. "weight": 20,
  239. "stats": {
  240. "damage": 8,
  241. "fireRate": 10.0,
  242. "range": 350,
  243. "bulletSpeed": 30
  244. },
  245. "bulletConfig": {
  246. "count": {
  247. "type": "single",
  248. "amount": 1,
  249. "spreadAngle": 0,
  250. "burstCount": 1,
  251. "burstDelay": 0
  252. },
  253. "trajectory": {
  254. "type": "straight",
  255. "speed": 200,
  256. "gravity": 0,
  257. "arcHeight": 0,
  258. "homingStrength": 0,
  259. "homingDelay": 0
  260. },
  261. "hitEffects": [
  262. {
  263. "type": "ricochet_damage",
  264. "priority": 1,
  265. "damage": 8,
  266. "ricochetCount": 2,
  267. "ricochetAngle": 45
  268. },
  269. {
  270. "type": "pierce_damage",
  271. "priority": 2,
  272. "damage": 8,
  273. "pierceCount": 3
  274. }
  275. ],
  276. "lifecycle": {
  277. "type": "ricochet_counter",
  278. "maxLifetime": 8.0,
  279. "penetration": 3,
  280. "ricochetCount": 3,
  281. "returnToOrigin": false
  282. },
  283. "visual": {
  284. "bulletPrefab": "bullets/Saw_GrassBullet",
  285. "hitEffect": "Animation/WeaponTx/tx0002/tx0002",
  286. "trailEffect": true
  287. }
  288. },
  289. "visualConfig": {
  290. "weaponSprites": {
  291. "I": "images/PlantsSprite/003",
  292. "H-I": "images/PlantsSprite/003",
  293. "L": "images/PlantsSprite/003",
  294. "S": "images/PlantsSprite/003",
  295. "D-T": "images/PlantsSprite/003"
  296. },
  297. "fireSound": "audio/saw_grass_shot"
  298. },
  299. "upgradeConfig": {
  300. "maxLevel": 10,
  301. "levels": {
  302. "1": {
  303. "cost": 120,
  304. "damage": 8
  305. },
  306. "2": {
  307. "cost": 180,
  308. "damage": 9
  309. },
  310. "3": {
  311. "cost": 240,
  312. "damage": 10
  313. },
  314. "4": {
  315. "cost": 300,
  316. "damage": 11
  317. },
  318. "5": {
  319. "cost": 360,
  320. "damage": 12
  321. },
  322. "6": {
  323. "cost": 420,
  324. "damage": 13
  325. },
  326. "7": {
  327. "cost": 480,
  328. "damage": 14
  329. },
  330. "8": {
  331. "cost": 540,
  332. "damage": 15
  333. },
  334. "9": {
  335. "cost": 600,
  336. "damage": 16
  337. },
  338. "10": {
  339. "cost": 660,
  340. "damage": 17
  341. }
  342. }
  343. },
  344. "inGameCostConfig": {
  345. "baseCost": 6,
  346. "shapeCosts": {
  347. "I": 12,
  348. "H-I": 12,
  349. "L": 18,
  350. "S": 24,
  351. "D-T": 24
  352. }
  353. }
  354. },
  355. {
  356. "id": "watermelon_bomb",
  357. "name": "西瓜炸弹",
  358. "type": "explosive",
  359. "rarity": "rare",
  360. "weight": 15,
  361. "stats": {
  362. "damage": 15,
  363. "fireRate": 10.0,
  364. "range": 500,
  365. "bulletSpeed": 20
  366. },
  367. "bulletConfig": {
  368. "count": {
  369. "type": "single",
  370. "amount": 1,
  371. "spreadAngle": 0,
  372. "burstCount": 1,
  373. "burstDelay": 0
  374. },
  375. "trajectory": {
  376. "type": "arc",
  377. "speed": 200,
  378. "gravity": 0,
  379. "arcHeight": 0,
  380. "homingStrength": 0,
  381. "homingDelay": 0
  382. },
  383. "hitEffects": [
  384. {
  385. "type": "explosion",
  386. "priority": 1,
  387. "damage": 35,
  388. "radius": 100,
  389. "delay": 0.1
  390. }
  391. ],
  392. "lifecycle": {
  393. "type": "ground_impact",
  394. "maxLifetime": 5.0,
  395. "penetration": 1,
  396. "ricochetCount": 0,
  397. "returnToOrigin": false
  398. },
  399. "visual": {
  400. "bulletPrefab": "bullets/Watermelon_BombBullet",
  401. "hitEffect": "Animation/WeaponTx/tx0007/tx0007",
  402. "trailEffect": true,
  403. "explosionEffect": "Animation/WeaponTx/tx0007/tx0007"
  404. }
  405. },
  406. "visualConfig": {
  407. "weaponSprites": {
  408. "I": "images/PlantsSprite/007",
  409. "H-I": "images/PlantsSprite/007",
  410. "L": "images/PlantsSprite/007",
  411. "S": "images/PlantsSprite/007",
  412. "D-T": "images/PlantsSprite/007"
  413. },
  414. "fireSound": "audio/watermelon_bomb_shot"
  415. },
  416. "upgradeConfig": {
  417. "maxLevel": 10,
  418. "levels": {
  419. "1": {
  420. "cost": 150,
  421. "damage": 15
  422. },
  423. "2": {
  424. "cost": 225,
  425. "damage": 17
  426. },
  427. "3": {
  428. "cost": 300,
  429. "damage": 19
  430. },
  431. "4": {
  432. "cost": 375,
  433. "damage": 21
  434. },
  435. "5": {
  436. "cost": 450,
  437. "damage": 23
  438. },
  439. "6": {
  440. "cost": 525,
  441. "damage": 25
  442. },
  443. "7": {
  444. "cost": 600,
  445. "damage": 27
  446. },
  447. "8": {
  448. "cost": 675,
  449. "damage": 29
  450. },
  451. "9": {
  452. "cost": 750,
  453. "damage": 31
  454. },
  455. "10": {
  456. "cost": 825,
  457. "damage": 33
  458. }
  459. }
  460. },
  461. "inGameCostConfig": {
  462. "baseCost": 10,
  463. "shapeCosts": {
  464. "I": 20,
  465. "H-I": 20,
  466. "L": 30,
  467. "S": 40,
  468. "D-T": 40
  469. }
  470. }
  471. },
  472. {
  473. "id": "boomerang_plant",
  474. "name": "回旋镖盆栽",
  475. "type": "boomerang",
  476. "rarity": "uncommon",
  477. "weight": 18,
  478. "stats": {
  479. "damage": 10,
  480. "fireRate": 10.0,
  481. "range": 300,
  482. "bulletSpeed": 20
  483. },
  484. "bulletConfig": {
  485. "count": {
  486. "type": "single",
  487. "amount": 1,
  488. "spreadAngle": 0,
  489. "burstCount": 1,
  490. "burstDelay": 0
  491. },
  492. "trajectory": {
  493. "type": "homing",
  494. "speed": 15,
  495. "gravity": 0,
  496. "homingStrength": 0.5,
  497. "homingDelay": 0.3
  498. },
  499. "hitEffects": [
  500. {
  501. "type": "pierce_damage",
  502. "priority": 1,
  503. "damage": 10,
  504. "pierceCount": 999
  505. }
  506. ],
  507. "lifecycle": {
  508. "type": "return_trip",
  509. "maxLifetime": 10.0,
  510. "penetration": 999,
  511. "ricochetCount": 0,
  512. "returnToOrigin": true,
  513. "returnDelay": 1.0
  514. },
  515. "visual": {
  516. "bulletPrefab": "bullets/Boomerang_PlantBullet",
  517. "hitEffect": "Animation/WeaponTx/tx0002/tx0002",
  518. "trailEffect": true
  519. }
  520. },
  521. "visualConfig": {
  522. "weaponSprites": {
  523. "I": "images/PlantsSprite/004",
  524. "H-I": "images/PlantsSprite/004",
  525. "L": "images/PlantsSprite/004",
  526. "S": "images/PlantsSprite/004",
  527. "D-T": "images/PlantsSprite/004"
  528. },
  529. "fireSound": "audio/boomerang_plant_shot"
  530. },
  531. "upgradeConfig": {
  532. "maxLevel": 10,
  533. "levels": {
  534. "1": {
  535. "cost": 120,
  536. "damage": 10
  537. },
  538. "2": {
  539. "cost": 180,
  540. "damage": 11
  541. },
  542. "3": {
  543. "cost": 240,
  544. "damage": 12
  545. },
  546. "4": {
  547. "cost": 300,
  548. "damage": 13
  549. },
  550. "5": {
  551. "cost": 360,
  552. "damage": 14
  553. },
  554. "6": {
  555. "cost": 420,
  556. "damage": 15
  557. },
  558. "7": {
  559. "cost": 480,
  560. "damage": 16
  561. },
  562. "8": {
  563. "cost": 540,
  564. "damage": 17
  565. },
  566. "9": {
  567. "cost": 600,
  568. "damage": 18
  569. },
  570. "10": {
  571. "cost": 660,
  572. "damage": 19
  573. }
  574. }
  575. },
  576. "inGameCostConfig": {
  577. "baseCost": 6,
  578. "shapeCosts": {
  579. "I": 12,
  580. "H-I": 12,
  581. "L": 18,
  582. "S": 24,
  583. "D-T": 24
  584. }
  585. }
  586. },
  587. {
  588. "id": "hot_pepper",
  589. "name": "炙热辣椒",
  590. "type": "area_burn",
  591. "rarity": "rare",
  592. "weight": 12,
  593. "stats": {
  594. "damage": 15,
  595. "fireRate": 10.0,
  596. "range": 500,
  597. "bulletSpeed": 20
  598. },
  599. "bulletConfig": {
  600. "count": {
  601. "type": "single",
  602. "amount": 1,
  603. "spreadAngle": 0,
  604. "burstCount": 1,
  605. "burstDelay": 0
  606. },
  607. "trajectory": {
  608. "type": "straight",
  609. "speed": 200,
  610. "gravity": 0,
  611. "arcHeight": 0,
  612. "homingStrength": 0,
  613. "homingDelay": 0
  614. },
  615. "hitEffects": [
  616. {
  617. "type": "normal_damage",
  618. "priority": 1,
  619. "damage": 15
  620. },
  621. {
  622. "type": "ground_burn",
  623. "priority": 2,
  624. "damage": 5,
  625. "duration": 3.0,
  626. "tickInterval": 0.5
  627. }
  628. ],
  629. "lifecycle": {
  630. "type": "hit_destroy",
  631. "maxLifetime": 5.0,
  632. "penetration": 1,
  633. "ricochetCount": 0,
  634. "returnToOrigin": false
  635. },
  636. "visual": {
  637. "bulletPrefab": "bullets/Hot_PepperBullet",
  638. "hitEffect": "Animation/WeaponTx/tx0002/tx0002",
  639. "trailEffect": true,
  640. "burnEffect": "Animation/WeaponTx/tx0006/tx0006"
  641. }
  642. },
  643. "visualConfig": {
  644. "weaponSprites": {
  645. "I": "images/PlantsSprite/005",
  646. "H-I": "images/PlantsSprite/005",
  647. "L": "images/PlantsSprite/005",
  648. "S": "images/PlantsSprite/005",
  649. "D-T": "images/PlantsSprite/005"
  650. },
  651. "fireSound": "audio/hot_pepper_shot"
  652. },
  653. "upgradeConfig": {
  654. "maxLevel": 10,
  655. "levels": {
  656. "1": {
  657. "cost": 150,
  658. "damage": 10
  659. },
  660. "2": {
  661. "cost": 225,
  662. "damage": 11
  663. },
  664. "3": {
  665. "cost": 300,
  666. "damage": 12
  667. },
  668. "4": {
  669. "cost": 375,
  670. "damage": 13
  671. },
  672. "5": {
  673. "cost": 450,
  674. "damage": 14
  675. },
  676. "6": {
  677. "cost": 525,
  678. "damage": 15
  679. },
  680. "7": {
  681. "cost": 600,
  682. "damage": 16
  683. },
  684. "8": {
  685. "cost": 675,
  686. "damage": 17
  687. },
  688. "9": {
  689. "cost": 750,
  690. "damage": 18
  691. },
  692. "10": {
  693. "cost": 825,
  694. "damage": 19
  695. }
  696. }
  697. },
  698. "inGameCostConfig": {
  699. "baseCost": 10,
  700. "shapeCosts": {
  701. "I": 20,
  702. "H-I": 20,
  703. "L": 30,
  704. "S": 40,
  705. "D-T": 40
  706. }
  707. }
  708. },
  709. {
  710. "id": "cactus_shotgun",
  711. "name": "仙人散弹",
  712. "type": "shotgun",
  713. "rarity": "uncommon",
  714. "weight": 22,
  715. "stats": {
  716. "damage": 6,
  717. "fireRate": 10.0,
  718. "range": 500,
  719. "bulletSpeed": 30
  720. },
  721. "bulletConfig": {
  722. "count": {
  723. "type": "spread",
  724. "amount": 5,
  725. "spreadAngle": 30,
  726. "burstCount": 1,
  727. "burstDelay": 0
  728. },
  729. "trajectory": {
  730. "type": "straight",
  731. "speed": 200,
  732. "gravity": 0,
  733. "arcHeight": 0,
  734. "homingStrength": 0,
  735. "homingDelay": 0
  736. },
  737. "hitEffects": [
  738. {
  739. "type": "normal_damage",
  740. "priority": 1,
  741. "damage": 6
  742. }
  743. ],
  744. "lifecycle": {
  745. "type": "range_limit",
  746. "maxLifetime": 5.0,
  747. "penetration": 1,
  748. "ricochetCount": 0,
  749. "returnToOrigin": false,
  750. "maxRange": 1000
  751. },
  752. "visual": {
  753. "bulletPrefab": "bullets/Cactus_ShotgunBullet",
  754. "hitEffect": "Animation/WeaponTx/tx0002/tx0002",
  755. "trailEffect": true
  756. }
  757. },
  758. "visualConfig": {
  759. "weaponSprites": {
  760. "I": "images/PlantsSprite/008",
  761. "H-I": "images/PlantsSprite/008",
  762. "L": "images/PlantsSprite/008",
  763. "S": "images/PlantsSprite/008",
  764. "D-T": "images/PlantsSprite/008"
  765. },
  766. "fireSound": "audio/cactus_shotgun_shot"
  767. },
  768. "upgradeConfig": {
  769. "maxLevel": 10,
  770. "levels": {
  771. "1": {
  772. "cost": 150,
  773. "damage": 5
  774. },
  775. "2": {
  776. "cost": 225,
  777. "damage": 6
  778. },
  779. "3": {
  780. "cost": 300,
  781. "damage": 7
  782. },
  783. "4": {
  784. "cost": 375,
  785. "damage": 8
  786. },
  787. "5": {
  788. "cost": 450,
  789. "damage": 9
  790. },
  791. "6": {
  792. "cost": 525,
  793. "damage": 10
  794. },
  795. "7": {
  796. "cost": 600,
  797. "damage": 11
  798. },
  799. "8": {
  800. "cost": 675,
  801. "damage": 12
  802. },
  803. "9": {
  804. "cost": 750,
  805. "damage": 13
  806. },
  807. "10": {
  808. "cost": 825,
  809. "damage": 14
  810. }
  811. }
  812. },
  813. "inGameCostConfig": {
  814. "baseCost": 10,
  815. "shapeCosts": {
  816. "I": 20,
  817. "H-I": 20,
  818. "L": 30,
  819. "S": 40,
  820. "D-T": 40
  821. }
  822. }
  823. },
  824. {
  825. "id": "okra_missile",
  826. "name": "秋葵导弹",
  827. "type": "homing_missile",
  828. "rarity": "epic",
  829. "weight": 8,
  830. "stats": {
  831. "damage": 20,
  832. "fireRate": 10.0,
  833. "range": 500,
  834. "bulletSpeed": 15
  835. },
  836. "bulletConfig": {
  837. "count": {
  838. "type": "single",
  839. "amount": 1,
  840. "spreadAngle": 0,
  841. "burstCount": 1,
  842. "burstDelay": 0
  843. },
  844. "trajectory": {
  845. "type": "homing",
  846. "speed": 20,
  847. "gravity": 0.2,
  848. "arcHeight": 100,
  849. "homingStrength": 0.8,
  850. "homingDelay": 0.3
  851. },
  852. "hitEffects": [
  853. {
  854. "type": "explosion",
  855. "priority": 1,
  856. "damage": 20,
  857. "radius": 150,
  858. "delay": 0
  859. }
  860. ],
  861. "lifecycle": {
  862. "type": "target_impact",
  863. "maxLifetime": 5.0,
  864. "penetration": 1,
  865. "ricochetCount": 0,
  866. "returnToOrigin": false
  867. },
  868. "visual": {
  869. "bulletPrefab": "bullets/Okra_MissileBullet",
  870. "hitEffect": "Animation/WeaponTx/tx0002/tx0002",
  871. "trailEffect": true,
  872. "explosionEffect": "Animation/WeaponTx/tx0007/tx0007"
  873. }
  874. },
  875. "visualConfig": {
  876. "weaponSprites": {
  877. "I": "images/PlantsSprite/006",
  878. "H-I": "images/PlantsSprite/006",
  879. "L": "images/PlantsSprite/006",
  880. "S": "images/PlantsSprite/006",
  881. "D-T": "images/PlantsSprite/006"
  882. },
  883. "fireSound": "audio/okra_missile_shot"
  884. },
  885. "upgradeConfig": {
  886. "maxLevel": 10,
  887. "levels": {
  888. "1": {
  889. "cost": 200,
  890. "damage": 20
  891. },
  892. "2": {
  893. "cost": 300,
  894. "damage": 22
  895. },
  896. "3": {
  897. "cost": 400,
  898. "damage": 24
  899. },
  900. "4": {
  901. "cost": 500,
  902. "damage": 26
  903. },
  904. "5": {
  905. "cost": 600,
  906. "damage": 28
  907. },
  908. "6": {
  909. "cost": 700,
  910. "damage": 30
  911. },
  912. "7": {
  913. "cost": 800,
  914. "damage": 32
  915. },
  916. "8": {
  917. "cost": 900,
  918. "damage": 34
  919. },
  920. "9": {
  921. "cost": 1000,
  922. "damage": 36
  923. },
  924. "10": {
  925. "cost": 1100,
  926. "damage": 38
  927. }
  928. }
  929. },
  930. "inGameCostConfig": {
  931. "baseCost": 15,
  932. "shapeCosts": {
  933. "I": 30,
  934. "H-I": 30,
  935. "L": 45,
  936. "S": 60,
  937. "D-T": 60
  938. }
  939. }
  940. }
  941. ],
  942. "blockSizes": [
  943. {
  944. "id": "I",
  945. "name": "I形",
  946. "shape": [
  947. [
  948. 1,
  949. 0,
  950. 0,
  951. 0
  952. ],
  953. [
  954. 1,
  955. 0,
  956. 0,
  957. 0
  958. ],
  959. [
  960. 0,
  961. 0,
  962. 0,
  963. 0
  964. ],
  965. [
  966. 0,
  967. 0,
  968. 0,
  969. 0
  970. ]
  971. ],
  972. "gridCount": 2,
  973. "costMultiplier": 2,
  974. "description": "最简单的直线形状"
  975. },
  976. {
  977. "id": "H-I",
  978. "name": "横I形",
  979. "shape": [
  980. [
  981. 0,
  982. 0,
  983. 0,
  984. 0
  985. ],
  986. [
  987. 1,
  988. 1,
  989. 0,
  990. 0
  991. ],
  992. [
  993. 0,
  994. 0,
  995. 0,
  996. 0
  997. ],
  998. [
  999. 0,
  1000. 0,
  1001. 0,
  1002. 0
  1003. ]
  1004. ],
  1005. "gridCount": 2,
  1006. "costMultiplier": 2,
  1007. "description": "水平直线形状"
  1008. },
  1009. {
  1010. "id": "L",
  1011. "name": "L形",
  1012. "shape": [
  1013. [
  1014. 1,
  1015. 1,
  1016. 0,
  1017. 0
  1018. ],
  1019. [
  1020. 1,
  1021. 0,
  1022. 0,
  1023. 0
  1024. ],
  1025. [
  1026. 0,
  1027. 0,
  1028. 0,
  1029. 0
  1030. ],
  1031. [
  1032. 0,
  1033. 0,
  1034. 0,
  1035. 0
  1036. ]
  1037. ],
  1038. "gridCount": 3,
  1039. "costMultiplier": 3,
  1040. "description": "L型转角形状"
  1041. },
  1042. {
  1043. "id": "S",
  1044. "name": "S形",
  1045. "shape": [
  1046. [
  1047. 0,
  1048. 1,
  1049. 1,
  1050. 0
  1051. ],
  1052. [
  1053. 1,
  1054. 1,
  1055. 0,
  1056. 0
  1057. ],
  1058. [
  1059. 0,
  1060. 0,
  1061. 0,
  1062. 0
  1063. ],
  1064. [
  1065. 0,
  1066. 0,
  1067. 0,
  1068. 0
  1069. ]
  1070. ],
  1071. "gridCount": 4,
  1072. "costMultiplier": 4,
  1073. "description": "S型曲线形状"
  1074. },
  1075. {
  1076. "id": "D-T",
  1077. "name": "T形",
  1078. "shape": [
  1079. [
  1080. 0,
  1081. 1,
  1082. 0,
  1083. 0
  1084. ],
  1085. [
  1086. 1,
  1087. 1,
  1088. 1,
  1089. 0
  1090. ],
  1091. [
  1092. 0,
  1093. 0,
  1094. 0,
  1095. 0
  1096. ],
  1097. [
  1098. 0,
  1099. 0,
  1100. 0,
  1101. 0
  1102. ]
  1103. ],
  1104. "gridCount": 4,
  1105. "costMultiplier": 4,
  1106. "description": "T型十字形状"
  1107. }
  1108. ],
  1109. "rarityWeights": {
  1110. "common": 60,
  1111. "uncommon": 25,
  1112. "rare": 12,
  1113. "epic": 3
  1114. }
  1115. }