EPAIRS.H (52286B)
1 /* 2 =========================================================================== 3 Copyright (C) 1999-2005 Id Software, Inc. 4 5 This file is part of Quake III Arena source code. 6 7 Quake III Arena source code is free software; you can redistribute it 8 and/or modify it under the terms of the GNU General Public License as 9 published by the Free Software Foundation; either version 2 of the License, 10 or (at your option) any later version. 11 12 Quake III Arena source code is distributed in the hope that it will be 13 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with Foobar; if not, write to the Free Software 19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 =========================================================================== 21 */ 22 #ifndef EPAIRS_H_ 23 #define EPAIRS_H_ 24 25 typedef struct 26 { 27 char *key; 28 char *value; 29 } userEpair_t; 30 31 userEpair_t eclassStr[] = 32 { 33 ////////////////////////////// 34 // Worldspawn 35 ////////////////////////////// 36 {"classname", "worldspawn"}, 37 {"color", "0 0 0"}, 38 {"rem", "Only used for the world entity."}, 39 {"rem", "cdtrack - number of CD track to play when level starts"}, 40 {"rem", "fog_value - level of fog for this map"}, 41 42 ////////////////////////////// 43 // Light 44 ////////////////////////////// 45 {"classname", "light"}, 46 {"size", "-8 -8 -8 8 8 8"}, 47 {"color", "0 1 0"}, 48 {"flag", "START_OFF"}, 49 50 {"rem", "style - number of style to use, 0-63"}, 51 {"rem", "nelnosmama - string to define lightstyle"}, 52 53 ////////////////////////////// 54 // light_walltorch 55 ////////////////////////////// 56 {"classname", "light_walltorch"}, 57 {"size", "-8 -8 -8 8 8 8"}, 58 {"color", "0 1 0"}, 59 {"flag", "START_ON"}, 60 61 {"rem", "style - number of style to use, 0-63"}, 62 {"rem", "nelnosmama - string to define lightstyle"}, 63 64 ////////////////////////////// 65 // light_spot 66 ////////////////////////////// 67 {"classname", "light_spot"}, 68 {"size", "-8 -8 -8 8 8 8"}, 69 {"color", "0 1 0"}, 70 {"flag", "START_ON"}, 71 72 {"rem", "Used to make a spotlight. If it is targeted at another entity,"}, 73 {"rem", "the spotlight will point directly at it, otherwise it will point"}, 74 {"rem", "in the direction of its 'angle' field"}, 75 {"rem", ""}, 76 {"rem", "style - number of style to use, 0-63"}, 77 {"rem", "nelnosmama - string to define lightstyle"}, 78 79 ////////////////////////////// 80 // light_strobe 81 ////////////////////////////// 82 {"classname", "light_strobe"}, 83 {"size", "-8 -8 -8 8 8 8"}, 84 {"color", "0 1 0"}, 85 86 {"flag", "START_ON"}, 87 {"rem", "style - number of style to use, 0-63"}, 88 {"rem", "nelnosmama - string to define lightstyle"}, 89 90 ////////////////////////////// 91 // effect_fog 92 ////////////////////////////// 93 {"classname", "effect_fog"}, 94 {"color", "0 1 0"}, 95 {"rem", "Duh, fog."}, 96 {"rem", ""}, 97 98 ////////////////////////////// 99 // effect_snow 100 ////////////////////////////// 101 {"classname", "effect_snow"}, 102 {"color", "1 1 1"}, 103 {"height", "10"}, 104 {"rem", "Snow!"}, 105 {"rem", "Do you realize the entire street value of this mountain?"}, 106 107 ////////////////////////////// 108 // effect_rain 109 ////////////////////////////// 110 {"classname", "effect_rain"}, 111 {"height", "10"}, 112 {"color", "0 0.5 0.8"}, 113 {"rem", "Rain!"}, 114 {"rem", "Yellow rain?"}, 115 116 ////////////////////////////// 117 // func_door 118 ////////////////////////////// 119 {"classname", "func_door"}, 120 {"color", "0 0.5 0.8"}, 121 {"health", "0"}, 122 {"speed", "100"}, 123 {"wait", "3"}, 124 {"lip", "8"}, 125 {"dmg", "2"}, 126 {"angle", "0 0 0"}, 127 {"message", "you suck"}, 128 {"targetname", ""}, 129 {"flag", "START_OPEN"}, 130 {"flag", "REVERSE"}, 131 {"flag", "DOOR_DONT_LINK"}, 132 {"flag", "TOGGLE"}, 133 {"flag", "AUTO_OPEN"}, 134 {"flag", "USE_TO_CLOSE"}, 135 136 {"rem", "Doors that touch are linked together to operate as one."}, 137 {"rem", " "}, 138 {"rem", "message - printed when the door is touched if it is a trigger door and it hasn't been fired yet"}, 139 {"rem", "angle - determines the opening direction"}, 140 {"rem", "targetname - if set, no touch field will be spawned and a remote button or trigger field activates the door."}, 141 {"rem", "health - if set, door must be shot open"}, 142 {"rem", "speed - movement speed (100 default)"}, 143 {"rem", "wait - time to wait before returning (3 default, -1 = never return)"}, 144 {"rem", "lip - amount of door visible remaining at end of move (8 default)"}, 145 {"rem", "dmg - damage to inflict when blocked (2 default)"}, 146 {"rem", "sound_opening - name of the sound to play during opening, ie. doors/creek.wav"}, 147 {"rem", "sound_open_finish - name of the sound to play when opening completes, ie. doors/slam.wav"}, 148 {"rem", "sound_closing - name of the sound to play when closing starts, ie. doors/creek.wav"}, 149 {"rem", "sound_close_finish - name of the sound to play when closing completes, ie. doors/slam.wav"}, 150 {"rem", " "}, 151 {"rem", "Spawnflags:"}, 152 {"rem", "TOGGLE causes the door to wait in both the start and end states for a"}, 153 {"rem", "trigger event."}, 154 {"rem", " "}, 155 {"rem", "START_OPEN causes the door to move to its destination when spawned, and"}, 156 {"rem", "operate in reverse. It is used to temporarily or permanently close off an"}, 157 {"rem", "area when triggered (not usefull for touch or takedamage doors)."}, 158 {"rem", "AUTO_OPEN will spawn a trigger field around the door that can open it without"}, 159 {"rem", "its being used."}, 160 {"rem", "DOOR_DONT_LINK will stop a door from being automatically linked to other doors"}, 161 {"rem", "that it touches."}, 162 163 ////////////////////////////// 164 // func_plat 165 ////////////////////////////// 166 {"classname", "func_plat"}, 167 {"color", "0 0.5 0.8"}, 168 {"flag", "PLAT_START_UP"}, 169 {"flag", ""}, 170 {"flag", ""}, 171 {"flag", "PLAT_TOGGLE"}, 172 173 {"rem", "Plats should be drawn in the up position to spawn correctly"}, 174 {"rem", " "}, 175 {"rem", "message - printed when the door is touched if it is a trigger door and it hasn't been fired yet"}, 176 {"rem", "angle - determines the opening direction"}, 177 {"rem", "targetname - if set, no touch field will be spawned and a remote button or trigger field activates the door."}, 178 {"rem", "health - if set, door must be shot open"}, 179 {"rem", "speed - movement speed (100 default)"}, 180 {"rem", "wait - time to wait before returning (3 default, -1 = never return)"}, 181 {"rem", "height - number of units to move the platform up from spawn position. If height is"}, 182 {"rem", "not specified, then the movement distance is determined based on the vertical size of the platform."}, 183 {"rem", "dmg - damage to inflict when blocked (2 default)"}, 184 {"rem", "sound_up - name of the sound to play when going up, ie. doors/creek.wav"}, 185 {"rem", "sound_top - name of the sound to play when plat hits top, ie. doors/slam.wav"}, 186 {"rem", "sound_down - name of the sound to play when going down, ie. doors/creek.wav"}, 187 {"rem", "sound_bottom - name of the sound to play when plat hits bottom, ie. doors/slam.wav"}, 188 {"rem", " "}, 189 {"rem", "Spawnflags:"}, 190 {"rem", "PLAT_START_UP starts the platform in the up (drawn) position"}, 191 {"rem", "(height added to drawn position)"}, 192 {"rem", "TOGGLE causes the platform to wait in both the start and end states for a"}, 193 {"rem", "trigger event."}, 194 195 ////////////////////////////// 196 // func_door_rotate 197 ////////////////////////////// 198 {"classname", "func_door_rotate"}, 199 {"distance", "90.0"}, 200 {"color", "0 0.5 0.8"}, 201 {"message", "they suck"}, 202 {"flag", "START_OPEN"}, 203 {"flag", "REVERSE"}, 204 {"flag", "DOOR_DONT_LINK"}, 205 {"flag", "TOGGLE"}, 206 {"flag", "X_AXIS"}, 207 {"flag", "Y_AXIS"}, 208 {"flag", "AUTO_OPEN"}, 209 {"flag", "USE_TO_CLOSE"}, 210 // {"flag", "X_AXIS"}, 211 // {"flag", "Y_AXIS"}, 212 213 {"rem", "if two doors touch, they are assumed to be connected and operate as a unit."}, 214 {"rem", " "}, 215 {"rem", "TOGGLE causes the door to wait in both the start and end states for a"}, 216 {"rem", "trigger event."}, 217 {"rem", " "}, 218 {"rem", "START_OPEN causes the door to move to its destination when spawned, and"}, 219 {"rem", "operate in reverse. It is used to temporarily or permanently close off an"}, 220 {"rem", "area when triggered (not usefull for touch or takedamage doors)."}, 221 {"rem", " "}, 222 {"rem", "Key doors are allways wait -1."}, 223 {"rem", " "}, 224 {"rem", "You need to have an origin brush as part of this entity. The center of"}, 225 {"rem", "that brush will be"}, 226 {"rem", "the point around which it is rotated. It will rotate around the Z axis by"}, 227 {"rem", "default. You can"}, 228 {"rem", "check either the X_AXIS or Y_AXIS box to change that."}, 229 {"rem", " "}, 230 {"rem", "'distance' is how many degrees the door will be rotated."}, 231 {"rem", "'speed' determines how fast the door moves; default value is 100."}, 232 {"rem", " "}, 233 {"rem", "REVERSE will cause the door to rotate in the opposite direction."}, 234 {"rem", " "}, 235 {"rem", "'message' is printed when the door is touched if it is a trigger door and"}, 236 {"rem", " it hasn't been fired yet."}, 237 {"rem", "'targetname' if set, no touch field will be spawned and a remote button or"}, 238 {"rem", " trigger field activates the door."}, 239 {"rem", "'health' if set, door must be shot open"}, 240 {"rem", "'wait' wait before returning (3 default, -1 = never return)"}, 241 {"rem", "'dmg' damage to inflict when blocked (2 default)"}, 242 {"rem", "sound_opening - name of the sound to play during opening, ie. doors/creek.wav"}, 243 {"rem", "sound_open_finish - name of the sound to play when opening completes, ie. doors/slam.wav"}, 244 {"rem", "sound_closing - name of the sound to play when closing starts, ie. doors/creek.wav"}, 245 {"rem", "sound_close_finish - name of the sound to play when closing completes, ie. doors/slam.wav"}, 246 {"rem", "AUTO_OPEN will spawn a trigger field around the door that can open it without"}, 247 {"rem", "its being used."}, 248 {"rem", "DOOR_DONT_LINK will stop a door from being automatically linked to other doors"}, 249 {"rem", "that it touches."}, 250 251 ////////////////////////////// 252 // func_rotate 253 ////////////////////////////// 254 {"classname", "func_rotate"}, 255 {"color", "0.0 0.5 0.8"}, 256 {"flag", "START_ON"}, 257 {"flag", "REVERSE"}, 258 {"flag", "X_AXIS"}, 259 {"flag", "Y_AXIS"}, 260 261 {"rem", "You need to have an origin brush as part of this entity."}, 262 {"rem", "The center of that brush will be"}, 263 {"rem", "the point around which it is rotated. It will rotate around the Z axis by"}, 264 {"rem", "default. You can"}, 265 {"rem", "check either the X_AXIS or Y_AXIS box to change that."}, 266 {"rem", " "}, 267 {"rem", "'speed' determines how fast it moves; default value is 100."}, 268 {"rem", "'dmg' damage to inflict when blocked (2 default)"}, 269 {"rem", " "}, 270 {"rem", "REVERSE will cause the it to rotate in the opposite direction."}, 271 272 ////////////////////////////// 273 // trigger_multiple 274 ////////////////////////////// 275 {"classname", "trigger_multiple"}, 276 {"color", "0.5 0.5 0.5"}, 277 {"health", "0"}, 278 {"delay", "0"}, 279 {"wait", "0.2"}, 280 {"sound", ""}, 281 {"targetname", ""}, 282 {"target", ""}, 283 {"killtarget", ""}, 284 {"message", ""}, 285 {"flag", "NOTOUCH"}, 286 287 {"rem", "a repeatable trigger, targetted at the entity with the name"}, 288 {"rem", "targetname."}, 289 {"rem", ""}, 290 {"rem", "health - if set the trigger must be killed to activate"}, 291 {"rem", "delay - time to wait after activation before firing target"}, 292 {"rem", "wait - time to wait between retriggering (default = 0.2 seconds)"}, 293 {"rem", ""}, 294 {"rem", "Spawnflags:"}, 295 {"rem", "NOTOUCH - if set the trigger is only fired by other entities and"}, 296 {"rem", "not by touching."}, 297 298 ////////////////////////////// 299 // trigger_console 300 ////////////////////////////// 301 {"classname", "trigger_console"}, 302 {"color", "0.5 0.5 0.5"}, 303 {"wait", "0.2"}, 304 {"command", ""}, 305 {"rem", ""}, 306 {"rem", "command - the command to send to the console when triggered"}, 307 308 ////////////////////////////// 309 // trigger_once 310 ////////////////////////////// 311 {"classname", "trigger_once"}, 312 {"color", "0.5 0.5 0.5"}, 313 {"angle", "0 0 0"}, 314 {"health", "0"}, 315 {"delay", "0"}, 316 {"sound", ""}, 317 {"targetname", ""}, 318 {"killtarget", ""}, 319 {"message", ""}, 320 {"flag", "NOTOUCH"}, 321 322 {"rem", "triggers once, then removes itself"}, 323 {"rem", " "}, 324 {"rem", "health - if set the trigger must be killed to activate"}, 325 {"rem", "delay - time to wait after activation before firing target"}, 326 {"rem", "wait - time to wait between retriggering (default = 0.2 seconds)"}, 327 {"rem", "sound - name of sound to play upon firing"}, 328 {"rem", " "}, 329 {"rem", "Spawnflags:"}, 330 {"rem", "NOTOUCH - if set the trigger is only fired by other entities and"}, 331 {"rem", "not by touching."}, 332 333 ////////////////////////////// 334 // trigger_relay 335 ////////////////////////////// 336 {"classname", "trigger_relay"}, 337 {"color", "0.5 0.5 0.5"}, 338 {"delay", "0"}, 339 {"sound", ""}, 340 {"targetname", ""}, 341 {"killtarget", ""}, 342 {"message", ""}, 343 344 {"rem", "sound - name of sound to play upon firing"}, 345 346 ////////////////////////////// 347 // trigger_teleport 348 ////////////////////////////// 349 {"classname", "trigger_teleport"}, 350 {"color", "0.5 0.5 0.5"}, 351 {"sound", ""}, 352 {"targetname", ""}, 353 {"killtarget", ""}, 354 {"message", ""}, 355 {"flag", "PLAYER_ONLY"}, 356 {"flag", "NO_FLASH"}, 357 {"flag", "NO_ANGLE_ADJUST"}, 358 359 {"rem", "sound - name of sound to play upon firing, if not specified, then no"}, 360 {"rem", "sound will be played"}, 361 {"rem", "fog_value - sets fog_value to this when a teleporter is used"}, 362 {"rem", ""}, 363 {"rem", "Spawnflags:"}, 364 {"rem", "PLAYER_ONLY - will only teleport players (NOT bots)"}, 365 {"rem", "NO_FLASH - no spawn fog will be generated when an object teleports"}, 366 {"rem", "NO_ANGLE_ADJUST - the object's angle will not be adjusted when it is"}, 367 {"rem", "teleported."}, 368 369 ////////////////////////////// 370 // info_teleport_destination 371 ////////////////////////////// 372 {"classname", "info_teleport_destination"}, 373 {"color", "0.5 0.5 0.5"}, 374 {"size", "-8.0 -8.0 -8.0 8.0 8.0 8.0"}, 375 376 ////////////////////////////// 377 // trigger_warp 378 ////////////////////////////// 379 {"classname", "trigger_warp"}, 380 {"color", "0.5 0.5 0.5"}, 381 {"sound", ""}, 382 {"targetname", ""}, 383 {"killtarget", ""}, 384 {"message", ""}, 385 {"flag", "PLAYER_ONLY"}, 386 {"flag", "NO_FLASH"}, 387 {"flag", "NO_ANGLE_ADJUST"}, 388 389 {"rem", "sound - name of sound to play upon firing, if not specified, then no"}, 390 {"rem", "sound will be played"}, 391 {"rem", "fog_value - sets fog_value to this when a warp is used"}, 392 {"rem", "speed - speed from this path point to the next"}, 393 {"rem", ""}, 394 {"rem", "Spawnflags:"}, 395 {"rem", "PLAYER_ONLY - will only teleport players (NOT bots)"}, 396 {"rem", "NO_FLASH - no spawn fog will be generated when an object teleports"}, 397 {"rem", "NO_ANGLE_ADJUST - the object's angle will not be adjusted when it is"}, 398 {"rem", "teleported."}, 399 400 ////////////////////////////// 401 // tele_cylinder 402 ////////////////////////////// 403 404 {"classname", "warp_cylinder"}, 405 {"color", "0.5 0.5 0.5"}, 406 {"color", "1 0 1"}, 407 {"size", "-16 -16 -24 16 16 32"}, 408 {"rem", "Location player starts in deathmatch"}, 409 410 ////////////////////////////// 411 // info_warp_destination 412 ////////////////////////////// 413 {"classname", "info_warp_destination"}, 414 {"color", "0.5 0.5 0.5"}, 415 {"size", "-8.0 -8.0 -8.0 8.0 8.0 8.0"}, 416 417 {"rem", "target - next target to warp to"}, 418 {"rem", "speed - speed from this path point to the next"}, 419 420 ////////////////////////////// 421 // trigger_onlyregistered 422 ////////////////////////////// 423 {"classname", "trigger_onlyregistered"}, 424 {"color", "0.5 0.5 0.5"}, 425 {"sound", ""}, 426 {"wait", "2.0"}, 427 {"message", ""}, 428 429 {"rem", "sound - name of sound to play upon firing"}, 430 {"rem", "wait - the number of seconds between triggerings and"}, 431 {"rem", "the length of time the message will be displayed"}, 432 433 ////////////////////////////// 434 // trigger_hurt 435 ////////////////////////////// 436 {"classname", "trigger_hurt"}, 437 {"color", "0.5 0.5 0.5"}, 438 {"sound", ""}, 439 {"dmg", "2.0"}, 440 {"wait", "2.0"}, 441 {"message", ""}, 442 443 {"rem", "sound - name of sound to play upon firing"}, 444 {"rem", "dmg - the amount of damage the trigger will do to an object"}, 445 {"rem", "wait - the number of seconds between triggerings and"}, 446 447 ////////////////////////////// 448 // trigger_push 449 ////////////////////////////// 450 {"classname", "trigger_push"}, 451 {"color", "0.5 0.5 0.5"}, 452 {"sound", ""}, 453 {"message", ""}, 454 {"speed", "1000.0"}, 455 {"flag", "PUSH_ONCE"}, 456 {"rem", "speed - the velocity to give the object"}, 457 {"rem", "speed - the velocity to give the object"}, 458 459 ////////////////////////////// 460 // trigger_counter 461 ////////////////////////////// 462 {"classname", "trigger_counter"}, 463 {"color", "0.5 0.5 0.5"}, 464 {"sound", ""}, 465 {"flag", "NO_MESSAGE"}, 466 467 {"rem", "sound - name of sound to play upon firing"}, 468 {"rem", "message - message to display upon last triggering"}, 469 {"rem", "when NO_MESSAGE is set, no messages are displayed upon triggering"}, 470 471 ////////////////////////////// 472 // trigger_changelevel 473 ////////////////////////////// 474 {"classname", "trigger_changelevel"}, 475 {"color", "0.5 0.5 0.5"}, 476 {"sound", ""}, 477 {"map", ""}, 478 {"flag", "NO_INTERMISSION"}, 479 480 {"rem", "sound - name of sound to play upon firing"}, 481 {"rem", "message - message to display upon last triggering"}, 482 483 ////////////////////////////// 484 // func_wall 485 ////////////////////////////// 486 {"classname", "func_wall"}, 487 {"color", "0 0.5 0.8"}, 488 {"health", "0"}, 489 {"message", ""}, 490 {"targetname", ""}, 491 {"target", ""}, 492 {"killtarget", ""}, 493 494 {"rem", "targetname - the name of this wall if it is a target"}, 495 {"rem", "target - the next entity to trigger when this one is triggered"}, 496 {"rem", "killtarget - the targetname of the entity to remove when triggered"}, 497 498 ////////////////////////////// 499 // func_button 500 ////////////////////////////// 501 {"classname", "func_button"}, 502 {"color", "0 0.5 0.8"}, 503 {"health", "0"}, 504 {"targetname", ""}, 505 {"target", ""}, 506 {"killtarget", ""}, 507 {"speed", ""}, 508 {"wait", ""}, 509 {"angle", ""}, 510 {"lip", ""}, 511 {"flag", "PUSH_TOUCH"}, 512 513 {"rem", "targetname - the name of this wall if it is a target"}, 514 {"rem", "target - the next entity to trigger when this one is triggered"}, 515 {"rem", "killtarget - the targetname of the entity to remove when triggered"}, 516 {"rem", "sound_use - the sound to play when the button is used (defaults to none)"}, 517 {"rem", "sound_return - the sound to play when the button returns (defaults to none)"}, 518 {"rem", "speed - rate of travel when button moves"}, 519 {"rem", "wait - seconds to wait befor returning to useable (-1 = never return)"}, 520 {"rem", "angle - direction of travel"}, 521 {"rem", "lip - amount of button left sticking out after being pushed (default 4)"}, 522 {"rem", "health - when > 0 the button must be killed in order to fire"}, 523 {"rem", "PUSH_TOUCH will allow the button to be pushed by running into it, Quake style"}, 524 525 ////////////////////////////// 526 // func_multi_button 527 ////////////////////////////// 528 {"classname", "func_multi_button"}, 529 {"color", "0 0.5 0.8"}, 530 {"health", "0"}, 531 {"targetname", ""}, 532 {"target", ""}, 533 {"killtarget", ""}, 534 {"speed", ""}, 535 {"wait", ""}, 536 {"angle", ""}, 537 {"lip", ""}, 538 {"flag", "PUSH_TOUCH"}, 539 {"flag", "CYCLE"}, 540 541 {"rem", "targetname - the name of this wall if it is a target"}, 542 {"rem", "target - the next entity to trigger when this one is triggered"}, 543 {"rem", "killtarget - the targetname of the entity to remove when triggered"}, 544 {"rem", "sound_use - the sound to play when the button is used (defaults to none)"}, 545 {"rem", "sound_return - the sound to play when the button returns (defaults to none)"}, 546 {"rem", "speed - rate of travel when button moves"}, 547 {"rem", "wait - seconds to wait befor returning to useable (-1 = never return)"}, 548 {"rem", "angle - direction of travel"}, 549 {"rem", "health - when > 0 the button must be killed in order to fire"}, 550 {"rem", "distance - distance button travels on each push"}, 551 {"rem", "count - number of positions this button has"}, 552 {"rem", "PUSH_TOUCH will allow the button to be pushed by running into it, Quake style"}, 553 {"rem", "CYCLE - button will not return to top from last position, but will go back through all positions"}, 554 555 ////////////////////////////// 556 // func_train 557 ////////////////////////////// 558 {"classname", "func_train"}, 559 {"distance", "90.0"}, 560 {"color", "0 0.5 0.8"}, 561 {"rem", "targetname - the name of this train"}, 562 {"rem", "target - the path_corner that the train will spawn at"}, 563 {"rem", "killtarget - the targetname of the entity to remove when triggered"}, 564 565 ////////////////////////////// 566 // func_train 567 ////////////////////////////// 568 {"classname", "func_train2"}, 569 {"distance", "90.0"}, 570 {"color", "0 0.5 0.8"}, 571 {"rem", "targetname - the name of this train"}, 572 {"rem", "target - the path_corner that the train will spawn at"}, 573 {"rem", "killtarget - the targetname of the entity to remove when triggered"}, 574 575 ////////////////////////////// 576 // path_corner_train 577 ////////////////////////////// 578 {"classname", "path_corner_train"}, 579 {"distance", "90.0"}, 580 {"color", "0.5 0.3 0"}, 581 {"size", "-8 -8 -8 8 8 8"}, 582 {"flag", "X_AXIS"}, 583 {"flag", "Y_AXIS"}, 584 {"flag", "Z_AXIS"}, 585 {"flag", "TRIGWAIT"}, 586 {"rem", "killtarget - the targetname of the entity to remove when this"}, 587 {"rem", "path_corner is reached"}, 588 {"rem", "speed - rate of travel from this path_corner to the next"}, 589 {"rem", "wait - seconds to wait after the actions on this path_corner are complete"}, 590 {"rem", "sound - sound to play at this path corner"}, 591 {"rem", "x_distance - distance in degrees to rotate around x axis"}, 592 {"rem", "y_distance - distance in degrees to rotate around y axis"}, 593 {"rem", "z_distance - distance in degrees to rotate around z axis"}, 594 {"rem", "x_speed - speed to rotate along x axis in degrees per second"}, 595 {"rem", "y_speed - speed to rotate along y axis in degrees per second"}, 596 {"rem", "z_speed - speed to rotate along z axis in degrees per second"}, 597 {"rem", "health - if health is set, the train will wait at this path corner"}, 598 {"rem", "until it is killed."}, 599 {"rem", "Spawnflags:"}, 600 {"rem", "X_AXIS - when checked train will rotate continually around "}, 601 {"rem", "x axis at x_speed degrees per second"}, 602 {"rem", "Y_AXIS - when checked train will rotate continually around "}, 603 {"rem", "y axis at y_speed degrees per second"}, 604 {"rem", "Z_AXIS - when checked train will rotate continually around "}, 605 {"rem", "z axis at z_speed degrees per second"}, 606 {"rem", "TRIGWAIT - wait here until triggered"}, 607 608 ////////////////////////////// 609 // info_player_start 610 ////////////////////////////// 611 {"classname", "info_player_start"}, 612 {"color", "1 0 0"}, 613 {"size", "-16 -16 -24 16 16 32"}, 614 {"rem", "Location player starts in single play."}, 615 616 ////////////////////////////// 617 // info_mikiko_start 618 ////////////////////////////// 619 {"classname", "info_mikiko_start"}, 620 {"color", "1 0 0"}, 621 {"size", "-16 -16 -24 16 16 32"}, 622 {"rem", "Location Mikiko starts in single play."}, 623 624 ////////////////////////////// 625 // info_superfly_start 626 ////////////////////////////// 627 {"classname", "info_superfly_start"}, 628 {"color", "1 0 0"}, 629 {"size", "-16 -16 -24 16 16 32"}, 630 {"rem", "Location Superfly starts in single play."}, 631 632 ////////////////////////////// 633 // info_null 634 ////////////////////////////// 635 {"classname", "info_null"}, 636 {"color", "1 0 0"}, 637 {"size", "-8 -8 -8 8 8 8"}, 638 {"rem", "You can point anything to this as a target"}, 639 640 ////////////////////////////// 641 // info_player_deathmatch 642 ////////////////////////////// 643 {"classname", "info_player_deathmatch"}, 644 {"color", "1 0 1"}, 645 {"size", "-16 -16 -24 16 16 32"}, 646 {"rem", "Location player starts in deathmatch"}, 647 648 ////////////////////////////// 649 // info_player_coop 650 ////////////////////////////// 651 {"classname", "info_player_coop"}, 652 {"color", "1 0 1"}, 653 {"size", "-16 -16 -24 16 16 32"}, 654 {"rem", "Location player starts in coop"}, 655 656 ////////////////////////////// 657 // func_door_secret 658 ////////////////////////////// 659 {"classname", "func_door_secret"}, 660 {"color", "0 0.5 0.8"}, 661 {"health", "0"}, 662 {"speed", "100"}, 663 {"wait", "3"}, 664 {"lip", "8"}, 665 {"dmg", "2"}, 666 {"angle", "0 0 0"}, 667 {"message", "we all suck"}, 668 {"targetname", ""}, 669 {"flag", "OPEN_ONCE"}, 670 {"flag", "1ST_LEFT"}, 671 {"flag", "1ST_DOWN"}, 672 {"flag", "NO_SHOOT"}, 673 {"flag", "YES_SHOOT"}, 674 675 {"rem", "message - printed when the door is touched if it is a trigger door and it hasn't been fired yet"}, 676 {"rem", "angle - determines the opening direction"}, 677 {"rem", "targetname - if set, no touch field will be spawned and a remote button or trigger field activates the door."}, 678 {"rem", "health - if set, door must be shot open"}, 679 {"rem", "speed - movement speed (100 default)"}, 680 {"rem", "wait - time to wait before returning (3 default, -1 = never return)"}, 681 {"rem", "dmg - damage to inflict when blocked (2 default)"}, 682 {"rem", "sound_opening - name of the sound to play during opening, ie. doors/creek.wav"}, 683 {"rem", "sound_open_finish - name of the sound to play when opening completes, ie. doors/slam.wav"}, 684 {"rem", "sound_closing - name of the sound to play when closing starts, ie. doors/creek.wav"}, 685 {"rem", "sound_close_finish - name of the sound to play when closing completes, ie. doors/slam.wav"}, 686 {"rem", " "}, 687 {"rem", "Spawnflags:"}, 688 {"rem", "SECRET_OPEN_ONCE - door stays open (imagine that...)"}, 689 {"rem", "SECRET_1ST_LEFT - first move is left of move direction"}, 690 {"rem", "SECRET_1ST_DOWN - first move is down from move direction"}, 691 {"rem", "SECRET_NO_SHOOT - only opened by a trigger"}, 692 {"rem", "SECRET_YES_SHOOT - shootable even if targeted"}, 693 694 ////////////////////////////// 695 // func_wall_explode 696 ////////////////////////////// 697 {"classname", "func_wall_explode"}, 698 {"color", "0 0.5 0.8"}, 699 {"health", "0"}, 700 {"message", ""}, 701 {"targetname", ""}, 702 {"target", ""}, 703 {"killtarget", ""}, 704 {"model_1", ""}, 705 {"model_2", ""}, 706 {"model_3", ""}, 707 {"flag", "ROCK_CHUNKS"}, 708 {"flag", "WOOD_CHUNKS"}, 709 {"flag", "EXTRA_CHUNKS"}, 710 {"flag", "EXTRA_VELOCITY"}, 711 {"flag", "NO_CHUNKS"}, 712 {"flag", "NO_SOUND"}, 713 714 {"rem", "targetname - the name of this wall if it is a target"}, 715 {"rem", "target - the next entity to trigger when this one is triggered"}, 716 {"rem", "killtarget - the targetname of the entity to remove when triggered"}, 717 {"rem", "health - ummm... this would be the health of the wall, if it is 0 then"}, 718 {"rem", "the wall can only be exploded by targetting it"}, 719 {"rem", "message - this prints out when wall go boom"}, 720 {"rem", "model_1 - the specific pathname of the first model to throw when killed"}, 721 {"rem", "if model_1 is set then spawnflags ROCK_CHUNKS and WOOD_CHUNKS are overridden"}, 722 {"rem", "model_2 - the pathname of the second model"}, 723 {"rem", "model_3 - I wouldn't bet on it, but this is probably the name of the 3rd model"}, 724 {"rem", " "}, 725 {"rem", "Spawnflags:"}, 726 {"rem", "ROCK_CHUNKS - makes rock chunk wall-gibs fly"}, 727 {"rem", "WOOD_CHUNKS - makes wood chunk wall-gibs fly"}, 728 {"rem", "EXTRA_CHUNKS - makes up to 3 chunks per explosion, instead of just one"}, 729 {"rem", "EXTRA_VELOCITY - gives chunks a higher velocity (good for underwater)"}, 730 {"rem", "NO_CHUNKS - um, no chunks"}, 731 {"rem", "NO_SOUND - no sound, use when lots of func walls are activated simultaneously to keep the"}, 732 {"rem", "Quake engine from choking with too many sounds at once."}, 733 734 ////////////////////////////// 735 // func_anim 736 ////////////////////////////// 737 {"classname", "func_anim"}, 738 {"color", "0.0 1.0 0.1"}, 739 {"flag", "VISIBLE"}, 740 {"rem", "Spawnflags:"}, 741 {"rem", "VISIBLE - start visible"}, 742 743 ////////////////////////////// 744 // func_floater 745 ////////////////////////////// 746 {"classname", "func_floater"}, 747 {"color", "0 0.5 0.8"}, 748 {"size", "-16 -16 -16 16 16 16"}, 749 {"model", ""}, 750 751 {"rem", "model - pathname to model (ie. models/floater.mdl)"}, 752 {"rem", "velocity_cap - maximum up/down velocity"}, 753 {"rem", "dissipate - how fast velocity degrades to velocity_cap (default = 0.99)"}, 754 {"rem", "object_mass - mass of object (mass / volume = density)"}, 755 {"rem", "object_volume - volume of object (mass / volume = density)"}, 756 757 ////////////////////////////// 758 // func_debris 759 ////////////////////////////// 760 761 {"classname", "func_debris"}, 762 {"color", "0 0.5 0.8"}, 763 {"target", ""}, 764 {"flag", "GO_TO_ACTIVATOR"}, 765 {"flag", "NO_ROTATE"}, 766 {"flag", "MOMENTUM_DAMAGE"}, 767 {"flag", "NO_ROTATION_ADJUST"}, 768 {"flag", "DROP_ONLY"}, 769 {"flag", "QUARTER_SIZE"}, 770 771 {"rem", "target - debris will fly towards targeted entity"}, 772 {"rem", "fly_sound - sound to play while the entity flies through the air"}, 773 {"rem", "hit_sound - sound to play when the entity hits something"}, 774 {"rem", "damage - amount of damage to do when hitting another object"}, 775 {"rem", "if MOMENTUM_DAMAGE is selected, then damage will be based on the"}, 776 {"rem", "speed of the debris when it impacts the object and damage becomes"}, 777 {"rem", "the divisor, so if speed at impact = 300 and damge = 3, then damage done"}, 778 {"rem", "while 300 / 3 = 100 points. If damage is not set, then momentum damage"}, 779 {"rem", "will be the default with a damage divisor of 3."}, 780 {"rem", "Spawnflags:"}, 781 {"rem", "GO_TO_ACTIVATOR - debris will fly at whoever activated it"}, 782 {"rem", "NO_ROTATE - don't give this debris any random rotation"}, 783 {"rem", "MOMENTUM_DAMAGE - damage based on velocity"}, 784 {"rem", "DROP_ONLY - no upward velocity, debris just falls"}, 785 {"rem", "QUARTER_SIZE - shrink bounding box by 1/4"}, 786 {"rem", "Notes:"}, 787 {"rem", "A func debris entity must have an origin brush contained in it,"}, 788 {"rem", "otherwise it will rotate around the center of the level, not"}, 789 {"rem", "its own center. That is bad."}, 790 791 ////////////////////////////// 792 // func_debris_visible 793 ////////////////////////////// 794 795 {"classname", "func_debris_visible"}, 796 {"color", "0 0.5 0.8"}, 797 {"target", ""}, 798 {"flag", "GO_TO_ACTIVATOR"}, 799 {"flag", "NO_ROTATE"}, 800 {"flag", "MOMENTUM_DAMAGE"}, 801 {"flag", "NO_ROTATION_ADJUST"}, 802 {"flag", "DROP_ONLY"}, 803 {"flag", "QUARTER_SIZE"}, 804 805 {"rem", "SAME AS FUNC_DEBRIS EXCEPT DEBRIS IS VISIBLE BEFORE TARGETTING"}, 806 {"rem", "target - debris will fly towards targeted entity"}, 807 {"rem", "fly_sound - sound to play while the entity flies through the air"}, 808 {"rem", "hit_sound - sound to play when the entity hits something"}, 809 {"rem", "damage - amount of damage to do when hitting another object"}, 810 {"rem", "if MOMENTUM_DAMAGE is selected, then damage will be based on the"}, 811 {"rem", "speed of the debris when it impacts the object and damage becomes"}, 812 {"rem", "the divisor, so if speed at impact = 300 and damge = 3, then damage done"}, 813 {"rem", "while 300 / 3 = 100 points. If damage is not set, then momentum damage"}, 814 {"rem", "will be the default with a damage divisor of 3."}, 815 {"rem", "Spawnflags:"}, 816 {"rem", "GO_TO_ACTIVATOR - debris will fly at whoever activated it"}, 817 {"rem", "NO_ROTATE - don't give this debris any random rotation"}, 818 {"rem", "MOMENTUM_DAMAGE - damage based on velocity"}, 819 {"rem", "DROP_ONLY - no upward velocity, debris just falls"}, 820 {"rem", "QUARTER_SIZE - shrink bounding box by 1/4"}, 821 {"rem", "Notes:"}, 822 {"rem", "A func debris entity must have an origin brush contained in it,"}, 823 {"rem", "otherwise it will rotate around the center of the level, not"}, 824 {"rem", "its own center. That is bad."}, 825 826 ////////////////////////////// 827 // func_particlefield 828 ////////////////////////////// 829 {"classname", "func_particlefield"}, 830 {"color", "0 0.5 0.8"}, 831 {"flag", "USE_COUNT"}, 832 {"rem", "count - number of times to trigger before activated"}, 833 {"rem", "color - color of particles use:"}, 834 {"rem", "black, blue, green, cyan, red, "}, 835 {"rem", "purple, brown, ltgray, dkgray, "}, 836 {"rem", "ltblue, ltgreen, ltcyan, ltpurple,"}, 837 {"rem", "yellow, white"}, 838 839 ////////////////////////////// 840 // func_monitor 841 ////////////////////////////// 842 {"classname", "func_monitor"}, 843 {"color", "0 0.5 0.8"}, 844 {"rem", "target - the info_camera that the view will be from"}, 845 {"rem", "fov - the field of view when looking through this camera"}, 846 847 ////////////////////////////// 848 // info_camera 849 ////////////////////////////// 850 {"classname", "info_camera"}, 851 {"color", "1 0 0"}, 852 {"size", "-8 -8 -8 8 8 8"}, 853 854 ////////////////////////////// 855 // misc_lavaball_drop 856 ////////////////////////////// 857 {"classname", "misc_lavaball_drop"}, 858 {"size", "-8 -8 -8 8 8 8"}, 859 {"color", "1.0 0.5 0.0"}, 860 861 ////////////////////////////// 862 // misc_lavaball_toss 863 ////////////////////////////// 864 {"classname", "misc_lavaball_toss"}, 865 {"size", "-8 -8 -8 8 8 8"}, 866 {"color", "1.0 0.5 0.0"}, 867 868 {"rem", "target = can be triggered"}, 869 {"rem", "mintime = minimum time between tosses (default = 4.0 seconds)"}, 870 {"rem", "maxtime = maximum time between tosses (default = 12.0 seconds)"}, 871 {"rem", "damage = damage to do when an hitting something"}, 872 {"rem", "upmin = minimum upward velocity (default = 200)"}, 873 {"rem", "upmax = maximum upward velocity (default = 800)"}, 874 875 ////////////////////////////// 876 // sound_ambient 877 ////////////////////////////// 878 879 {"classname", "sound_ambient"}, 880 {"size", "-8 -8 -8 8 8 8"}, 881 {"color", "1 0 1"}, 882 883 {"rem", "sound - path to ambient sound (ie. ambience/sound.wav."}, 884 {"rem", "fade - distance multiplier to make sounds fade in further away from source."}, 885 {"rem", "1.0 is normal, 2.0 is twice as far."}, 886 {"rem", "volume - 0 through 255. 255 is max."}, 887 888 ////////////////////////////// 889 // sound_ambient 890 ////////////////////////////// 891 892 {"classname", "trigger_fog_value"}, 893 {"color", "0 1 0"}, 894 895 {"rem", "fog_value - the value for fog density 0 - 4. 0 is off, ie. r_drawfog 0"}, 896 897 ////////////////////////////// 898 // node_node 899 ////////////////////////////// 900 901 {"classname", "node_node"}, 902 {"color", "0.5 0.5 1"}, 903 {"size", "-8 -8 -8 8 8 8"}, 904 {"flag", "NODE_DOOR"}, 905 906 {"rem", "number - the number of this node"}, 907 {"rem", "link - the number of the node linked to (can be up to four link fields)"}, 908 909 ////////////////////////////////////////////////////////////////////////////////////////////////////// 910 // 911 // Monsters 912 // 913 ////////////////////////////////////////////////////////////////////////////////////////////////////// 914 915 //////////////////////////////////////// 916 // Episode 1 monsters 917 //////////////////////////////////////// 918 919 {"classname", "monster_froginator"}, 920 {"color", "1.0 0.0 0.0"}, 921 {"size", "-16 -16 -24 16 16 32"}, 922 {"flag", "WANDER"}, 923 {"rem", "A light and refreshing monster."}, 924 {"rem", "One day I will read the spec and know what this"}, 925 {"rem", "monster does."}, 926 {"rem", "radius - wander radius"}, 927 {"rem", "Spawnflags:"}, 928 {"rem", "WANDER - monster will wander around"}, 929 930 {"classname", "monster_crox"}, 931 {"color", "1.0 0.0 0.0"}, 932 {"size", "-16 -16 -24 16 16 32"}, 933 {"flag", "WANDER"}, 934 {"rem", "A realistic representation of your mother"}, 935 {"rem", "radius - wander radius"}, 936 {"rem", "Spawnflags:"}, 937 {"rem", "WANDER - monster will wander around"}, 938 939 {"classname", "monster_slaughterskeet"}, 940 {"color", "1.0 0.0 0.0"}, 941 {"size", "-16 -16 -24 16 16 32"}, 942 {"flag", "WANDER"}, 943 {"rem", "A big thing with a big beak."}, 944 {"rem", "radius - wander radius"}, 945 {"rem", "Spawnflags:"}, 946 {"rem", "WANDER - monster will wander around"}, 947 948 {"classname", "monster_thunderskeet"}, 949 {"color", "1.0 0.0 0.0"}, 950 {"size", "-16 -16 -24 16 16 32"}, 951 {"flag", "WANDER"}, 952 {"rem", "A big thing with a big beak."}, 953 {"rem", "radius - wander radius"}, 954 {"rem", "Spawnflags:"}, 955 {"rem", "WANDER - monster will wander around"}, 956 957 {"classname", "monster_venomvermin"}, 958 {"color", "1.0 0.0 0.0"}, 959 {"size", "-16 -16 -24 16 16 32"}, 960 {"flag", "WANDER"}, 961 {"rem", "A big thing with a big beak."}, 962 {"rem", "radius - wander radius"}, 963 {"rem", "Spawnflags:"}, 964 {"rem", "WANDER - monster will wander around"}, 965 966 {"classname", "monster_tentaclor"}, 967 {"color", "1.0 0.0 0.0"}, 968 {"size", "-16 -16 -24 16 16 32"}, 969 {"flag", "WANDER"}, 970 {"rem", "A big thing with a big beak."}, 971 {"rem", "radius - wander radius"}, 972 {"rem", "Spawnflags:"}, 973 {"rem", "WANDER - monster will wander around"}, 974 975 {"classname", "monster_sludgeminion"}, 976 {"color", "1.0 0.0 0.0"}, 977 {"size", "-16 -16 -24 16 16 32"}, 978 {"flag", "WANDER"}, 979 {"flag", "PATHFOLLOW"}, 980 {"rem", "A big thing with a big beak."}, 981 {"rem", "radius - wander radius"}, 982 {"rem", "Spawnflags:"}, 983 {"rem", "WANDER - monster will wander around"}, 984 985 {"classname", "monster_prisoner"}, 986 {"color", "1.0 0.0 0.0"}, 987 {"size", "-16 -16 -24 16 16 32"}, 988 {"flag", "WANDER"}, 989 {"rem", "gib him."}, 990 {"rem", "radius - wander radius"}, 991 {"rem", "Spawnflags:"}, 992 {"rem", "WANDER - monster will wander around"}, 993 994 {"classname", "func_prisoner_respawn"}, 995 {"color", "1.0 0.0 0.0"}, 996 {"size", "-16 -16 -24 16 16 32"}, 997 {"rem", "time - seconds until a new prisoner is spawned"}, 998 999 {"classname", "monster_inmater"}, 1000 {"color", "1.0 0.0 0.0"}, 1001 {"size", "-32 -32 -24 32 32 64"}, 1002 {"flag", "WANDER"}, 1003 {"flag", "PATHFOLLOW"}, 1004 {"rem", "A big thing with a big beak."}, 1005 {"rem", "radius - wander radius"}, 1006 {"rem", "Spawnflags:"}, 1007 {"rem", "WANDER - monster will wander around"}, 1008 {"rem", "PATH_FOLLOW - begin following a monster path"}, 1009 1010 {"classname", "monster_squid"}, 1011 {"color", "1.0 0.0 0.0"}, 1012 {"size", "-16 -16 -24 16 16 32"}, 1013 {"flag", "WANDER"}, 1014 {"rem", "A big thing with a big beak."}, 1015 {"rem", "radius - wander radius"}, 1016 {"rem", "Spawnflags:"}, 1017 {"rem", "WANDER - monster will wander around"}, 1018 1019 {"classname", "monster_trackattack"}, 1020 {"color", "1.0 0.0 0.0"}, 1021 {"size", "-16 -16 -24 16 16 32"}, 1022 {"rem", "Track turrets need to have a target"}, 1023 {"rem", "which is the path_corner_track at which"}, 1024 {"rem", "they will start."}, 1025 {"rem", "Spawn about 16 units below the track to"}, 1026 1027 {"classname", "monster_trackdaddy"}, 1028 {"color", "1.0 0.0 0.0"}, 1029 {"size", "-16 -16 -24 16 16 32"}, 1030 {"rem", "Track turrets need to have a target"}, 1031 {"rem", "which is the path_corner_track at which"}, 1032 {"rem", "they will start."}, 1033 1034 {"classname", "monster_lasergat"}, 1035 {"color", "1.0 0.0 0.0"}, 1036 {"size", "-16 -16 -24 16 16 32"}, 1037 {"rem", "Track turrets need to have a target"}, 1038 {"rem", "which is the path_corner_track at which"}, 1039 {"rem", "they will start."}, 1040 1041 {"classname", "monster_psyclaw"}, 1042 {"color", "1.0 0.0 0.0"}, 1043 {"size", "-16 -16 -24 16 16 32"}, 1044 {"flag", "WANDER"}, 1045 {"rem", "A big dog without a head and a"}, 1046 {"rem", "brain for a back. Cool, eh?"}, 1047 {"rem", "Spawnflags:"}, 1048 {"rem", "WANDER - monster will wander around"}, 1049 1050 {"classname", "monster_labworker"}, 1051 {"color", "1.0 0.0 0.0"}, 1052 {"size", "-16 -16 -24 16 16 32"}, 1053 {"flag", "WANDER"}, 1054 {"rem", "Lab worker. Your momma."}, 1055 {"rem", "Spawnflags:"}, 1056 {"rem", "WANDER - monster will wander around"}, 1057 1058 {"classname", "monster_battleboar"}, 1059 {"color", "1.0 0.0 0.0"}, 1060 {"size", "-16 -16 -24 16 16 32"}, 1061 {"flag", "WANDER"}, 1062 {"rem", "A motorized, cybernetic pig, of course."}, 1063 {"rem", "Spawnflags:"}, 1064 {"rem", "WANDER - monster will wander around"}, 1065 1066 ////////////////////////////// 1067 // path_corner_track 1068 // 1069 // path corners for tracked turrets only! 1070 ////////////////////////////// 1071 1072 {"classname", "path_corner_track"}, 1073 {"distance", "90.0"}, 1074 {"color", "0.5 0.3 0"}, 1075 {"size", "-8 -8 -8 8 8 8"}, 1076 1077 //////////////////////////////////////// 1078 // Episode 2 monsters 1079 //////////////////////////////////////// 1080 1081 {"classname", "monster_skeleton"}, 1082 {"color", "1.0 0.0 0.0"}, 1083 {"size", "-16 -16 -24 16 16 32"}, 1084 {"flag", "WANDER"}, 1085 {"rem", "Where's he at? Ahh! He's in me!"}, 1086 {"rem", "Spawnflags:"}, 1087 {"rem", "WANDER - monster will wander around"}, 1088 1089 {"classname", "monster_spider"}, 1090 {"color", "1.0 0.0 0.0"}, 1091 {"size", "-32 -32 -24 32 32 32"}, 1092 {"flag", "WANDER"}, 1093 {"rem", "Dumbass."}, 1094 {"rem", "Spawnflags:"}, 1095 {"rem", "WANDER - monster will wander around"}, 1096 1097 {"classname", "monster_tarantula"}, 1098 {"color", "1.0 0.0 0.0"}, 1099 {"size", "-16 -16 -24 16 16 32"}, 1100 {"flag", "WANDER"}, 1101 {"rem", "Dumbass."}, 1102 {"rem", "Spawnflags:"}, 1103 {"rem", "WANDER - monster will wander around"}, 1104 1105 {"classname", "monster_griffon"}, 1106 {"color", "1.0 0.0 0.0"}, 1107 {"size", "-16 -16 -24 16 16 32"}, 1108 {"flag", "WANDER"}, 1109 {"rem", "A big thing with a big beak."}, 1110 {"rem", "Spawnflags:"}, 1111 {"rem", "WANDER - monster will wander around"}, 1112 1113 {"classname", "monster_harpy"}, 1114 {"color", "1.0 0.0 0.0"}, 1115 {"size", "-16 -16 -24 16 16 32"}, 1116 {"flag", "WANDER"}, 1117 {"rem", "A big thing with a big beak."}, 1118 {"rem", "Spawnflags:"}, 1119 {"rem", "WANDER - monster will wander around"}, 1120 1121 {"classname", "monster_centurion"}, 1122 {"color", "1.0 0.0 0.0"}, 1123 {"size", "-16 -16 -24 16 16 32"}, 1124 {"flag", "WANDER"}, 1125 {"rem", "A big thing with a big beak."}, 1126 {"rem", "Spawnflags:"}, 1127 {"rem", "WANDER - monster will wander around"}, 1128 1129 {"classname", "monster_siren"}, 1130 {"color", "1.0 0.0 0.0"}, 1131 {"size", "-16 -16 -24 16 16 32"}, 1132 {"flag", "WANDER"}, 1133 {"rem", "A big thing with a big beak."}, 1134 {"rem", "Spawnflags:"}, 1135 {"rem", "WANDER - monster will wander around"}, 1136 1137 {"classname", "monster_ferryman"}, 1138 {"color", "1.0 0.0 0.0"}, 1139 {"size", "-16 -16 -24 16 16 32"}, 1140 {"flag", "WANDER"}, 1141 {"rem", "A big thing with a big beak."}, 1142 {"rem", "Spawnflags:"}, 1143 {"rem", "WANDER - monster will wander around"}, 1144 1145 {"classname", "monster_satyr"}, 1146 {"color", "1.0 0.0 0.0"}, 1147 {"size", "-32 -32 -24 32 32 64"}, 1148 {"flag", "WANDER"}, 1149 {"rem", "This thing will beat you down."}, 1150 {"rem", "Spawnflags:"}, 1151 {"rem", "WANDER - monster will wander around"}, 1152 1153 {"classname", "monster_column"}, 1154 {"color", "1.0 0.0 0.0"}, 1155 {"size", "-32 -32 -24 32 32 64"}, 1156 {"flag", "WANDER"}, 1157 {"rem", "Look at the tits on that statue!!"}, 1158 {"rem", "Spawnflags:"}, 1159 {"rem", "WANDER - monster will wander around"}, 1160 1161 //////////////////////////////////////// 1162 // Episode 3 monsters 1163 //////////////////////////////////////// 1164 1165 {"classname", "monster_plague_rat"}, 1166 {"color", "1.0 0.0 0.0"}, 1167 {"size", "-16 -16 -24 16 16 32"}, 1168 {"rem", "I broke you!"}, 1169 {"flag", "WANDER"}, 1170 {"rem", "I broke you!"}, 1171 {"rem", "radius - wander radius"}, 1172 {"rem", "Spawnflags:"}, 1173 {"rem", "WANDER - monster will wander around"}, 1174 1175 {"classname", "monster_rotworm"}, 1176 {"color", "1.0 0.0 0.0"}, 1177 {"size", "-16 -16 -24 16 16 32"}, 1178 {"flag", "WANDER"}, 1179 {"rem", "I beat the dictionary out of your filthy mouth!"}, 1180 {"rem", "radius - wander radius"}, 1181 {"rem", "Spawnflags:"}, 1182 {"rem", "WANDER - monster will wander around"}, 1183 1184 {"classname", "monster_buboid"}, 1185 {"color", "1.0 0.0 0.0"}, 1186 {"size", "-16 -16 -24 16 16 32"}, 1187 {"flag", "WANDER"}, 1188 {"rem", "Dumbass."}, 1189 {"rem", "radius - wander radius"}, 1190 {"rem", "Spawnflags:"}, 1191 {"rem", "WANDER - monster will wander around"}, 1192 1193 {"classname", "monster_priest"}, 1194 {"color", "1.0 0.0 0.0"}, 1195 {"size", "-16 -16 -24 16 16 32"}, 1196 {"flag", "WANDER"}, 1197 {"rem", "A big thing with a big beak."}, 1198 {"rem", "radius - wander radius"}, 1199 {"rem", "Spawnflags:"}, 1200 {"rem", "WANDER - monster will wander around"}, 1201 1202 {"classname", "monster_doombat"}, 1203 {"color", "1.0 0.0 0.0"}, 1204 {"size", "-16 -16 -24 16 16 32"}, 1205 {"flag", "WANDER"}, 1206 {"rem", "A big thing with a big beak."}, 1207 {"rem", "radius - wander radius"}, 1208 {"rem", "Spawnflags:"}, 1209 {"rem", "WANDER - monster will wander around"}, 1210 1211 {"classname", "monster_lycanthir"}, 1212 {"color", "1.0 0.0 0.0"}, 1213 {"size", "-16 -16 -24 16 16 32"}, 1214 {"flag", "WANDER"}, 1215 {"rem", "A big thing with a big beak."}, 1216 {"rem", "radius - wander radius"}, 1217 {"rem", "Spawnflags:"}, 1218 {"rem", "WANDER - monster will wander around"}, 1219 1220 {"classname", "monster_fletcher"}, 1221 {"color", "1.0 0.0 0.0"}, 1222 {"size", "-16 -16 -24 16 16 32"}, 1223 {"flag", "WANDER"}, 1224 {"rem", "A big thing with a big beak."}, 1225 {"rem", "radius - wander radius"}, 1226 {"rem", "Spawnflags:"}, 1227 {"rem", "WANDER - monster will wander around"}, 1228 1229 {"classname", "monster_dwarf"}, 1230 {"color", "1.0 0.0 0.0"}, 1231 {"size", "-16 -16 -24 16 16 32"}, 1232 {"flag", "WANDER"}, 1233 {"rem", "A big thing with a big beak."}, 1234 {"rem", "radius - wander radius"}, 1235 {"rem", "Spawnflags:"}, 1236 {"rem", "WANDER - monster will wander around"}, 1237 1238 {"classname", "monster_dragonegg"}, 1239 {"color", "1.0 0.0 0.0"}, 1240 {"size", "-16 -16 -24 16 16 32"}, 1241 {"flag", "WANDER"}, 1242 {"rem", "A big thing with a big beak."}, 1243 {"rem", "radius - wander radius"}, 1244 {"rem", "Spawnflags:"}, 1245 {"rem", "WANDER - monster will wander around"}, 1246 1247 {"classname", "monster_babydragon"}, 1248 {"color", "1.0 0.0 0.0"}, 1249 {"size", "-16 -16 -24 16 16 32"}, 1250 {"flag", "WANDER"}, 1251 {"rem", "A big thing with a big beak."}, 1252 {"rem", "radius - wander radius"}, 1253 {"rem", "Spawnflags:"}, 1254 {"rem", "WANDER - monster will wander around"}, 1255 1256 //////////////////////////////////////// 1257 // Episode 4 monsters 1258 //////////////////////////////////////// 1259 1260 {"classname", "monster_gang1"}, 1261 {"color", "1.0 0.0 0.0"}, 1262 {"size", "-16 -16 -24 16 16 32"}, 1263 {"flag", "WANDER"}, 1264 {"rem", "Less than half a fucking man."}, 1265 {"rem", "radius - wander radius"}, 1266 {"rem", "Spawnflags:"}, 1267 {"rem", "WANDER - monster will wander around"}, 1268 1269 {"classname", "monster_gang2"}, 1270 {"color", "1.0 0.0 0.0"}, 1271 {"size", "-16 -16 -24 16 16 32"}, 1272 {"flag", "WANDER"}, 1273 {"rem", "You're fucking dumb! Suck it down."}, 1274 {"rem", "radius - wander radius"}, 1275 {"rem", "Spawnflags:"}, 1276 {"rem", "WANDER - monster will wander around"}, 1277 1278 {"classname", "monster_blackprisoner"}, 1279 {"color", "1.0 0.0 0.0"}, 1280 {"size", "-16 -16 -24 16 16 32"}, 1281 {"flag", "WANDER"}, 1282 {"rem", "A big thing with a big beak."}, 1283 {"rem", "radius - wander radius"}, 1284 {"rem", "Spawnflags:"}, 1285 {"rem", "WANDER - monster will wander around"}, 1286 1287 {"classname", "monster_whiteprisoner"}, 1288 {"color", "1.0 0.0 0.0"}, 1289 {"size", "-16 -16 -24 16 16 32"}, 1290 {"flag", "WANDER"}, 1291 {"rem", "A big thing with a big beak."}, 1292 {"rem", "radius - wander radius"}, 1293 {"rem", "Spawnflags:"}, 1294 {"rem", "WANDER - monster will wander around"}, 1295 1296 {"classname", "monster_femgang"}, 1297 {"color", "1.0 0.0 0.0"}, 1298 {"size", "-16 -16 -24 16 16 32"}, 1299 {"flag", "WANDER"}, 1300 {"rem", "A big thing with a big beak."}, 1301 {"rem", "radius - wander radius"}, 1302 {"rem", "Spawnflags:"}, 1303 {"rem", "WANDER - monster will wander around"}, 1304 1305 {"classname", "monster_rocketdude"}, 1306 {"color", "1.0 0.0 0.0"}, 1307 {"size", "-16 -16 -24 16 16 32"}, 1308 {"flag", "WANDER"}, 1309 {"rem", "A big thing with a big beak."}, 1310 {"rem", "radius - wander radius"}, 1311 {"rem", "Spawnflags:"}, 1312 {"rem", "WANDER - monster will wander around"}, 1313 1314 {"classname", "monster_chaingang"}, 1315 {"color", "1.0 0.0 0.0"}, 1316 {"size", "-16 -16 -24 16 16 32"}, 1317 {"flag", "WANDER"}, 1318 {"rem", "A big thing with a big beak."}, 1319 {"rem", "radius - wander radius"}, 1320 {"rem", "Spawnflags:"}, 1321 {"rem", "WANDER - monster will wander around"}, 1322 1323 {"classname", "monster_labmonkey"}, 1324 {"color", "1.0 0.0 0.0"}, 1325 {"size", "-16 -16 -24 16 16 32"}, 1326 {"flag", "WANDER"}, 1327 {"rem", "Lab monkey. This thing will crack your skull."}, 1328 {"rem", "Spawnflags:"}, 1329 {"rem", "WANDER - monster will wander around"}, 1330 1331 {"classname", "monkey_message"}, 1332 {"color", "1.0 0.0 0.0"}, 1333 {"size", "-8 -8 -8 8 8 8"}, 1334 {"rem", "Target this from the monkey switch to display current monkey state."}, 1335 1336 ////////////////////////////////////////////////////////////////// 1337 // monster AI markers 1338 ////////////////////////////////////////////////////////////////// 1339 1340 {"classname", "monster_path_corner"}, 1341 {"distance", "90.0"}, 1342 {"color", "0.5 0.3 0"}, 1343 {"size", "-8 -8 -8 8 8 8"}, 1344 {"rem", "A path corner for a monster to travel along"}, 1345 {"rem" "target1 - target4: "}, 1346 {"rem", "Can have up to 4 targets for the monster"}, 1347 {"rem", "to travel to. If there is more than one target"}, 1348 {"rem", "the monster will randomly choose the next target"}, 1349 {"rem", "from those available."}, 1350 {"rem", "action1 - action4: "}, 1351 {"rem", "Use the action field to make a monster perform a"}, 1352 {"rem", "specific action at the path corner. For example"}, 1353 {"rem", "'action scoop' will make a sludge minion scoop"}, 1354 {"rem", "sludge at that path corner (other monsters will"}, 1355 {"rem", "ignore the scoop command. You can have multiple"}, 1356 {"rem", "actions on a path corner, for instance:"}, 1357 {"rem", " action1 scoop"}, 1358 {"rem", " action2 interrogate"}, 1359 {"rem", "Sludge minions reaching this path corner will scoop"}, 1360 {"rem", "while Inmaters will search out nearest prisoner"}, 1361 1362 1363 ////////////////////////////////////////////////////////////////// 1364 // decorations 1365 ////////////////////////////////////////////////////////////////// 1366 1367 {"classname", "deco_e1"}, 1368 {"color", "1.0 0.0 0.0"}, 1369 {"size", "-16 -16 -24 16 16 0"}, 1370 {"flag", "DECO_EXPLODE"}, 1371 {"flag", "DECO_NO_EXPLODE"}, 1372 {"flag", "DECO_PUSHABLE"}, 1373 {"rem", "model - choose model # -- see list."}, 1374 1375 {"classname", "deco_e2"}, 1376 {"color", "1.0 0.0 0.0"}, 1377 {"size", "-16 -16 -24 16 16 0"}, 1378 {"flag", "DECO_EXPLODE"}, 1379 {"flag", "DECO_NO_EXPLODE"}, 1380 {"flag", "DECO_PUSHABLE"}, 1381 {"rem", "model - choose model # -- see list."}, 1382 1383 {"classname", "deco_e3"}, 1384 {"color", "1.0 0.0 0.0"}, 1385 {"size", "-16 -16 -24 16 16 0"}, 1386 {"flag", "DECO_EXPLODE"}, 1387 {"flag", "DECO_NO_EXPLODE"}, 1388 {"flag", "DECO_PUSHABLE"}, 1389 {"rem", "model - choose model # -- see list."}, 1390 1391 {"classname", "deco_e4"}, 1392 {"color", "1.0 0.0 0.0"}, 1393 {"size", "-16 -16 -24 16 16 0"}, 1394 {"flag", "DECO_EXPLODE"}, 1395 {"flag", "DECO_NO_EXPLODE"}, 1396 {"flag", "DECO_PUSHABLE"}, 1397 {"rem", "model - choose model # -- see list."}, 1398 1399 {NULL, NULL}, 1400 }; 1401 1402 #endif