// // Hexen 2 game definition file (.fgd) // For Worldcraft 1.6 and above // Updated March 17 1998 (By autolycus) // Updated May 17 2012 (By Amran. Fixed errors, added/corrected entities, and revised original) // // Written by autolycus / autolycus@planetquake.com // Revised by Amran // // Modified by Razumen : t.tokaruk@gmail.com (Added Func_detail brushes, modified entities bounding boxes, added model paths, fixed difficulty spawnflags, fixed monster base spawnflags) // Modified by Lord Zergeant : Fixed all model paths so they display the correct 3D model // // worldspawn! // @SolidClass = worldspawn : "World entity."+ "Set 'Spawnflags' to '1' for Portal of Praevus func_trains."+ "Netname can be used to name the level without using strings.txt." [ message(string) : "Level name" worldtype(choices) : "World Type" : 0 = [ 0 : "Castle" 1 : "Egypt" 2 : "Meso" 3 : "Roman" ] CD(integer) : "CD track to play" : 1 MIDI(string) : "Midi file to play" : "casa1" spawnflags(choices) : "Func_Train type" : 0 = //Spawnflags don't show for worldspawn. Needs to be edited in the .map manually [ 0 : "Hexen2 Func_Trains" 1 : "PoP Func_Trains" ] netname(string) : "Netname (PoP)" ] // // Base definitions! // @baseclass = Appearflags [ spawnflags(Flags) = [ 256 : "Remove for Paladin" : 0 512 : "Remove for Crusader" : 0 1024 : "Remove for Necromancer" : 0 2048 : "Remove for Assassin" : 0 4096 : "Not in Easy" : 0 8192 : "Not in Normal" : 0 16384 : "Not in Hard" : 0 32768 : "Not in Deathmatch" : 0 ] ] @baseclass = Targetname [ targetname(target_source) : "Name" ] @baseclass = Target [ target(target_destination) : "Target" ] @baseclass = Angles [ //angles_x(integer) : "Angles X" //angles_Y(integer) : "Angles Y" //angles_Z(integer) : "Angles Z" angles(string) : "Angles (X Y Z)" : "0 0 0" ] @baseclass = Spawn [ bluemana(integer) : "Blue mana" greenmana(integer) : "Green mana" cnt_torch(integer) : "Torch" cnt_h_boost(integer) : "Quartz flask" cnt_sh_boost(integer) : "Mystic urn" cnt_mana_boost(integer) : "Krater of might" cnt_teleport(integer) : "Chaos device" cnt_tome(integer) : "Tome of power" cnt_summon(integer) : "Stone of summoning" cnt_invisibility(integer) : "Invisibility" cnt_glyph(integer) : "Glyph of ancients" cnt_haste(integer) : "Boots of speed" cnt_blast(integer) : "Disc of repulsion" cnt_polymorph(integer) : "Ovinimancer" cnt_cubeofforce(integer) : "Force cube" cnt_invincibility(integer) : "Invincibility" ] // // Entities! // @PointClass base(Appearflags, Targetname) size(-8 -8 -8, 8 8 8) = air_bubbles : "Air bubbles (PoP)" [ cnt(integer) : "Number of Bubbles" : 1 wait(integer) : "Wait Style (-2 for burst)" : 0 ] // // Artifacts! // @BaseClass base(Appearflags, Targetname, Target) size(-8 -8 -44, 8 8 20) = Artifact [ spawnflags(Flags) = [ 1 : "Floating" : 0 ] message(string) : "Message" style(integer) : "Light Style" ] @PointClass base(Artifact) model({ "path": ":models/a_blast.mdl" }) = art_blastradius : "Blast Radius" [] @PointClass base(Artifact) model({ "path": ":models/a_cube.mdl" }) = art_cubeofforce : "Cube of Force" [] @PointClass base(Artifact) model({ "path": ":models/a_glyph.mdl" }) = art_glyph : "Glyph" [] @PointClass base(Artifact) model({ "path": ":models/a_haste.mdl" }) = art_haste : "Haste" [] @PointClass base(Artifact) model({ "path": ":models/a_hboost.mdl" }) = art_HealthBoost : "Health Boost" [] @PointClass base(Artifact) model({ "path": ":models/a_invinc.mdl" }) = art_invincibility : "Invincibility" [] @PointClass base(Artifact) model({ "path": ":models/a_invis.mdl" }) = art_invisibility : "Invisibility" [] @PointClass base(Artifact) model({ "path": ":models/a_mboost.mdl" }) = art_manaboost : "Mana Boost" [] @PointClass base(Artifact) model({ "path": ":models/a_poly.mdl" }) = art_polymorph : "Polymorph" [] @PointClass base(Artifact) model({ "path": ":models/a_summon.mdl" }) = art_summon : "Summoning" [] @PointClass base(Artifact) model({ "path": ":models/a_shboost.mdl" }) = art_SuperHBoost : "Super Health Boost" [] @PointClass base(Artifact) = art_sword_and_crown : "Sword and Crown" [] @PointClass base(Artifact) model({ "path": ":models/a_telprt.mdl" }) = art_teleport : "Teleport" [] @PointClass base(Artifact) model({ "path": ":models/a_tome.mdl" }) = art_tomeofpower : "Tome of Power" [] @PointClass base(Artifact) model({ "path": ":models/a_torch.mdl" }) = art_torch : "Torch" [] // // Entities! // @PointClass base(Appearflags, Targetname) = buddha_trigger_endgame : "Buddha trigger endgame (PoP)" [] @SolidClass base(Appearflags, Targetname, Target) = breakable_brush : "Breakable brush" [ spawnflags(Flags) = [ 1 : "Kill All" : 0 2 : "Hierarchy" : 0 4 : "No Link" : 0 8 : "Check Name" : 0 16 : "Ordered" : 0 32 : "Translucent" : 0 64 : "Invincible" : 0 128 : "Invisible" : 0 ] killtarget(target_destination) : "KillTarget" flags(integer) : "Hierachial order" thingtype(choices) : "Material type" : 0 = [ 0 : "Glass" 1 : "Grey stone" 2 : "Wood" 3 : "Metal" 4 : "Flesh" 5 : "Fire" 6 : "Clay" 7 : "Leaves" 8 : "Hay" 9 : "Brown stone" 10 : "Cloth" 11 : "Wood & leaf" 12 : "Wood & metal" 13 : "Wood & stone" 14 : "Metal & stone" 15 : "Metal & cloth" 16 : "Spider web" //17 : "Glass" 18 : "Ice" 19 : "Clear glass" 20 : "Red glass" ] health(choices) : "Health" : 0 = [ 0 : "Based on material" ] abslight(integer) : "Absolute light level" ] @SolidClass base(Appearflags, Targetname) = brush_pushable : "Pushable brush" [ mass(integer) : "Mass" : 5 thingtype(choices) : "Material type" : 1 = [ 0 : "No sound" 1 : "Stone/ceramic" 2 : "Wood" //4 : "Metal" //Listed on Eye of Horus, doesn't work though? ] ] @PointClass base(Appearflags, Targetname) size(-8 -8 -8, 8 8 8) = camera_remote : "Camera" [ target(target_destination) : "Target (target_null)" wait(integer) : "Time in camera mode" : 3 angles_x(integer) : "Pitch (optional)" angles_y(integer) : "Yaw (optional)" netname(string) : "Netname (PoP)" ] // // Func Entities! // @SolidClass base(Appearflags, Targetname, Target) = func_angletrigger : "Angle trigger" [ spawnflags(Flags) = [ 1 : "Reverse" : 0 2 : "X axis" : 0 4 : "Y axis" : 0 ] mangle(string) : "Mangle (x y z)" cnt(integer) : "Degrees per move" speed(integer) : "Speed" : 40 dmg(integer) : "Damage when blocked" netname(string) : "Netname" abslight(integer) : "Absolute light level" ] @BaseClass base(Appearflags, Targetname, Target) = Button [ spawnflags(Flags) = [ 1 : "Deactivated" : 0 2 : "Fired only" : 0 4 : "Fire multiple" : 0 ] speed(integer) : "Speed" : 40 wait(choices) : "Wait" : 1 = [ -1 : "Stay pressed" ] message(string) : "Message" delay(integer) : "Delay" lip(integer) : "Lip" : 4 health(integer) : "Health" soundtype(choices) : "Sounds" : 0 = [ 0 : "Steam metal" 1 : "Wooden clunk" 2 : "Metallic click" 3 : "In-out" ] netname(string) : "Netname" abslight(integer) : "Absolute light value" ] @SolidClass base(Button) = func_button : "Button" [ msg2(string) : "Deactivated Message" aflag(integer) : "Order" ] @SolidClass base(Appearflags, Targetname) = func_crusher : "Crusher" [ spawnflags(Flags) = [ 1 : "Multiple" : 0 2 : "Slide" : 0 4 : "Start open" : 0 8 : "End open" : 0 ] speed(integer) : "Speed" : 150 dmg(integer) : "Damage" : 10 lip(integer) : "Lip" : 4 wait(integer) : "Wait" : 1 soundtype(choices) : "Sounds" : 1 = [ 1 : "Base fast" 2 : "Chain slow" 3 : "Guillotine" ] ] @BaseClass base(Appearflags, Targetname, Target) = Door [ spawnflags(Flags) = [ 1 : "Start open" : 0 2 : "Reverse" : 0 4 : "Don't link" : 0 ] message(string) : "Message" health(integer) : "Health (shootable)" speed(integer) : "Speed" : 100 wait(choices) : "Wait" : 3 = [ 3 : "Default (3)" -1 : "Never return" ] dmg(choices) : "Damage" : 2 = [ 2 : "Default (2)" 666 : "Instant kill (666)" ] //strength(integer) : "Strength" : 1 //What is this key for? soundtype(choices) : "Sounds" : 2 = [ 0 : "No sound" 1 : "Big metal door, swinging" 2 : "Big stone door, sliding" 3 : "Big wood door, swinging" 4 : "Normal wood door, swinging" 5 : "Big wood door, sliding" 6 : "Drawbridge" 7 : "Rotating walkway" 8 : "Big metal door, sliding" 9 : "Pendulum swinging" ] ] @SolidClass base(Door) = func_door : "Door" [ spawnflags(Flags) = [ 8 : "Toggle" : 0 16 : "Slide" : 0 32 : "Normal move" : 0 64 : "Remove puzzle" : 0 128 : "No puzzle" : 0 ] level(integer) : "Movement length" lip(integer) : "Lip" : 8 //v_angle(string) : "Angle to turn" : "0 0 0" //What is this key for? //anglespeed(integer) : "Turning speed" : 0 //What is this key for? puzzle_piece_1(integer) : "Puzzle Piece 1" puzzle_piece_2(integer) : "Puzzle Piece 2" puzzle_piece_3(integer) : "Puzzle Piece 3" puzzle_piece_4(integer) : "Puzzle Piece 4" no_puzzle_msg(string) : "Puzzle message" close_target(string) : "Close Target (PoP)" abslight(integer) : "Absolute light value" ] @SolidClass base(Door) = func_door_rotating : "Rotating door" [ spawnflags(Flags) = [ 8 : "Remove puzzle" : 0 16 : "No puzzle" : 0 32 : "Toggle" : 0 64 : "X axis" : 0 128 : "Y axis" : 0 ] flags(integer) : "Degrees of rotation" flags2(integer) : "Damage when touched" puzzle_piece_1(integer) : "Puzzle Piece 1" puzzle_piece_2(integer) : "Puzzle Piece 2" puzzle_piece_3(integer) : "Puzzle Piece 3" puzzle_piece_4(integer) : "Puzzle Piece 4" no_puzzle_msg(string) : "Puzzle message" close_target(string) : "Close Target (PoP)" abslight(integer) : "Absolute light value" ] @SolidClass base(Door) = func_door_secret : "Secret door" [ spawnflags(Flags) = [ 1 : "Open once" : 0 2 : "Move left first" : 0 4 : "Move down first" : 0 8 : "No shoot" : 0 16 : "Always shoot" : 0 32 : "" : 0 64 : "Remove puzzle" : 0 128: "No puzzle" : 0 ] t_width(integer) : "Override width" t_length(integer) : "Override length" ] @SolidClass base(Appearflags) = func_illusionary : "Illusionary brush" [ spawnflags(Flags) = [ 1 : "Translucent" : 0 2 : "Light" : 0 ] abslight(integer) : "Absolute light value" ] @PointClass base(Appearflags, Targetname) size(-16 -16 -16, 16 16 16) = func_monsterspawner : "Monster spawner. 'angle' = Direction monsters face when spawned. 'cnt' = The number of monsters produced. For a cnt>1, either the ONDEATH or TRIGGERONLY spawnflag should be set. "+ "'spawnername' = Value is a name shared by associated func_monsterspawn_spot(_mp)s. The game will crash if you use this field without the spawn spots. "+ "and you should also have a cnt field on the spawner, not the spot, or the game may crash. 'wait' = Value is a number, time before next monster is spawned, "+ "doesn't seem to interact well with the TRIGGERONLY spawnflag - when this is set, wait doesn't work and seems to inhibit multiple spawning. "+ "'wait' = the time to wait between spawning monsters. "+ "Spawnflags note: If linking to a func_monsterspawn_spot, make sure to set the spawnflags on them as well, or only them, or the game will crash upon the spawner's activation. " [ spawnflags(Flags) = [ 1 : "Imp" : 0 2 : "Archer" : 0 4 : "Wizard" : 0 8 : "Scorpian" : 0 16 : "Spider" : 0 32 : "On death" : 0 64 : "Quiet" : 0 128 : "Trigger only" : 0 ] angle(integer) : "Angle in 360 degrees" : 0 cnt(integer) : "Number of spawns" : 17 spawnername(string) : "Spawner name" wait(integer) : "Time between spawns (0.5)" : 0 ] @PointClass base(Appearflags, Targetname) size(-16 -16 0, 16 16 56) = func_monsterspawner_mp : "spawner (PoP)" [ spawnflags(Flags) = [ 1 : "Ice archer" : 0 2 : "Ice imp" : 0 4 : "Snow leopard" : 0 8 : "Weretiger" : 0 16 : "Yakman" : 0 32 : "On death" : 0 64 : "Quiet" : 0 128 : "Trigger only" : 0 ] cnt(integer) : "Number of spawns" : 17 spawnername(string) : "Spawner name" wait(integer) : "Time between spawns (0.5)" : 0 ] @PointClass base(Appearflags, Targetname) size(-16 -16 0, 16 16 56) = func_monsterspawn_spot : "Monster spawner spot. Link to a related func_monsterspawner by specifying the same spawnername. "+ "'targetname' = Value is a name, supposedly when triggered causes a monster to spawn outside of the cycle, but for me just keeps spot from working. "+ "'cnt' = Value is the total number of monsters produced at this spot. If neither the spawner nor the spot has a cnt field, the game will just crash when the spawner is activated. "+ "But it will also crash if the spot has a cnt field that is used up. So it's probably better to put cnt on the spawner but not on the spot."+ "'aflag' = Value is a number from 1 up, designating the order of the spawner spots from which monsters will spawn from. Leaving this out of out may cause the game to crash."+ "'wait' = the time to wait between spawning monsters. "+ "'dflags' = If dflags is set to '1', the spawner will wait it's 'wait' value every time it fails to spawn a monster, then try again. "+ "Spawnflags note: If linking to a func_monsterspawn_spot, make sure to set the spawnflags on them as well, or only them, or the game will crash upon the spawner's activation. " [ spawnflags(Flags) = [ 1 : "Imp" : 0 2 : "Archer" : 0 4 : "Wizard" : 0 8 : "Scorpian" : 0 16 : "Spider" : 0 32 : "On death" : 0 64 : "Quiet" : 0 128 : "Trigger only" : 0 ] //cnt(integer) : "Number of spawns" : 17 //cnt should be filled out on monsterspawner, not the spot. (Crashes if it reaches the limit) spawnername(string) : "Spawner name" wait(integer) : "Time between spawns (0.5)" : 0 aflag(integer) : "Spawn order" dflags(choices) : "Wait when failed" : 0 = //"If dflags is set to "1", the spawner will wait it's "wait" value every time it fails to spawn a monster." [ 0 : "No" 1 : "Yes" ] ] @PointClass base(Appearflags, Targetname) size(-16 -16 0, 16 16 56) = func_monsterspawn_spot_mp : "spawn spot (PoP)" [ spawnflags(Flags) = [ 1 : "Ice archer" : 0 2 : "Ice imp" : 0 4 : "Snow leopard" : 0 8 : "Weretiger" : 0 16 : "Yakman" : 0 32 : "On death" : 0 64 : "Quiet" : 0 128 : "Trigger only" : 0 ] //cnt(integer) : "Number of spawns" : 17 //cnt should be filled out on monsterspawner, not the spot. (Crashes if it reaches the limit) spawnername(string) : "Spawner name" wait(integer) : "Time between spawns (0.5)" : 0 aflag(integer) : "Spawn order" dflags(choices) : "Wait when failed" : 0 = //"If dflags is set to "1", the spawner will wait it's "wait" value every time it fails to spawn a monster." [ 0 : "No" 1 : "Yes" ] ] @SolidClass base(Appearflags, Targetname) = func_newplat : "New plat" [ spawnflags(Flags) = [ 1 : "Bottom start" : 0 2 : "Return to start" : 0 4 : "Continuous" : 0 ] speed(integer) : "Speed" : 150 height(integer) : "Height" soundtype(choices) : "Sounds" : 1 = [ 1 : "Pully" 2 : "Chain" ] dmg(integer) : "Damage" : 0 wait(integer) : "Wait" : 3 ] @SolidClass base(Appearflags, Targetname) = func_plat : "Plat" [ spawnflags(Flags) = [ 1 : "Trigger low" : 0 ] speed(integer) : "Speed" : 150 height(integer) : "Height" soundtype(choices) : "Sounds" : 1 = [ 1 : "Pully" 2 : "Chain" ] dmg(integer) : "Damage" : 0 wait(integer) : "Wait" : 3 ] @SolidClass base(Button) = func_pressure : "Pressure plate" [ spawnflags(Flags) = [ 1 : "Activate" : 0 2 : "" : 0 4 : "" : 0 ] mass(integer) : "Mass required" ] @SolidClass base(Appearflags, Targetname) = func_rotating : "Rotating object" [ spawnflags(Flags) = [ 1 : "Start on" : 0 2 : "Reverse" : 0 4 : "X axis" : 0 8 : "Y axis" : 0 16 : "Breakable" : 0 32 : "Gradual" : 0 64 : "Toggle reverse" : 0 128 : "Keep start" : 0 ] speed(integer) : "Speed" : 100 dmg(integer) : "Damage when blocked" : 2 lifetime(choices) : "Lifetime" : 0 = [ 0 : "Continuous" ] wait(integer) : "Time between lifetimes" : 3 thingtype(choices) : "Material type" : 2 = [ 0 : "Glass" 1 : "Grey stone" 2 : "Wood" 3 : "Metal" 4 : "Flesh" 5 : "Fire" 6 : "Clay" 7 : "Leaves" 8 : "Hay" 9 : "Brown stone" 10 : "Cloth" 11 : "Wood & leaf" 12 : "Wood & metal" 13 : "Wood & stone" 14 : "Metal & stone" 15 : "Metal & cloth" 16 : "Spider web" //17 : "Glass" 18 : "Ice" 19 : "Clear glass" 20 : "Red glass" ] health(choices) : "Health" : 0 = [ 0 : "Based on material" ] anglespeed(integer) : "Accel/decell time" : 10 abslight(integer) : "Absolute light value" ] @SolidClass base(Appearflags, Targetname) = func_rotating_movechain : "Move chain" //Is supposed to link rotating ents to moving ents. Untested [ spawnflags(Flags) = [ 1 : "No angle chain" : 0 ] dmg(integer) : "Damage on touch" noise(string) : "Noise" noise1(string) : "Impact noise" wait(integer) : "Length of sound (for looping)" avelocity(string) : "Pitch/Yaw/Roll" : "0 0 0" netname(string) : "Netname" abslight(integer) : "Absolute light value" ] @SolidClass base(Appearflags, Targetname, Target) = func_train : "Train" [ spawnflags(Flags) = [ 1 : "Glow" : 0 2 : "Toggle" : 0 4 : "Return" : 0 8 : "Translucent" : 0 ] speed(integer) : "Speed" : 100 dmg(integer) : "Damage when blocked" : 2 soundtype(choices) : "Sound" : 1 = [ 0 : "No sound" 1 : "Ratchet metal" ] anglespeed(integer) : "Speed of rotation" : 100 wait(choices) : "Wait between moves" : 0 = [ 0 : "No wait" -1 : "Stop" -2 : "Explode" ] pausetime(integer) : "Pause before explode" thingtype(choices) : "Material" : 1 = [ 0 : "Glass" 1 : "Grey stone" 2 : "Wood" 3 : "Metal" 4 : "Flesh" 5 : "Fire" 6 : "Clay" 7 : "Leaves" 8 : "Hay" 9 : "Brown stone" 10 : "Cloth" 11 : "Wood & leaf" 12 : "Wood & metal" 13 : "Wood & stone" 14 : "Metal & stone" 15 : "Metal & cloth" 16 : "Spider web" //17 : "Glass" 18 : "Ice" 19 : "Clear glass" 20 : "Red glass" ] abslight(integer) : "Absolute light value" ] @SolidClass base(Appearflags, Targetname, Target) = func_train_mp : "Train (PoP)" [ spawnflags(Flags) = [ 1 : "Invisible" : 0 2 : "Toggle" : 0 4 : "Return" : 0 8 : "Translucent" : 0 16 : "Slope" : 0 32 : "Angle match" : 0 64 : "Use origin" : 0 128 : "Angle wait" : 0 ] speed(integer) : "Speed" : 100 dmg(integer) : "Damage when blocked" : 2 soundtype(choices) : "Sound" : 1 = [ 0 : "No sound" 1 : "Ratchet metal" 2 : "Pullies" 3 : "Sliding" 4 : "Machine" 5 : "Gears" 6 : "Guillotine" 7 : "Chain" 8 : "Rolling boulder" 9 : "Prayer wheel" ] level(choices) : "Sound falloff" : 0 = [ 0 : "Normal" 1 : "No falloff" ] weaponmodel(string) : "Model path" angles(string) : "Angles (x y z)" health(integer) : "Health" anglespeed(integer) : "Speed of rotation" : 100 wait(choices) : "Wait between moves" : 0 = [ 0 : "No wait" -1 : "Stop" -2 : "Explode" -3 : "Wait at next corner" ] pausetime(integer) : "Pause before explode" thingtype(choices) : "Material" : 1 = [ 0 : "Glass" 1 : "Grey stone" 2 : "Wood" 3 : "Metal" 4 : "Flesh" 5 : "Fire" 6 : "Clay" 7 : "Leaves" 8 : "Hay" 9 : "Brown stone" 10 : "Cloth" 11 : "Wood & leaf" 12 : "Wood & metal" 13 : "Wood & stone" 14 : "Metal & stone" 15 : "Metal & cloth" 16 : "Spider web" //17 : "Glass" 18 : "Ice" 19 : "Clear glass" 20 : "Red glass" ] abslight(integer) : "Absolute light value" ] @SolidClass base(Appearflags, Targetname) = func_wall : "Wall" [ spawnflags(Flags) = [ 1 : "Translucent" : 0 ] abslight(integer) : "Absolute light value" ] @SolidClass base(Appearflags, Targetname) = func_group : "Group of brushes for in-editor use" [] @SolidClass base(Appearflags, Targetname) = func_detail : "Detail" [ _shadow(integer) : "Casts shadows" _phong(integer) : "Phong shading" _minlight(integer) : "Minimum light level for any surface of model" _dirt(integer) : "Enables dirtmapping (AO)" abslight(integer) : "Absolute light value" ] @SolidClass base(Appearflags, Targetname) = func_detail_illusionary : "Detail_Illusionary" [ _shadow(integer) : "Casts shadows" _phong(integer) : "Phong shading" _minlight(integer) : "Minimum light level for any surface of model" _dirt(integer) : "Enables dirtmapping (AO)" abslight(integer) : "Absolute light value" ] @SolidClass base(Appearflags, Targetname) = func_detail_wall : "Detail_Wall" [ _shadow(integer) : "Casts shadows" _phong(integer) : "Phong shading" _minlight(integer) : "Minimum light level for any surface of model" _dirt(integer) : "Enables dirtmapping (AO)" abslight(integer) : "Absolute light value" ] @SolidClass base(Appearflags, Targetname) = func_detail_fence : "Detail_Fence" [ _shadow(integer) : "Casts shadows" _phong(integer) : "Phong shading" _minlight(integer) : "Minimum light level for any surface of model" _dirt(integer) : "Enables dirtmapping (AO)" abslight(integer) : "Absolute light value" ] @SolidClass base(Appearflags, Targetname) = func_detail_visblocker : "Detail_Visblocker" [ _shadow(integer) : "Casts shadows" _phong(integer) : "Phong shading" _minlight(integer) : "Minimum light level for any surface of model" _dirt(integer) : "Enables dirtmapping (AO)" abslight(integer) : "Absolute light value" ] // // FX Entities! // @PointClass base(Appearflags, Targetname) size(-8 -8 -8, 8 8 8) = fx_colorbeam_end : "End of beam" [] @PointClass base(Appearflags, Targetname, Target) size(-8 -8 -8, 8 8 8) = fx_colorbeam_start : "Start of beam" [ spawnflags(Flags) = [ 1 : "start off" : 0 ] noise(choices) : "Noise" : 1 = [ 1 : "No sound (default)" 2 : "Lightning" ] wait(choices) : "Wait" : -1 = [ -1 : "Triggerable" ] color(choices) : "Color" : 0 = [ 0 : "Red" 1 : "Blue" 2 : "Green" 3 : "White" 4 : "Yellow" ] lifespan(integer) : "Lifespan" ] @SolidClass base(Appearflags, Targetname) = fx_friction_change : "Friction change (PoP)" [ friction(choices) : "Friction" : 1 = [ 1 : "Normal (1)" 0 : "Slippery (> 0, < 1)" 2 : "High (> 1)" ] ] @PointClass base(Appearflags, Targetname) size(-8 -8 -8, 8 8 8) = fx_smoke_generator : "smoker" [ wait(integer) : "Time between puffs" : 2 thingtype(choices) : "Type of smoke" : 0 = [ 0 : "White puff" 1 : "Red" 2 : "Green" 3 : "Grey" ] lifespan(integer) : "Lifespan override" ] // // Info Entities! // @PointClass base(Appearflags) size(-16 -16 -16, 16 16 16) = info_intermission : "intermission camera" [ mangle(string) : "Pitch/Roll/Yaw" : "0 0 0" ] @PointClass base(Appearflags, Targetname) size(-4 -4 -4, 4 4 4) = info_null : "null target" [ spawnflags(Flags) = [ 1 : "Don't remove" : 0 ] ] @baseclass base(Appearflags, Targetname) size(-16 -16 -32, 16 16 32) color(0 255 0) = PlayerClass [] @PointClass base(PlayerClass) size(-16 -16 -32, 16 16 32) model({ "path": ":models/paladin.mdl" }) = info_player_start : "Player 1 start" [] @PointClass base(PlayerClass) size(-16 -16 -32, 16 16 32) model({ "path": ":models/succubus.mdl" }) = info_player_start2 : "Player 1 start (PoP)" [] @PointClass base(PlayerClass) size(-16 -16 -32, 16 16 32) model({ "path": ":models/crusader.mdl" }) = info_player_coop : "Player cooperative start" [ target(target_destination) : "Target (PoP)" map(string) : "Map (PoP)" playerclass(integer) : "Player class (PoP)" ] @PointClass base(PlayerClass) model({ "path": ":models/assassin.mdl" }) = info_player_deathmatch : "Player deathmatch start" [] @PointClass base(PlayerClass) size(-16 -16 0, 16 16 4) = info_teleport_destination : "Teleport destination" [ spawnflags(Flags) = [ 1 : "No throw" : 0 ] ] // // Items! // @BaseClass base(Appearflags, Targetname, Target) size(-8 -8 -8, 8 8 8) = Item [ spawnflags(Flags) = [ 1 : "floating" : 0 ] message(string) : "Message" style(integer) : "Light Style" ] @PointClass base(Item) model({ "path": ":models/i_amulet.mdl" }) = item_armor_amulet : "Armor amulet" [] @PointClass base(Item) model({ "path": ":models/i_bracer.mdl" }) = item_armor_bracer : "Armor bracer" [] @PointClass base(Item) model({ "path": ":models/i_bplate.mdl" }) = item_armor_breastplate : "Breastplate" [] @PointClass base(Item) model({ "path": ":models/i_helmet.mdl" }) = item_armor_helmet : "Helmet" [] @PointClass base(Item) model({ "path": ":models/i_hboost.mdl" }) = item_health : "10 health" [] @PointClass base(Item) model({ "path": ":models/i_btmana.mdl" }) = item_mana_both : "Mana" [ spawnflags(Flags) = [ 2 : "big (30)" : 0 ] ] @PointClass base(item_mana_both) model({ "path": ":models/i_bmana.mdl" }) = item_mana_blue : "blue mana" [] @PointClass base(item_mana_both) model({ "path": ":models/i_gmana.mdl" }) = item_mana_green : "green mana" [] @PointClass base(Appearflags, Targetname) size(-4 -4 -10, 4 4 10) = item_spawner : "Item spawner" [ bluemana(integer) : "Blue mana" greenmana(integer) : "Green mana" cnt_torch(integer) : "Torch" cnt_h_boost(integer) : "Quartz flask" cnt_sh_boost(integer) : "Mystic urn" cnt_mana_boost(integer) : "Krater of might" cnt_teleport(integer) : "Chaos device" cnt_tome(integer) : "Tome of power" cnt_summon(integer) : "Stone of summoning" cnt_invisibility(integer) : "Invisibility" cnt_glyph(integer) : "Glyph of ancients" cnt_haste(integer) : "Boots of speed" cnt_blast(integer) : "Disc of repulsion" cnt_polymorph(integer) : "Ovinimancer" cnt_cubeofforce(integer) : "Force cube" cnt_invincibility(integer) : "Invincibility" ring_flight(integer): "Ring of Flight" ring_turning(integer): "Ring of Turning" ring_water(integer): "Ring of Waterbreathing" ring_regeneration(integer): "Ring of Regeneration" ] // // Lights! // @PointClass base(Appearflags, Targetname, Target) size(-4 -4 -4, 4 4 4) = light : "normal light" [ spawnflags(Flags) = [ 1 : "Start low" : 0 2 : "Hurt (PoP)" : 0 ] style(choices) : "Style (32-63 for groups)" : 0 = [ 0 : "Normal" 1 : "Soft flicker" 6 : "Faster flicker" 4 : "Low falloff" 5 : "Pulse" 2 : "Slow pulse in & out" 11 : "Quick pulse in & out" 3 : "Erratic pulse & flicker A" 7 : "Erratic pulse & flicker B" 8 : "Erratic pulse & flicker C" 9 : "Slow blink" 10 : "Fluorescent flicker" ] light(integer) : "Brightness" : 300 health(integer) : "Health (shootable)" lightvalue1(integer) : "Lowest light value" : 0 lightvalue2(integer) : "Highest light value" : 11 fadespeed(integer) : "Fade speed" : 1 ] @baseclass = Lightdmg [ dmg(integer) : "Damage (PoP)" ] @PointClass base(light, Lightdmg) size(-4 -4 -12, 4 4 12) model({ "path": ":models/flame1.mdl" })= light_flame_large_yellow : "Flame large yellow"[] @PointClass base(light) size(-4 -4 -6, 4 4 6) = light_flame_small_white : "Flame small white"[] @PointClass base(light, Lightdmg) size(-4 -4 -12, 4 4 12) model({ "path": ":models/flame2.mdl" }) = light_flame_small_yellow : "Flame small yellow"[] @PointClass base(light, Angles) size(-8 -8 -8, 8 8 8) model({ "path": ":models/gemlight.mdl" }) = light_gem : "Gem light" [] @PointClass base(light) size(-8 -8 -8, 8 8 8) = light_globe : "Globe" [] @PointClass base(light) size(-8 -8 -8, 8 8 8) model({ "path": ":models/castrch.mdl" })= light_torch_castle : "Castle torch" [] @PointClass base(light_torch_castle) model({ "path": ":models/egtorch.mdl" }) = light_torch_egypt : "Egyptian torch" [] @PointClass base(light_torch_castle) model({ "path": ":models/mesotrch.mdl" }) = light_torch_meso : "Meso torch" [] @PointClass base(light_torch_castle) model({ "path": ":models/rometrch.mdl" }) = light_torch_rome : "Roman torch" [] @PointClass base(light, Lightdmg) size(-10 -10 -20, 10 10 20) model({ "path": ":models/rflmtrch.mdl" })= light_torch_small_walltorch : "Walltorch" [ light(integer) : "Brightness" : 200 ] @PointClass base(light, Lightdmg) model({ "path": ":models/burner.mdl" }) size(-16 -16 -52, 16 16 16) = light_burner : "Burner (PoP)" [] @PointClass base(light) model({ "path": ":models/candle.mdl" }) size(-8 -8 -16, 8 8 32) = light_candle : "Candle (PoP)" [] @PointClass base(light) model({ "path": ":models/lantern.mdl" }) size(-8 -8 -40, 8 8 8) = light_lantern : "Lantern (PoP)" [] @PointClass base(light, Lightdmg) model({ "path": ":models/newfire.mdl" }) size(-48 -48 -4, 48 48 224) = light_newfire : "Newfire (PoP)" [] @PointClass base(light, Lightdmg) model({ "path": ":models/palight.mdl" }) size(-0 -16 -0, 22 16 32) = light_palace_torch : "Palace torch (PoP)" [] @PointClass base(Appearflags, Targetname) size(-8 -8 -8, 8 8 8) = light_thunderstorm : "Thunderstorm" [ light(integer) : "Brightness" : 300 wait(integer) : "Wait (1 - 100)" : 33 dmg(integer) : "Lightning frequency" : 10 lightvalue1(integer) : "Normal light value" : 11 frags(integer) : "Lightning area radius" : 1000 style(integer) : "Light Style" ] // // Misc Entities! // @PointClass base(Appearflags, Targetname) size(-8 -8 -8, 8 8 8) = misc_fireball : "Lava balls" [] @PointClass base(Appearflags, Targetname) size(0 0 0, 32 32 32) = misc_fountain : "Fountain" [ angles(string) : "Angles (x y z)" : "0 0 0" movedir(string) : "Direction (x y z)" : "1 1 1" color(integer) : "Color" : 407 cnt(integer) : "Number of particles" : 2 ] // // Monsters! // @BaseClass base(Appearflags, Targetname, Target) size(-16 -16 0, 16 16 50) = Monster [ spawnflags(Flags) = [ 1 : "Ambush" : 0 //Only wakes up when player is within this enemies line of sight 2 : "Stuck" : 0 //Cannot move from original position (only some enemies) 4 : "Jump" : 0 //Has the ability to leap forward 8 : "Play dead (PoP)" : 0 //Possibly no useful effect? 16 : "Dormant" : 0 //Possibly no useful effect? 32 : "No drop" : 0 //Will not drop random mana or items on death? Or doesn't drop to floor on spawn? 64 : "Frozen (PoP)" : 0 //Enemy is made out of ice 128 : "Spawn in" : 0 //Enemy will spawn when triggered ] health(integer) : "Health (PoP)" experience(integer) : "Experience (PoP)" //Doesn't seem to work ] @PointClass base(Monster) model({ "path": ":models/archer.mdl", "skin": 0 }) = monster_archer : "Archer" [] @PointClass base(Monster) model({ "path": ":models/archer.mdl", "skin": 1 }) = monster_archer_lord : "Archer lord" [] @PointClass base(Monster) size(-14 -14 -41, 14 14 23) model({ "path": ":models/fangel.mdl" }) = monster_fallen_angel : "Fallen angel" [] @PointClass base(Monster) size(-14 -14 -41, 14 14 23) model({ "path": ":models/fangel.mdl", "skin": 1 }) = monster_fallen_angel_lord : "Fallen angel lord" [] @PointClass base(Monster) size(-32 -32 0, 32 32 112) model({ "path": ":models/golem_s.mdl" }) = monster_golem_stone : "Stone golem" [] @PointClass base(Monster) size(-55 -55 0, 55 55 120) model({ "path": ":models/golem_i.mdl" }) = monster_golem_iron : "Iron golem" [] @PointClass base(Monster) size(-64 -64 0, 64 64 194) model({ "path": ":models/golem_b.mdl" }) = monster_golem_bronze : "Bronze golem" [] @PointClass base(Monster) size(-32 -32 -24, 32 32 64) model({ "path": ":models/golem_s.mdl" }) = monster_golem_crystal : "Crystal golem" [] @PointClass base(Monster) size(-40 -40 -42, 40 40 42) model({ "path": ":models/hydra.mdl" }) = monster_hydra : "Hydra" [ spawnflags(Flags) = [ 1 : "Stand" : 0 2 : "Hover" : 0 ] ] @PointClass base(Monster) model({ "path": ":models/imp.mdl", "skin": 0 }) = monster_imp_fire : "Fire imp" [ spawnflags(Flags) = [ 1 : "Stand" : 0 2 : "Hover" : 0 4 : "" : 0 8 : "" : 0 16 : "Gargoyle" : 0 32 : "" : 0 64 : "" : 0 ] wait(integer) : "Wait (-1 for decoration)" ] @PointClass base(monster_imp_fire) model({ "path": ":models/imp.mdl", "skin": 1 }) = monster_imp_ice : "Ice imp" [] @PointClass base(monster_imp_fire) model({ "path": ":models/imp.mdl", "skin": 3 }) = monster_imp_lord : "Lord imp" [] @PointClass base(Monster) model({ "path": ":models/medusa.mdl" }) = monster_medusa_green : "Green medusa" [] @PointClass base(monster_medusa_green) model({ "path": ":models/medusa2.mdl" }) = monster_medusa_red : "Red medusa" [] @PointClass base(Monster) model({ "path": ":models/mummy.mdl", "skin": 0 }) size(-16 -16 0, 16 16 55) = monster_mummy : "Mummy" [] @PointClass base(Monster) model({ "path": ":models/mummy.mdl", "skin": 1 }) = monster_mummy_lord : "Mummy lord" [] @PointClass base(Monster) size(-40 -40 0, 40 40 64) model({ "path": ":models/scorpion.mdl", "skin": 0 }) = monster_scorpion_yellow : "Yellow scorpion" [] @PointClass base(monster_scorpion_yellow) model({ "path": ":models/scorpion.mdl", "skin": 1 }) = monster_scorpion_black : "Black scorpion" [] @PointClass base(Monster) model({ "path": ":models/skullwiz.mdl", "skin": 0 }) size(-24 -24 0, 24 24 64) = monster_skull_wizard : "Skull wizard" [] @PointClass base(monster_skull_wizard) model({ "path": ":models/skullwiz.mdl", "skin": 1 }) = monster_skull_wizard_lord : "Skull wizard lord" [] @BaseClass base(Monster) = Spider [ spawnflags(Flags) = [ 32 : "On wall" : 0 ] ] @PointClass base(Spider) model({ "path": ":models/spider.mdl", "skin": 0 }) size(-12 -12 0, 12 12 16) = monster_spider_red_small : "Small red spider" [] @PointClass base(Spider) model({ "path": ":models/spider.mdl", "skin": 0 }) size(-16 -16 0, 16 16 26) = monster_spider_red_large : "Big red spider" [] @PointClass base(Spider) model({ "path": ":models/spider.mdl", "skin": 1 }) size(-12 -12 0, 12 12 16) = monster_spider_yellow_small : "Small yellow spider" [] @PointClass base(Spider) model({ "path": ":models/spider.mdl", "skin": 1 }) size(-16 -16 0, 16 16 26) = monster_spider_yellow_large : "Big yellow spider" [] @PointClass base(Monster) model({ "path": ":models/mezzoman.mdl", "skin": 0 }) = monster_werejaguar : "Werejaguar" [] @PointClass base(monster_werejaguar) model({ "path": ":models/mezzoman.mdl", "skin": 1 }) = monster_werepanther : "Werepanther" [] @PointClass base(Appearflags, Targetname, Target) model({ "path": ":models/fish.mdl", "skin": 0 }) size(-8 -8 -8, 8 8 8) = monster_fish : "Fish" [ skin(choices) : "Skin" : 0 = [ 0 : "Bright colored" 1 : "Darker colored" ] ] @PointClass base(Appearflags, Targetname, Target) model({ "path": ":models/rat.mdl" }) size(-3 -3 0, 3 3 7) = monster_rat : "Rat" [ spawnflags(Flags) = [ 1 : "Ambush" : 0 ] ] @PointClass base(monster_rat) model({ "path": ":models/rat.mdl" }) size(-20 -20 0, 20 20 10) = monster_ratnest : "Rat's nest" [] @PointClass base(Monster) model({ "path": ":models/raven.mdl" }) size(-16 -16 0, 16 16 32) = monster_raven : "Raven" [] @PointClass base(Appearflags, Targetname, Target) model({ "path": ":models/snake.mdl" }) size(-80 -80 0, 80 80 200) = monster_snake : "Snake" [ spawnflags(Flags) = [ 1 : "Ambush" : 0 ] ] @PointClass base(Appearflags, Targetname, Target) model({ "path": ":models/boss/smaleido.mdl" }) size(-100 -100 0, 100 100 666) = monster_eidolon : "Eidolon" [] // // PoP Monsters! // @PointClass base(Monster) model({ "path": ":models/archer2.mdl" }) = monster_archer_ice : "Ice archer (PoP)" [] @PointClass base(Monster) model({ "path": ":models/pent.mdl" }) size(-20 -20 0, 20 20 40) = monster_pentacles : "Pentacle (PoP)" [ skin(choices) : "Skin" : 0 = [ 0 : "Rocky brown" 1 : "Snowy white" ] ] @PointClass base(Monster) model({ "path": ":models/snowleopard.mdl" }) = monster_weretiger : "Wear tiger (PoP)" [] @PointClass base(Monster) model({ "path": ":models/snowleopard.mdl" }) = monster_weresnowleopard : "Wear leopard (PoP)" [] @PointClass base(Monster) model({ "path": ":models/yakman.mdl" }) size(-32 -32 0, 32 32 104) = monster_yakman : "Yak (PoP)" [ skin(choices) : "Skin" : 0 = [ 0 : "White" 1 : "Brown" 2 : "Black" ] ] @PointClass base(Appearflags, Targetname, Target) model({ "path": ":models/boss/bigeido.mdl" }) size(-100 -100 0, 100 100 666) = monster_eidolon_weakling : "Eidolon weakling (PoP)" [] @PointClass base(Appearflags, Targetname, Target) model({ "path": ":models/pravus.mdl" }) size(-8 -8 -8, 8 8 8) = monster_buddha : "Praevus (PoP)" [ netname(string) : "Netname" ] // // Objects! // @PointClass base(Appearflags, Targetname, Target) model({ "path": ":models/ballista.mdl" }) size(-45 -45 0, 45 45 60) = obj_ballista : "Ballista" [ spawnflags(Flags) = [ 1 : "Track" : 0 ] health(choices) : "Health" : 0 = [ 0 : "Indestructible" ] cnt(integer) : "Degrees of pitch off start" : 30 count(integer) : "Degrees per movement" : 5 dmg(integer) : "Damage of projectile" : 50 speed(integer) : "Delay between firings" : 5 //mass(integer) : "Mass" ] @BaseClass base(Appearflags, Targetname, Target, Angles) = Object [ health(integer) : "Health" scale(integer) : "Scale" mass(integer) : "Mass" message(string) : "Message" abslight(integer) : "Absolute light value" ] @BaseClass base(Object) size(-13 -13 0, 13 13 36) model({ "path": ":models/barrel.mdl", "skin": 0}) = Barrels [ spawnflags(Flags) = [ 1 : "Downhill" : 0 2 : "No drop" : 0 4 : "On side" : 0 8 : "Sink" : 0 ] ] @PointClass base(Barrels) = obj_barrel : "Barrel" [ health(integer) : "Health" : 25 bluemana(integer) : "Blue mana" greenmana(integer) : "Green mana" cnt_torch(integer) : "Torch" cnt_h_boost(integer) : "Quartz flask" cnt_sh_boost(integer) : "Mystic urn" cnt_mana_boost(integer) : "Krater of might" cnt_teleport(integer) : "Chaos device" cnt_tome(integer) : "Tome of power" cnt_summon(integer) : "Stone of summoning" cnt_invisibility(integer) : "Invisibility" cnt_glyph(integer) : "Glyph of ancients" cnt_haste(integer) : "Boots of speed" cnt_blast(integer) : "Disc of repulsion" cnt_polymorph(integer) : "Ovinimancer" cnt_cubeofforce(integer) : "Force cube" cnt_invincibility(integer) : "Invincibility" ] @PointClass base(Barrels) model({ "path": ":models/barrel.mdl", "skin": 2}) = obj_barrel_exploding : "Barrel exploding" [] @PointClass base(Barrels) model({ "path": ":models/barrel.mdl", "skin": 1}) = obj_barrel_indestructible : "Barrel indestructible" [] @PointClass base(Object) size(-8 -8 -5, 8 8 24) model({ "path": ":models/stool.mdl" }) = obj_barstool : "Bar stool" [] @PointClass base(Object) size(-16 -14 0, 16 14 88) model({ "path": ":models/beefslab.mdl" }) = obj_beefslab : "Slab o' beef" [] @PointClass base(Object) size(-100 -100 -210, 100 100 8) model({ "path": ":models/bellring.mdl" }) = obj_bell : "Bell" [] @PointClass base(Object) size(-11 -34 0, 11 34 22) model({ "path": ":models/bench.mdl" }) = obj_bench : "Bench" [] @PointClass base(Object) size(-10 -10 0, 10 10 10) model({ "path": ":models/bonepile.mdl" }) = obj_bonepile : "Pile o' bones" [] @PointClass base(Object) size(-8 -8 0, 8 8 10) model({ "path": ":models/bookclos.mdl" }) = obj_book_closed : "Closed book" [] @PointClass base(obj_book_closed) model({ "path": ":models/bookopen.mdl" }) = obj_book_open : "Open book" [] @PointClass base(Object) size(-30 -30 0, 30 30 46) model({ "path": ":models/bush1.mdl" }) = obj_bush1 : "Bush" [] @PointClass base(Object) size(-26 -13 -10, 18 73 36) model({ "path": ":models/cart.mdl" }) = obj_cart : "Cart" [] @PointClass base(Appearflags, Targetname, Target, Angles) size(-146 -146 -0, 164 164 160) model({ "path": ":models/cattest.mdl" }) = obj_catapult2 : "Catapult" [ spawnflags(Flags) = [ 1 : "Not useable (PoP)" : 0 ] health(choices) : "Health" : 1000 = [ 0 : "Indestructible" ] wait(integer) : "Delay before reset" : 3 speed(integer) : "Launch speed" : 300 thingtype(choices) : "Material" : 2 = [ 0 : "Glass" 1 : "Grey stone" 2 : "Wood" 3 : "Metal" 4 : "Flesh" 5 : "Fire" 6 : "Clay" 7 : "Leaves" 8 : "Hay" 9 : "Brown stone" 10 : "Cloth" 11 : "Wood & leaf" 12 : "Wood & metal" 13 : "Wood & stone" 14 : "Metal & stone" 15 : "Metal & cloth" 16 : "Spider web" //17 : "Glass" 18 : "Ice" 19 : "Clear glass" 20 : "Red glass" ] //mass(integer) : "Mass" //sounds //soundtype ] @PointClass base(Object) size(-16 -16 0, 16 16 40) model({ "path": ":models/cauldron.mdl" }) = obj_cauldron : "Cauldron" [] @PointClass base(Object) size(-10 -10 -5, 10 10 40) model({ "path": ":models/chair.mdl" }) = obj_chair : "Chair" [] @PointClass base(Object) size(-100 -100 0, 100 100 200) model({ "path": ":models/boss/chaosorb.mdl" }) = obj_chaos_orb : "Chaos orb" [] @PointClass base(Object) size(-12 -16 0, 16 16 25) model({ "path": ":models/chest1.mdl" }) = obj_chest1 : "Chest #1" [ skin(choices) : "Skin" : 0 = [ 0 : "Generic texture" 1 : "Roman texture" ] bluemana(integer) : "Blue mana" greenmana(integer) : "Green mana" cnt_torch(integer) : "Torch" cnt_h_boost(integer) : "Quartz flask" cnt_sh_boost(integer) : "Mystic urn" cnt_mana_boost(integer) : "Krater of might" cnt_teleport(integer) : "Chaos device" cnt_tome(integer) : "Tome of power" cnt_summon(integer) : "Stone of summoning" cnt_invisibility(integer) : "Invisibility" cnt_glyph(integer) : "Glyph of ancients" cnt_haste(integer) : "Boots of speed" cnt_blast(integer) : "Disc of repulsion" cnt_polymorph(integer) : "Ovinimancer" cnt_cubeofforce(integer) : "Force cube" cnt_invincibility(integer) : "Invincibility" ] @PointClass base(Object) size(-12 -16 0, 16 16 25) model({ "path": ":models/chest2.mdl" }) = obj_chest2 : "Chest #2" [ skin(choices) : "Skin" : 0 = [ 0 : "Generic texture" 1 : "Meso texture" 2 : "Egypt texture" ] bluemana(integer) : "Blue mana" greenmana(integer) : "Green mana" cnt_torch(integer) : "Torch" cnt_h_boost(integer) : "Quartz flask" cnt_sh_boost(integer) : "Mystic urn" cnt_mana_boost(integer) : "Krater of might" cnt_teleport(integer) : "Chaos device" cnt_tome(integer) : "Tome of power" cnt_summon(integer) : "Stone of summoning" cnt_invisibility(integer) : "Invisibility" cnt_glyph(integer) : "Glyph of ancients" cnt_haste(integer) : "Boots of speed" cnt_blast(integer) : "Disc of repulsion" cnt_polymorph(integer) : "Ovinimancer" cnt_cubeofforce(integer) : "Force cube" cnt_invincibility(integer) : "Invincibility" ] @PointClass base(Object, Spawn) size(-12 -16 0, 16 16 25) model({ "path": ":models/chest3.mdl" }) = obj_chest3 : "Chest #3" [] @PointClass base(Object) size(-32 -32 0, 32 32 10) model({ "path": ":models/corps1.mdl" })= obj_corpse1 : "Corpse #1" [ skin(choices) : "Skin" : 0 = [ 0 : "Burnt, nude guy" 1 : "Normal, nude guy" 2 : "Diseased, nude guy" 3 : "Wound, has pants" ] ] @PointClass base(obj_corpse1) size(-32 -32 0, 32 32 10) model({ "path": ":models/corps2.mdl" })= obj_corpse2 : "Corpse #2" [ skin(choices) : "Skin" : 0 = [ 0 : "Shoulder and face wound" 1 : "Clawed chest" 2 : "Stomach wound" 3 : "Just dead" 4 : "Webbed" ] ] @PointClass base(Object) size(-8 -24 0, 8 24 80) model({ "path": ":models/fence.mdl" }) = obj_fence : "Fence" [] @PointClass base(Object) size(-8 -8 0, 8 8 144) model({ "path": ":models/flag.mdl" }) = obj_flag : "Flag" [] @PointClass base(Object) size(-24 -24 0, 24 24 96) model({ "path": ":models/fountain.mdl" }) = obj_fountain : "Fountain" [] @PointClass base(Object) size(-16 -16 0, 16 16 92) model({ "path": ":models/hedge1.mdl" }) = obj_hedge1 : "X-Mas tree" [] @PointClass base(obj_hedge1) size(-16 -32 0, 16 32 92) model({ "path": ":models/hedge2.mdl" }) = obj_hedge2 : "Square, medium hedge" [] @PointClass base(obj_hedge2) size(-24 -24 0, 24 24 124) model({ "path": ":models/hedge3.mdl" }) = obj_hedge3 : "Tall, thin hedge" [] @SolidClass base(Appearflags) = obj_ice : "Ice" [ spawnflags(Flags) = [ 1 : "No transparency" : 0 ] health(integer) : "Health" : 20 friction(integer) : "Friction" : 0 abslight(integer) : "Absolute light value" ] @PointClass base(Object) size(-16 -40 0, 16 40 50) model({ "path": ":models/pew.mdl" }) = obj_pew : "Pew" [] @PointClass base(Object) size(-10 -10 0, 10 10 20) model({ "path": ":models/plantgen.mdl" }) = obj_plant_generic : "Generic plant" [] @PointClass base(Object) size(-10 -10 0, 10 10 40) model({ "path": ":models/plantmez.mdl" }) = obj_plant_meso : "Meso plant" [] @PointClass base(Object) size(-24 -24 0, 24 24 90) model({ "path": ":models/plantrom.mdl" }) = obj_plant_rome : "Roman plant" [] @PointClass base(Object) size(-8 -8 0, 8 8 16) model({ "path": ":models/h_ass.mdl" }) = obj_playerhead_assassin : "Assassin head" [] @PointClass base(obj_playerhead_assassin) model({ "path": ":models/h_cru.mdl" }) = obj_playerhead_crusader : "Crusader head" [] @PointClass base(obj_playerhead_assassin) model({ "path": ":models/h_nec.mdl" }) = obj_playerhead_necromancer : "Necro head" [] @PointClass base(obj_playerhead_assassin) model({ "path": ":models/h_pal.mdl" }) = obj_playerhead_paladin : "Paladin head" [] @PointClass base(Object, Spawn) size(-24 -24 0, 24 24 50) model({ "path": ":models/pot1.mdl" }) = obj_pot1 : "Pot #1" [] @PointClass base(obj_pot1) size(-16 -16 0, 16 16 40) model({ "path": ":models/pot2.mdl" }) = obj_pot2 : "Pot #2" [] @PointClass base(obj_pot2) size(-16 -16 0, 16 16 40) model({ "path": ":models/pot3.mdl" }) = obj_pot3 : "Pot #3" [] @PointClass base(Object) size(-8 -8 0, 8 8 32) model({ "path": ":models/seaweed.mdl" }) = obj_seaweed : "Sea weed" [] @PointClass base(Object) size(-8 -8 0, 8 8 16) model({ "path": ":models/skull.mdl" }) = obj_skull : "Skull" [] @PointClass base(Object) size(-16 -16 0, 16 16 40) model({ "path": ":models/skllstk1.mdl" }) = obj_skullstick : "1 skull, stick" [] @PointClass base(Object) size(-16 -16 0, 16 16 40) model({ "path": ":models/skllstk2.mdl" }) = obj_skull_stick2 : "2 skulls, stick" [] @PointClass base(Object) size(-60 -60 0, 60 60 120) model({ "path": ":models/anglstat.mdl" }) = obj_statue_angel : "Angel" [] @PointClass base(Object) size(-30 -30 0, 30 30 90) model({ "path": ":models/athena.mdl" }) = obj_statue_athena : "Athena" [] @PointClass base(Object) size(-24 -24 0, 24 24 90) model({ "path": ":models/caesar.mdl" }) = obj_statue_caesar : "Caesar" [] @PointClass base(Object) size(-30 -30 0, 30 30 120) model({ "path": ":models/king.mdl" }) = obj_statue_king : "King" [] @PointClass base(Object) size(-56 -14 0, 56 14 60) model({ "path": ":models/lion.mdl" }) = obj_statue_lion : "Lion" [] @PointClass base(Object) size(-30 -30 0, 30 30 80) model({ "path": ":models/mars.mdl" }) = obj_statue_mars : "Mars" [] @PointClass base(Object) size(-16 -16 0, 16 16 160) model({ "path": ":models/mumstatu.mdl" }) = obj_statue_mummy : "Mummy" [] @PointClass base(Object) size(-16 -16 -26, 16 16 160) model({ "path": ":models/muhead.mdl" }) = obj_statue_mummy_head : "Mummy head"[] @PointClass base(Object) size(-30 -30 0, 30 30 100) model({ "path": ":models/neptune.mdl" }) = obj_statue_neptune : "Neptune" [] @PointClass base(Object) size(-40 -40 0, 40 40 130) model({ "path": ":models/olmec1.mdl" }) = obj_statue_olmec : "Olmec" [] @PointClass base(Object) size(-16 -16 0, 16 16 80) model({ "path": ":models/snkstatu.mdl" }) = obj_statue_snake : "Snake" [] @PointClass base(Object) size(-44 -44 0, 44 44 90) model({ "path": ":models/snake.mdl" }) = obj_statue_snake_coil : "Coiling snake" [] @PointClass base(Object) size(-36 -36 0, 36 36 248) model({ "path": ":models/tutstatu.mdl" }) = obj_statue_tut : "Tut" [] @PointClass base(Object) size(-16 -16 -8, 16 16 8) model({ "path": ":models/sword.mdl" }) = obj_sword : "Sword" [] @PointClass base(Object) size(-24 -24 0, 24 24 60) model({ "path": ":models/tombstn1.mdl" }) = obj_tombstone1 : "Cross tombstone" [] @PointClass base(Object) size(-16 -16 0, 16 16 40) model({ "path": ":models/tombstn2.mdl" }) = obj_tombstone2 : "Rounded tombstone" [] @PointClass base(Object) size(-42 -42 0, 42 42 160) model({ "path": ":models/tree.mdl" }) = obj_tree : "Leaveless tree" [] @PointClass base(Object) size(-140 -140 -16, 140 140 220) model({ "path": ":models/tree2.mdl" }) = obj_tree2 : "Normal tree" [] @PointClass base(Object) size(-25 -25 -25, 25 25 25) model({ "path": ":models/webs.mdl" }) = obj_webs : "Spider web" [ spawnflags(Flags) = [ 1 : "Solid" : 0 2 : "Animate" : 0 4 : "Weak" : 0 8 : "Touch & move" : 0 16 : "Flat" : 0 32 : "No transparency" : 0 ] skin(choices) : "Skin" : 0 = [ 0 : "Many little webs" 1 : "Corner web" 2 : "Cobwebs" 3 : "Giant web" 4 : "Big web (15x)" ] v_angle(string) : "Angle of web (x y z)" : "0 0 0" ] // // PoP Objects! // @PointClass base(Object) size(-8 -8 -0, 8 8 8) model({ "path": ":models/bookopen.mdl" }) = obj_book_o_the_dead : "Book (PoP)" [] @PointClass base(Object) size(-32 -32 -128, 32 32 0) model({ "path": ":models/ch-kite.mdl" }) = obj_chinese_kite_lamp : "Kite lamp (PoP)" [] @PointClass base(Object) size(-8 -8 -96, 8 8 0) model({ "path": ":models/ch-hang.mdl" }) = obj_chinese_sign : "Sign (PoP)" [] //size(-8 -72 -96, 8 72 0) @PointClass base(Object) size(-0 -48 -0, 96 48 120) model({ "path": ":models/demstat.mdl" }) = obj_demon_statue : "Demon statue (PoP)" [] @PointClass base(Object) size(-20 -20 -0, 20 20 80) model({ "path": ":models/samurai.mdl" }) = obj_samurai : "Samurai statue (PoP)" [] @PointClass base(Object) size(-16 -16 -0, 16 16 72) model({ "path": ":models/shiva.mdl" }) = obj_shiva : "Shiva (PoP)" [] @PointClass base(Object) size(-12 -12 -0, 12 12 12) model({ "path": ":models/skeleton.mdl" }) = obj_skeleton : "Skeleton (PoP)" [] //size(-40 -12 -0, 40 12 12) @PointClass base(Object) size(-32 -32 -0, 32 32 120) model({ "path": ":models/sk-throne.mdl" }) = obj_skeleton_throne : "Skeleton on throne (PoP)" [] @PointClass base(Object) size(-40 -56 -0, 40 56 64) = obj_snow_corner : "Snow corner (PoP)" [] @PointClass base(Object) size(-24 -32 -0, 24 32 16) model({ "path": ":models/snowpile.mdl" }) = obj_snow_pile : "Snow pile (PoP)" [] @PointClass base(Object) size(-0 -80 -0, 40 80 40) model({ "path": ":models/snowwall.mdl" }) = obj_snow_wall : "Snow wall (PoP)" [] @PointClass base(Object) size(-32 -32 -16, 32 32 32) model({ "path": ":models/stlgmt1.mdl" }) = obj_stalagmite1 : "Stalagmite1 (PoP)" [] @PointClass base(Object) size(-40 -40 -24, 40 40 24) model({ "path": ":models/stlgmt2.mdl" }) = obj_stalagmite2 : "Stalagmite2 (PoP)" [] @PointClass base(Object) size(-16 -16 -0, 16 16 64) model({ "path": ":models/draglion.mdl" }) = obj_statue_dragon_lion : "Dragon statue (PoP)" [] //size(-40 -16 -0, 40 16 64) @PointClass base(Object) size(-8 -8 -64, 8 8 64) = obj_talking_door : "Talking door (PoP)" [] // // Entities! // @PointClass base(Appearflags, Targetname) size(-8 -8 -8, 8 8 8) = path_corner : "Monster and train path" [ spawnflags(Flags) = [ 1 : "Synch" : 0 ] target(target_destination) : "Next path_corner" angles(string) : "Angles (x y z)" wait(integer) : "Wait (-1 stops, -2 destroys)" : 0 speed(integer) : "Speed" anglespeed(integer) : "Rotation speed" ] @PointClass base(Monster) size(-8 -8 0, 8 8 32) model({ "path": ":models/sheep.mdl" }) = player_sheep : "Sheep" [ spawnflags(Flags) = [ 1 : "No not move" : 0 ] ] @SolidClass base(Appearflags, Targetname) = plaque : "Readable plaque" [ spawnflags(Flags) = [ 1 : "Invisible" : 0 2 : "Deactivated" : 0 4 : "No LoS (PoP)" : 0 8 : "Not solid (PoP)" : 0 ] message(integer) : "String index #" //noise1(string) : "Noise (dir/sound.wav)" ] @PointClass base(Appearflags, Targetname, Target) size(-8 -8 -38, 8 8 24) model({ "path": ":models/puzzle/air.mdl" }) = puzzle_piece : "Puzzle piece" [ spawnflags(Flags) = [ 1 : "Spawn" : 0 2 : "Floating" : 0 4 : "Auto get" : 0 ] puzzle_id(string) : "Puzzle id" //Model name also works (without path or .mdl) message(string) : "Message" netname(string) : "Puzzle piece name" //Name of piece, displayed when picked up style(integer) : "Light Style" ] @PointClass base(Appearflags, Targetname) size(-8 -8 -8, 8 8 8) = puzzle_static_piece : "Static puzzle piece" [ puzzle_id(string) : "Puzzle id" //Model name also works (without path or .mdl) lifespan(integer) : "Lifespan" ] // // Rider Stuff! // @PointClass base(Appearflags, Targetname) size(-55 -55 -24, 55 55 100) model({ "path": ":models/boss/dthrider.mdl" }) = rider_death : "Death!" [ spawnflags(Flags) = [ 1 : "Trigger wait" : 0 ] target(string) : "Start spot on next map" map(string) : "Next map after killing" ] @PointClass base(rider_death) model({ "path": ":models/boss/famrider.mdl" }) = rider_famine : "Famine!" [] @PointClass base(rider_death) model({ "path": ":models/boss/pstrider.mdl" }) = rider_pestilence : "Pestilence!" [] @PointClass base(rider_death) model({ "path": ":models/boss/warrider.mdl" }) size(-50 -50 -24, 50 50 100) = rider_war : "War!" [] @PointClass base(Appearflags, Targetname) = rider_path : "Rider path" [ path_id(string) : "Path id" next_path_1(string) : "Next path 1" next_path_2(string) : "Next path 2" next_path_3(string) : "Next path 3" next_path_4(string) : "Next path 4" next_path_5(string) : "Next path 5" next_path_6(string) : "Next path 6" ] @SolidClass base(Appearflags, Targetname) = rider_quake : "Rider quake" [ model(string) : "Model" rt_chance(integer) : "Chance of triggering (0-1)" abslight(integer) : "Absolute light value" ] @PointClass base(Appearflags, Targetname) = rider_quake_center : "Rider quake center" [ rt_chance(integer) : "Chance of triggering (0-1)" ] @SolidClass base(Appearflags, Targetname, Target) = rider_trigger_multiple : "Rider trigger multiple" [ rt_chance(integer) : "Chance of triggering (0-1)" : 1 ] @SolidClass base(rider_trigger_multiple) = rider_trigger_once : "Rider trigger once" [ model(string) : "Model" ] // // Rings! // @PointClass base(Item) model({ "path": ":models/ringft.mdl" }) size(-8 -8 -44, 8 8 20) = Ring_Flight : "Ring o' flight" [] @PointClass base(Ring_Flight) model({ "path": ":models/ringre.mdl" }) = Ring_Regeneration : "Ring o' regeneration" [] @PointClass base(Ring_Flight) model({ "path": ":models/ringtn.mdl" }) = Ring_Turning : "Ring o' turning" [] @PointClass base(Ring_Flight) model({ "path": ":models/ringwb.mdl" }) = Ring_WaterBreathing : "Ring o' water breathing" [] // // Entities! // @PointClass base(Appearflags) = sound_ambient : "Ambient sound" [ soundtype(choices) : "Sound" : 4 = //9-15 Do not work properly [ 1 : "Windmill" 2 : "Sewer water sound" 3 : "Dripping water, no echo" 4 : "Subtle sky/wind" 5 : "Crickets / night sounds" 6 : "Birds" 7 : "Raven caw" 8 : "Rocks falling" 9 : "Lava bubble" 10 : "Water gurgle" 11 : "Metal" 12 : "Pounding" 13 : "Moans and screams" 14 : "Creaking" 15 : "Chain rattling" ] ] @PointClass base(Appearflags, Targetname) size(-10 -10 -8, 10 10 8) = sound_maker : "Triggerable sound" [ soundtype(choices) : "Sound" : 1 = [ 1 : "Bell ringing" 2 : "Organ music" 3 : "Tomb sound" ] delay(integer) : "Delay" ] @PointClass base(Appearflags, Targetname) size(-8 -8 -8, 8 8 8) = target_null : "Null target" [] @PointClass base(Appearflags, Targetname) size(-8 -8 -8, 8 8 8) = teleport_buddha : "Praevus teleport (PoP)" [ cnt(integer) : "Cnt" : 0 ] // // Traps! // @PointClass base(Appearflags, Targetname, Target) size(-4 -4 -4, 4 4 4) = trap_fireball : "Triggerable fireball" [ spawnflags(Flags) = [ 1 : "Once per trigger" : 0 //(aka trigger only) ] wait(integer) : "Time between firings" : 1 dmg(integer) : "Damage" : 10 ] @PointClass base(Appearflags, Targetname, Target) size(-4 -4 -4, 4 4 4) = trap_lightning : "Lightning" [ spawnflags(Flags) = [ 1 : "Track" : 0 //Tracks player 2 : "Once" : 0 //Fires only once ] noise(choices) : "Sounds" : 2 = [ 1 : "No sound" 2 : "Lightning" ] wait(integer) : "Time between shots" : 1 dmg(integer) : "Damage" //aflag(integer) : "Radius limit" //Crashes to console when used ] @PointClass base(Appearflags, Targetname, Angles) size(-8 -8 -8, 8 8 8) = trap_shooter : "Shooter" [ //spawnflags(Flags) = //These do not work, same for the spikeshooter below //[ // 1 : "Super spike" : 0 // 2 : "Laser" : 0 //] wait(integer) : "Time between shots" : 1 nextthink(integer) : "Delay before start" ] @PointClass base(Appearflags, Targetname, Angles) size(-8 -8 -8, 8 8 8) = trap_spikeshooter : "Shooter" [ //spawnflags(Flags) = //[ // 1 : "Super spike" : 0 // 2 : "Laser" : 0 //] wait(integer) : "Time between shots" : 1 nextthink(integer) : "Delay before start" ] @PointClass base(Appearflags, Targetname) size(-8 -8 -8, 8 8 8) = trap_spikeshooter_spray : "Shooter" [ wait(integer) : "Time between shots" : 1 nextthink(integer) : "Delay before start" ] // // Triggers! // @BaseClass base(Appearflags, Targetname, Target) = Trigger [ killtarget(target_destination) : "KillTarget" netname(string) : "Netname" aflag(integer) : "Order" wait(integer) : "Wait" : 2 health(integer) : "Health" delay(integer) : "Delay before trigger" message(string) : "Message" style(integer) : "Light Style" ] @baseclass = Puzzles [ spawnflags(Flags) = [ 16 : "Remove puzzle" : 0 32 : "No puzzle" : 0 ] puzzle_piece_1(string) : "Puzzle Piece 1" puzzle_piece_2(string) : "Puzzle Piece 2" puzzle_piece_3(string) : "Puzzle Piece 3" puzzle_piece_4(string) : "Puzzle Piece 4" no_puzzle_msg(string) : "No puzzle message" ] @baseclass = Triggerflags [ spawnflags(Flags) = [ 1 : "No touch" : 0 2 : "Monster touch" : 0 4 : "Push touch" : 0 8 : "Deactivated" : 0 64 : "light toggle" : 0 128 : "light start low" : 0 ] ] @SolidClass base(Trigger, Puzzles) = trigger_activate : "Activate" [ spawnflags(Flags) = [ 1 : "Once" : 0 2 : "Relay" : 0 8 : "Deactivated" : 0 ] soundtype(choices) : "Sound" : 2 = [ 0 : "No sound" 1 : "Secret" 2 : "Bell" 3 : "Metal" ] ] @SolidClass base(Trigger) = trigger_attack : "Trigger on weapon fire" [] @SolidClass base(Trigger) = trigger_changelevel : "Changes level" [ spawnflags(Flags) = [ 1 : "No intermission" : 0 //2 : "End of unit" : 0 //4 : "End of episode" : 0 ] map(string) : "Map name" ] @SolidClass base(Appearflags, Targetname, Target) = trigger_check : "Check" //Not triggered by players [ killtarget(target_destination) : "KillTarget" netname(string) : "Netname" aflag(integer) : "Order" health(integer) : "Health" delay(integer) : "Delay before trigger" message(string) : "Message" style(integer) : "Light Style" failtarget(target_destination) : "Fail target (PoP)" wait(integer) : "Wait (PoP)" ] @SolidClass base(Trigger) = trigger_combination_assign : "Combination assign" [ mangle(string) : "Mangle (x y z)" ] @SolidClass base(Appearflags, Targetname, Target) = trigger_control : "Ballista control" [] @SolidClass base(Trigger) = trigger_counter : "Counter" [ spawnflags(Flags) = [ 1 : "No message" : 0 2 : "Ordered" : 0 4 : "Always return" : 0 8 : "Deactivated" : 0 ] msg2(integer) : "Count fail message" puzzle_id(target_destination) : "Count fail target" count(integer) : "Number of triggers - 1" mangle(string) : "Mangle (x1 x2 x3)" ] @SolidClass base(Trigger) = trigger_counter_reset : "Counter reset" [ spawnflags(Flags) = [ 1 : "No touch" : 0 2 : "Monster touch" : 0 4 : "Push touch" : 0 8 : "Deactivated" : 0 16 : "Remove puzzle" : 0 32 : "No puzzle" : 0 64 : "Light toggle" : 0 128 : "Light start low" : 0 ] ] @SolidClass base(Trigger) = trigger_crosslevel : "Cross level trigger" [ spawnflags(Flags) = [ 1 : "Trigger 1" : 0 2 : "Trigger 2" : 0 4 : "Trigger 3" : 0 8 : "Trigger 4" : 0 16 : "Trigger 5" : 0 32 : "Trigger 6" : 0 64 : "Trigger 7" : 0 128 : "Trigger 8" : 0 ] map(string) : "Map" ] @SolidClass base(trigger_crosslevel) = trigger_crosslevel_target : "Crosslevel trigger target" [] @SolidClass base(trigger_activate) = trigger_deactivate : "Deactivate" [] @SolidClass base(Appearflags, Targetname, Target) = trigger_deathtouch : "Removes whatever it touches (PoP)" [ spawnflags(Flags) = [ 1 : "No touch" : 0 2 : "Any player" : 0 4 : "Gib" : 0 8 : "Deactivated" : 0 ] th_die(integer) : "Death type" ] @PointClass base(Appearflags, Targetname, Target) = trigger_hub_intermission : "Trigger hub intermission (PoP)" [ map(string) : "Map" ] @SolidClass base(Appearflags, Targetname) = trigger_hurt : "Hurt brush" [ spawnflags(Flags) = [ 1 : "Player only (PoP)" : 0 2 : "Monster only (PoP)" : 0 8 : "Deactivated (PoP)" : 0 ] dmg(integer) : "Damage" : 5 level(integer) : "Minimum health (PoP)" wait(integer) : "Delay between damage(PoP)" : 1 ] @PointClass base(Appearflags, Targetname, Target) size(-8 -8 -8, 8 8 8) = trigger_interval : "Interval trigger" [ spawnflags(Flags) = [ 8 : "Deactivated" : 0 ] killtarget(target_destination) : "KillTarget" netname(string) : "Netname" delay(integer) : "Delay before trigger" wait(integer) : "Wait" ] @SolidClass base(Appearflags, Targetname, Target) = trigger_message_transfer : "Message transferer" [ message(string) : "Message (required)" : "139" ] @SolidClass base(Appearflags, Targetname) = trigger_monsterjump : "Monster jumper" [ spawnflags(Flags) = [ 1 : "Deactivated (PoP)" : 0 ] speed(integer) : "Speed forward" : 200 height(integer) : "Speed upwards" : 200 wait(integer) : "Wait" : 0 ] @SolidClass base(Trigger, Triggerflags, Puzzles) = trigger_multiple : "Multiple trigger" [ soundtype(choices) : "Sounds" : 0 = [ 0 : "No sound" 1 : "Secret" 2 : "Bell" 3 : "Large switch" ] ] @SolidClass base(Appearflags) = trigger_no_friction : "Removes friction" [ style(integer) : "Light toggle style (33 - 63)" lightvalue1(integer) : "Low light value" : 0 lightvalue2(integer) : "High light value" : 11 fadespeed(integer) : "Fade speed (0.5)" : 0 ] @PointClass base(Appearflags, Targetname, Target) = trigger_objective : "Trigger objective (PoP)" [ spawnflags(Flags) = [ 1 : "Force on" : 0 2 : "Force off" : 0 ] frags(integer) : "Objective (0-63)" ] @SolidClass base(trigger_multiple) = trigger_once : "Single trigger" [] @SolidClass base(Appearflags, Targetname) = trigger_push : "Push" [ spawnflags(Flags) = [ 1 : "Push once" : 0 ] speed(integer) : "Speed of push" angles(string) : "Angle of push (X Y Z)" ] @PointClass base(Appearflags, Targetname, Target) = trigger_quake : "Quake" [ spawnflags(Flags) = [ 1 : "Do damage" : 0 2 : "Multiple" : 0 //8 : "Deactivated" : 0 //Quake doesn't appear to function properly after activating ] killtarget(target_destination) : "KillTarget" message(string) : "Message" items(integer) : "Radius of quake" dmg(integer) : "Damage" : 5 lifespan(integer) : "Duration" : 2 wait(integer) : "Delay before quake" : 1 ] @PointClass base(Appearflags, Targetname, Target) size(-8 -8 -8, 8 8 8) = trigger_relay : "Relay" [ killtarget(target_destination) : "KillTarget" netname(string) : "Netname" wait(integer) : "Wait" delay(integer) : "Delay before trigger" message(string) : "Message" fadespeed(integer) : "Fade speed" style(integer) : "Light Style" ] @SolidClass base(Appearflags, Targetname) = trigger_setskill : "Set skill level (PoP)" [ noise(choices) : "Skill level" : 1 = [ 0 : "Easy" 1 : "Medium" 2 : "Hard" 3 : "Nightmare!" ] ] @SolidClass base(Appearflags, Targetname, Target) = trigger_stop : "Trigger stop (PoP)" [ spawnflags(Flags) = [ 1 : "No touch" : 0 ] //wait(integer) : "Wait" //Crashes to console when used ] @SolidClass base(Appearflags, Targetname, Target) = trigger_teleport : "Trigger teleport" [ spawnflags(flags) = [ 1 : "Player only" : 0 2 : "Silent" : 0 4 : "Deactivated" : 0 ] ] // // Weather! // @SolidClass base(Appearflags) = weather_dust : "Dusty area" [ color(integer) : "Color" : 101 ] @PointClass base(Appearflags, Targetname) = weather_lightning_end : "End of lightning bolt" [] @PointClass base(Appearflags, Targetname, Target) = weather_lightning_start : "Beginning of lighting" [ spawnflags(Flags) = [ 1 : "Start off" : 0 2 : "Thunder sound" : 0 ] noise(choices) : "Sounds" : 2 = [ 1 : "No sound" 2 : "Lightning" ] wait(choices) : "Time between strikes" : -1 = [ -1 : "Once per trigger" ] lifespan(integer) : "Duration" dmg(integer) : "Damage" ] @SolidClass base(Appearflags) = weather_rain : "Rain area" [ spawnflags(Flags) = [ 1 : "Fall straight" : 0 2 : "No splat" : 0 ] color(integer) : "Base color" : 414 counter(integer) : "Density" : 300 wait(integer) : "Frequency (0.1)" : 0 soundtype(choices) : "Sounds" : 1 = [ 0 : "Rain" 1 : "Drip" ] ] @SolidClass base(Appearflags) = weather_snow : "Snow (PoP)" [ spawnflags(Flags) = [ 1 : "Fluffy" : 0 2 : "Mixed" : 0 4 : "Half bright" : 0 8 : "No melt" : 0 16 : "In bounds" : 0 32 : "No translucent" : 0 ] counter(integer) : "Density" : 100 speed(integer) : "Falling speed" : 200 anglespeed(integer) : "Lateral movement" : 125 movedir(string) : "Blow direction (# # #)" ] @PointClass base(Appearflags, Targetname) size(-8 -8 -8, 8 8 8) = weather_sunbeam_end : "End of sunbeam" [] @PointClass base(Appearflags, Targetname, Target) = weather_sunbeam_start : "Start of sunbeam" [ spawnflags(Flags) = [ 1 : "Start off" : 0 ] noise(choices) : "Sounds" : 2 = [ 1 : "No sound" 2 : "Buzzing" ] wait(choices) : "Time between strikes" : -1 = [ -1 : "Once per trigger" ] lifespan(integer) : "Duration" dmg(integer) : "Damage" ] // // Weapons! // @PointClass base(Appearflags, Targetname, Target) size(-4 -8 -20, 4 8 20) model({ "path": ":models/w_l2_c1.mdl" }) = wp_weapon2 : "Weapon 2" [ spawnflags(Flags) = [ 1 : "Floating" : 0 ] message(string) : "Message" style(integer) : "Light Style" ] @PointClass base(wp_weapon2) size(-4 -8 -13, 4 8 13) model({ "path": ":models/w_l3_c1.mdl" }) = wp_weapon3 : "Weapon 3" [] @PointClass base(wp_weapon2) size(-4 -8 -13, 4 8 13) model({ "path": ":models/w_l41_c1.mdl" }) = wp_weapon4_head : "Weapon 4 head" [] @PointClass base(wp_weapon2) size(-2 -20 -37, 2 20 37) model({ "path": ":models/w_l42_c1.mdl" }) = wp_weapon4_staff : "Weapon 4 staff" []