//
// Quoth game definition file (.fgd)
// for Worldcraft 1.6 and above
//
// Quoth additions by Preach(andrew.denner@btinternet.com)
// From the base quake.fgd from CZG
//
// worldspawn
//
@SolidClass = worldspawn : "World entity"
[
message(string) : "Text on entering the world"
worldtype(choices) : "Ambience" : 0 =
[
0 : "Medieval"
1 : "Runic (metal)"
2 : "Present (base)"
3 : "Elder"
]
sounds(integer) : "CD track to play" : 1
light(integer) : "Ambient light"
_sunlight(integer) : "Sunlight"
_sun_mangle(string) : "Sun mangle (Yaw pitch roll)"
gravity(integer) : "Set gravity for this level (default 800)"
keep_keys(choices) : "Player retains keys between levels" : 0 =
[
0 : "Keys are lost, as usual"
1 : "Send keys to next map, don't get keys from previous map"
2 : "Get keys from previous map, don't send over to next map "
3 : "Send and get keys"
]
lose_items(choices) : "Player's inventory" : 0 =
[
0 : "Player keeps weapons, ammo and health"
1 : "Player is reset to shotgun, 25 shells, 100 health"
]
aflag(integer) : "Enable optimisations(see tutorial for details)"
sky(string) : "Set a skybox"
corpse_time(choices) : "Corpse removal delay" : 0 =
[
-1 : "Corpses stay"
]
noise1(string) : "Triggered ambient 1"
noise2(string) : "Triggered ambient 2"
noise3(string) : "Triggered ambient 3"
noise4(string) : "Triggered ambient 4"
]
//
// base marker definitions
//
@BaseClass = Appearflags [
spawnflags(Flags) =
[
256 : "Not in Easy" : 0
512 : "Not in Normal" : 0
1024 : "Not in Hard" : 0
2048 : "Not in Deathmatch" : 0
]
quothflags(choices) : "Coopflags" : 0 =
[
0 : "(no coop flags)"
4096 : "Not in coop"
8192 : "Only in coop"
]
]
@BaseClass = Targetname [ targetname(target_source) : "Name" ]
@BaseClass = Target [
target(target_destination) : "Target"
killtarget(target_destination) : "Killtarget"
message(string) : "Message on trigger"
delay(string) : "Delay before trigger"
]
@BaseClass base(Targetname, Target) = AllTargets [
targetname2(target_destination) : "2nd Name"
targetname3(target_destination) : "3rd Name"
targetname4(target_destination) : "4th Name"
target2(target_destination) : "2nd Target"
target3(target_destination) : "3rd Target"
target4(target_destination) : "4th Target"
killtarget2(target_destination) : "Extra Killtarget"
]
//
// player starts, deathmatch, coop, teleport
//
@BaseClass base(Appearflags) size(-16 -16 -24, 16 16 32)
color(0 255 0) = PlayerClass []
@PointClass base(PlayerClass) = info_player_start : "Player 1 start" []
@PointClass base(PlayerClass) = info_player_coop : "Player cooperative start" []
@PointClass base(PlayerClass) = info_player_start2 : "Player episode return point" []
@PointClass base(PlayerClass) = info_player_deathmatch : "DM start" []
@PointClass size(-32 -32 0, 32 32 64) base(PlayerClass, Targetname) = info_teleport_destination : "Teleport destination" []
@PointClass = info_null : "info_null (spotlight target)"
[
targetname(target_source) : "Name"
]
//info_notnull is not defined, to allow both Brush and Point entities to be created without issue
@PointClass base(Appearflags, Target, Targetname) = info_logic_insolid : "Test point is in solid" []
@PointClass base(Appearflags, Target, Targetname) = info_logic_inopen : "Test point is in open" []
@PointClass base(Appearflags, AllTargets) = info_logic_random : "Trigger targets at random" [
chance(string) : "Activation probability"
spawnflags(Flags) =
[
1 : "Branch" : 0
]
]
@PointClass base(Appearflags, Target) = info_gug_seismometer: "Detect earthquakes from gugs"
[
health(string): "Threshold of damage to trigger"
]
@PointClass base(Appearflags) = info_intermission : "Intermission camera"
[
mangle(string) : "Mangle (Pitch Yaw Roll)"
message(string) : "Finale Text"
]
@BaseClass = Deathtype [
deathtype(string) : "Obituary message"
]
//
// items
//
@BaseClass base(Target, Targetname) = Item
[
ritem(choices) : "Respawning" : 0 =
[
0 : "Respawning off"
1 : "Respawning on"
]
respawndelay(integer) : "Respawn delay"
respawncount(integer) : "Respawn count"
]
@BaseClass size(0 0 0, 32 32 32) color(80 0 200) base(Item, Appearflags) = Ammo
[
spawnflags(flags) =
[
1 : "Large box" : 0
]
]
@PointClass base(Ammo) = item_cells : "Cell box" []
@PointClass size(0 0 0, 32 16 32) base(Ammo) = item_rockets : "Rocket box" []
@PointClass base(Ammo) = item_shells : "Shell box" []
@PointClass base(Ammo) = item_spikes : "Nail box" []
@PointClass size(0 0 0, 32 32 16) base(Appearflags) = item_health : "Health pak"
[
spawnflags(flags) =
[
1 : "Rotten" : 0
2 : "Megahealth" : 0
]
]
@PointClass base(Item, Appearflags) =
item_artifact_envirosuit : "Envirosuit" []
@PointClass base(Item, Appearflags) =
item_artifact_super_damage : "Quad Damage" []
@PointClass base(Item, Appearflags) =
item_artifact_invulnerability : "Pentagram of Protection" []
@PointClass base(Item, Appearflags) =
item_artifact_invisibility : "Ring of Shadows" []
@PointClass base(Item, Appearflags) =
item_artifact_cross : "Cross of Deflection" []
@PointClass base(Item, Appearflags) =
item_artifact_trinity : "Trinity" []
@PointClass size(-16 -16 0, 16 16 56) base(Item, Appearflags) =
item_armorInv : "200% armor (Red)" []
@PointClass size(-16 -16 0, 16 16 56) base(Item, Appearflags) =
item_armor2 : "150% armor (Yellow)" []
@PointClass size(-16 -16 0, 16 16 56) base(Item, Appearflags) =
item_armor1 : "100% armor (Green)" []
@PointClass size(-16 -16 -24, 16 16 32) base(Item, Appearflags) =
item_key1 : "Silver key" []
@PointClass size(-16 -16 -24, 16 16 32) base(Item, Appearflags) =
item_key2 : "Gold key" []
@PointClass size(-16 -16 -24, 16 16 32) base(Item, Appearflags) =
item_sigil : "Sigil"
[
spawnflags(Flags) =
[
1 : "Episode 1" : 1
2 : "Episode 2" : 0
4 : "Episode 3" : 0
8 : "Episode 4" : 0
]
]
@PointClass base(Item, Appearflags) =
item_flashlight : "Flashlight" []
//
// weaponses
//
@BaseClass size(-16 -16 0, 16 16 32) color(0 0 200) base(Item, Appearflags) = Weapon []
@PointClass base(Weapon) = weapon_supershotgun : "Super shotgun" []
@PointClass base(Weapon) = weapon_nailgun : "Nailgun" []
@PointClass base(Weapon) = weapon_supernailgun : "Perforator" []
@PointClass base(Weapon) = weapon_grenadelauncher : "Grenade launcher" []
@PointClass base(Weapon) = weapon_rocketlauncher : "Rocket launcher" []
@PointClass base(Weapon) = weapon_lightning : "Thunderbolt" []
@PointClass base(Weapon) = weapon_hammer : "Warhammer" []
@PointClass base(Weapon) = weapon_plasmagun : "Plasma Gun" []
@PointClass base(Weapon) = weapon_bomb : "The Bomb" []
//
// badasses
//
@BaseClass base(Appearflags, Target, Targetname) color(220 0 0) = Monster
[
spawnflags(Flags) =
[
1 : "Ambush" : 0
32 : "Teleport Silently" : 0
64 : "Teleport Spawn" : 0
128 : "Alert When Teleported" : 0
]
spawndelay(choices) : "Spawn Delay" : 0 =
[
-1 : "Short random delay"
]
corpse_time(choices) : "Corpse removal delay" : 0 =
[
-1 : "Corpses stay"
]
]
@PointClass base(Monster) size(-16 -16 -24, 16 16 40) = monster_army : "Grunt" []
@PointClass base(Monster) size(-32 -32 -24, 32 32 40) = monster_dog : "Nasty Doggie" []
@PointClass base(Monster) size(-32 -32 -24, 32 32 64) = monster_ogre : "Ogre" []
@PointClass base(Monster) size(-32 -32 -24, 32 32 64) = monster_ogre_marksman : "Ogre marksman" []
@PointClass base(Monster) size(-16 -16 -24, 16 16 40) = monster_knight : "Knight" []
@PointClass base(Monster) size(-16 -16 -24, 16 16 40) = monster_wizard : "Scrag" []
@PointClass base(Monster) size(-32 -32 -24, 32 32 64) = monster_demon1 : "Fiend" []
@PointClass base(Monster) size(-32 -32 -24, 32 32 64) = monster_shambler : "Shambler" []
@PointClass base(Monster) size(-128 -128 -24, 128 128 256) = monster_boss : "Chthon" []
@PointClass base(Monster) size(-16 -16 -24, 16 16 40) = monster_enforcer : "Enforcer" []
@PointClass base(Monster) size(-32 -32 -24, 32 32 48) = monster_shalrath : "Shalrath" []
@PointClass base(Monster) size(32 32 48) = monster_tarbaby : "Tarbaby" []
@PointClass base(Monster) size(32 32 48) = monster_fish : "Rotfish" []
@PointClass base(Monster) size(-16 -16 -24, 16 16 32) = monster_oldone : "Shub-Niggurath" []
@PointClass base(Monster) size(-16 -16 -24, 16 16 32) = monster_zombie : "Zombie"
[
spawnflags(Flags) =
[
1 : "Crucified" : 0
2 : "Ambush" : 0
]
]
//quoth monsters
@PointClass base(Monster) size(-16 -16 -24, 16 16 40) = monster_bob : "Bob" []
@PointClass base(Monster) size(-16 -16 -24, 16 16 40) = monster_army_rocket : "Rocketeer" []
@PointClass base(Monster) size(-16 -16 -24, 16 16 40) = monster_defender: "Defender" []
@PointClass base(Monster) size(-16 -16 -24, 16 16 40) = monster_pyro: "Pyro" []
@PointClass base(Monster) size(-16 -16 -24, 16 16 40) = monster_eliminator: "Eliminator" []
@PointClass base(Monster) size(-32 -32 -24, 32 32 64) = monster_scourge: "Centroid" []
@PointClass base(Monster) size(-16 -16 -24, 16 16 40) = monster_sentinel: "Sentinel"
[
spawnflags(Flags) =
[
4 : "Nail sentinel" : 0
]
]
@PointClass base(Monster) size(-32 -32 -24, 32 32 64) = monster_edie: "Edie" []
@PointClass base(Monster) size(-32 -32 -24, 32 32 64) = monster_ogre_flak: "Flak Ogre" []
@PointClass base(Monster) size(-16 -16 -24, 16 16 32) = monster_voreling: "Voreling"
[
dangle(choices) : "Dangling" : 0 =
[
0 : "On floor"
1 : "On ceiling"
]
]
@PointClass base(Monster) size(-16 -16 -24, 16 16 40) = monster_polyp: "Polyp"
[
startonground(choices) : "Starting pose" : 0 =
[
0 : "Flying"
1 : "On ground"
]
]
@PointClass base(Monster) size(-16 -16 -24, 16 16 40) = monster_death_knight : "Death knight" []
@PointClass base(Monster) size(-16 -16 -24, 16 16 40) = monster_death_guard : "Death guard" []
@PointClass base(Monster) size(-16 -16 -24, 16 16 40) = monster_death_lord : "Death lord" []
@PointClass base(Monster) size(-32 -32 -24, 32 32 64) = monster_gaunt : "Gaunt"
[
perch(choices) : "Starting pose" : 0 =
[
0 : "Flying"
1 : "On ground"
]
]
@PointClass base(Monster) size(-32 -32 -24, 32 32 64) = monster_drole: "Drole" []
@PointClass base(Monster) size(-32 -32 -24, 32 32 64) = monster_gug: "Gug" []
@PointClass base(Monster) size(-64 -64 -448, 64 64 256) = monster_vermis: "Vermis"
[
coiled(choices) : "Starting pose" : 0 =
[
0 : "Full height"
1 : "Coiled up"
]
skin(choices) : "Skin effect" : 0 =
[
0 : "Regular"
1 : "Fades to black at tail"
2 : "Slime glow at tail"
3 : "Lava glow at tail"
]
]
//
// lights
//
@BaseClass color(255 255 40) = Static [
spawnflags(Flags) =
[
1 : "Force Static" : 0
2 : "Force Dynamic" : 0
]
]
@BaseClass color(255 255 40) = Grill [
spawnflags(Flags) =
[
1 : "Force Static" : 0
2 : "Solid Blocking" : 0
]
]
@BaseClass color(255 255 40) = Light [
light(integer) : "Brightness" : 300
wait(integer) : "Fade distance multiplier" : 1
delay(choices) : "Attenuation" =
[
0 : "Linear falloff (Default)"
1 : "Inverse distance falloff"
2 : "Inverse distance squared"
3 : "No falloff"
]
mangle(string) : "Spotlight angle"
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"
]
]
@PointClass size(-8 -8 -8, 8 8 8) base(Light, Target, Targetname) =
light : "Invisible lightsource"
[
spawnflags(Flags) = [ 1 : "Initially dark" : 0 ]
]
@PointClass size(-8 -8 -8, 8 8 8) base(Light, Target, Targetname) =
light_fluoro : "Fluorescent light"
[
spawnflags(Flags) = [ 1 : "Initially dark" : 0 ]
]
@PointClass size(-8 -8 -8, 8 8 8) base(Light, Target) =
light_fluorospark : "Sparking fluorescent light"
[
]
@PointClass size(-8 -8 -12, 8 8 20) base(Light, Target, Targetname, Static) =
light_flame_large_yellow : "Large yellow flame" []
@PointClass size(-4 -4 -12, 4 4 20) base(Light, Target, Targetname, Static) =
light_flame_small_yellow : "Small yellow flame"
[]
@PointClass size(-4 -4 -12, 4 4 20) base(Light, Target, Targetname, Static) =
light_flame_small_white : "Small white flame"
[
spawnflags(Flags) = [ 1 : "Initially dark" : 0 ]
]
@PointClass size(-4 -4 -12, 4 4 20) base(Light, Target, Targetname, Static) =
light_torch_small_walltorch : "Small walltorch" []
// quoth lights
@PointClass size(-8 -8 -8, 8 8 8) base(Light, Target, Targetname, Static) =
light_postlight : "Post light"
[
spawnflags(Flags) = [ 1 : "Initially dark" : 0 ]
color(choices) : "Colour of light object" : 0 =
[
0 : "Yellow-white"
1 : "Blue-white"
2 : "Red"
]
]
@PointClass size(-8 -8 -8, 8 8 8) base(Light, Target, Targetname, Static) =
light_tubelight : "Tube light"
[
spawnflags(Flags) = [ 1 : "Initially dark" : 0 ]
color(choices) : "Colour of light object" : 0 =
[
0 : "Yellow-white"
1 : "Blue-white"
2 : "Red"
]
]
@PointClass size(-8 -8 -8, 8 8 8) base(Light, Target, Targetname, Static) =
light_globe : "Globe light"
[
color(choices) : "Colour of globe" : 0 =
[
0 : "Gold"
1 : "Red"
2 : "Green"
3 : "Blue"
4 : "White"
5 : "Evile"
6 : "Evile zombie"
]
]
@PointClass size(-8 -8 -8, 8 8 8) base(Light, Target, Targetname) =
light_marsh : "Marsh lights"
[
color(choices) : "Colour of globe" : 0 =
[
0 : "white ( default )"
1 : "bluish white"
2 : "blue"
3 : "green"
4 : "orange"
5 : "red"
6 : "purple"
]
]
@PointClass size(-8 -8 -48, 8 8 80) base(Light, Target, Targetname, Static) =
light_torch_long_walltorch : "Long wall torch" []
@PointClass size(-8 -8 -16, 8 8 8) base(Light, Target, Targetname, Static) =
light_flame_brazier_short : "Short brazier"
[
skin(choices) : "Texture" : 0 =
[
0 : "knave ( default ) "
1 : "rust "
2 : "redbrick "
3 : "copper "
4 : "altar "
5 : "wizmet"
]
]
@PointClass size(-8 -8 -64, 8 8 8) base(Light, Target, Targetname, Static) =
light_flame_brazier_tall : "Tall brazier"
[
skin(choices) : "Texture" : 0 =
[
0 : "knave ( default ) "
1 : "rust "
2 : "redbrick "
3 : "copper "
4 : "altar "
5 : "wizmet"
]
]
@PointClass size(-8 -8 -8, 8 8 8) base(Static, Appearflags) = mapobject_custom: "Custom mapobject"
[
model(string) : "Model"
frame(integer) : "Frame"
skin(string) : "Skin"
mangle(string) : "Angles(overrides angle above)"
]
@PointClass size(-8 -8 -8, 8 8 8) base(Static, Targetname, Appearflags) = mapobject_waterfall: "Waterfall mapobject"
[
skin(choices) : "Skin": 0 =
[
0 : "Clean water"
1 : "Dirty water"
2 : "Blood"
3 : "Slime"
4 : "Lava"
]
frame(integer) : "Initial frame"
mangle(string) : "Angles(overrides angle above)"
sounds(choices) : "Sound effects": 0 =
[
0 : "Sounds Off"
1 : "Sounds On"
]
noise(string) : "Custom active sound"
noise1(string) : "Custom stop sound"
speed(integer) : "Attenuation of sound" : 0
volume(integer) : "Volume (0 - 1)"
spawnflags(flags) =
[
1 : "Initially dry" : 0
]
]
@PointClass size(-8 -8 -8, 8 8 8) base(Grill, Appearflags) = mapobject_grill: "Custom grill mapobject"
[
model(string) : "Model"
frame(string) : "Frame"
mangle(string) : "Angles(overrides angle above)"
]
@PointClass size(-8 -8 -8, 8 8 8) base(Grill, Appearflags) = mapobject_grill128: "128 unit grill mapobject"
[
frame(choices) : "Frame": 0 =
[
0 : "Red idbase grill"
1 : "Dark idbase grill"
2 : "Rusty idbase grill"
3 : "Pale idbase grill"
4 : "Large vent grid"
5 : "Large vent - horizontal bars"
6 : "Slimy brown floor grills"
7 : "Wizmet medium grid panels"
8 : "Wizmet fine grid panels"
9 : "Fury square floor panels"
10 : "Fury small floor panels"
11 : "Copper floor panels"
12 : "Copper floor grill"
13 : "Copper grill with warning trim"
14 : "Rusted diagonal wire mesh"
15 : "Beaten diagonal wire mesh"
16 : "Bright square wire mesh"
17 : "Stained square wire mesh"
18 : "Warning pattern wire mesh"
19 : "Rusted square wire mesh"
20 : "Knave steel strut pattern"
22 : "Knave gold strut pattern"
24 : "Knave rust strut pattern"
26 : "Knave red strut pattern"
28 : "Knave blue strut pattern"
]
mangle(string) : "Angles(overrides angle above)"
]
@PointClass size(-8 -8 -8, 8 8 8) base(Grill, Appearflags) = mapobject_grill64: "64 unit grill mapobject"
[
frame(choices) : "Frame": 0 =
[
0 : "Red idbase grill"
1 : "Dark idbase grill"
2 : "Rusty idbase grill"
3 : "Pale idbase grill"
4 : "Small vent grid"
5 : "Small vent - horizontal bars"
6 : "Slimy brown floor grills"
7 : "Wizmet medium grid panels"
8 : "Wizmet fine grid panels"
9 : "Fury square floor panels"
10 : "Fury small floor panels"
11 : "Copper floor panels"
12 : "Copper floor grill"
13 : "Copper grill with warning trim"
14 : "Rusted diagonal wire mesh"
15 : "Beaten diagonal wire mesh"
16 : "Bright square wire mesh"
17 : "Stained square wire mesh"
18 : "Warning pattern wire mesh"
19 : "Rusted square wire mesh"
20 : "Knave steel strut pattern"
21 : "Knave steel pentagram"
22 : "Knave gold strut pattern"
23 : "Knave gold pentagram"
24 : "Knave rust strut pattern"
25 : "Knave rust pentagram"
26 : "Knave red strut pattern"
27 : "Knave red pentagram"
28 : "Knave blue strut pattern"
29 : "Knave blue pentagram"
]
mangle(string) : "Angles(overrides angle above)"
]
@PointClass base(Static, Appearflags) size(-16 -16 -24, 16 16 40) = corpse_crucified1 : "Corpse(crucified)" []
@PointClass base(Static, Appearflags) size(-16 -16 -24, 16 16 40) = corpse_crucified2 : "Corpse(crucified,headless)" []
@PointClass base(Static, Appearflags) size(-16 -16 -96, 16 16 0) = corpse_lynched1 : "Corpse(lynched,clothed)" []
@PointClass base(Static, Appearflags) size(-16 -16 -96, 16 16 0) = corpse_lynched2 : "Corpse(lynched)" []
@PointClass base(Static, Appearflags) size(-16 -16 -96, 16 16 0) = corpse_lynched3 : "Corpse(lynched,eaten)" []
@PointClass base(Static, Appearflags) size(-16 -16 -96, 16 16 0) = corpse_flayed1 : "Corpse(flayed,clothed)" []
@PointClass base(Static, Appearflags) size(-16 -16 -96, 16 16 0) = corpse_flayed2 : "Corpse(flayed)" []
@PointClass base(Static, Appearflags) size(-16 -16 -96, 16 16 0) = corpse_flayed3 : "Corpse(flayed,eaten)" []
@PointClass base(Static, Appearflags) size(-16 -16 -96, 16 16 0) = corpse_flayed4 : "Corpse(flayed,broken leg)" []
@PointClass base(Static, Appearflags) size(-32 -32 -40, 32 32 0) = corpse_impaled_back1 : "Corpse(impaled in back,clothed)" []
@PointClass base(Static, Appearflags) size(-32 -32 -40, 32 32 0) = corpse_impaled_back2 : "Corpse(impaled in back)" []
@PointClass base(Static, Appearflags) size(-32 -32 -40, 32 32 0) = corpse_impaled_back3 : "Corpse(impaled in back,eaten)" []
@PointClass base(Static, Appearflags) size(-16 -16 -24, 16 16 16) = corpse_impaled_front1 : "Corpse(impaled in front,clothed)" []
@PointClass base(Static, Appearflags) size(-16 -16 -24, 16 16 16) = corpse_impaled_front2 : "Corpse(impaled in front)" []
@PointClass base(Static, Appearflags) size(-16 -16 -24, 16 16 16) = corpse_impaled_front3 : "Corpse(impaled in front,eaten)" []
@PointClass base(Static, Appearflags) size(-16 -16 -24, 16 16 16) =
corpse_impaled_horizontal1 : "Corpse(impaled horizontal,clothed)" []
@PointClass base(Static, Appearflags) size(-16 -16 -24, 16 16 16) =
corpse_impaled_horizontal2 : "Corpse(impaled horizontal)" []
@PointClass base(Static, Appearflags) size(-16 -16 -24, 16 16 16) =
corpse_impaled_horizontal3 : "Corpse(impaled horizontal,nibbled)" []
@PointClass base(Static, Appearflags) size(-16 -16 -24, 16 16 16) =
corpse_impaled_horizontal4 : "Corpse(impaled horizontal,eaten)" []
@PointClass base(Static, Appearflags) size(-16 -16 -24, 16 16 16) =
corpse_impaled_vertical1 : "Corpse(impaled vertical,clothed)" []
@PointClass base(Static, Appearflags) size(-16 -16 -24, 16 16 16) =
corpse_impaled_vertical2 : "Corpse(impaled vertical)" []
@PointClass base(Static, Appearflags) size(-16 -16 -24, 16 16 16) =
corpse_impaled_vertical3 : "Corpse(impaled vertical,eaten)" []
//
// misc
//
@PointClass base(Appearflags, Name) = air_bubbles : "Air bubbles" []
@PointClass base(Appearflags, Targetname) =
event_lightning : "Chthon's lightning" []
@PointClass base(Appearflags) = misc_fireball : "Small fireball"
[ speed(integer) : "Speed" : 40 ]
@PointClass size(0 0 0, 32 32 64) = misc_explobox : "Large nuclear container" []
@PointClass size(0 0 0, 32 32 32) = misc_explobox2 : "Small nuclear container" []
@PointClass size(0 0 0, 32 32 64) = misc_biobox_l : "Large bio-waste container" []
@PointClass size(0 0 0, 32 32 32) = misc_biobox_s : "Small bio-waste container" []
@PointClass size(0 0 0, 32 32 64) = misc_plasmabox_l : "Large plasma container" []
@PointClass size(0 0 0, 32 32 32) = misc_plasmabox_s : "Small plasma container" []
@SolidClass = func_illusionary : "Static model"
[
]
@PointClass base(Targetname) = trap_spikeshooter : "Triggered shooter"
[
spawnflags(Flags) =
[
1 : "Superspike" : 0
2 : "Laser" : 0
]
]
@PointClass base(trap_spikeshooter) = trap_shooter : "Continuous shooter" []
//
// ambient sounds
//
@PointClass = ambient_drip : "Dripping sound" []
@PointClass = ambient_drone : "Engine/machinery sound" []
@PointClass = ambient_comp_hum : "Computer background sounds" []
@PointClass = ambient_flouro_buzz : "Fluorescent buzzing sound" []
@PointClass = ambient_light_buzz : "Buzzing sound from light" []
@PointClass = ambient_suck_wind : "Wind sound" []
@PointClass = ambient_swamp1 : "Frogs croaking" []
@PointClass = ambient_swamp2 : "Frogs croaking B" []
@PointClass = ambient_thunder : "Thunder sound" []
@PointClass = ambient_generalpurpose : "Custom ambient sound"
[
noise(string) : "Sound file to play"
speed(integer) : "Attenuation of sound" : 0
volume(integer) : "Volume (0 - 1)"
]
@PointClass base( Targetname, Appearflags) = play_sound_triggered : "Custom sound trigger"
[
noise(string) : "Sound file to play"
speed(integer) : "Attenuation of sound" : 0
volume(integer) : "Volume (0 - 1)"
impulse(integer) : "Channel"
wait(integer) : "Wait before retrigger" : 0
]
@PointClass base( Targetname, Appearflags) = play_sound : "Repeated custom sound"
[
noise(string) : "Sound file to play"
speed(integer) : "Attenuation of sound" : 0
volume(integer) : "Volume (0 - 1)"
impulse(integer) : "Channel"
wait(integer) : "Random time between sounds" : 0
delay(integer) : "Minimum time between sounds" : 2
]
@BaseClass = Command
[
spawnflags(Flags) =
[
2 : "Command only to activator" : 0
4 : "Set as 'onload command' on use" : 0
]
]
@PointClass base(Appearflags, Targetname, Command) = info_command : "Target-fired command to clients"
[
message(string) : "Console command"
]
@SolidClass base(Appearflags, Command) = trigger_command : "Trigger: Command to clients"
[
message(string) : "Console command"
]
@PointClass base(Appearflags) = info_command_spawn : "Command to clients on spawn"
[
message(string) : "Console command"
]
@SolidClass base(Appearflags) = trigger_command_contact : "Trigger: Command on entry"
[
message(string) : "Console command"
spawnflags(Flags) =
[
4 : "Set as 'onload command' on use" : 0
]
]
@PointClass base (Appearflags,Targetname) = info_command_server : "Target-fired command to server"
[
message(string) : "Console command"
]
@PointClass base (Appearflags, Targetname) = info_bomb : "Triggered explosion"[]
@PointClass base (Appearflags, Targetname) = info_effect_pulse : "Pulses of lights"
[
mangle(string) : "Angles (override)"
speed(integer) : "Speed"
wait(choices) : "Wait between pulses" =
[
-1 : "Does not refire"
]
]
@BaseClass = Spawner
[
spawnclassname(string) : "Desired classname"
spawnfunction(string) : "Desired classname(must match above)"
count(integer): "Number of spawns"
awake(choices) : "Monster state on spawn" : 0 =
[
0 : "Idle"
1 : "Awake"
]
]
@PointClass base (Appearflags, Targetname, Spawner) = info_multispawn : "Spawn multiple monsters"
[
wait(integer) : "Wait between spawns"
]
@PointClass base( Appearflags, Targetname, Spawner) = info_groupspawn : "Spawn monster group"
[
lip(integer) : "Gap between monsters"
t_width(integer) : "Width of row"
]
@PointClass base (Appearflags, Targetname) = info_screenshake : "Earthquake event"
[
ltime(integer) : "Duration of quake"
lip(integer) : "Frequency of shaking"
height(integer) : "Strength of quake" : 500
multiplier(integer) : "Strength multiplier" : 1
noise(string) : "Looping sound"
noise1(string) : "Ending sound"
]
@PointClass base (Appearflags, Target) = info_endgate : "Info endgate"
[
mapindex(integer) : "Map index"
spawnflags(Flags) =
[
1 : "Inverse logic" : 0
]
]
@PointClass base (info_endgate) = info_mapgate : "Info mapgate" []
@PointClass base (Appearflags, Targetname, Deathtype) = info_trap : "Custom shooter"
[
preset(choices) : "Preset" : 0 =
[
0 : "No preset"
1 : "Player Rockets"
2 : "Player Grenades"
3 : "Player Plasma"
4 : "Player Nails"
5 : "Player Super Nails"
]
target(string) : "Target to fire towards"
modelpath(string) : "Projectile model"
wait(integer) : "Wait between shots"
delay(integer) : "Delay for first shot" : 0
speed(integer) : "Projectile speed" : 600
mindamage(integer) : "Minimum projectile damage" : 20
maxdamage(integer) : "Maximum projectile damage"
dmg(integer) : "Radius of blast" : 0
duration(integer) : "Projectile fuse" : 5
style(choices) : "Projectile flight" : 0 =
[
0 : "Flying"
1 : "Ballistic (Explode on Impact)"
2 : "Bounce (grenade)"
]
noise(string) : "Firing sound"
noise1(string) : "Impact sound"
noise2(string) : "Bounce sound(grenade only)"
tracking(choices) : "Projectile tracking" : 0 =
[
0 : "None"
1 : "Vore style"
2 : "Death Lord/Rocketeer style"
]
multiplier(integer) : "Func_breakable damage multiplier"
flashlight(choices) : "Projectile glow" : 0 =
[
0 : "Glow off"
1 : "Glow on"
]
]
@PointClass base (Appearflags, Targetname, Deathtype) = trap_lightning_triggered : "Triggered Lightning Trap"
[
target(string) : "Target to fire towards"
duration(string) : "Beam duration" : "0.1" //daft thing doesn't have a sensible number class, so fractions are strings...
dmg(integer) : "Damage" : 30
noise(string) : "Firing sound"
style(choices) : "Beam type" : 0 =
[
0 : "Thinner beam"
1 : "Wider beam"
]
spawnflags(flags) =
[
1 : "Boom" : 0
]
]
@BaseClass = Breakable [
preset(choices): "Preset" : 0 =
[
0 : "Rock"
1 : "Wood"
2 : "Flesh"
3 : "Machine"
4 : "Glass"
5 : "Brick(8 unit)"
6 : "Brick(16 unit)"
7 : "Brick(32 unit)"
8 : "Metal"
9 : "Circuitboard"
]
ritem(choices): "Skin(rock.wood.glass.brick.metal)" =
[
0: "Ochre.Medi.Gray.Wiz.Cr8top"
1: "Moss.Driftwood.Dark.Cityochre.Cr8side"
2: "Cobalt.Rotten.Bone.Ctyred.panel"
3: "Black.Cord.Sepia.Ctycrack.Tech09"
4: "Earth.Pine.Brown.Ctygreen.Idbase"
5: "Grave.Red_wiz.Ale.IKBlue.Compbrown"
6: "Red.Dark_wiz.Bottle.P_blue.Compgrey"
7: "Grey.Crate.Green.Red.Sfloor"
8: "Rock3_7.=.Sun.Off-grey.Tech red"
9: "Rock3_8.=.Gold.Mayan.Speedbase"
10:"Mayan.=.Orange.Grey.Mmetal1_8"
11:"Knave.=.Blood.Eggshell.Wizmet"
12:"Azfloor.=.Crimson.=.Wizmet blue"
13:"'crete.=.Blue.=.Wizmet green"
14:"Ice. = .Sapphire. = .Dark copper"
15:"White. = . = . = .Light copper"
16:"=.=.=.=.Metal5_8"
17:"=.=.=.=.Metal4_5"
18:"=.=.=.=.Metal4_4"
19:"=.=.=.=.Metal2_4"
20:"=.=.=.=.Mmetal1_1"
21:"=.=.=.=.Cop1_3"
22:"=.=.=.=.Cop1_6"
23:"=.=.=.=.Metal1_2"
24:"=.=.=.=.Knave bronze"
25:"=.=.=.=.Knave rust"
26:"=.=.=.=.Weathered tin"
27:"=.=.=.=.Circuits(olive)"
28:"=.=.=.=.Circuits(sea-green)"
]
count(integer) : "Number of fragments"
health(integer) : "Health"
noise(choices) : "Breaking sound" =
[
"" : "Preset default"
"impact/wood_bk.wav" : "Wood crack"
"player/gib.wav" : "Player gib"
"impact/mach_bk.wav" : "Machine explosion"
"progs/glass.mdl" : "Glass shatter"
"impact/rockbrk.wav" : "Rock crumble"
"impact/metal_bk.wav" : "Metal shearing"
]
noise1(choices) : "Bounce sound 1" =
[
"" : "Preset default"
"impact/wood_i1.wav" : "Wood1"
"zombie/z_miss.wav" : "Flesh1"
"impact/glass_i1.wav" : "Glass1"
"impact/rock1.wav" : "Rock1"
"impact/metal_i1.wav" : "Metal1"
]
noise2(choices) : "Bounce sound 2" =
[
"" : "Preset default"
"impact/wood_i2.wav" : "Wood2"
"impact/gib_i2.wav": "Flesh2"
"impact/glass_i2.wav" : "Glass2"
"impact/rock2.wav" : "Rock2"
"impact/metal_i2.wav" : "Metal2"
]
noise3(choices) : "Bounce sound 3" =
[
"" : "Preset default"
"impact/wood_i3.wav" : "Wood3"
"impact/gib_i3.wav": "Flesh3"
"impact/glass_i3.wav" : "Glass3"
"impact/rock3.wav" : "Rock3"
"impact/metal_i3.wav" : "Metal3"
]
noise4(choices) : "Bounce sound 4" =
[
"" : "Preset default"
"impact/wood_i4.wav" : "Wood4"
"impact/gib_i4.wav": "Flesh4"
"impact/glass_i4.wav" : "Glass4"
"impact/rock4.wav" : "Rock4"
"impact/metal_i4.wav" : "Metal4"
]
modelpath(string) : "Custom rubble model"
rsize(integer) : "Minimum rubble frame"
t_width(integer) : "Maximum rubble frame"
]
@BaseClass = Shadow
[
_shadow(choices) : "Shadows settings" : 1 =
[
0: "Casts no shadows"
1: "Casts shadows"
]
]
@BaseClass = Selfshadow
[
_selfshadow(choices) : "Self-shadows settings" : 1 =
[
0: "Casts no shadows"
1: "Casts shadows on itself"
]
]
@SolidClass base(Appearflags, Targetname, Breakable, Selfshadow) = func_breakable : "Breakable object"
[
spawnflags(Flags) =
[
1 : "Explosion on death" : 0
]
]
@PointClass base(Appearflags, Targetname, Breakable) = info_rubble : "Spawn rubble"
[
]
//
// moving things
//
@SolidClass base(Appearflags, Targetname, Target, Deathtype, Selfshadow) = func_door : "Basic door"
[
speed(integer) : "Speed" : 100
sounds(choices) : "Sound" : 0 =
[
0: "No sounds"
1: "Stone"
2: "Machine"
3: "Stone Chain"
4: "Screechy Metal"
5: "Custom sounds"
]
noise2(string) : "Move sound"
noise1(string) : "Stop sound"
wait(string) : "Delay before close" : "4"
lip(integer) : "Lip" : 8
dmg(integer) : "Damage inflicted when blocked" : 0
health(integer) : "Health (shoot open)" : 0
spawnflags(flags) =
[
1 : "Starts Open" : 0
4 : "Don't link" : 0
8 : "Gold Key required" : 0
16: "Silver Key required" : 0
32: "Toggle" : 0
]
]
@SolidClass base(Appearflags, Targetname, Target, Selfshadow) = func_door_secret : "Triggered door"
[
t_width(integer) : "First move length"
t_length(integer) : "Second move length"
dmg(integer) : "Damage when blocked" : 2
wait(string) : "Time before close" : "2"
sounds(choices) : "Sounds" : 3 =
[
1: "Medieval"
2: "Metal"
3: "Base"
]
spawnflags(flags) =
[
1 : "Open once only" : 0
2 : "Moves left first" : 0
4 : "Moves down first" : 0
8 : "Not shootable" : 0
16 : "Always shootable" : 0
]
]
@SolidClass base(Targetname, Appearflags, Shadow) = func_wall : "Wall" []
@SolidClass base(Targetname, Target, Selfshadow) = func_button : "Button"
[
speed(integer) : "Speed" : 40
lip(integer) : "Lip" : 4
health(integer) : "Health (shootable if > 0)"
sounds(choices) : "Sounds" =
[
0 : "Steam metal"
1 : "Wooden clunk"
2 : "Metallic clink"
3 : "In-out"
]
wait(string) : "Delay before reset" : "1"
]
@SolidClass base(Targetname, Selfshadow) = func_door_button : "Door-mounted Button"
[
bind(target_source) : "Name of door to bind to"
]
@PointClass base(Targetname) = func_teleporttrain : "Moving teleport destination"
[
speed(integer) : "Speed (units per second)" : 64
target(target_source) : "First stop target"
]
@SolidClass base(Targetname, Deathtype, Selfshadow) = func_train : "Moving platform"
[
sounds(choices) : "Sound" : 1 =
[
0: "None"
1: "Ratchet Metal"
]
speed(integer) : "Speed (units per second)" : 64
target(target_source) : "First stop target"
dmg(integer) : "Damage on crush" : 0
count(integer) : "Number of clones" : 0
spawnflags(Flags) =
[
1 : "Smooth" : 0
2 : "Blockable" : 0
]
]
@PointClass base(Targetname) size(16 16 16) =
path_corner : "Moving platform stop"
[
target(target_source) : "Next stop target"
wait(integer) : "Wait" : 0
event(target_source) : "Event to fire on arrival"
duration(integer) : "Movetime for next motion(if set)"
speed(integer) : "Speed for next motion(if set)"
]
@PointClass base(Targetname) size(16 16 16) =
path_corner_precise : "Advanced monster waypoint"
[
target(target_source) : "Next waypoint"
wait(integer) : "Wait" : 0
]
@PointClass base(Targetname) size(16 16 16) =
path_corner_contact : "Monster waypoint"
[
target(target_source) : "Next waypoint"
]
@SolidClass base(Targetname, Deathtype) = func_togglewall : "Toggleable wall"
[
spawnflags(Flags) =
[
1 : "Starts off" : 0
2 : "Particles" : 0
4 : "Monsters ignore" : 0
]
dmg(integer) : "Contact damage"
wait(string) : "Wait between damage" : "0.5"
noise(string) : "Toggle off sound"
noise1(string) : "Toggle on sound"
noise2(string) : "Damage sound"
speed(integer) : "Particle speed" : 75
style(integer) : "Particle count" : 10
color(integer) : "Particle colour"
worldtype(choices) : "particle direction" : 0 =
[
0 : "Up"
1 : "Down"
2 : "East"
3 : "West"
4 : "North"
5 : "South"
]
]
@SolidClass base(Targetname) = func_particlefield : "particle burst effect"
[
event(string) : "Group name"
cnt(integer) : "Index within group"
wait(string) : "Delay between flashes" : "0.2"
count(integer) : "Particle count" : 2
color(integer) : "Particle colour" : 192
]
@SolidClass base(Targetname, Selfshadow) = func_plat : "Elevator"
[
spawnflags(Flags) =
[
1 : "Low trigger" : 0
]
speed(integer) : "Speed" : 150
height(integer) : "Travel altitude (can be negative)" : 0
sounds(choices) : "Sound group" : 1 =
[
0: "None"
1: "Base fast"
2: "Chain Slow"
]
]
@SolidClass base(Shadow) = func_episodegate : "Episode Gate"
[
spawnflags(Flags) =
[
1 : "Episode 1" : 1
2 : "Episode 2" : 0
4 : "Episode 3" : 0
8 : "Episode 4" : 0
]
]
@SolidClass base(Shadow) = func_bossgate : "Boss gate" []
//
// triggers
//
@BaseClass base(AllTargets) = Trigger
[
sounds(choices) : "Sound style" : 0 =
[
0 : "None"
1 : "Secret sound"
2 : "Beep beep"
3 : "Large switch"
4 : "Set message to text string"
]
spawnflags(flags) = [ 2: "Broadcast message" : 0 ]
noise(string) : "Custom noise(set sounds 4)"
]
@SolidClass base(Target) = trigger_changelevel : "Trigger: Change level"
[
map(string) : "New map name"
spawnflags(flags) =
[
1: "No Intermission" : 0
]
]
@SolidClass base(Trigger) = trigger_once : "Trigger: Activate once"
[
health(integer) : "Health"
spawnflags(flags) = [ 1: "Entity only" : 0 ]
]
@SolidClass base(Trigger) = trigger_multiple : "Trigger: Activate multiple"
[
wait(string) : "Wait before reset" : "4"
health(integer) : "Health"
spawnflags(flags) = [ 1: "Entity only" : 0 ]
]
@SolidClass base(Trigger) = trigger_onlyregistered : "Trigger: Registered only"
[
spawnflags(flags) = [ 1: "Entity only" : 0 ]
]
@SolidClass base(Trigger) = trigger_secret : "Trigger: Secret"
[
sounds(choices) : "Sound style" : 1 =
[
0 : "None"
1 : "Secret sound"
2 : "Beep beep"
3 : "Large switch"
4 : "Set message to text string"
]
spawnflags(flags) = [ 1: "Entity only" : 0 ]
]
@SolidClass base(Target, Targetname) = trigger_teleport : "Trigger teleport"
[
spawnflags(Flags) =
[
1 : "Player only" : 0
2 : "Silent" : 0
]
onlymonster(choices) : "Limited to monsters?" : 0 =
[
0 : "No"
1 : "Yes"
]
notelefrag(choices) : "Wait instead of telefrag?" : 0 =
[
0 : "No"
1 : "Yes"
]
state(choices) : "Disable momentum" : 0 =
[
0 : "No"
1 : "Yes"
]
]
// need updates:
@SolidClass = trigger_setskill : "Trigger set skill"
[
message(choices) : "Skill to change to" : 1 =
[
0 : "Easy"
1 : "Medium"
2 : "Hard"
3 : "Nightmare!"
]
]
@PointClass base(Trigger) = trigger_relay : "Trigger relay"
[
]
@SolidClass = trigger_monsterjump : "Trigger monster jump"
[
speed(integer) : "Jump Speed" : 200
height(integer) : "Jump Height" : 200
]
@SolidClass base(trigger_monsterjump) = trigger_drolejump : "Trigger drolejump"[]
@PointClass base(AllTargets) = trigger_counter : "Trigger counter"
[
spawnflags(flags) =
[
1: "No Message" : 0
2: "Broadcast message" : 0
]
count(integer) : "Count before activation" : 2
]
@SolidClass = trigger_push : "Trigger player push"
[
spawnflags(flags) = [ 1: "Once Only" : 0 ]
speed(integer) : "Speed of push" : 1000
noise(string) : "Sound while pushing"
]
@SolidClass base(Targetname, Deathtype) = trigger_hurt : "Trigger player hurt"
[
dmg(integer) : "Damage" : 5
wait(string) : "Frequency of damage" : "0.2"
message(string) : "Message"
cnt(integer) : "Count before deactivated"
]
@SolidClass base(Target) = trigger_damagethreshold : "Trigger damagethreshold"
[
health(integer) : "Health"
spawnflags(flags) =
[
1: "Multi Use" : 0
2: "Invisible" : 0
]
]
@SolidClass = trigger_setgravity : "Trigger setgravity"
[
gravity(integer) : "Gravity"
]
@SolidClass base(Deathtype) = trigger_void : "Trigger void"[]
@SolidClass = trigger_ladder : "Trigger ladder"
[
noise(string) : "Climbing noise"
noise1(string) : "Attach noise"
]
// Rotating entities
@PointClass base(targetname) = info_rotate : "Info rotate"
[]
@SolidClass = rotate_object : "Visible rotating object"
[
target(target_destination) : "Target (an info_rotate)"
targetname(target_source) : "Name (for controller)"
]
@PointClass base(Targetname) = func_rotate_entity : "Simple rotating entity controller"
[
target(target_destination) : "Target (a rotate_object)"
rotate(string) : "Rotate speed (x y z)"
speed(string) : "Acceleration time"
spawnflags(flags) =
[
1: "Toggle" : 0
2: "Starts On" : 0
]
]
@PointClass base(Targetname) = func_rotate_door : "Rotating door controller"
[
target(target_destination) : "Target (the rotate_object/movewalls)"
rotate(string) : "Rotate axes (x y z)"
angles(string) : "Rotate distance"
speed(string) : "Acceleration time"
sounds(choices) : "Sounds" : 3 =
[
1: "Medieval"
2: "Metal"
3: "Base"
]
spawnflags(flags) =
[
1: "Stay open" : 0
]
]
@SolidClass = func_movewall : "Func movewall"
[
targetname(target_source) : "Name (to match rotate_object)"
spawnflags(flags) =
[
1: "Visible" : 0
2: "Damage on touch" : 0
4: "Non-solid" : 0
]
]
@PointClass base(Targetname) = path_rotate : "Rotate train path"
[
spawnflags(flags) =
[
1: "Rotation" : 0
2: "Angles" : 0
4: "Stop" : 0
8: "Stop rotate" : 0
16: "Damage" : 0
32: "Speed sets movetime" : 0
64: "Set damage" : 0
]
target(target_destination) : "Next path_rotate"
noise(string) : "Stop sound"
noise1(string) : "Start sound"
event(target_source) : "Event to trigger"
dmg(integer) : "Set train damage(set spawnflag too)"
rotate(string) : "Set rotate for next motion"
speed(choices) : "Speed(or movetime) for next motion" : 0 =
[
-1 : "jumps to next waypoints"
]
message(string) : "Message"
angles(string) : "Desired angle at this point"
wait(integer) : "Wait" : 0
]
@PointClass base(Targetname) = func_rotate_train : "Rotating train controller"
[
target(target_destination) : "Target (the rotate_object/movewalls)"
path(target_destination) : "First path entity"
speed(string) : "Initial speed"
dmg(string) : "Initial damage"
sounds(choices) : "Sound" : 1 =
[
0: "None"
1: "Ratchet Metal"
]
spawnflags(flags) =
[
1: "Stay open" : 0
]
]
//point versions
@PointClass base(func_door) = func_door_point : "Basic door" []
@PointClass base(func_door_secret) = func_door_secret_point : "Triggered door" []
@PointClass base(func_breakable) = func_breakable_point : "Breakable object"[]
@PointClass base(func_wall) = func_wall_point : "Wall"[]
@PointClass base(func_button) = func_button_point : "Button" []
@PointClass base(func_train) = func_train_point : "Moving platform" []
@PointClass base(func_plat) = func_plat_point : "Elevator" []
@PointClass base(func_episodegate) = func_episodegate_point : "Episode Gate" []
@PointClass base(func_bossgate) = func_bossgate_point : "Boss gate"[]
@PointClass base(trigger_changelevel) = trigger_changelevel_point : "Trigger: Change level"[]
@PointClass base(trigger_once) = trigger_once_point : "Trigger: Activate once"[]
@PointClass base(trigger_multiple) = trigger_multiple_point : "Trigger: Activate multiple"[]
@PointClass base(trigger_onlyregistered) = trigger_onlyregistered_point : "Trigger: Registered only"[]
@PointClass base(trigger_secret) = trigger_secret_point : "Trigger: Secret" []
@PointClass base(trigger_teleport) = trigger_teleport_point : "Trigger teleport" []
@PointClass base(trigger_setskill) = trigger_setskill_point : "Trigger set skill" []
@PointClass base(trigger_relay) = trigger_relay_point : "Trigger relay"[]
@PointClass base(trigger_monsterjump) = trigger_monsterjump_point : "Trigger monster jump" []
@PointClass base(trigger_counter) = trigger_counter_point : "Trigger counter" []
@PointClass base(trigger_push) = trigger_push_point : "Trigger player push"[]
@PointClass base(trigger_hurt) = trigger_hurt_point : "Trigger player hurt" []
@PointClass base(trigger_damagethreshold) = trigger_damagethreshold_point : "Trigger damagethreshold"[]
@PointClass base(trigger_drolejump) = trigger_drolejump_point : "Trigger drolejump"[]
@PointClass base(trigger_setgravity) = trigger_setgravity_point : "Trigger setgravity" []
@PointClass base(trigger_void) = trigger_void_point : "Trigger void"[]
@PointClass base(trigger_ladder) = trigger_ladder_point : "Trigger ladder"[]
@PointClass base(func_door_button) = func_door_button_point : "Door-mounted Button"[]
@PointClass base(func_togglewall) = func_togglewall_point : "Toggleable wall" []
@PointClass base(rotate_object) = rotate_object_point : "Visible rotating object" []
@PointClass base(func_movewall) = func_movewall_point : "Func movewall" []