// --------------------------------------------------------------------------------- // Day of Defeat game definition file (.fgd) // Version 2.0.0bmp // For Worldcraft 3.3 and above, and Half-Life 1.0.0.9 and above // Last update: December 11th, 2001 by Tim "Waldo" Holt // --------------------------------------------------------------------------------- // // --------------------------------------------------------------------------------- // Version Number Convention // --------------------------------------------------------------------------------- // First version number reflects major version # of game // Second version number reflects minor version # of game // Third version number reflects version # of FGD for given game version // Alternate ending digits reflect game type and FGD status... // "A" = alpha // "B" = beta // "SP" = single player // "MP" = multiplayer // --------------------------------------------------------------------------------- // --------------------------------------------------------------------------------- // Revision history // --------------------------------------------------------------------------------- // by Justin DeJong aka "N0TH1NG" // modified from code by Chris Bokitch aka "autolycus" // // by Tim Holt aka Waldo (burkenholt@home.com) // modified from code by Justin DeJong aka "N0TH1NG" // // Version 0.7.3 and 0.7.4 by Morlam (morlam@gamespotmail.com) // slightly modified from code by Chris Bokitch (Autolycus), Justin DeJong (NOTH1NG), and // Tim Holt (Waldo). // // version 0.8.0 by Matt Boone aka "Mugsy" // modified from version 0.7.4 // // version 2.0.1 by Tim Holt aka "Waldo" // modified from version 0.8.0 // changed first digit of version number to reflect DoD version. // // version 2.0.2 by Brandon Russell aka "Axis" // modified from version 2.0.1 // --------------------------------------------------------------------------------- // Original changes by Tim Holt (0.7.0) // - Added new Trigger Changetarget sprite (green cube w/words) // - Added new Info Target sprite (bullseye) // - Added new trigger_camera sprite (Video camera) // - Added new Multi Manager sprite (box w/arrows coming out of it) // - Added new "Cycler Sprite" sprite (box w/arrow circle around it) // - Added replacement ambient_generic sprite (changed from speaker to speaker // with words "Ambient Generic" around it") // - Added replacement env_sound sprite (changed from speaker to speaker // with words "Env Sound" around it") // - Added replacement light_spot sprite (changed from lightbulb to spotlight) // - Added replacement Light Environment sprite (changed from lightbulb to sun) // - Added all the "game_*" entities // - Added info_compile_params and info_lights_rad entities. Idea is to // get someone like Zoner to implement support for them in Zoners, or // build support for them into a compile tool like Q2Beaver, HLCC, etc. // - Added env_funnel // - Added trigger_gravity // - Added player_weaponstrip // - Put Zoners RAD option (that allow solid (func_) based ents to cast // shadows) into a number of new additional items that can support it. // Use with caution, as for example a func_pushable can cast a shadow now, // but if you push it, the shadow stays behind :^) // // 12/31/2000 - Tim Holt (0.7.1) // - Added new sprites for all the Game entities // - Added new sprite for Player Weapon Strip // - Added new sprite for Trigger_Relay // - Added new sprite for Trigger_ChangeTarget // // 01/01/2001 - Tim Holt (0.7.2) // - Added new dropdown to hostage entity, so you can choose hostage skin // directly by name (orange suit guy or tie guy) // - Removed commented out "master" option for game_zone_player. It was // commented out from the original HL FGD for some reason. Not sure why // or if maybe there is a problem with it? // // 01/04/2001 - Morlam (0.7.3) // - Arranged all the point entities in alphabetical order // - Corrected a typo in hostage_entity: "Orange Suit Worker" from // "Orange Suite Worker". // - Changed func_water default WaveHeight to 0 // - Added ZHLT Light Flags to func_plat, _pendulum and _vehicle // - Under info_compile_params: // - Changed extra to choices instead of a string; default is now 0 // - Changed extra to read: "Enable Extra mode in HLRAD?" // - Added hullfile, chop, texchop, circus, and dscale keys // - Added "No Clip" flag under Run BSP in the spawnflags // - Under info_lights_rad: // - added radfile key/value, specifies custom texture light file // // 01/05/2001 - Morlam (0.7.4) // - Added _fade and _falloff keys to the light_ entities. Need ZHLT 2.2+ // for these to work. // - Added light_origin key to the ZHLT Light Flags BaseClass. Again, you // need the latest version of Zoner's Tools for light_origin to work. // - Moved circus and extra from the "Class Info" tab to the "Flags" tab. // - Shortened the SmartEdit names of certain key/values in info_compile_params // so that they aren't cut off (at least, on my 800X600 screen on a 15 inch // monitor). // // Jan 6, 2001 - Tim Holt (0.7.5) // - Added new parameter options for game_player_equip to list all // CS items in dialog, thus removing the need to turn off SmartEdit // to configure. // - Added new sprite for trigger_auto (green box with words "Trigger Auto") // // Jan 26, 2001 - Tim Holt (0.7.6) // - Added "No Clients" check option to Trigger base class per suggestion/lead // from Mataleone (cs mapping forum) // // Aug 27, 2001 - Tim Holt (0.7.7) // - Removed some old CS entities that had not been removed // - Added cycler_wreckage // - Added Angular velocity option to func_train (see // http://www.chatbear.com/cgi-bin/board.pl?action=viewthread&threadid=252,994640145,10305&id=47702&boardid=9) // // Dec, 2001 - Matt Boone ( 0.8.0 ) // - added dod 2.0 objectives // // Dec 11, 2001 - Tim Holt (2.0.0bmp) // - merged some spirit features with Matt Boone's revised 2.0 DoD entities // // Jan 11, 2002 - Brandon Russell (2.0.2bmp) // - Added 2 new settings to the spawn flags of Game_text to fix Kami's map // --------------------------------------------------------------------------------- // // Worldspawn // @SolidClass = worldspawn : "World entity" [ message(string) : "Map Description / Title" skyname(string) : "environment map (Sky name)" light(integer) : "Default light level" WaveHeight(string) : "Default Wave Height" MaxRange(string) : "Max viewable distance" : "4096" newunit(choices) : "Flush global entities?" : 0 = [ 0 : "No, keep global ents" 1 : "Yes, flush global ents" ] ] // // BaseClasses // @BaseClass = Angles [ angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0" ] @BaseClass = Targetname [ targetname(target_source) : "Name" ] @BaseClass = Target [ target(target_destination) : "Target" ] @BaseClass = MoveWith [ movewith(target_destination) : "Moves with" ] @BaseClass = Master [ //* To invert the master relationship (that is, to disable this entity whenever the master is on), //* add a tilde (~) at the start of the master's name. master(string) : "Master" ] @BaseClass = CPMaster [ spawn_cp_master(string) : "Master Control Point " : "" spawn_cp_neutral(choices) : "Active if neutral?" : 0 = [ 0 : "No" 1 : "Yes" ] spawn_cp_incontrol(choices) : "Active if in control?" : 0 = [ 0 : "No" 1 : "Yes" ] spawn_cp_notincontrol(choices) : "Active if not in control?" : 0 = [ 0 : "No" 1 : "Yes" ] ] @BaseClass base(Target) = Targetx [ delay(string) : "Delay before trigger" : "0" killtarget(target_destination) : "KillTarget" ] @BaseClass = RenderFxChoices [ renderfx(choices) :"Render FX" : 0 = [ 0: "Normal" 1: "Slow Pulse" 2: "Fast Pulse" 3: "Slow Wide Pulse" 4: "Fast Wide Pulse" 9: "Slow Strobe" 10: "Fast Strobe" 11: "Faster Strobe" 12: "Slow Flicker" 13: "Fast Flicker" 5: "Slow Fade Away" 6: "Fast Fade Away" 7: "Slow Become Solid" 8: "Fast Become Solid" 14: "Constant Glow" 15: "Distort" 16: "Hologram (Distort + fade)" ] ] @BaseClass base(RenderFxChoices) = RenderFields [ rendermode(choices) : "Render Mode" : 0 = [ 0: "Normal" 1: "Color" 2: "Texture" 3: "Glow" 4: "Solid" 5: "Additive" ] renderamt(integer) : "FX Amount (1 - 255)" rendercolor(color255) : "FX Color (R G B)" : "0 0 0" ] @BaseClass size(-16 -16 -36, 16 16 36) color(0 255 0) base(Angles) = PlayerClass [] @BaseClass size(-16 -16 -16, 16 16 16) base(Targetname, Angles, MoveWith) = gibshooterbase [ m_iGibs(integer) : "Number of Gibs" : 3 delay(string) : "Delay between shots" : "0" m_flVelocity(integer) : "Gib Velocity" : 200 m_flVariance(string) : "Course Variance" : "0.15" m_flGibLife(string) : "Gib Life" : "4" spawnflags(Flags) = [ 1 : "Repeatable" : 0 ] ] @BaseClass = Light [ _light(color255) : "Brightness" : "255 255 128 200" style(Choices) : "Appearance" : 0 = [ 0 : "Normal" 10: "Fluorescent flicker" 2 : "Slow, strong pulse" 11: "Slow pulse, noblack" 5 : "Gentle pulse" 1 : "Flicker A" 6 : "Flicker B" 3 : "Candle A" 7 : "Candle B" 8 : "Candle C" 4 : "Fast strobe" 9 : "Slow strobe" 12: "Underwater" ] // ------------------------------------------------------------------------------ // This field will have no effect on a static (i.e. nameless) light. // 'a' is dark, 'm' is normal brightness, 'z' is full brightness. // There's no support for a light to have a custom appearances when it's in a // state other than 'on'. See @trigger_lightstyle if you need this effect. // ------------------------------------------------------------------------------ pattern(string) : "Custom Appearance (on)" m_iOnStyle(Choices) : "Appearance (on)" : 0 = [ 0 : "Normal (on)" 13: "Off" 10: "Fluorescent flicker" 2 : "Slow, strong pulse" 11: "Slow pulse, noblack" 5 : "Gentle pulse" 1 : "Flicker A" 6 : "Flicker B" 3 : "Candle A" 7 : "Candle B" 8 : "Candle C" 4 : "Fast strobe" 9 : "Slow strobe" 12: "Underwater" ] m_iTurnOnTime(integer) : "Time taken to turn on (secs)" : 0 // This field will have no effect on a static (i.e. nameless) light. m_iTurnOnStyle(Choices) : "Appearance (turn on)" : 0 = [ 0: "Normal (off)" 20: "On" 10: "Fluorescent flicker" 2 : "Slow, strong pulse" 11: "Slow pulse, noblack" 5 : "Gentle pulse" 1 : "Flicker A" 6 : "Flicker B" 3 : "Candle A" 7 : "Candle B" 8 : "Candle C" 4 : "Fast strobe" 9 : "Slow strobe" 12: "Underwater" ] m_iTurnOffTime(integer) : "Time taken to turn off (secs)" : 0 m_iTurnOffStyle(Choices) : "Appearance (turn off)" : 0 = [ 0 : "Normal (on)" 13: "Off" 10: "Fluorescent flicker" 2 : "Slow, strong pulse" 11: "Slow pulse, noblack" 5 : "Gentle pulse" 1 : "Flicker A" 6 : "Flicker B" 3 : "Candle A" 7 : "Candle B" 8 : "Candle C" 4 : "Fast strobe" 9 : "Slow strobe" 12: "Underwater" ] _fade(integer) : "Fade (ZHLT Only)" _falloff(integer) : "Falloff 1-2 (ZHLT Only)" ] @BaseClass base(Targetname) = Breakable [ target(target_destination) : "Target on break" health(integer) : "Strength" : 1 material(choices) :"Material type" : 0 = [ //* Gibs: models/glassgibs.mdl //* Break noise: debris/bustglassX.wav //* Bounce noise: debris/glassX.wav 0: "Glass" //* Gibs: models/woodgibs.mdl //* Break noise: debris/bustcrateX.wav //* Bounce noise: debris/woodX.wav 1: "Wood" //* Gibs: models/metalplategibs.mdl //* Break noise: debris/bustmetalX.wav //* Bounce noise: debris/metalX.wav 2: "Metal" //* Gibs: models/fleshgibs.mdl //* Break noise: debris/bustfleshX.wav //* Bounce noise: debris/fleshX.wav 3: "Flesh" //* Gibs: models/cindergibs.mdl //* Break noise: debris/bustconcreteX.wav //* Bounce noise: debris/concreteX.wav 4: "Cinder Block" //* Gibs: models/ceilinggibs.mdl //* Break noise: debris/bustceilingX.wav //* Bounce noise: none 5: "Ceiling Tile" //* Gibs: models/computergibs.mdl //* Break noise: debris/bustmetalX.wav //* Bounce noise: debris/woodX.wav //* Note: Generates sparks when damaged. 6: "Computer" //* Gibs: models/glassgibs.mdl //* Break noise: debris/bustglassX.wav //* Bounce noise: debris/glassX.wav //* Note: Makes ricochet noises when damaged. 7: "Unbreakable Glass" //* Gibs: models/rockgibs.mdl //* Break noise: debris/bustconcreteX.wav //* Bounce noise: debris/concreteX.wav 8: "Rocks" ] explosion(choices) : "Gibs Direction" : 0 = [ 0: "Random" 1: "Relative to Attack" ] delay(string) : "Delay before fire" : "0" gibmodel(studio) : "Gib Model" : "" spawnobject(choices) : "Spawn On Break" : 0 = [ 0: "Nothing" ] explodemagnitude(integer) : "Explode Magnitude (0=none)" : 0 zhlt_lightflags(choices) :"Light Flags (Zhlt 2.2+)" : 0 = [ 0: "Normal" 1: "Embedded Fix" 2: "Opaque (Blocks Light)" 3: "Opaque + Embedded Fix" 6: "ConcaveFix (6)" ] ] @BaseClass base(Targetname, RenderFields, Angles, MoveWith, Master) = Door [ killtarget(target_destination) : "KillTarget" speed(integer) : "Speed" : 100 // ----------------------------------------------------------------- // The number against each sound corresponds to the wav file played. // e.g. Vacuum (4) plays "doors/doormove4.wav". // ----------------------------------------------------------------- movesnd(choices) : "Move Sound" : 0 = [ 0: "No Sound" 1: "Servo (Sliding)" 2: "Pneumatic (Sliding)" 3: "Pneumatic (Rolling)" 4: "Vacuum" 5: "Power Hydraulic" 6: "Large Rollers" 7: "Track Door" 8: "Snappy Metal Door" 9: "Squeaky 1" 10: "Squeaky 2" ] // ----------------------------------------------------------------- // The number against each sound corresponds to the wav file played. // e.g. Chunk (4) plays "doors/doorstop4.wav". // ----------------------------------------------------------------- stopsnd(choices) : "Stop Sound" : 0 = [ 0: "No Sound" 1: "Clang with brake" 2: "Clang reverb" 3: "Ratchet Stop" 4: "Chunk" 5: "Light airbrake" 6: "Metal Slide Stop" 7: "Metal Lock Stop" 8: "Snappy Metal Stop" ] // ----------------------------------------------------------------- // Setting wait to -1 also prevents the door from reversing when it comes into // contact with the player, as seen on the bunker door in Crossfire. // This setting isn't recommended if the door is using MoveWith. // ----------------------------------------------------------------- wait(integer) : "delay before close, -1 stay open " : 4 lip(integer) : "Lip" dmg(integer) : "Damage inflicted when blocked" : 0 message(string) : "Message if triggered" // ----------------------------------------------------------------- // This delay only applies to the Target, not the Fire on Open/Close // fields. // ----------------------------------------------------------------- target(target_destination) : "Target" delay(integer) : "Delay before fire" netname(string) : "Fire on Close" health(integer) : "Health (shoot open)" : 0 //DoD - AXIS TeamDoors(choices) : "Team Specific Door" : 0 = [ 0: "Both Teams" 1: "Allies Only" 2: "Axis Only" ] spawnflags(flags) = [ 1 : "Starts Open" : 0 4 : "Don't link" : 0 8: "Passable" : 0 32: "Toggle" : 0 256:"Use Only" : 0 1024: "Force Touchable" : 0 // ----------------------------------------------------------------- // A synchronised door is different from an unsynchronised door in // two ways: // Firstly it'll trigger its targets as soon as it starts to // move, instead of waiting until it finishes moving. // Secondly, instead of sending USE_TOGGLE, it sends USE_ON // and USE_OFF as appropriate. It also responds appropriately // to USE_ON and USE_OFF. // The main function for synchronised doors is as double doors; // that is, make two synchronised doors which target each other, // and the doors will then open and close as one. This flag // should probably be split into two, but I've run out of flags // to use. :( // ----------------------------------------------------------------- 2048: "Synch movement" : 0 ] locked_sound(choices) : "Locked Sound" : 0 = [ 0: "None" 2: "Access Denied" 8: "Small zap" 10: "Buzz" 11: "Buzz Off" 12: "Latch Locked" ] unlocked_sound(choices) : "Unlocked Sound" : 0 = [ 0: "None" 1: "Big zap & Warmup" 3: "Access Granted" 4: "Quick Combolock" 5: "Power Deadbolt 1" 6: "Power Deadbolt 2" 7: "Plunger" 8: "Small zap" 9: "Keycard Sound" 10: "Buzz" 13: "Latch Unlocked" ] locked_sentence(choices) : "Locked Sentence" : 0 = [ 0: "None" 1: "Gen. Access Denied" 2: "Security Lockout" 3: "Blast Door" 4: "Fire Door" 5: "Chemical Door" 6: "Radiation Door" 7: "Gen. Containment" 8: "Maintenance Door" 9: "Broken Shut Door" ] unlocked_sentence(choices) : "Unlocked Sentence" : 0 = [ 0: "None" 1: "Gen. Access Granted" 2: "Security Disengaged" 3: "Blast Door" 4: "Fire Door" 5: "Chemical Door" 6: "Radiation Door" 7: "Gen. Containment" 8: "Maintenance area" ] _minlight(string) : "Minimum light level" ] @BaseClass base(Targetname, Target, RenderFields, Angles, MoveWith, Master) = BaseTank [ spawnflags(flags) = [ 1 : "Active" : 0 16: "Line of Sight" : 0 32: "Controllable" : 0 64: "Laser Spot" : 0 128: "Match Target" : 1 ] yawrate(string) : "Yaw rate" : "30" yawrange(string) : "Yaw range" : "180" yawtolerance(string) : "Yaw tolerance" : "15" pitchrate(string) : "Pitch rate" : "0" pitchrange(string) : "Pitch range" : "0" pitchtolerance(string) : "Pitch tolerance" : "5" barrel(string) : "Barrel Length" : "0" barrely(string) : "Barrel Horizontal" : "0" barrelz(string) : "Barrel Vertical" : "0" spritesmoke(sprite) : "Smoke Sprite" : "" spriteflash(sprite) : "Flash Sprite" : "" spritescale(string) : "Sprite scale" : "1" rotatesound(sound) : "Rotate Sound" : "" firerate(string) : "Rate of Fire" : "1" bullet_damage(string) : "Damage Per Bullet" : "0" persistence(string) : "Firing persistence" : "1" firespread(choices) : "Bullet accuracy" : 0 = [ 0: "Perfect Shot" 1: "Small cone" 2: "Medium cone" 3: "Large cone" 4: "Extra-large cone" ] minRange(string) : "Minmum target range" : "0" maxRange(string) : "Maximum target range" : "0" _minlight(string) : "Minimum light level" ] @BaseClass = PlatSounds [ movesnd(choices) : "Move Sound" : 0 = [ 0: "No Sound" 1: "big elev 1" 2: "big elev 2" 3: "tech elev 1" 4: "tech elev 2" 5: "tech elev 3" 6: "freight elev 1" 7: "freight elev 2" 8: "heavy elev" 9: "rack elev" 10: "rail elev" 11: "squeek elev" 12: "odd elev 1" 13: "odd elev 2" ] stopsnd(choices) : "Stop Sound" : 0 = [ 0: "No Sound" 1: "big elev stop1" 2: "big elev stop2" 3: "freight elev stop" 4: "heavy elev stop" 5: "rack stop" 6: "rail stop" 7: "squeek stop" 8: "quick stop" ] volume(string) : "Sound Volume 0.0 - 1.0" : "0.85" ] @BaseClass base(Targetname, RenderFields, PlatSounds) = Trackchange [ height(integer) : "Travel altitude" : 0 spawnflags(flags) = [ 1: "Auto Activate train" : 0 2: "Relink track" : 0 8: "Start at Bottom" : 0 16: "Rotate Only" : 0 64: "X Axis" : 0 128: "Y Axis" : 0 ] rotation(integer) : "Spin amount" : 0 train(target_destination) : "Train to switch" toptrack(target_destination) : "Top track" bottomtrack(target_destination) : "Bottom track" speed(integer) : "Move/Rotate speed" : 0 ] @BaseClass base(Target, Targetname) = Trigger [ killtarget(target_destination) : "Kill target" netname(target_destination) : "Target Path" style(integer) : "Style" : 32 master(string) : "Master" sounds(choices) : "Sound style" : 0 = [ 0 : "No Sound" ] delay(string) : "Delay before trigger" : "0" message(string) : "Message (set sound too)" spawnflags(flags) = [ 4: "Pushables": 0 ] ] @BaseClass = ZhltLightFlags [ zhlt_lightflags(choices) :"Light Flags (Zhlt 2.2+)" : 0 = [ 0: "Normal" 1: "Embedded Fix" 2: "Opaque (Blocks Light)" 3: "Opaque + Embedded Fix" 6: "ConcaveFix (6)" ] light_origin(string) : "Light Origin (Zhlt 2.2+)" ] @BaseClass = BeamStartEnd [ LightningStart(target_destination) : "Start Entity" LightningEnd(target_destination) : "Ending Entity" ] @PointClass base(Targetname) iconsprite("sprites/DoD/AmbientGeneric.spr") = ambient_generic : "Universal Ambient" [ message(sound) : "Path/filename.wav of WAV" health(integer) : "Volume (10 = loudest)" : 10 preset(choices) :"Dynamic Presets" : 0 = [ 0: "None" 1: "Huge Machine" 2: "Big Machine" 3: "Machine" 4: "Slow Fade in" 5: "Fade in" 6: "Quick Fade in" 7: "Slow Pulse" 8: "Pulse" 9: "Quick pulse" 10: "Slow Oscillator" 11: "Oscillator" 12: "Quick Oscillator" 13: "Grunge pitch" 14: "Very low pitch" 15: "Low pitch" 16: "High pitch" 17: "Very high pitch" 18: "Screaming pitch" 19: "Oscillate spinup/down" 20: "Pulse spinup/down" 21: "Random pitch" 22: "Random pitch fast" 23: "Incremental Spinup" 24: "Alien" 25: "Bizzare" 26: "Planet X" 27: "Haunted" ] volstart(integer) : "Start Volume" : 0 fadein(integer) : "Fade in time (0-100)" : 0 fadeout(integer) : "Fade out time (0-100)" : 0 pitch(integer) : "Pitch (> 100 = higher)" : 100 pitchstart(integer) : "Start Pitch" : 100 spinup(integer) : "Spin up time (0-100)" : 0 spindown(integer) : "Spin down time (0-100)" : 0 lfotype(integer) : "LFO type 0)off 1)sqr 2)tri 3)rnd" : 0 lforate(integer) : "LFO rate (0-1000)" : 0 lfomodpitch(integer) : "LFO mod pitch (0-100)" : 0 lfomodvol(integer) : "LFO mod vol (0-100)" : 0 cspinup(integer) : "Incremental spinup count" : 0 spawnflags(flags) = [ 1: "Play Everywhere" : 0 2: "Small Radius" : 0 4: "Medium Radius" : 1 8: "Large Radius" : 0 16:"Start Silent":0 32:"Is NOT Looped":0 ] ] @PointClass base(Targetname, Angles) iconsprite("sprites/DoD/CyclerSprite.spr") = cycler_sprite : "Sprite Cycler" [ model(sprite) : "Sprite" framerate(integer) : "Frames per second" : 10 renderfx(choices) :"Render FX" : 0 = [ 0: "Normal" 1: "Slow Pulse" 2: "Fast Pulse" 3: "Slow Wide Pulse" 4: "Fast Wide Pulse" 9: "Slow Strobe" 10: "Fast Strobe" 11: "Faster Strobe" 12: "Slow Flicker" 13: "Fast Flicker" 5: "Slow Fade Away" 6: "Fast Fade Away" 7: "Slow Become Solid" 8: "Fast Become Solid" 14: "Constant Glow" 15: "Distort" 16: "Hologram (Distort + fade)" ] rendermode(choices) : "Render Mode" : 0 = [ 0: "Normal" 1: "Color" 2: "Texture" 3: "Glow" 4: "Solid" 5: "Additive" ] renderamt(integer) : "FX Amount (1 - 255)" rendercolor(color255) : "FX Color (R G B)" : "0 0 0" ] @PointClass sprite() base(Targetname, RenderFields, Angles) size(-4 -4 -4, 4 4 4) = cycler_wreckage : "Wreckage" [ framerate(string) : "Framerate" : "10.0" model(sprite) : "Sprite Name" : "sprites/fire.spr" scale(integer) : "Scale" : 1 spawnflags(flags) = [ 32: "Toggle" : 0 64: "Start ON" : 0 ] ] // // Environmental effects // // ------------------------------------------------------------------------------------------ // Essentially, this produces a shifting group of parallel beams. I've called it // env_rain because that's the most-requested use for it. // For a sunbeam effect, try Drip Speed = 0, Drip Width = 30, Drip Brightness = 25, // Drip Color = 255 255 255, Time between updates = 0, Drip Sprite = sprites/laserbeam.spr. // For snow, try Drip Speed = 20, Drip Width = 20, Drip Color = 255 255 255, // Drip Sprite = sprites/rain.spr. // FROM SPIRIT // ------------------------------------------------------------------------------------------ @SolidClass base(Targetname) = env_rain : "Rain Effect" [ //* Set this to (for example) "70 0 0" to make slanted rain. angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0" //* Negative numbers will make the rain fall upwards. //* This is an average; each drip will move at between 75%-125% of this speed. m_dripSpeed(integer) : "Drip Speed" : 40 m_dripSize(integer) : "Drip Width" : 5 m_brightness(integer) : "Drip Brightness (1 - 255)" : 128 rendercolor(color255) : "Drip Color (R G B)" : "64 128 255" m_burstSize(integer) : "Number of drips (per update)" : 2 //* If 0, no updates; all the beams will appear as soon as it's created. //* Each beam lasts for three updates. m_flUpdateTime(string) : "Time between updates" : "0.5" texture(sprite) : "Drip Sprite" : "sprites/rain.spr" spawnflags(Flags) = [ 1 : "Start Off" : 0 ] ] @PointClass base(Targetname, BeamStartEnd, RenderFxChoices) size(-16 -16 -16, 16 16 16) = env_beam : "Energy Beam Effect" [ renderamt(integer) : "Brightness (1 - 255)" : 100 rendercolor(color255) : "Beam Color (R G B)" : "0 0 0" Radius(integer) : "Radius" : 256 life(string) : "Life (seconds 0 = infinite)" : "1" BoltWidth(integer) : "Width of beam (pixels*0.1 0-255)" : 20 NoiseAmplitude(integer) : "Amount of noise (0-255)" : 0 texture(sprite) : "Sprite Name" : "sprites/laserbeam.spr" TextureScroll(integer) : "Texture Scroll Rate (0-100)" : 35 framerate(integer) : "Frames per 10 seconds" : 0 framestart(integer) : "Starting Frame" : 0 StrikeTime(string) : "Strike again time (secs)" : "1" damage(string) : "Damage / second" : "0" spawnflags(flags) = [ 1 : "Start On" : 0 2 : "Toggle" : 0 4 : "Random Strike" : 0 8 : "Ring" : 0 16: "StartSparks" : 0 32: "EndSparks" : 0 64: "Decal End" : 0 128: "Shade Start" : 0 256: "Shade End" : 0 ] ] @PointClass base(Targetname, Angles) size(-4 -4 -4, 4 4 4) = env_beverage : "Beverage Dispenser" [ health(integer) : "Capacity" : 10 skin(choices) : "Beverage Type" : 0 = [ 0 : "Coca-Cola" 1 : "Sprite" 2 : "Diet Coke" 3 : "Orange" 4 : "Surge" 5 : "Moxie" 6 : "Random" ] ] @PointClass base(Targetname, Angles) size(-16 -16 -16, 16 16 16) color(255 0 0) = env_blood : "Blood Effects" [ color(choices) : "Blood Color" : 0 = [ 0 : "Red (Human)" ] amount(string) : "Amount of blood (damage to simulate)" : "100" spawnflags(flags) = [ 1: "Random Direction" : 0 2: "Blood Stream" : 0 4: "On Player" : 0 8: "Spray decals" : 0 ] ] @SolidClass base(Targetname) = env_bubbles : "Bubble Volume" [ density(integer) : "Bubble density" : 2 frequency(integer) : "Bubble frequency" : 2 current(integer) : "Speed of Current" : 0 spawnflags(Flags) = [ 1 : "Start Off" : 0 ] ] @PointClass base(Targetname) size(-16 -16 -16, 16 16 16) = env_explosion : "Explosion" [ iMagnitude(Integer) : "Magnitude" : 100 spawnflags(flags) = [ 1: "No Damage" : 0 2: "Repeatable" : 0 4: "No Fireball" : 0 8: "No Smoke" : 0 16: "No Decal" : 0 32: "No Sparks" : 0 ] ] @PointClass base(Targetname) size(-16 -16 -16, 16 16 16) = env_funnel : "Large Portal Funnel" [ spawnflags(flags) = [ 1: "Reverse" : 0 ] ] @PointClass base(Targetname) iconsprite("sprites/DoD/EnvGlobal.spr") color(255 255 128) = env_global : "Global State" [ globalstate(string) : "Global State to Set" triggermode(choices) : "Trigger Mode" : 0 = [ 0 : "Off" 1 : "On" 2 : "Dead" 3 : "Toggle" ] initialstate(choices) : "Initial State" : 0 = [ 0 : "Off" 1 : "On" 2 : "Dead" ] spawnflags(flags) = [ 1 : "Set Initial State" : 0 ] ] @PointClass sprite() base(Targetname, RenderFields, MoveWith) size(-4 -4 -4, 4 4 4) color(30 100 0) = env_glow : "Light Glow/Haze" [ model(sprite) : "model" : "sprites/glow01.spr" scale(integer) : "Sprite Scale" : 1 ] @PointClass base(Targetname, RenderFxChoices, Angles) size(-16 -16 -16, 16 16 16) = env_laser : "Laser Beam Effect" [ LaserTarget(target_destination) : "Target of Laser" renderamt(integer) : "Brightness (1 - 255)" : 100 rendercolor(color255) : "Beam Color (R G B)" : "0 0 0" width(integer) : "Width of beam (pixels*0.1 0-255)" : 20 NoiseAmplitude(integer) : "Amount of noise (0-255)" : 0 texture(sprite) : "Sprite Name" : "sprites/laserbeam.spr" EndSprite(sprite) : "End Sprite" : "" TextureScroll(integer) : "Texture Scroll Rate (0-100)" : 35 framestart(integer) : "Starting Frame" : 0 damage(string) : "Damage / second" : "100" spawnflags(flags) = [ 1 : "Start On" : 0 16: "StartSparks" : 0 32: "EndSparks" : 0 64: "Decal End" : 0 ] ] @PointClass base(Targetname, Target) = env_message : "HUD Text Message" [ message(string) : "Message Name" spawnflags(flags) = [ 1: "Play Once" : 0 2: "All Clients" : 0 ] messagesound(sound) : "Sound effect" messagevolume(string) : "Volume 0-10" : "10" messageattenuation(Choices) : "Sound Radius" : 0 = [ 0 : "Small Radius" 1 : "Medium Radius" 2 : "Large Radius" 3 : "Play Everywhere" ] ] @PointClass base(Targetname, Target, RenderFields) size(-16 -16 -16, 16 16 16) color(100 100 0) = env_render : "Render Controls" [ spawnflags(flags) = [ 1: "No Renderfx" : 0 2: "No Renderamt" : 0 4: "No Rendermode" : 0 8: "No Rendercolor" : 0 ] ] @PointClass base(Targetname) = env_shake : "Screen Shake" [ spawnflags(flags) = [ 1: "GlobalShake" : 0 ] amplitude(string) : "Amplitude 0-16" : "4" radius(string) : "Effect radius" : "500" duration(string) : "Duration (seconds)" : "1" frequency(string) : "0.1 = jerk, 255.0 = rumble" : "2.5" ] @PointClass base(gibshooterbase, RenderFields) size(-16 -16 -16, 16 16 16) = env_shooter : "Model Shooter" [ shootmodel(studio) : "Model" : "" shootsounds(choices) :"Material Sound" : -1 = [ -1: "None" 0: "Glass" 1: "Wood" 2: "Metal" 3: "Flesh" 4: "Concrete" ] scale(string) : "Gib Scale" : "" skin(integer) : "Gib Skin" : 0 ] @PointClass base(Targetname) size(-4 -4 -4, 4 4 4) color(30 100 0) = env_smoker : "Smoke" [ health(integer) : "Strength" : 1 scale(integer) : "Smoke Scale" : 1 ] @PointClass iconsprite("sprites/DoD/EnvSound.spr") = env_sound : "DSP Sound" [ radius(integer) : "Radius" : 128 roomtype(Choices) : "Room Type" : 0 = [ 0 : "Normal (off)" 1 : "Generic" 2 : "Metal Small" 3 : "Metal Medium" 4 : "Metal Large" 5 : "Tunnel Small" 6 : "Tunnel Medium" 7 : "Tunnel Large" 8 : "Chamber Small" 9 : "Chamber Medium" 10: "Chamber Large" 11: "Bright Small" 12: "Bright Medium" 13: "Bright Large" 14: "Water 1" 15: "Water 2" 16: "Water 3" 17: "Concrete Small" 18: "Concrete Medium" 19: "Concrete Large" 20: "Big 1" 21: "Big 2" 22: "Big 3" 23: "Cavern Small" 24: "Cavern Medium" 25: "Cavern Large" 26: "Weirdo 1" 27: "Weirdo 2" 28: "Weirdo 3" ] ] @PointClass base(Targetname, Angles) size(-16 -16 -16, 16 16 16) iconsprite("sprites/DoD/EnvSpark.spr") = env_spark : "Spark" [ MaxDelay(string) : "Max Delay" : "0" spawnflags(flags) = [ 32: "Toggle" : 0 64: "Start ON" : 0 ] ] @PointClass sprite() base(Targetname, RenderFields, Angles, MoveWith) size(-4 -4 -4, 4 4 4) = env_sprite : "Sprite Effect" [ framerate(string) : "Framerate" : "10.0" model(sprite) : "Sprite Name" : "sprites/glow01.spr" scale(integer) : "Scale" : 1 spawnflags(flags) = [ 1: "Start on" : 0 2: "Play Once" : 0 ] ] //* Simply keeps track of a state. Useful as a master or a conditional "branch". @PointClass base(Targetname, Master) color(128 128 255) = env_state : "Local State" [ //* This entity will be fired (using whatever action you've specified) both when the env_state turns on, and when it turns off. target(target_destination) : "Target (always)" noise1(target_destination) : "Target (when on)" noise2(target_destination) : "Target (when off)" turnontime(string) : "Time taken to turn on" : 0 turnofftime(string) : "Time taken to turn off" : 0 onmode(choices) : "Action when turned on" : 0 = [ 0 : "Send Toggle" 1 : "Send On" 2 : "Send Off" 3 : "Send Kill" 4 : "Do nothing" ] offmode(choices) : "Action when turned off" : 0 = [ 0 : "Send Toggle" 1 : "Send On" 2 : "Send Off" 3 : "Send Kill" 4 : "Do nothing" ] spawnflags(flags) = [ 1 : "Start On" : 0 //* If you're trying to work out what's actually happening in your level, //* try ticking here and the env_state will tell you when it triggers, etc. 2 : "Debug Mode" : 0 ] ] // // game entities (requires Half-Life 1.0.0.9) // @PointClass base(Targetname, Targetx) iconsprite("sprites/DoD/GameCounter.spr") = game_counter : "Fires when it hits limit" [ spawnflags(flags) = [ 1: "Remove On fire" : 0 2: "Reset On fire" : 1 ] master(string) : "Master" frags(integer) : "Initial Value" : 0 health(integer) : "Limit Value" : 10 ] @PointClass base(Targetname, Target) iconsprite("sprites/DoD/GameCounterSet.spr") = game_counter_set : "Sets a game_counter" [ spawnflags(flags) = [ 1: "Remove On fire" : 0 ] master(string) : "Master" frags(integer) : "New Value" : 10 ] @PointClass base(Targetname) iconsprite("sprites/DoD/GameEnd.spr") = game_end : "End this multiplayer game" [ master(string) : "Master" ] @PointClass base(Targetname) iconsprite("sprites/DoD/GamePlayerHurt.spr") = game_player_hurt : "Hurts player who fires" [ dmg(string) : "Damage To Apply" : "999" spawnflags(flags) = [ 1: "Remove On fire" : 0 ] master(string) : "Master" ] @PointClass base(Targetname) iconsprite("sprites/DoD/GamePlayerTeam.spr") = game_player_team : "Allows player to change teams" [ spawnflags(flags) = [ 1 : "Remove On fire" : 0 2 : "Kill Player" : 0 4 : "Gib Player" : 0 ] target(string) : "game_team_master to use" master(string) : "Master" ] @PointClass base(Targetname) iconsprite("sprites/DoD/GameScore.spr") = game_score : "Award/Deduct Points" [ spawnflags(flags) = [ 1: "Allow Negative" : 0 2: "Team Points" : 0 ] points(integer) : "Points to add (+/-)" : 1 master(string) : "Master" ] @PointClass base(Targetname, Targetx) iconsprite("sprites/DoD/GameTeamMaster.spr") = game_team_master : "Team based master/relay" [ spawnflags(flags) = [ 1: "Remove On fire" : 0 ] triggerstate(choices) : "Trigger State" : 0 = [ 0: "Off" 1: "On" 2: "Toggle" ] teamindex(integer) : "Team Index (-1 = no team)" : -1 master(string) : "Master" ] @PointClass base(Targetname, Targetx) iconsprite("sprites/DoD/GameTeamSet.spr") = game_team_set : "Sets team of team_master" [ spawnflags(flags) = [ 1: "Remove On fire" : 0 ] master(string) : "Master" ] @PointClass base(Targetname, Target) iconsprite("sprites/DoD/GameText.spr") = game_text : "HUD Text Message" [ spawnflags(flags) = [ 1: "All Players" : 0 4: "Allies Only" : 0 8: "Axis Only" : 0 16: "Allied Player Only" : 0 32: "Axis Player Only" : 0 ] message(string) : "Message Text" x(string) : "X (0 - 1.0 = left to right) (-1 centers)" : "-1" y(string) : "Y (0 - 1.0 = top to bottom) (-1 centers)" : "-1" effect(Choices) : "Text Effect" : 0 = [ 0 : "Fade In/Out" 1 : "Credits" 2 : "Scan Out" ] color(color255) : "Color1" : "100 100 100" color2(color255) : "Color2" : "240 110 0" fadein(string) : "Fade in Time (or character scan time)" : "1.5" fadeout(string) : "Fade Out Time" : "0.5" holdtime(string) : "Hold Time" : "1.2" fxtime(string) : "Scan time (scan effect only)" : "0.25" channel(choices) : "Text Channel" : 1 = [ 1 : "Channel 1" 2 : "Channel 2" 3 : "Channel 3" 4 : "Channel 4" ] master(string) : "Master" ] @SolidClass base(Targetname) = game_zone_player : "Player Zone brush" [ intarget(target_destination) : "Target for IN players" outtarget(target_destination) : "Target for OUT players" incount(target_destination) : "Counter for IN players" outcount(target_destination) : "Counter for OUT players" master(string) : "Master" ] // // Info entities // //* An alias makes itself an "alternative name" for an entity. To refer to an entity through the alternative name, //* use the alias name preceeded by a *. //* For example, suppose you set up an info_alias entity called 'myalias'. 'Myalias' targets a light called 'redlight'. //* suppose a you set up a @func_trigger field targetting "*myalias", so that when you walk through the func_trigger //* field, redlight gets turned on and off. So far, info_alias seems to be like a @trigger_relay. However, you can also //* set up a switch which targets "myalias", to turn it off... //* This is a very powerful entity, but is probably only useful for experienced mappers. Use with caution. @PointClass base(Targetname) = info_alias : "Alias" [ target(target_destination) : "Reference while On" netname(string) : "Reference while Off" spawnflags(Flags) = [ 1 : "Start Off" : 0 2 : "Debug Mode" : 0 ] ] // ------------------------------------------------------------------------------------------------------------ // An info_group acts similarly to an @info_alias, except that it has several "members" which are are accessed // by 'mygroup.membername'. // These members are set up just like the targets of a @multi_manager- except that they'll contain an entity // reference instead of a delay time. // If you set up its "target" field to refer to an info_alias entity, then when an info_group is triggered, // it will change that info_alias entity to target the group. // This is a very powerful entity, but is probably only useful for experienced mappers. Use with caution. // ------------------------------------------------------------------------------------------------------------ @PointClass base(Targetname) = info_group : "Entity Group" [ target(string) : "Alias to change when fired" spawnflags(flags) = [ 2 : "Debug Mode" : 0 ] ] @PointClass base(Targetname) iconsprite("sprites/DoD/EnvTarget.spr") = info_null : "info_null (spotlight target)" [] @PointClass base(Targetname, MoveWith) size(-4 -4 -4, 4 4 4) color(200 100 50) iconsprite("sprites/DoD/EnvTarget.spr") = info_target : "Beam Target" [] @PointClass size(-8 -8 0, 8 8 16) base(PlayerClass, Targetname) = info_teleport_destination : "Teleport destination" [] @PointClass decal() base(Targetname) = infodecal : "Decal" [ texture(decal) ] // // Light entities // @PointClass iconsprite("sprites/lightbulb.spr") base(Target, Targetname, Light) = light : "Invisible lightsource" [ spawnflags(Flags) = [ 1 : "Initially dark" : 0 ] ] @PointClass base(Angles) iconsprite("sprites/DoD/LightEnvironment.spr") = light_environment : "Environment" [ pitch(integer) : "Pitch" : 0 _light(color255) : "Brightness" : "255 255 128 200" ] @PointClass base(Targetname, Target, Angles) iconsprite("sprites/DoD/LightSpot.spr") = light_spot : "Spotlight" [ _cone(integer) : "Inner (bright) angle" : 30 _cone2(integer) : "Outer (fading) angle" : 45 pitch(integer) : "Pitch" : -90 _light(color255) : "Brightness" : "255 255 128 200" _sky(Choices) : "Is Sky" : 0 = [ 0 : "No" 1 : "Yes" ] spawnflags(Flags) = [ 1 : "Initially dark" : 0 ] style(Choices) : "Appearance" : 0 = [ 0 : "Normal" 10: "Fluorescent flicker" 2 : "Slow, strong pulse" 11: "Slow pulse, noblack" 5 : "Gentle pulse" 1 : "Flicker A" 6 : "Flicker B" 3 : "Candle A" 7 : "Candle B" 8 : "Candle C" 4 : "Fast strobe" 9 : "Slow strobe" ] pattern(string) : "Custom Appearance" ] // ------------------------------------------------------------------------------------------------------------ // A multi_alias is an @info_alias with more than one target. It's mainly useful to group entities // together, while still allowing them to have individual names. // For example, suppose you have a set of lights in your level. Each one has its own lightswitch, // which allows it to be switched on and off on its own. But later in the level, you want the power // (i.e. all the lights) to go off. One way to do that would be to make a multi_alias which // targets all the lights, and simply trigger what that alias refers to. // ------------------------------------------------------------------------------------------------------------ @PointClass base(Targetname) = multi_alias : "Multi-target alias" [] // ------------------------------------------------------------------------------------------------------------ // Triggers a sequence of up to 16 entities, at various time offsets. // To specify the list of entities for it to trigger, turn off Worldcraft's "smart edit" mode // and add fields manually. The name of the field is the targetname of the entity to trigger, // and the contents of the field are the time (in seconds) to wait before triggering it. // If a master is given, then while the master is in any state but ON, the manager will ignore // all signals. This won't prevent it from continuing a sequence that started while the master // was ON, but it will prevent a new sequence from starting. // ------------------------------------------------------------------------------------------------------------ @PointClass base(Targetname, Master) iconsprite("sprites/DoD/multi_manager.spr") = multi_manager : "MultiTarget Manager" [ //* How long to wait before starting the sequence. This delay is in addition to the offsets given for each individual target. wait(string) : "Time offset" //* If set, then each time it's triggered the manager will wait for a random length of time. The "Time Offset" value is used as a minimum offset. maxwait(string) : "Max Time offset (Random)" //* Message sent to the targets. There's no way (currently) to have a different message be sent to //* each target. triggerstate(choices) : "Trigger to send" = [ 0: "Toggle" 1: "On" 2: "Off" 3: "Kill" //* If you select this, the manager will send on whatever triggers it received itself. //* So this is a way to "fork" the signal sent by another entity. 4: "Same as input" ] mode(choices) : "Mode" = [ //* The 'value' for each target is the time offset at which to fire it. 0: "Normal (time offset)" //* Choose one of the targets at random, and fire it. The 'value' gives the relative chance //* that each target will be chosen. 1: "Choose one (weighted)" //* Go through the list of targets, and for each one either fire it, or don't fire it. //* The 'value' gives the percentage chance that a value will get fired. 2: "% chance for each" ] spawnflags(Flags) = [ //* By default, a manager will ignore all inputs while it's performing a sequence. //* Tick this to allow more than one sequence to run at a time. 1 : "Multi-threaded" : 0 //* When the sequence ends, start again from the beginning. You can stop the //* loop by toggling the manager a second time. 2 : "Loop" : 0 //* The manager will USE_KILL itself when the sequence is complete. //* In loop mode, the manager will only USE_KILL itself when told to stop the loop. 3 : "Once only" : 0 ] ] // ------------------------------------------------------------------------------------------------------------ // A multi_watcher is like a normal @watcher, except that it watches up to 16 entities at once. // The entity is probably most useful when used as a master for another entity- a versatile replacement // for the @multisource, in a way. Note that if you need to handle a complex logical operation, you can make a // multi_watcher which watches other multi_watchers. // The list of watched entities is specified in the same way as the targets of a @multi_manager, except that the // 'value' should be set to 0. (Future versions of Spirit may make use of the value, but for now it's ignored.) // This is a very powerful entity, but is probably only useful for experienced mappers. // ------------------------------------------------------------------------------------------------------------ @PointClass iconsprite("sprites/multiwatcher.spr") base(Targetname) = multi_watcher : "State Watcher" [ m_fLogic(choices) : "Logical test" : 0 = [ 0: "All (AND)" 2: "Not all (NAND)" 1: "At least one (OR)" 3: "None (NOR)" 4: "Exactly one (XOR)" 5: "Any number but one (XNOR)" ] //* This entity will be sent USE_ON or USE_OFF, as appropriate, whenever the watcher's state changes. target(target_destination) : "Entity to notify" //* The bottom 5 flags are used to specify what states are being watched for. Default is to just watch for 'On'. spawnflags(flags) = [ //* If this is enabled, the watcher will always notify its target with USE_TOGGLE, instead of sending ON or OFF. 1: "Send 'Toggle'" : 0 8: "NOT 'On'" : 0 16: "'Off'" : 0 32: "'Turn On'" : 0 64: "'Turn Off'" : 0 128:"'In Use'" : 0 ] ] @PointClass base(Targetname, Target) iconsprite("sprites/DoD/MultiSource.spr") = multisource : "Multisource" [ globalstate(string) : "Global State Master" ] @PointClass base(Targetname, Angles) size(16 16 16) color(247 181 82) = path_corner : "Moving platform stop" [ spawnflags(Flags) = [ 1: "Wait for retrigger" : 0 2: "Teleport" : 0 4: "Fire once" : 0 ] target(target_destination) : "Next stop target" message(target_destination) : "Fire On Pass" wait(integer) : "Wait here (secs)" : 0 speed(integer) : "New Train Speed" : 0 yaw_speed(integer) : "New Train rot. Speed" : 0 ] @PointClass iconsprite("sprites/DoD/Announcement.spr") base(Targetname) = speaker : "Announcement Speaker" [ preset(choices) :"Announcement Presets" : 0 = [ 0: "None" 1: "C1A0 Announcer" 2: "C1A1 Announcer" 3: "C1A2 Announcer" 4: "C1A3 Announcer" 5: "C1A4 Announcer" 6: "C2A1 Announcer" 7: "C2A2 Announcer" // 8: "C2A3 Announcer" 9: "C2A4 Announcer" // 10: "C2A5 Announcer" 11: "C3A1 Announcer" 12: "C3A2 Announcer" ] message(string) : "Sentence Group Name" health(integer) : "Volume (10 = loudest)" : 5 spawnflags(flags) = [ 1: "Start Silent" : 0 ] ] @PointClass base(Targetname) size(16 16 16) = path_track : "Train Track Path" [ spawnflags(Flags) = [ 1: "Disabled" : 0 2: "Fire once" : 0 4: "Branch Reverse" : 0 8: "Disable train" : 0 ] target(target_destination) : "Next stop target" message(target_destination) : "Fire On Pass" altpath(target_destination) : "Branch Path" netname(target_destination) : "Fire on dead end" speed(integer) : "New Train Speed" : 0 ] @PointClass base(Targetname) size(-16 -16 -16, 16 16 16) iconsprite("sprites/DoD/PlayerWeaponStrip.spr") = player_weaponstrip : "Strips player's weapons" [] // // Trigger entities // @PointClass base(Targetx) iconsprite("sprites/DoD/TriggerAuto.spr") = trigger_auto : "AutoTrigger" [ spawnflags(Flags) = [ 1 : "Remove On fire" : 1 ] triggerstate(choices) : "Trigger State" : 0 = [ 0 : "Off" 1 : "On" 2 : "Toggle" ] ] @PointClass base(Targetx, Targetname) iconsprite("sprites/DoD/TriggerCamera.spr") = trigger_camera : "Trigger Camera" [ wait(integer) : "Hold time" : 10 moveto(string) : "Path Corner" spawnflags(flags) = [ 1: "Start At Player" : 1 2: "Follow Player" : 1 4: "Freeze Player" : 0 ] speed(string) : "Initial Speed" : "0" acceleration(string) : "Acceleration units/sec^2" : "500" deceleration(string) : "Stop Deceleration units/sec^2" : "500" ] //* This is a very powerful entity, but is probably only useful for experienced mappers. Use with caution. @PointClass base(Targetname) = trigger_changealias : "Trigger Change Alias" [ target(string) : "Alias to affect" netname(string) : "String to Set" spawnflags(flags) = [ //* If this is ticked, alias references in the "String to Set" will be resolved before any changes are //* applied. So, for example, suppose you set this entity up to affect an alias "alias1", and to set alias1 //* to target "*myalias". //* If "Resolve references" is left unticked, then "alias1" will change to refer to "*myalias"; that is, //* in future any changes to "myalias" will also change what "alias1" refers to. //* By contrast, if "Resolve references" is ticked, then "alias1" will change to refer to whatever "myalias" //* is referring to at the time the trigger_changealias takes effect. Future changes to "myalias" will //* therefore not affect "alias1". 1 : "Resolve references" : 0 2 : "Debug Mode" : 0 ] ] @PointClass base(Targetx, Targetname) iconsprite("sprites/DoD/TriggerChangetarget.spr") = trigger_changetarget : "Trigger Change Target" [ m_iszNewTarget(string) : "New Target" ] @SolidClass base(Trigger, Targetname) = trigger_counter : "Trigger counter" [ spawnflags(flags) = [ 1 : "No Message" : 0 ] master(string) : "Master" count(integer) : "Count before activation" : 2 ] @SolidClass base(Targetname,Target) = trigger_hurt : "Trigger player hurt" [ spawnflags(flags) = [ 1: "Target Once" : 0 2: "Start Off" : 0 16:"FireClientOnly" : 0 32:"TouchClientOnly" : 0 64:"DontHurtAllies" : 0 128:"DontHurtAxis" : 0 ] master(string) : "Master" dmg(integer) : "Damage" : 10 delay(string) : "Delay before trigger" : "0" damagetype(choices) : "Damage Type" : 0 = [ 0 : "GENERIC" 1 : "CRUSH" 2 : "BULLET" 4 : "SLASH" 8 : "BURN" 16 : "FREEZE" 32 : "FALL" 64 : "BLAST" 128 : "CLUB" 256 : "SHOCK" 512 : "SONIC" 1024 : "ENERGYBEAM" 16384: "DROWN" 32768 : "PARALYSE" 65536 : "NERVEGAS" 131072 : "POISON" 262144 : "RADIATION" 524288 : "DROWNRECOVER" 1048576 : "CHEMICAL" 2097152 : "SLOWBURN" 4194304 : "SLOWFREEZE" ] ] @SolidClass base(Trigger) = trigger_multiple : "Trigger: Activate multiple" [ wait(integer) : "Delay before reset" : 10 ] @SolidClass base(Trigger) = trigger_once : "Trigger: Activate once" [] @SolidClass base(Trigger, Angles) = trigger_push : "Trigger player push" [ spawnflags(flags) = [ 1: "Once Only" : 0 2: "Start Off" : 0 ] speed(integer) : "Speed of push" : 40 ] //* Only affects dynamic lights. @PointClass base(Targetname, Target) = trigger_lightstyle : "Trigger Change Lightstyle" [ style(choices) : "New Appearance" : 0 = [ 0 : "On" 13: "Off" 10: "Fluorescent flicker" 2 : "Slow, strong pulse" 11: "Slow pulse, noblack" 5 : "Gentle pulse" 1 : "Flicker A" 6 : "Flicker B" 3 : "Candle A" 7 : "Candle B" 8 : "Candle C" 4 : "Fast strobe" 9 : "Slow strobe" 12: "Underwater" 14: "Slow Fade In" 15: "Medium Fade In" 16: "Fast Fade In" ] pattern(string) : "Custom Appearance" m_iWait(integer) : "Hold time (-1 for permanent)" ] @PointClass base(Targetname, Targetx) iconsprite("sprites/DoD/TriggerRelay.spr") = trigger_relay : "Trigger Relay" [ spawnflags(flags) = [ 1: "Remove On fire" : 0 ] triggerstate(choices) : "Trigger State" : 0 = [ 0: "Off" 1: "On" 2: "Toggle" ] ] @SolidClass base(Targetname, Master) = trigger_sound : "Brush-based DSP Sound" [ target(target_destination) : "Fire when activated" roomtype(choices) : "Room Type" : 0 = [ 0 : "(Disable all filters)" 1 : "Generic (no filters)" 2 : "Metal Small" 3 : "Metal Medium" 4 : "Metal Large" 5 : "Tunnel Small" 6 : "Tunnel Medium" 7 : "Tunnel Large" 8 : "Chamber Small" 9 : "Chamber Medium" 10: "Chamber Large" 11: "Bright Small" 12: "Bright Medium" 13: "Bright Large" 14: "Water 1" 15: "Water 2" 16: "Water 3" 17: "Concrete Small" 18: "Concrete Medium" 19: "Concrete Large" 20: "Big 1" 21: "Big 2" 22: "Big 3" 23: "Cavern Small" 24: "Cavern Medium" 25: "Cavern Large" 26: "Weirdo 1" 27: "Weirdo 2" 28: "Weirdo 3" ] spawnflags(flags) = [ //* If ticked, this entity will override the effect of a env_sound or non-Priority trigger_sound. //* (The default is for an env_sound to override a trigger_sound.) //* This is only usually useful if an env_sound's radius extends inside a trigger_sound, //* or if two trigger_sounds overlap/come very close. 1: "Priority" : 0 ] ] @SolidClass base(Trigger) = trigger_gravity : "Trigger Gravity" [ gravity(integer) : "Gravity (0-1)" : 1 ] @SolidClass base(Trigger) = trigger_teleport : "Trigger teleport" [ spawnflags(flags) = [ 8: "No Allies" : 0 16: "No Axis" : 0 ] ] // // Function entities // @SolidClass base(Breakable, RenderFields, ZhltLightFlags, MoveWith) = func_breakable : "Breakable Object" [ spawnflags(flags) = [ 1 : "Only Trigger" : 0 2 : "Touch" : 0 4 : "Pressure" : 0 256: "Instant Crowbar" : 1 ] _minlight(string) : "Minimum light level" ] @SolidClass base(Targetname, RenderFields, Angles, ZhltLightFlags, MoveWith) = func_button : "Button" [ speed(integer) : "Speed" : 5 target(target_destination) : "Targetted object" netname(target_destination) : "Target Path" // Path Target overrides Targetted Object health(integer) : "Health (shootable if > 0)" lip(integer) : "Lip" master(string) : "Master" sounds(choices) : "Sounds" : 0 = [ 0: "None" 1: "Big zap & Warmup" 2: "Access Denied" 3: "Access Granted" 4: "Quick Combolock" 5: "Power Deadbolt 1" 6: "Power Deadbolt 2" 7: "Plunger" 8: "Small zap" 9: "Keycard Sound" 10: "Buzz" 11: "Buzz Off" 14: "Lightswitch" ] wait(integer) : "delay before reset (-1 stay)" : 3 delay(string) : "Delay before trigger" : "0" spawnflags(flags) = [ 1: "Don't move" : 0 2:"Allies Can't activate" : 0 4:"Axis Can't activate" : 0 32: "Toggle" : 0 64: "Sparks" : 0 256:"Touch Activates": 0 ] locked_sound(choices) : "Locked Sound" : 0 = [ 0: "None" 2: "Access Denied" 8: "Small zap" 10: "Buzz" 11: "Buzz Off" 12: "Latch Locked" ] unlocked_sound(choices) : "Unlocked Sound" : 0 = [ 0: "None" 1: "Big zap & Warmup" 3: "Access Granted" 4: "Quick Combolock" 5: "Power Deadbolt 1" 6: "Power Deadbolt 2" 7: "Plunger" 8: "Small zap" 9: "Keycard Sound" 10: "Buzz" 13: "Latch Unlocked" 14: "Lightswitch" ] locked_sentence(choices) : "Locked Sentence" : 0 = [ 0: "None" 1: "Gen. Access Denied" 2: "Security Lockout" 3: "Blast Door" 4: "Fire Door" 5: "Chemical Door" 6: "Radiation Door" 7: "Gen. Containment" 8: "Maintenance Door" 9: "Broken Shut Door" ] unlocked_sentence(choices) : "Unlocked Sentence" : 0 = [ 0: "None" 1: "Gen. Access Granted" 2: "Security Disengaged" 3: "Blast Door" 4: "Fire Door" 5: "Chemical Door" 6: "Radiation Door" 7: "Gen. Containment" 8: "Maintenance area" ] _minlight(string) : "Minimum light level" ] @SolidClass base(RenderFields, Targetname, Angles, ZhltLightFlags) = func_conveyor : "Conveyor Belt" [ spawnflags(flags) = [ 1 : "No Push" : 0 2 : "Not Solid" : 0 ] speed(string) : "Conveyor Speed" : "100" _minlight(string) : "Minimum light level" ] @SolidClass base(Door, ZhltLightFlags) = func_door : "Basic door" [] @SolidClass base(Door, ZhltLightFlags) = func_door_rotating : "Rotating door" [ spawnflags(flags) = [ 2 : "Reverse Dir" : 0 16: "One-way" : 0 64: "X Axis" : 0 128: "Y Axis" : 0 ] distance(integer) : "Distance (deg)" : 90 angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0" ] @SolidClass base(RenderFields) = func_friction : "Surface with a change in friction" [ modifier(integer) : "Percentage of standard (0 - 100)" : 15 ] @SolidClass base(Targetname, RenderFields, ZhltLightFlags, MoveWith) = func_illusionary : "Fake Wall/Light" [ skin(choices) : "Contents" : -1 = [ -1: "Empty" -7: "Volumetric Light" -17: "Zero-G" -18: "Hover-Field" -19: "Fog effect" ] _minlight(string) : "Minimum light level" ] @SolidClass base(Targetname, MoveWith) = func_ladder : "Ladder" [ spawnflags(flags) = [ 1 : "Silent" : 0 ] ] @SolidClass base(Targetname) = func_mortar_field : "Mortar Field" [ m_flSpread(integer) : "Spread Radius" : 64 m_iCount(integer) : "Repeat Count" : 1 m_fControl(Choices) : "Targeting" : 0 = [ 0 : "Random" 1 : "Activator" 2 : "Table" ] m_iszXController(target_destination) : "X Controller" m_iszYController(target_destination) : "Y Controller" ] @SolidClass base(Targetname, RenderFields, Angles, ZhltLightFlags, MoveWith) = func_pendulum : "Swings back and forth" [ speed(integer) : "Speed" : 100 distance(integer) : "Distance (deg)" : 90 damp(integer) : "Damping (0-1000)" : 0 dmg(integer) : "Damage inflicted when blocked" : 0 spawnflags(flags) = [ 1: "Start ON" : 0 8: "Passable" : 0 16: "Auto-return" : 0 64: "X Axis" : 0 128: "Y Axis" : 0 ] _minlight(integer) : "_minlight" ] @SolidClass base(Targetname, RenderFields, PlatSounds, ZhltLightFlags) = func_plat : "Elevator" [ spawnflags(Flags) = [ 1: "Toggle" : 0 ] height(integer) : "Travel altitude (can be negative)" : 0 speed(integer) : "Speed" : 50 _minlight(string) : "Minimum light level" ] @SolidClass base(Targetname, RenderFields, PlatSounds, Angles, ZhltLightFlags) = func_platrot : "Moving Rotating platform" [ spawnflags(Flags) = [ 1: "Toggle" : 1 64: "X Axis" : 0 128: "Y Axis" : 0 ] speed(integer) : "Speed of rotation" : 50 height(integer) : "Travel altitude (can be negative)" : 0 rotation(integer) : "Spin amount" : 0 _minlight(string) : "Minimum light level" ] @SolidClass base(Breakable, RenderFields, ZhltLightFlags) = func_pushable : "Pushable object" [ size(choices) : "Hull Size" : 0 = [ 0: "Point size" 1: "Player size" 2: "Big Size" 3: "Player duck" ] spawnflags(flags) = [ 128: "Breakable" : 0 ] friction(integer) : "Friction (0-400)" : 50 buoyancy(integer) : "Buoyancy" : 20 _minlight(string) : "Minimum light level" ] @SolidClass base(Targetname, Angles, ZhltLightFlags) = func_rot_button : "Rotating Button" [ target(target_destination) : "Targetted object" changetarget(target_destination) : "ChangeTarget Name" master(string) : "Master" speed(integer) : "Speed" : 50 health(integer) : "Health (shootable if > 0)" sounds(choices) : "Sounds" : 21 = [ 21: "Squeaky" 22: "Squeaky Pneumatic" 23: "Ratchet Groan" 24: "Clean Ratchet" 25: "Gas Clunk" ] wait(choices) : "Delay before reset" : 3 = [ -1: "Stays pressed" ] delay(string) : "Delay before trigger" : "0" distance(integer) : "Distance (deg)" : 90 spawnflags(flags) = [ 1 : "Not solid" : 0 2 : "Reverse Dir" : 0 32: "Toggle" : 0 64: "X Axis" : 0 128: "Y Axis" : 0 256:"Touch Activates": 0 ] _minlight(integer) : "_minlight" ] @SolidClass base(Targetname, RenderFields, Angles, ZhltLightFlags, MoveWith) = func_rotating : "Rotating Object" [ speed(integer) : "Rotation Speed" : 0 volume(integer) : "Volume (10 = loudest)" : 10 fanfriction(integer) : "Friction (0 - 100%)" : 20 sounds(choices) : "Fan Sounds" : 0 = [ 0 : "No Sound" 1 : "Fast Whine" 2 : "Slow Rush" 3 : "Medium Rickety" 4 : "Fast Beating" 5 : "Slow Smooth" ] message(sound) : "WAV Name" spawnflags(flags) = [ 1 : "Start ON" : 0 2 : "Reverse Direction" : 0 4 : "X Axis" : 0 8 : "Y Axis" : 0 16: "Acc/Dcc" : 0 32: "Fan Pain" : 0 64: "Not Solid" : 0 128: "Small Radius" : 0 256: "Medium Radius" : 0 512: "Large Radius" : 1 ] _minlight(integer) : "_minlight" spawnorigin(string) : "X Y Z - Move here after lighting" : "0 0 0" dmg(integer) : "Damage inflicted when blocked" : 0 ] @SolidClass base(BaseTank, ZhltLightFlags) = func_tank : "Brush Gun Turret" [ bullet(choices) : "Bullets" : 0 = [ 0: "None" 1: "9mm" 2: "MP5" 3: "12mm" ] ] @SolidClass base(MoveWith) = func_tankcontrols : "Tank controls" [ target(target_destination) : "Tank entity name" ] @SolidClass base(BaseTank, ZhltLightFlags) = func_tankmortar : "Brush Mortar Turret" [ iMagnitude(Integer) : "Explosion Magnitude" : 100 ] @SolidClass base(BaseTank, ZhltLightFlags) = func_tankrocket : "Brush Rocket Turret" [] @SolidClass base(Trackchange) = func_trackautochange : "Automatic track changing platform" [ _minlight(string) : "Minimum light level" ] @SolidClass base(Trackchange, ZhltLightFlags) = func_trackchange : "Train track changing platform" [ _minlight(string) : "Minimum light level" ] @SolidClass base(Targetname, RenderFields, Angles, ZhltLightFlags) = func_tracktrain : "Track Train" [ spawnflags(flags) = [ 1 : "No Pitch (X-rot)" : 0 2 : "No User Control" : 0 8 : "Passable" : 0 ] target(target_destination) : "First stop target" sounds(choices) : "Sound" : 0 = [ 0: "None" 1: "Rail 1" 2: "Rail 2" 3: "Rail 3" 4: "Rail 4" 5: "Rail 6" 6: "Rail 7" ] wheels(integer) : "Distance between the wheels" : 50 height(integer) : "Height above track" : 4 startspeed(integer) : "Initial speed" : 0 speed(integer) : "Speed (units per second)" : 64 dmg(integer) : "Damage on crush" : 0 volume(integer) : "Volume (10 = loudest)" : 10 bank(string) : "Bank angle on turns" : "0" _minlight(string) : "Minimum light level" ] @SolidClass base(Targetname, RenderFields, ZhltLightFlags) = func_train : "Moving platform" [ target(target_source) : "First stop target" movesnd(choices) : "Move Sound" : 0 = [ 0: "No Sound" //* plats/bigmove1.wav 1: "big elev 1" //* plats/bigmove2.wav 2: "big elev 2" //* plats/elevmove1.wav 3: "tech elev 1" //* plats/elevmove2.wav 4: "tech elev 2" //* plats/elevmove3.wav 5: "tech elev 3" //* plats/freightmove1.wav 6: "freight elev 1" //* plats/freightmove2.wav 7: "freight elev 2" //* plats/heavymove1.wav 8: "heavy elev" //* plats/rackmove1.wav 9: "rack elev" //* plats/railmove1.wav 10: "rail elev" //* plats/squeekmove1.wav 11: "squeek elev" //* plats/talkmove1.wav 12: "odd elev 1" //* plats/talkmove2.wav 13: "odd elev 2" //* plats/vehicle1.wav 14: "Medium pitch" //* plats/vehicle2.wav 15: "High pitch" //* plats/vehicle3.wav 16: "Low pitch" //* plats/vehicle4.wav 17: "Really low pitch" //* plats/vehicle6.wav 19: "Medium low rough pitch" //* plats/vehicle7.wav 19: "Medium low rough pitch" ] stopsnd(choices) : "Stop Sound" : 0 = [ 0: "No Sound" //* plats/bigstop1.wav 1: "big elev stop1" //* plats/bigstop2.wav 2: "big elev stop2" //* plats/freightstop1.wav 3: "freight elev stop" //* plats/heavystop2.wav 4: "heavy elev stop" //* plats/rackstop1.wav 5: "rack stop" //* plats/railstop1.wav 6: "rail stop" //* plats/squeekstop1.wav 7: "squeek stop" //* plats/talkstop1.wav 8: "quick stop" //* plats/vehicle_brake1.wav 8: "screeching brakes" ] speed(integer) : "Speed (units per second)" : 64 avelocity(string) : "Angular velocity (Y Z X)" : "0 0 0" dmg(integer) : "Damage on crush" : 0 skin(integer) : "Contents" : 0 volume(string) : "Sound Volume 0.0 - 1.0" : "0.85" spawnflags(flags) = [ 8 : "Not solid" : 0 ] _minlight(string) : "Minimum light level" ] @SolidClass = func_traincontrols : "Train Controls" [ target(target_destination) : "Train Name" ] @SolidClass base(Targetname, RenderFields, ZhltLightFlags, MoveWith) = func_wall : "Wall" [ _minlight(string) : "Minimum light level" ] @SolidClass base(func_wall, ZhltLightFlags) = func_wall_toggle : "Toggleable geometry" [ spawnflags(flags) = [ 1 : "Starts Invisible" : 0 ] ] @SolidClass base(Door) = func_water : "Liquid" [ spawnflags(flags) = [ 1 : "Starts Open" : 0 256:"Use Only" : 0 ] skin(choices) : "Contents" : -3 = [ -3: "Water" -4: "Slime" -5: "Lava" ] WaveHeight(string) : "Wave Height" : "0" ] // // Miscellaneous entities // @SolidClass base(Target, Angles, ZhltLightFlags) = button_target : "Target Button" [ spawnflags(flags) = [ 1: "Use Activates" : 1 2: "Start On" : 0 ] master(string) : "Master" renderfx(choices) :"Render FX" : 0 = [ 0: "Normal" 1: "Slow Pulse" 2: "Fast Pulse" 3: "Slow Wide Pulse" 4: "Fast Wide Pulse" 9: "Slow Strobe" 10: "Fast Strobe" 11: "Faster Strobe" 12: "Slow Flicker" 13: "Fast Flicker" 5: "Slow Fade Away" 6: "Fast Fade Away" 7: "Slow Become Solid" 8: "Fast Become Solid" 14: "Constant Glow" 15: "Distort" 16: "Hologram (Distort + fade)" ] rendermode(choices) : "Render Mode" : 0 = [ 0: "Normal" 1: "Color" 2: "Texture" 3: "Glow" 4: "Solid" 5: "Additive" ] renderamt(integer) : "FX Amount (1 - 255)" rendercolor(color255) : "FX Color (R G B)" : "0 0 0" ] @SolidClass base(Door, ZhltLightFlags) = momentary_door : "Momentary/Continuous door" [ spawnflags(flags) = [ 1 : "Starts Open" : 0 ] ] @SolidClass base(RenderFields, Targetname, Angles, ZhltLightFlags) = momentary_rot_button : "Direct wheel control" [ target(target_destination) : "Targetted object" speed(integer) : "Speed" : 50 master(string) : "Master" sounds(choices) : "Sounds" : 0 = [ 0: "None" 1: "Big zap & Warmup" 2: "Access Denied" 3: "Access Granted" 4: "Quick Combolock" 5: "Power Deadbolt 1" 6: "Power Deadbolt 2" 7: "Plunger" 8: "Small zap" 9: "Keycard Sound" 21: "Squeaky" 22: "Squeaky Pneumatic" 23: "Ratchet Groan" 24: "Clean Ratchet" 25: "Gas Clunk" ] distance(integer) : "Distance (deg)" : 90 returnspeed(integer) : "Auto-return speed" : 0 spawnflags(flags) = [ 1: "Door Hack" : 0 2: "Not useable" : 0 16: "Auto Return" : 0 64: "X Axis" : 0 128: "Y Axis" : 0 ] _minlight(integer) : "_minlight" ] // ---------------------------------------------------------------------------------------------------- // A watcher watches an entity, waiting for it to be in a given state. The default behaviour is for // the watcher to be 'On' if the watched entity is 'On', and to be 'Off' at all other times. // The main use for a watcher is to fire another entity (the "entity to notify") each time the // watcher's state changes. // ---------------------------------------------------------------------------------------------------- @PointClass iconsprite("sprites/watcher.spr") base(Targetname) = watcher : "State Watcher" [ m_iszWatch(string) : "Entity to watch" //* The watcher will revert to this state if the watched entity is missing or killed. m_fLogic(choices) : "Default State" : 0 = [ 0: "On" 1: "Off" ] //* This entity will be sent USE_ON or USE_OFF, as appropriate, whenever the watcher's state changes. target(target_destination) : "Target to notify" //* The bottom 5 flags are used to specify what states are being watched for. Default is to just watch for 'On'. spawnflags(flags) = [ //* If this is enabled, the watcher will notify its target with USE_TOGGLE, instead of sending ON or OFF. 1: "Send 'Toggle'" : 0 //* If this is enabled, the target won't be triggered when the watcher turns on. 2: "Don't Send On" : 0 //* If this is enabled, the target won't be triggered when the watcher turns off. 4: "Don't Send Off" : 0 8: "NOT 'On'" : 0 16: "'Off'" : 0 32: "'Turn On'" : 0 64: "'Turn Off'" : 0 128:"'In Use'" : 0 ] ] // // 1019 - Mugsy added territorial control objective // // // 0629 - version 1.0 BETA // - readded everything so destroy objective would work // // // DoD Spawn Points // @PointClass base(Master,CPMaster) size(-16 -16 -36, 16 16 36) color(255 0 0) iconsprite("sprites/DoD/AlliesTeamStart.spr") = info_player_allies : "Allies team start" [ ] @PointClass base(Master,CPMaster) size(-16 -16 -36, 16 16 36) color(0 0 255) iconsprite("sprites/DoD/AxisTeamStart.spr") = info_player_axis : "Axis team start" [ ] @PointClass base(Master,CPMaster) size(-16 -16 -36, 16 16 36) color(0 255 0) iconsprite("sprites/DoD/ObserverStart.spr") = info_player_observer : "Observer start" [ ] @PointClass base(Master,CPMaster) size(-16 -16 -36, 16 16 36) color(255 0 0) iconsprite("sprites/DoD/AlliesInitialStart.spr") = info_initial_player_allies: "Allies initial start" [ ] @PointClass base(Master,CPMaster) size(-16 -16 -36, 16 16 36) color(0 0 255) iconsprite("sprites/DoD/AxisInitialStart.spr") = info_initial_player_axis : "Axis initial start" [ ] // // Objectives! // // Object Objective @PointClass base(Targetname,Target, MoveWith) iconsprite("sprites/DoD/Enigma.spr") = dod_object : "Object Objective" [ model(studio) : "Model" : "models/Tnt.mdl" object_name(string) : "Objects Name" : "" object_owner(choices) : "Team that can pick up" : 0 = [ 0 : "Both" 1 : "Axis" 2 : "Allies" ] object_group(string) : "Group Name" : "" object_takesound(sound) : "Sound when taken" object_capsound(sound) : "Sound when captured" object_dropsound(sound) : "Sound when dropped" object_returnsound(sound) : "Sound when returned" object_carryspeed(string) : "Carry speed (this*speed)" : "0.5" object_resetontouch(choices) : "Reset on touch" : 1 = [ 0 : "No" 1 : "Yes" ] object_resettime(integer) : "Reset time (secs, max. 600)" : 60 object_cappoints(integer) : "Points to capturer" : 10 object_otherpoints(integer) : "Points for teammates" : 5 object_donetarget(string) : "Target When Complete" : "" object_player_sprite(sprite) : "Sprite to show above player if carried" : "sprites/obj_tnt_sm.spr" object_hud_sprite(sprite) : "Sprite to show on HUD if carried" : "sprites/obj_tnt.spr" master(string) : "Master" ] // Capture points @SolidClass base(Targetname,Target, MoveWith) = dod_object_goal : "Object Capturepoint" [ spawnflags(flags) = [ 1 : "Dont Multicap" : 0 2 : "Cap once per round" : 0 ] capobj_group(string) : "Group Name" : "" capobj_donetarget(string) : "Target When Complete" : "" capobj_hud_sprite(sprite) : "Sprite to show on HUD if in zone without object" : "sprites/obj_tnt.spr" master(string) : "Master" ] // Scoring events @PointClass base(Targetname,Target) iconsprite("sprites/DoD/PrimaryScore.spr") = dod_score_ent : "Used for done sequences" [ team(choices) : "For Team" : 0 = [ 0 : "Both" 1 : "Allies" 2 : "Axis" ] score_points(integer) : "Points" : 10 score_resetitemtime(integer) : "Reset Items Time (0 = none)" : 3 score_resetplayerstime(integer) : "Reset Players Time (0 = none)" : 3 noise(string) : "Reset Group (blank for all)" : "" noise2(choices) : "End game?" : 0 = [ 0 : "No" 1 : "Yes" ] message(string) : "Message" : "" score_nextmap(string) : "Move to Next Map" : "" score_nextmapdelay(integer) : "Change level delay ( 0 = none )" : 3 ] // Territorial Control Objectives - by Mugsy @PointClass base(Targetname,Target) iconsprite("sprites/DoD/ControlPointMaster.spr") = dod_control_point_master : "Control Point Master" [ point_give_delay_time(integer) : "Time between point gives ( seconds )" : 20 allies_capture_target(string) : "Target when allies capture" : "" axis_capture_target(string) : "Target when axis capture" : "" master(string) : "Master" : "" cpm_group(string) : "Group Name" : "" ] @PointClass base(Targetname,Target,MoveWith) iconsprite("sprites/DoD/ControlPoint.spr") = dod_control_point : "Control Point" [ spawnflags(flags) = [ 1: "Hide Control Point on HUD" : 0 ] point_name(string) : "Control Point Name" : "a control point" point_can_allies_touch(choices) : "Can Allies Touch This Point?" : 0 = [ 0 : "Yes" 1 : "No" ] point_can_axis_touch(choices) : "Can Axis Touch This Point?" : 0 = [ 0 : "Yes" 1 : "No" ] point_pointvalue(integer) : "Time based points value" : 1 point_points_for_cap(integer) : "Points given to capturer" : 1 point_default_owner(choices) : "Default Owner of the control point" : 0 = [ 0 : "Neither" 1 : "Allies" 2 : "Axis" ] point_axis_capsound(sound) : "Sound Made when Axis captures" : "" point_allies_capsound(sound) : "Sound Made when Allies captures" : "" point_resetsound(sound) : "Sound Made when point resets" : "" point_allies_model(string) : "Model when allies capture" : "models/w_aflag.mdl" point_axis_model(string) : "Model when axis capture" : "models/w_gflag.mdl" point_reset_model(string) : "Model when point reset" : "models/w_wflag.mdl" point_allies_target(string) : "Target when allies capture" : "" point_axis_target(string) : "Target when axis capture" : "" point_reset_target(string) : "Target when point reset" : "" point_win_string(string) : "String to Show when capped (vars)" : "%p captured the %n for the %t" point_group(string) : "Group Name" : "" point_index(integer) : "Index of this point ( unique )" : -1 // point_cap_delaytime(integer) : "Time between possible captures(seconds)" : 1 ] @SolidClass base(Targetname,Target,MoveWith,Master) = dod_trigger_sandbag : "Sandbag Trigger" [ sandbag_range(integer) : "Degrees in either direction" : 15 ] @SolidClass base(Targetname,Target,MoveWith,Master) = dod_capture_area : "Capture Area" [ area_allies_cancap(choices) : "Can Allies Cap?" : 1 = [ 1 : "Yes" 0 : "No" ] area_axis_cancap(choices) : "Can Axis Cap?" : 1 = [ 1 : "Yes" 0 : "No" ] area_allies_numcap(integer) : "Number of Allies to cap" : 1 area_axis_numcap(integer) : "Number of Axis to cap" : 1 area_time_to_cap(integer) : "Time to cap (sec)" : 5 area_allies_startcap(string) : "Target when allies start capture" : "" area_allies_breakcap(string) : "Target when allies cap is broken" : "" area_allies_endcap(string) : "Target when allies complete capture" : "" area_axis_startcap(string) : "Target when axis start capture" : "" area_axis_breakcap(string) : "Target when axis cap is broken" : "" area_axis_endcap(string) : "Target when axis complete capture" : "" area_hud_sprite(sprite) : "Sprite to show on HUD" : "" ] // ammo_depot_teams(choices) : "Depot works for which teams" : 6 = // [ // 2 : "Allies Only" // 4 : "Axis Only" // 6 : "Both Teams" // ] // master(string) : "Master" // ] @PointClass base(Targetname,Target) iconsprite("sprites/DoD/PointRelay.spr") = dod_point_relay : "Capture Relay" [ dod_relay_team(choices) : "Relay triggers point with which team" : 1 = [ 1 : "Allies" 2 : "Axis" 0 : "Reset Point" ] ] @PointClass base(Targetname,Target) iconsprite("sprites/DoD/RoundTimer.spr") = dod_round_timer : "DoD Timer" [ spawnflags(flags) = [ 1 : "Shown On HUD" : 1 2 : "Start Off" : 0 ] master(string) : "Master" round_timer_length(integer): "Timer Length( in seconds )" : 60 ]