home *** CD-ROM | disk | FTP | other *** search
/ Spel 4 / Spel4.iso / add-on / quake / editing / wc1007 / quake.fgd < prev    next >
Encoding:
Text File  |  1996-10-06  |  11.3 KB  |  415 lines

  1. //
  2. // QUAKE game definition file (.fgd)
  3. //
  4.  
  5. @Main = 
  6. [
  7.     Name: "Quake"
  8.     Palette: "wc.pal"
  9.     DefaultClass: "info_null"
  10. ]
  11.  
  12. //
  13. // worldspawn
  14. //
  15.  
  16. @SolidClass = worldspawn : "World entity"
  17. [
  18.     message(string) : "Text on entering the world"
  19.     worldtype(choices) : "Ambience" : 0 =
  20.     [
  21.         0 : "Medieval"
  22.         1 : "Runic (metal)"
  23.         2 : "Present (base)"
  24.     ]
  25.     sounds(integer) : "CD track to play" : 1
  26.     light(integer) : "Default light level"
  27. ]
  28.  
  29. //
  30. // base marker definitions
  31. //
  32.  
  33. @baseclass = Appearflags [
  34.     spawnflags(Flags) =
  35.     [
  36.         256 : "Not in Easy" : 0
  37.         512 : "Not in Normal" : 0
  38.         1024 : "Not in Hard" : 0
  39.         2048 : "Not in Deathmatch" : 0
  40.     ]
  41. ]
  42.  
  43. @baseclass = Targetname [ targetname(target_source) : "Name" ]
  44. @baseclass = Target [ target(target_destination) : "Target" ]
  45.  
  46. //
  47. // player starts, deathmatch, coop, teleport
  48. //
  49.  
  50. @baseclass base(Appearflags) size(-16 -16 -24, 16 16 24) 
  51.     color(0 255 0) = PlayerClass []
  52.  
  53. @PointClass base(PlayerClass) = info_player_start : "Player 1 start" []
  54. @PointClass base(PlayerClass) = info_player_deathmatch : "Player deathmatch start" []
  55. @PointClass base(PlayerClass) = info_player_coop : "Player cooperative start" []
  56. @PointClass base(PlayerClass) = info_player_start2 : "Player episode return point" []
  57. @PointClass base(PlayerClass) = info_teleport_destination : "Teleport destination" []
  58.  
  59. @PointClass base(Appearflags) = info_intermission : "Intermission camera" []
  60.  
  61. //
  62. // items
  63. //
  64.  
  65. @baseclass size(0 0 0, 32 32 32) base(Appearflags) = Ammo
  66. [
  67.     spawnflags(flags) = 
  68.     [
  69.         1 : "Large box" : 0
  70.     ]
  71. ]
  72.  
  73. @PointClass base(Ammo) = item_cells : "Thunderbolt ammo" []
  74. @PointClass base(Ammo) = item_rockets : "Rockets" []
  75. @PointClass base(Ammo) = item_shells : "Shells" []
  76. @PointClass base(Ammo) = item_spikes : "Perforator/Nailgun ammo" []
  77.  
  78. @PointClass base(Appearflags) = item_health : "Health pak" 
  79. [
  80.     spawnflags(flags) = 
  81.     [
  82.         1 : "13% health" : 0
  83.         2 : "Megahealth" : 0
  84.     ]
  85. ]
  86.  
  87. @PointClass base(Appearflags) = 
  88.     item_artifact_envirosuit : "Environmental protection suit" []
  89. @PointClass base(Appearflags) = 
  90.     item_artifact_super_damage : "Quad damage" []
  91. @PointClass base(Appearflags) = 
  92.     item_artifact_invulnerability : "Pentagram of Protection" []
  93. @PointClass base(Appearflags) = 
  94.     item_artifact_invisibility : "Ring of Shadows" []
  95.  
  96. @PointClass size(-16 -16 -24, 16 16 32) base(Appearflags) = 
  97.     item_armorInv : "200% armor (Red)" []
  98. @PointClass size(-16 -16 -24, 16 16 32) base(Appearflags) = 
  99.     item_armor2 : "150% armor (Yellow)" []
  100. @PointClass size(-16 -16 -24, 16 16 32) base(Appearflags) = 
  101.     item_armor1 : "100% armor (Green)" []
  102. @PointClass size(-16 -16 -24, 16 16 32) base(Appearflags) = 
  103.     item_key1 : "Silver key" []
  104. @PointClass size(-16 -16 -24, 16 16 32) base(Appearflags) = 
  105.     item_key2 : "Gold key" []
  106. @PointClass size(-16 -16 -24, 16 16 32) base(Appearflags) = 
  107.     item_sigil : "Sigil" 
  108. [
  109.     spawnflags(Flags) =
  110.     [
  111.         1 : "Episode 1" : 1
  112.         2 : "Episode 2" : 0
  113.         4 : "Episode 3" : 0
  114.         8 : "Episode 4" : 0
  115.     ]
  116. ]
  117.  
  118. //
  119. // weaponses
  120. //
  121.  
  122. @baseclass size(-16 -16 0, 16 16 32) base(Appearflags) = Weapon []
  123.  
  124. @PointClass base(Weapon) = weapon_supershotgun : "Super shotgun" []
  125. @PointClass base(Weapon) = weapon_nailgun : "Nailgun" []
  126. @PointClass base(Weapon) = weapon_supernailgun : "Perforator" []
  127. @PointClass base(Weapon) = weapon_grenadelauncher : "Grenade launcher" []
  128. @PointClass base(Weapon) = weapon_rocketlauncher : "Rocket launcher" []
  129. @PointClass base(Weapon) = weapon_lightning : "Thunderbolt" []
  130.  
  131. //
  132. // badasses
  133. //
  134.  
  135. @baseclass base(Appearflags, Target, Targetname) = Monster 
  136. [
  137.     spawnflags(Flags) = 
  138.     [
  139.         1 : "Ambush" : 0
  140.     ]
  141. ]
  142.  
  143. @PointClass base(Monster) size(-16 -16 -24, 16 16 40) = monster_army : "Grunt" []
  144. @PointClass base(Monster) size(-32 -32 -24, 32 32 40) = monster_dog : "Nasty Doggie" []
  145. @PointClass base(Monster) size(-32 -32 -24, 32 32 64) = monster_ogre : "Ogre" []
  146. @PointClass base(Monster) size(-32 -32 -24, 32 32 64) = monster_ogre_marksman : "Ogre marksman" []
  147. @PointClass base(Monster) size(-16 -16 -24, 16 16 40) = monster_knight : "Knight" []
  148. @PointClass base(Monster) size(-16 -16 -24, 16 16 40) = monster_hell_knight : "Hell knight" []
  149. @PointClass base(Monster) size(-16 -16 -24, 16 16 40) = monster_wizard : "Scrag" []
  150. @PointClass base(Monster) size(-32 -32 -24, 32 32 64) = monster_demon1 : "Fiend" []
  151. @PointClass base(Monster) size(-32 -32 -24, 32 32 64) = monster_shambler : "Shambler" []
  152. @PointClass base(Monster) size(-128 -128 -24, 128 128 256) = monster_boss : "Chthon" []
  153. @PointClass base(Monster) size(-16 -16 -24, 16 16 40) = monster_enforcer : "Enforcer" []
  154. @PointClass base(Monster) size(-32 -32 -24, 32 32 48) = monster_shalrath : "Shalrath" []
  155. @PointClass base(Monster) size(32 32 48) = monster_tarbaby : "Tarbaby" []
  156. @PointClass base(Monster) size(32 32 48) = monster_fish : "Rotfish" []
  157. @PointClass base(Monster) size(-16 -16 -24, 16 16 32) = monster_oldone : "Shub-Niggurath" []
  158. @PointClass base(Monster) size(-16 -16 -24, 16 16 32) = monster_zombie : "Zombie" 
  159. [
  160.     spawnflags(Flags) = 
  161.     [
  162.         1 : "Crucified" : 0
  163.         2 : "Ambush" : 0
  164.     ]
  165. ]
  166.  
  167. //
  168. // lights
  169. //
  170.  
  171. @baseclass = Light [
  172.     light(integer) : "Brightness" : 200
  173.     style(Choices) : "Appearance" : 0 =
  174.     [
  175.         0 : "Normal"
  176.         10: "Fluorescent flicker"
  177.         2 : "Slow, strong pulse"
  178.         11: "Slow pulse, noblack"
  179.         5 : "Gentle pulse"
  180.         1 : "Flicker A"
  181.         6 : "Flicker B"
  182.         3 : "Candle A"
  183.         7 : "Candle B"
  184.         8 : "Candle C"
  185.         4 : "Fast strobe"
  186.         9 : "Slow strobe"
  187.     ]
  188. ]
  189.  
  190. @PointClass size(-8 -8 -8, 8 8 8) base(Light, Targetname) = 
  191.     light : "Invisible lightsource" [ spawnflags(Flags) = [ 1 : "Initially dark" : 0 ] ]
  192. @PointClass size(-8 -8 -8, 8 8 8) base(Light, Targetname) = 
  193.     light_fluoro : "Fluorescent light" [ spawnflags(Flags) = [ 1 : "Initially dark" : 0 ] ]
  194. @PointClass size(-8 -8 -8, 8 8 8) base(Light, Targetname) = 
  195.     light_fluorospark : "Sparking fluorescent light" []
  196. @PointClass size(-8 -8 -8, 8 8 8) base(Light, Targetname) = 
  197.     light_globe : "Globe light" []
  198.  
  199. @PointClass size(-10 -10 -12, 12 12 18) base(Light, Targetname) = 
  200.     light_flame_large_yellow : "Large yellow flame" []
  201. @PointClass size(-10 -10 -12, 12 12 18) base(Light, Targetname) = 
  202.     light_flame_small_yellow : "Small yellow flame" 
  203.     [ spawnflags(Flags) = [ 1 : "Initially dark" : 0 ] ]
  204. @PointClass size(-10 -10 -12, 12 12 18) base(Light, Targetname) = 
  205.     light_flame_small_white : "Small white flame" 
  206.     [ spawnflags(Flags) = [ 1 : "Initially dark" : 0 ] ]
  207. @PointClass size(-10 -10 -20, 10 10 20) base(Light) = 
  208.     light_torch_small_walltorch : "Small walltorch" []
  209.  
  210. //
  211. // misc
  212. //
  213.  
  214. @PointClass base(Appearflags) = air_bubbles : "Air bubbles" []
  215. @PointClass = event_lightning : "Chthon's lightning" []
  216. @PointClass = misc_fireball : "Small fireball" []
  217. @PointClass = misc_explobox : "Large nuclear container" []
  218. @PointClass = misc_explobox2 : "Small nuclear container" []
  219. @PointClass = trap_spikeshooter : "Triggered shooter" 
  220. [
  221.     spawnflags(Flags) = 
  222.     [
  223.         1 : "Superspike" : 0
  224.         2 : "Laser" : 0
  225.     ]
  226. ]
  227. @PointClass base(trap_spikeshooter) = trap_shooter : "Continuous shooter" []
  228.  
  229. // 
  230. // ambient sounds
  231. //
  232.  
  233. @PointClass = ambient_drip : "Dripping sound" []
  234. @PointClass = ambient_drone : "Engine/machinery sound" []
  235. @PointClass = ambient_comp_hum : "Computer background sounds" []
  236. @PointClass = ambient_flouro_buzz : "Fluorescent buzzing sound" []
  237. @PointClass = ambient_light_buzz : "Buzzing sound from light" []
  238. @PointClass = ambient_suck_wind : "Wind sound" []
  239. @PointClass = ambient_swamp1 : "Frogs croaking" []
  240. @PointClass = ambient_swamp2 : "Frogs croaking B" []
  241. @PointClass = ambient_thunder : "Thunder sound" []
  242.  
  243. // 
  244. // moving things
  245. //
  246.  
  247. @baseclass base(Appearflags, Targetname) = Door
  248. [
  249.     speed(integer) : "Speed" : 40
  250.     sounds(integer) : "Sound group"
  251.     wait(choices) : "Delay before close" : 4 = 
  252.     [
  253.         -1 : "Stays open"
  254.     ]
  255.     lip(integer) : "Lip"
  256. ]
  257.  
  258. @SolidClass base(Door) = func_door : "Basic door" 
  259. [
  260.     message(string) : "Message when triggered"
  261.     spawnflags(flags) =
  262.     [
  263.         1 : "Starts Open" : 0
  264.         4 : "Don't link" : 0
  265.         8 : "Gold Key required" : 0
  266.         10: "Silver Key required" : 0
  267.         20: "Toggle" : 0
  268.     ]
  269. ]
  270.  
  271. @SolidClass base(Door) = func_door_secret : "Triggered door" 
  272. [
  273.     spawnflags(flags) = 
  274.     [
  275.         1 : "Open once only" : 0
  276.         2 : "Moves left first" : 0
  277.         4 : "Moves down first" : 0
  278.         8 : "Not shootable" : 0
  279.         10 : "Always shootable" : 0
  280.     ]
  281. ]
  282.  
  283. @SolidClass base(Appearflags) = func_wall : "Moving wall" []
  284.  
  285. @SolidClass = func_button : "Button" 
  286. [
  287.     speed(integer) : "Speed" : 5
  288.     target(target_source) : "Targetted object"
  289.     health(integer) : "Health (shootable if > 0)"
  290.     sounds(choices) : "Sounds" : 1 = 
  291.     [
  292.         1: "Steam metal"
  293.         2: "Wooden clunk"
  294.         3: "Metallic clink"
  295.         4: "In-out"
  296.     ]
  297.     wait(choices) : "Delay before reset" : 3 =
  298.     [
  299.         -1: "Stays pressed"
  300.     ]
  301.     delay(integer) : "Delay before trigger"
  302. ]
  303.  
  304. @SolidClass base(Targetname) = func_train : "Moving platform" 
  305. [
  306.     sounds(integer) : "Sound group" : 0
  307.     speed(integer) : "Speed (units per second)" : 64
  308.     target(target_source) : "First stop target"
  309.     dmg(integer) : "Damage on crush" : 0
  310. ]
  311.  
  312. @PointClass base(Targetname) size(16 16 16) = 
  313.     path_corner : "Moving platform stop"
  314. [
  315.     target(target_source) : "Next stop target"
  316. ]
  317.  
  318. @SolidClass = func_plat : "Elevator" 
  319. [
  320.     height(integer) : "Travel altitude (can be negative)" : 0
  321.     sounds(integer) : "Sound group"
  322. ]    
  323.  
  324. @SolidClass = func_dm_only : "Deathmatch teleporter" []
  325. @SolidClass = func_illusionary : "Solids can be walked through" []
  326.  
  327. @SolidClass = func_episodegate : "Episode Gate"
  328. [
  329.     spawnflags(Flags) =
  330.     [
  331.         1 : "Episode 1" : 1
  332.         2 : "Episode 2" : 0
  333.         4 : "Episode 3" : 0
  334.         8 : "Episode 4" : 0
  335.     ]
  336. ]
  337.  
  338. @SolidClass = func_bossgate : "Boss gate" []
  339.  
  340. //
  341. // triggers
  342. //
  343.  
  344. @baseclass base(Target) = Trigger
  345. [
  346.     style(integer) : "Style" : 32
  347.     killtarget(target_source) : "Kill target"
  348.     sounds(choices) : "Sound style" : 3 =
  349.     [
  350.         1 : "Secret sound"
  351.         2 : "Beep beep"
  352.         3 : "Large switch"
  353.         4 : "Set message to text string"
  354.     ]
  355.     delay(integer) : "Delay before trigger" : 2
  356. ]
  357.  
  358. @SolidClass = trigger_changelevel : "Trigger: Change level"
  359. [
  360.     map(string) : "New map name"
  361. ]
  362.  
  363. @SolidClass base(Trigger) = trigger_once : "Trigger: Activate once" []
  364. @SolidClass base(Trigger) = trigger_multiple : "Trigger: Activate multiple" 
  365. [
  366.     wait(integer) : "Delay before reset" : 10
  367. ]
  368. @SolidClass base(Trigger) = trigger_onlyregistered : "Trigger: Registered only" []
  369. @SolidClass base(Trigger) = trigger_secret : "Trigger: Secret" 
  370. [
  371.     wait(integer) : "Delay before reset" : 10
  372. ]
  373.  
  374. @SolidClass = trigger_teleport : "Trigger teleport" 
  375. [
  376.     spawnflags(Flags) =
  377.     [
  378.         1 : "Player only" : 0
  379.         2 : "Silent" : 0
  380.     ]
  381. ]
  382.  
  383. // need updates:
  384.  
  385. @SolidClass base(Trigger) = trigger_setskill : "Trigger set skill" 
  386. [
  387.     message(choices) : "Skill to change to" : 1 =
  388.     [
  389.         1 : "Easy"
  390.         2 : "Medium"
  391.         3 : "Hard"
  392.         4 : "Nightmare!"
  393.     ]
  394. ]
  395. @SolidClass base(Trigger) = trigger_relay : "Trigger relay" 
  396. [
  397.     target(target_destination) : "Name"
  398. ]
  399. @SolidClass base(Trigger) = trigger_monsterjump : "Trigger monster jump" 
  400. [
  401.     speed(integer) : "Jump Speed" : 40
  402.     height(integer) : "Jump Height" : 128
  403. ]
  404. @SolidClass base(Trigger) = trigger_counter : "Trigger counter" 
  405. [
  406.     count(integer) : "Count before activation" : 2
  407. ]
  408. @PointClass base(Trigger) = trigger_push : "Trigger player push" 
  409. [
  410.     speed(integer) : "Speed of push" : 40
  411. ]
  412. @SolidClass base(Trigger) = trigger_hurt : "Trigger player hurt" 
  413. [
  414. ]
  415.