Advertisement
Guest User

Untitled

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