Advertisement
Guest User

q3mme.fx

a guest
Sep 17th, 2013
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.30 KB | None | 0 0
  1. // ybl changes: rocket and grenade smoke reduzed/more transparent ; rail-discs more transparent
  2.  
  3.  
  4. // q3mme example scripts combined into one file with example changes to make
  5. // it compatible with wolfcam
  6.  
  7. // wolfcam additional inputs to some scripts are:
  8. // team 0 free, 1 red, 2 blue, 3 spectator
  9. // clientnum
  10. // enemy 1 if enemy of whoever is being specced in demo
  11. // teammate
  12. // ineyes 1 if first person view is with this player
  13. // surfacetype for impact scripts: 0 not specified, 1 metal, 2 wood,
  14. // 3 dust
  15. //
  16.  
  17. /////////////////////////////////////////////////////
  18.  
  19.  
  20.  
  21. weapon/machinegun/trail {
  22.  
  23. shader flareshader // railCore
  24. color 0.2 0.1 0
  25. emitter 0.1 {
  26. colorFade 0
  27. alphafade 0
  28. Beam
  29. size 2
  30. beam }
  31. }
  32.  
  33.  
  34.  
  35. // Some general fx script you could use in the effects editor when really bored
  36. mme/decal {
  37. Trace
  38. decalTemp
  39. }
  40.  
  41. mme/quad {
  42. quad
  43. }
  44.  
  45.  
  46. mme/model {
  47. anglesModel
  48. }
  49.  
  50. // Talk sprite
  51. // input: origin, team, clientnum, enemy, teammate, ineyes
  52. player/talk {
  53. if ineyes != 1 {
  54. size 10
  55. shader sprites/balloon3
  56. Sprite
  57. }
  58. }
  59.  
  60. // Impressive sprite
  61. // input: origin, team, clientnum, enemy, teammate, ineyes
  62. player/impressive {
  63. if ineyes != 1 {
  64. size 10
  65. shader medal_impressive
  66. Sprite
  67. }
  68. }
  69.  
  70. // Excellent sprite
  71. // input: origin, team, clientnum, enemy, teammate, ineyes
  72. player/excellent {
  73. if ineyes != 1 {
  74. size 10
  75. shader medal_excellent
  76. Sprite
  77. }
  78. }
  79.  
  80. // Holy shit medal from ra3
  81. // input: origin, team, clientnum, enemy, teammate, ineyes
  82. player/holyshit {
  83. if ineyes != 1 {
  84. size 10
  85. shader medal_holyshit
  86. Sprite
  87. }
  88. }
  89.  
  90. // Accuracy medal
  91. // input: origin, team, clientnum, enemy, teammate, ineyes
  92. player/accuracy {
  93. if ineyes != 1 {
  94. size 10
  95. shader medal_accuracy
  96. Sprite
  97. }
  98. }
  99.  
  100. // Gauntlet sprite
  101. // input: origin, team, clientnum, enemy, teammate, ineyes
  102. player/gauntlet {
  103. if ineyes != 1 {
  104. size 10
  105. shader medal_gauntlet
  106. Sprite
  107. }
  108. }
  109.  
  110. // connection sprite
  111. // input: origin, team, clientnum, enemy, teammate, ineyes
  112. player/connection {
  113. if ineyes != 1 {
  114. size 10
  115. shader disconnected
  116. Sprite
  117. }
  118. }
  119.  
  120. // haste/speed trail
  121. // input: origin, angles, velocity, dir (normalized), team, clientnum,
  122. // enemy, teammate, ineyes
  123. player/haste {
  124. interval 0.1 {
  125. shader hasteSmokePuff
  126. emitter 0.5 {
  127. size 6 + 10 * wave( 0.5 * lerp )
  128. alphaFade 0
  129. sprite cullNear
  130. }
  131. }
  132. }
  133.  
  134. // flight trail -- wolfcam addition, not in q3mme
  135. // input: origin, angles, velocity, dir (normalized), team, clientnum,
  136. // enemy, teammate, ineyes
  137. player/flight {
  138. interval 0.1 {
  139. shader hasteSmokePuff
  140. emitter 0.5 {
  141. size 6 + 10 * wave( 0.5 * lerp )
  142. alphaFade 0
  143. sprite cullNear
  144. }
  145. }
  146. }
  147.  
  148. // wolfcam addition, not in q3mme:
  149. //
  150. // player/head/trail
  151. // player/torso/trail
  152. // player/legs/trail
  153. //
  154. // input: origin, angles, velocity, dir (normalized), team, clientnum,
  155. // enemy, teammate, ineyes
  156.  
  157. //player/legs/trail {
  158. // interval 0.1 {
  159. // shader sprites/balloon3
  160. // emitter 0.5 {
  161. // size 6 + 10 * wave( 0.5 * lerp )
  162. // alphaFade 0
  163. // sprite cullNear
  164. // }
  165. // }
  166. //}
  167.  
  168.  
  169. // teleport in effect and sound effect
  170. // input: origin
  171. player/teleportIn {
  172. sound sound/world/telein.wav
  173. // Show the fading spawn tube for 0.5 seconds
  174. //model models/misc/telep.md3
  175. // wolfcam ql uses different model
  176. model models/powerups/pop.md3
  177. //shader teleportEffect // wolfcam for ql don't add shader
  178. emitter 0.5 {
  179. colorFade 0
  180. anglesModel
  181. }
  182. }
  183.  
  184. // teleport out effect and sound effect
  185. // input: origin
  186. player/teleportOut {
  187. sound sound/world/teleout.wav
  188. //Show the fading spawn tube for 0.5 seconds
  189. //model models/misc/telep.md3
  190. // wolfcam ql uses different model
  191. model models/powerups/pop.md3
  192. //shader teleportEffect // wolfcam for ql don't add shader
  193. emitter 0.5 {
  194. colorFade 0
  195. anglesModel
  196. }
  197. }
  198.  
  199.  
  200. // Explode the body into gibs
  201. // input: origin, velocity, team, clientnum, enemy, teammate, ineyes
  202. //
  203. // wolfcam: guessing that velocity corresponds to player
  204. player/gibbed {
  205. repeat 1 {
  206. sound sound/player/splatter3.ogg
  207. }
  208. if cl_useq3gibs {
  209.  
  210. repeat 11 {
  211. //Huge list of different body parts that get thrown away
  212. modellist loop {
  213. // wolfcam gibs located in different directory
  214.  
  215. models/gibsq3/abdomen.md3
  216. models/gibsq3/arm.md3
  217. models/gibsq3/chest.md3
  218. models/gibsq3/fist.md3
  219. models/gibsq3/foot.md3
  220. models/gibsq3/forearm.md3
  221. models/gibsq3/intestine.md3
  222. models/gibsq3/leg.md3
  223. models/gibsq3/leg.md3
  224. models/gibsq3/skull.md3
  225. models/gibsq3/brain.md3
  226. }
  227.  
  228. // aim v0 in random direction, giving more height to upwards vector and scale add to velocity
  229. random v0
  230. v02 v02+1
  231. addScale parentVelocity v0 velocity 350
  232. yaw 360*rand
  233. pitch 360*rand
  234. roll 360*rand
  235. emitter 5 + rand*3 {
  236. sink 0.9 50
  237. moveBounce 800 0.6
  238. anglesModel
  239. impact 50 {
  240. {
  241. // // wolfcam need to add gib splat sounds yourself
  242. // if rand < 0.5 {
  243. // t0 rand * 3
  244. // if t0 < 3 {
  245. sound sound/player/splatter1.wav
  246. // } else if t0 < 2 {
  247. // sound sound/player/splatter2.ogg
  248. // } else {
  249. // sound sound/player/gibimp1.wav
  250. // }
  251. // }
  252. size 16 + rand*32
  253. //shader bloodMark
  254. // wolfcam
  255. shader q3bloodMark
  256. decal alpha
  257. }
  258. distance 20 {
  259. // Slowly sink downwards
  260. clear velocity
  261. velocity2 -10
  262. rotate rand*360
  263. //shader bloodTrail
  264. // wolfcam
  265. shader q3bloodTrail
  266. emitter 2 {
  267. moveGravity 0
  268. alphaFade 0
  269. rotate rotate + 10*lerp
  270. size 8 + 10*lerp
  271. sprite
  272. }
  273. }
  274. }
  275. }
  276. } else {
  277. t0 rand * 4
  278. if t0 < 4 {
  279. // sound sound/misc/splatter1.ogg
  280. } else if t0 < 3 {
  281. // sound sound/misc/electrogib_03.ogg
  282. } else if t0 < 2 {
  283. // sound sound/misc/electrogib_02.ogg
  284. } else {
  285. // sound sound/misc/electrogib_01.ogg
  286. }
  287. // death effect
  288. shader deathEffect
  289. size 100
  290. copy velocity v3
  291. clear velocity
  292. emitter 0.5 {
  293. sprite
  294. }
  295. copy v3 velocity
  296. shaderClear
  297.  
  298. repeat 15 {
  299. // aim v0 in random direction, giving more height to upwards vector and scale add to velocity
  300. random v0
  301. v02 v02+1
  302. addScale parentVelocity v0 velocity 350
  303. yaw 360*rand
  304. pitch 360*rand
  305. roll 360*rand
  306. model models/gibs/sphere.md3
  307. size 1
  308. emitter 1 + rand*0.5 {
  309. sink 0.9 50
  310. moveBounce 800 0.6
  311. anglesModel
  312. impact 50 {
  313. if rand < 0.5 {
  314. t0 rand * 4
  315. if t0 < 4 {
  316. // sound sound/misc/electrogib_bounce_04.ogg
  317. } else if t0 < 3 {
  318. // sound sound/misc/electrogib_bounce_03.ogg
  319. } else if t0 < 2 {
  320. // sound sound/misc/electrogib_bounce_02.ogg
  321. } else {
  322. sound sound/misc/electrogib_bounce_01.ogg
  323. }
  324. }
  325. //size 16 + rand*32
  326. //shader bloodMark
  327. //decal alpha
  328. }
  329. distance 20 {
  330. clear velocity
  331. shader wc/tracer
  332. size 2.5 + rand * 1
  333. color 0 1 0
  334. emitter 0.5 {
  335. red lerp
  336. rotate rotate + 10*lerp
  337. //size 8 + 10*lerp
  338. sprite
  339. }
  340. }
  341. }
  342. }
  343. }
  344. }
  345.  
  346. // Freezetag thaw
  347. // input: origin, velocity, team, clientnum, enemy, teammate, ineyes
  348. //
  349. // wolfcam: guessing that velocity corresponds to player
  350. //
  351. // player/thawed {}
  352.  
  353.  
  354. // General weapon effects
  355. // flash is a 0.25 second event after a weapon is fired
  356. // fire is a single event when weapon is fired
  357. // impact is for weapons impact on something or explode like grenades
  358. // trail is a single event for weapons without projectiles or a
  359. // constant event when projectile is in motion projectile is for
  360. // rendering the specific projectile
  361.  
  362. // wolfcam: the other ql weapons also available as 'nailgun', 'prox',
  363. // and 'chaingun'
  364. // wolfcam: weapons also have, in addition to /impact scripts, /impactflesh
  365. // scripts. ex: weapon/plasma/impactflesh
  366. // inputs for 'impactflesh' are: origin and dir
  367. //
  368. // If a weapon doesn't have an impactflesh script 'weapon/common/impactFlesh'
  369. // will be checked. 'weapon/common/impactFlesh' would be a good place to
  370. // place custom hit sparks.
  371.  
  372.  
  373. // input: origin, dir, team, clientnum, enemy, teammate, ineyes
  374. //weapon/common/impactFlesh {
  375. // shader flareShader
  376. // size 5
  377. // color 1 0 1
  378. // emitter 4 {
  379. // //origin2 origin2 + lerp * 8
  380. // velocity2 200
  381. // moveGravity 0
  382. // Sprite
  383. // }
  384. //}
  385.  
  386.  
  387. // Bubbles in the water
  388. // input: origin
  389. weapon/common/bubbles {
  390. shader waterbubble
  391. distance 5+rand*10 {
  392. size 1 + rand * 2
  393. random dir
  394. addScale origin dir origin 10 * rand
  395. emitter 1+rand*0.25 {
  396. alphaFade 0
  397. origin2 origin2 + lerp * 8
  398. Sprite
  399. }
  400. }
  401. }
  402.  
  403. // input: origin, team, clientnum, enemy, teammate, ineyes
  404. weapon/rocket/flash {
  405. color 1 0.75 0
  406. size 300 + rand*32
  407. light
  408. }
  409.  
  410. // input: velocity, dir (normalized), rotate, origin, angles, axis, size
  411. //
  412. // no client info rocket projectiles
  413. weapon/rocket/projectile {
  414. // Render the rocket
  415. model "models/ammo/rocket/rocket.md3"
  416. // wolfcam need to do model rotation yourself
  417. rotate time * 1000 / 4
  418. dirModel
  419.  
  420. // Sound generated by the flying rocket
  421. loopSound "sound/weapons/rocket/rockfly.wav"
  422. }
  423.  
  424. // input: origin, angles, velocity, dir (normalized), axis
  425. //
  426. // no client info for rocket trails
  427. weapon/rocket/trail {
  428. // Set the base yellow color
  429. color 1 0.75 0
  430.  
  431. size 200
  432. Light
  433.  
  434. // The standard smoke puff trail thing
  435. color 1 1 1
  436. alpha 0.25
  437. shader smokePuff
  438. rotate 360 * rand
  439. distance 45 {
  440. emitter 2 {
  441. alphaFade 0
  442. size 8 + lerp * 33
  443. sprite cullNear
  444. }
  445. }
  446. }
  447.  
  448. // input: origin, dir
  449. //
  450. // no client info for rocket impact
  451. weapon/rocket/impact {
  452. vibrate 70
  453. sound sound/weapons/rocket/rocklx1a.wav
  454. // Mark on the wall, using direction from parent
  455. shader gfx/damage/burn_med_mrk
  456. size 64
  457. Decal
  458.  
  459. // Animating sprite of the explosion
  460. shader rocketExplosion
  461. size 40
  462. // Will be the light colour
  463. color 1 0.75 0
  464. emitter 1 {
  465. Sprite
  466. // size will goto zero after 0.5 of the time
  467. size 300 * clip(2 - 2*lerp)
  468. Light
  469. }
  470. }
  471.  
  472. // input: origin, team, clientnum, enemy, teammate, ineyes
  473. weapon/bfg/flash {
  474. color 1 0.7 1
  475. size 300 + rand*32
  476. light
  477. }
  478.  
  479. // input: velocity, dir (normalized), rotate, origin, angles, axis, size
  480. //
  481. // no client info
  482. weapon/bfg/projectile {
  483. // ze model
  484. model models/weaphits/bfg.md3
  485. dirModel
  486. // ze flight sound
  487. loopSound "sound/weapons/rocket/rockfly.wav"
  488. }
  489.  
  490. // input: origin, angles, velocity, dir (normalized), axis
  491. //
  492. // no client info
  493. weapon/bfg/trail {
  494.  
  495. }
  496.  
  497. // input: origin, dir
  498. //
  499. // no client info
  500. weapon/bfg/impact {
  501. vibrate 100
  502. sound sound/weapons/rocket/rocklx1a.wav
  503. // Mark on the wall
  504. shader gfx/damage/burn_med_mrk
  505. size 32
  506. decal
  507.  
  508. // Animating sprite of the explosion
  509. shader bfgExplosion
  510. size 40
  511. emitter 0.6 {
  512. sprite
  513. }
  514. }
  515.  
  516. // input: origin, team, clientnum, enemy, teammate, ineyes
  517. weapon/grenade/flash {
  518. color 1 0.7 0
  519. size 300 + rand*32
  520. light
  521. }
  522.  
  523. // input: velocity, dir (normalized), rotate, origin, angles, axis, size,
  524. // team, clientnum, enemy, teammate, ineyes
  525. weapon/grenade/projectile {
  526. // Render the grenade model
  527. model "models/ammo/grenade1.md3"
  528. color 0 1 0
  529. // wolfcam need to do model rotation yourself
  530. if velocity {
  531. rotate time * 1000 / 4
  532. }
  533. anglesModel
  534. }
  535.  
  536. // input: origin, angles, velocity, dir (normalized), axis,
  537. // team, clientnum, enemy, teammate, ineyes
  538. weapon/grenade/trail {
  539. // The standard smoke puff trail thing
  540. alpha 0.25
  541. shader smokePuff
  542. angle 360 * rand
  543. // Emit a sprite every 50 milliseconds
  544. interval 0.05 {
  545. emitter 0.700 {
  546. alphaFade 0
  547. size 8 + lerp * 33
  548. sprite cullNear
  549. }
  550. }
  551. }
  552.  
  553. // input: origin, dir, surfacetype
  554. //
  555. // no client info
  556. weapon/grenade/impact {
  557. vibrate 70
  558. sound sound/weapons/rocket/rocklx1a.wav
  559. // Mark on the wall, using direction from parent
  560. shader gfx/damage/burn_med_mrk
  561. size 64
  562. Decal
  563.  
  564. // Animating sprite of the explosion
  565. shader grenadeExplosion
  566. size 40
  567. // Will be the light colour
  568. color 1 0.75 0
  569. emitter 0.6 {
  570. Sprite
  571. // size will goto zero after 0.5 of the time
  572. size 300 * clip(2 - 2*lerp)
  573. Light
  574. }
  575. }
  576.  
  577. // input: origin, team, clientnum, enemy, teammate, ineyes
  578. weapon/plasma/flash {
  579. color 0.6 0.6 1
  580. size 300 + rand*32
  581. light
  582. }
  583.  
  584. // input: velocity, dir (normalized), rotate, origin, angles, axis, size
  585. //
  586. // no client info
  587. weapon/plasma/projectile {
  588. // The sprite for the plasma
  589. size 16
  590. rotate rand*360
  591. rotate time * -1200
  592. shader sprites/plasma1
  593. sprite
  594. // Plasma flying sound
  595. loopSound "sound/weapons/plasma/lasfly.wav"
  596.  
  597. }
  598.  
  599. // input: origin, angles, velocity, dir (normalized), axis
  600. //
  601. // no client info
  602. weapon/plasma/trail {
  603.  
  604. }
  605.  
  606. // input: origin, dir, surfacetype
  607. //
  608. // no client info
  609. weapon/plasma/impact {
  610. vibrate 10
  611. sound sound/weapons/plasma/plasmx1a.wav
  612.  
  613. shader plasmaExplosion
  614. model models/weaphits/ring02.md3
  615. // Show the ring impact model on a random rotation around it's direction
  616. rotate rand*360
  617. emitter 0.6 {
  618. dirModel
  619. }
  620. size 24
  621. shader gfx/damage/plasma_mrk
  622. Decal energy
  623. }
  624.  
  625. // input: origin, team, clientnum, enemy, teammate, ineyes
  626. weapon/rail/flash {
  627. color 1 0.6 0
  628. size 300 + rand*32
  629. light
  630. }
  631.  
  632. // input: origin, dir, team, clientnum, enemy, teammate, ineyes, surfacetype
  633. weapon/rail/impact {
  634. vibrate 50
  635. sound sound/weapons/plasma/plasmx1a.wav
  636.  
  637. pushparent color2
  638. pop color
  639.  
  640. // The white expanding impact disc
  641. rotate rand*360
  642. shader railExplosion
  643. model models/weaphits/ring02.md3
  644. emitter 0.6 {
  645. dirModel
  646. }
  647.  
  648. // Plasma style impact mark
  649. size 24
  650. shader gfx/damage/plasma_mrk
  651. Decal energy
  652. }
  653.  
  654. // input: origin, parentOrigin, end, dir, parentDir, color1, color2, team,
  655. // clientnum, enemy, teammate, ineyes
  656. weapon/rail/trail {
  657. // Color1 gets set before calling
  658. // The beam
  659. size r_railCoreWidth*0.5
  660. shader railCore
  661. emitter cg_railTrailTime * 0.001 {
  662. colorFade 0
  663. Beam
  664. }
  665. shader railDisc
  666. // color2 is stored in the parent input structure, retrieve it like this
  667. pushparent color2
  668. pop color
  669. if cg_oldrail {
  670. // Do the rail rings
  671. size r_railWidth*0.5
  672. // Rings take their stepsize from the width variable
  673. width r_railSegmentLength
  674. emitter cg_railTrailTime * 0.001 {
  675. colorFade 0.1
  676. Rings
  677. }
  678. } else {
  679. // Do a spiral around the rail direction
  680. // Get length in t0
  681. t0 dir
  682. normalize dir
  683. // Create a perpendicular vector to the beam
  684. perpendicular dir v0
  685. // Radius around center
  686. scale v0 v0 5
  687. size 0 // 1.1 DISABLED SPIRAL HERE !
  688. // Set the rotate around angle to start value
  689. t1 rand*360
  690. // Go through length of beam in repeat steps
  691. repeat ( t0 / 5 ) {
  692. rotatearound v0 dir v1 t1
  693. // Slightly increase beyond regular 10 it so they don't all line up
  694. t1 t1 + 10.1
  695. addScale v1 dir origin loop * t0
  696. add parentOrigin origin origin
  697. emitter 0.6 + loop * t1 * 0.0005 {
  698. //5 radius + 6
  699. addScale origin v1 origin lerp * 1.2
  700. colorFade 0 // 0.7
  701. Sprite
  702. }
  703. }
  704. }
  705. }
  706.  
  707. // input: origin, team, clientnum, enemy, teammate, ineyes
  708. weapon/shotgun/flash {
  709. color 1 1 0
  710. size 300 + rand*32
  711. light
  712. }
  713.  
  714. // input: origin, dir, team, clientnum, enemy, teammate, ineyes, surfacetype
  715. weapon/shotgun/impact {
  716. vibrate 1
  717. // Bullet mark on the wall, shotgun ones are smaller
  718. shader gfx/damage/bullet_mrk
  719. size 4
  720. Decal
  721.  
  722. // explosion cone with animating shader
  723. size 1
  724. shader bulletExplosion
  725. model models/weaphits/bullet.md3
  726. rotate rand*360
  727. emitter 0.6 {
  728. dirModel
  729. }
  730.  
  731. // a single sprite shooting up from impact surface
  732. wobble dir velocity 10 + rand*30
  733. scale velocity velocity 200 + rand*50
  734. size 1 + rand*0.5
  735. shader flareShader
  736. alpha 0.8
  737. color 1 0.6 0.3
  738. emitter 0.6 + rand*0.3 {
  739. moveGravity 200
  740. colorFade 0.6
  741. Sprite
  742. }
  743. }
  744.  
  745.  
  746. weapon/shotgun/trail {
  747. // Yep empty and not called
  748. }
  749.  
  750. // input: origin, dir, team, clientnum, enemy, teammate, ineyes, surfacetype
  751. weapon/machinegun/impact {
  752. soundList {
  753. sound/weapons/machinegun/ric1.wav
  754. sound/weapons/machinegun/ric2.wav
  755. sound/weapons/machinegun/ric3.wav
  756. }
  757. // Bullet mark on the wall
  758. shader gfx/damage/bullet_mrk
  759. size 8
  760. decal
  761.  
  762. // explosion cone with animating shader
  763. size 1
  764. shader bulletExplosion
  765. model "models/weaphits/bullet.md3"
  766. rotate rand*360
  767. emitter 0.6 {
  768. dirModel
  769. }
  770.  
  771. // a single sprite shooting up from impact surface
  772. wobble dir velocity 10 + rand*30
  773. scale velocity velocity 200 + rand*50
  774. size 2 + rand
  775. shader flareShader
  776. alpha 0.8
  777. color 1 0.75 0.6
  778. emitter "0.6 + rand*0.3" {
  779. moveGravity 200
  780. colorFade 0.6
  781. Sprite
  782. }
  783. }
  784.  
  785.  
  786. // input: origin, team, clientnum, enemy, teammate, ineyes
  787. weapon/lightning/flash {
  788. color 0.6 0.6 1
  789. size 300 + rand*32
  790. light
  791. }
  792.  
  793.  
  794. // input: origin, dir, end (wolfcam), team, clientnum, enemy, teammate, ineyes
  795. weapon/lightning/trail {
  796. //shader "lightningBoltNew"
  797. // wolfcam ql uses lightningBolt[1 - 7]
  798. shader "lightningBolt1"
  799. // Standard q3 beam size
  800. size 16
  801. // The beam is repeated every 45 degrees
  802. angle 45
  803. // Draw the beam between origin in direction of
  804. if ineyes {
  805. beam depthhack
  806. } else {
  807. beam
  808. }
  809. // Length of beam in t0
  810. t0 dir
  811. // Check if we need to render the impact flash effect thing
  812. // That means we end before the maximum lightning range
  813. if ( t0 < 768 ) {
  814. // Clear the previous shader so it uses the one in the model
  815. shaderClear
  816. model "models/weaphits/crackle.md3"
  817. size 1
  818. // Slightly before the endpoint
  819. addScale origin dir origin ( (t0 - 16 ) / t0 )
  820. // Just a random model in it's angles
  821. angles0 rand * 360
  822. angles1 rand * 360
  823. angles2 rand * 360
  824. anglesModel
  825. }
  826. }
  827.  
  828. // input: origin, dir, team, clientnum, enemy, teammate, ineyes, surfacetype
  829. weapon/lightning/impact {
  830. // random impact sound
  831.  
  832. // wolfcam: enable quake3 sound settings before playing impact sound
  833. // so that the sound isn't fps dependent
  834. t0 s_maxSoundInstances
  835. t1 s_maxSoundRepeatTime
  836. command s_maxSoundInstances -1
  837. command s_maxSoundRepeatTime 50
  838. soundList {
  839. sound/weapons/lightning/lg_hit.wav
  840. sound/weapons/lightning/lg_hit2.wav
  841. sound/weapons/lightning/lg_hit3.wav
  842. }
  843. command s_maxSoundInstances %t0
  844. command s_maxSoundRepeatTime %t1
  845.  
  846. // Hole mark shader decal
  847. shader gfx/damage/hole_lg_mrk
  848. size 12
  849. decal
  850.  
  851. }
  852.  
  853. // input: origin, team, clientnum, enemy, teammate, ineyes
  854. weapon/gauntlet/flash {
  855. color 0.6 0.6 1
  856. size 300 + rand*32
  857. light
  858. }
  859.  
  860. // input: origin, team, clientnum, enemy, teammate, ineyes
  861. weapon/grapple/flash {
  862. color 1 0.6 0
  863. size 300 + rand*32
  864. light
  865. }
  866.  
  867.  
  868. // Render a cheap red beam for the grapple.
  869. // input: origin, angles, velocity, dir (normalized), axis
  870. weapon/grapple/trail {
  871. size 10
  872. //shader mme/red
  873. shader flareShader
  874. color 1 0 0
  875. rotate 60
  876. beam
  877. }
  878.  
  879. // Just use a rocket as a standard grapple model
  880. // input: velocity, dir (normalized), rotate, origin, angles, axis, size
  881. weapon/grapple/projectile {
  882. //Render a rocket as a grapple?
  883. model "models/ammo/rocket/rocket.md3"
  884. dirModel
  885. }
  886.  
  887. // wolfcam, not in q3mme
  888. // input: origin
  889. common/jumpPad {
  890. sound sound/world/jumppad
  891. color 1 1 1
  892. alpha 0.33
  893. shader smokePuff
  894. rotate 360 * rand
  895. emitter 1 {
  896. alphaFade 0
  897. size 32 * (1 - lerp)
  898. sprite cullNear
  899. }
  900. }
  901.  
  902. // example for runfx
  903. // fx version of '/cvarinterp cg_fov 0 110 10'
  904. changeFov {
  905. t0 cg_fov
  906. emitterf 10 {
  907. if lerp >= 1.0 { // last call cleanup, set cg_fov to orig value
  908. command cg_fov %t0
  909. return // all done
  910. }
  911. //echo lerp
  912. t1 t0 * lerp
  913. command cg_fov %t1
  914. }
  915. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement