diff --git a/.github/workflows/fgd-update.yml b/.github/workflows/fgd-update.yml new file mode 100644 index 0000000..5c86b6d --- /dev/null +++ b/.github/workflows/fgd-update.yml @@ -0,0 +1,30 @@ +name: Update TrenchBroom FGD +on: + schedule: + - cron: 0 8 * * * + workflow_dispatch: + +jobs: + Do-The-Thing: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ github.head_ref }} + - name: Get apt ready + run: | + apt update + apt install -y wget + - name: Download FGD + run: | + git config --global --add safe.directory $GITHUB_WORKSPACE + cd $GITHUB_WORKSPACE + rm -f tb-nzp.fgd + wget -nc https://raw.githubusercontent.com/nzp-team/assets/main/source/maps/fgd/tb-nzp.fgd + - name: Commit and Push + uses: stefanzweifel/git-auto-commit-action@v4 + with: + commit_message: Update TrenchBroom FGD + branch: main + commit_user_name: Awesome NZ:P Updater Bot + commit_user_email: nope@example.org \ No newline at end of file diff --git a/GameConfig.cfg b/GameConfig.cfg new file mode 100644 index 0000000..c10f2c5 --- /dev/null +++ b/GameConfig.cfg @@ -0,0 +1,78 @@ +{ + "version": 5, + "name": "NZP", + "icon": "Icon.png", + "fileformats": [ + { "format": "Valve" }, + { "format": "Standard" } + ], + "filesystem": { + "searchpath": "nzp", + "packageformat": { "extension": "pak", "format": "idpak" } + }, + "textures": { + "package": { "type": "file", "format": { "extension": "wad", "format": "wad2" } }, + "format": { "extension": "C", "format": "hlmip" }, + "palette": "gfx/palette.lmp", + "attribute": "wad" + }, + "entities": { + "definitions": [ "tb-nzp.fgd" ], + "defaultcolor": "0.6 0.6 0.6 1.0", + "modelformats": [ "mdl", "bsp" ] + }, + "tags": { + "brush": [ + { + "name": "Trigger", + "attribs": [ "transparent" ], + "match": "classname", + "pattern": "trigger*" + } + ], + "brushface": [ + { + "name": "Clip", + "attribs": [ "transparent" ], + "match": "texture", + "pattern": "clip" + }, + { + "name": "Skip", + "attribs": [ "transparent" ], + "match": "texture", + "pattern": "skip" + }, + { + "name": "Hint", + "attribs": [ "transparent" ], + "match": "texture", + "pattern": "hint*" + }, + { + "name": "Liquid", + "match": "texture", + "pattern": "\**" + }, + { + "name": "Null", + "attribs": [ "transparent" ], + "match": "texture", + "pattern": "null" + }, + { + "name": "TriggerFace", + "attribs": [ "transparent" ], + "match": "texture", + "pattern": "*trigger*" + } + ] + }, + "softMapBounds":"-4096 -4096 -4096 4096 4096 4096", + "compilationTools": [ + { "name": "csg"}, + { "name": "bsp"}, + { "name": "vis"}, + { "name": "rad"} + ] +} \ No newline at end of file diff --git a/Icon.png b/Icon.png new file mode 100644 index 0000000..13c5761 Binary files /dev/null and b/Icon.png differ diff --git a/README.md b/README.md new file mode 100644 index 0000000..2055439 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# Nazi Zombies: Portable TrenchBroom Profile + +## About + +This repository contains the TrenchBroom profile and up-to-date `.FGD` for NZ:P. It is updated nightly. \ No newline at end of file diff --git a/tb-nzp.fgd b/tb-nzp.fgd new file mode 100644 index 0000000..e920116 --- /dev/null +++ b/tb-nzp.fgd @@ -0,0 +1,1365 @@ +// +// Nazi Zombies: Portable TRENCHBROOM-FGD +// =================================================== +// This FGD file is intended for use with Trenchbroom, +// please use hl-nzp.fgd for Hammer-based map editors. +// + +// +// worldspawn +// + +@SolidClass = worldspawn : "World entity" +[ + message(string) : "Text on entering the world" + sounds(integer) : "CD track to play" : 1 + sky(string) : "Skybox Name" + light(integer) : "Default light level" + WaveHeight(string) : "Default Wave Height" + chaptertitle(string) : "Chapter Title Message" + location(string) : "Location of the Map" + date(string) : "Time Era of the Map" + person(string) : "Creator or fictional character of map" + song(string) : "Triggered song of the map" +] + +// +// base marker definitions +// + +@baseclass = Appearflags [ + spawnflags(Flags) = + [ + 256 : "Not in Easy" : 0 + 512 : "Not in Normal" : 0 + 1024 : "Not in Heroic" : 0 + 2048 : "deatmatch" : 0 + ] +] + +@baseclass = Targetname [ targetname(target_source) : "Name" ] +@baseclass = Target [ + target(target_destination) : "Target" + target2(target_destination) : "Target2" + target3(target_destination) : "Target3" + target4(target_destination) : "Target4" + target5(target_destination) : "Target5" + target6(target_destination) : "Target6" + target7(target_destination) : "Target7" + target8(target_destination) : "Target8" + killtarget(target_destination) : "Killtarget" +] + +// info_texlights +// It defines texture lights. +// Add any texture name as a key and their brightness as the value. +// Don't need to set colors because hlrad knows texture colors. +@PointClass color(255 0 0) = info_texlights : "Texture name : Brightness" +[ +] + +// +// player starts, deathmatch, coop, teleport +// + +@baseclass base(Appearflags) size(-16 -16 -32, 16 16 40) + color(0 255 0) = PlayerClass [] + +@PointClass base(PlayerClass) model("models/player.mdl") = info_player_start : "Player 1 start" [] + + +@PointClass base(PlayerClass) color(0 102 0) model("models/player.mdl") = info_player_tank : "Tank Dempsey" [] +@PointClass base(PlayerClass) color(0 102 0) model("models/player.mdl") = info_player_doctor : "Edward Richtofen" [] +@PointClass base(PlayerClass) color(0 102 0) model("models/player.mdl") = info_player_takeo : "Takeo Masaki" [] +@PointClass base(PlayerClass) color(0 102 0) model("models/player.mdl") = info_player_nikolai : "Nikolai Belinski" [] + + + +@PointClass = info_null : "info_null (spotlight target)" +[ + targetname(target_source) : "Name" +] + +@PointClass base(Target, Targetname) = info_notnull : "info_notnull (spotlight target)" // I love you +[ + use(string) : "self.use" + think(string) : "self.think" + nextthink(integer) : "nextthink" + noise(string) : "noise" + wait(integer) : "wait" +] +@PointClass base(Appearflags) = info_intermission : "Intermission camera" +[ + mangle(string) : "Mangle (Pitch Yaw Roll)" +] + +@PointClass size(-16 -16 -32, 16 16 56) base(Item) color(107 29 20) model("models/props/teleporter.mdl") = func_teleporter_entrance : "Teleporter Entrance" +[ + target(target_destination) : "Destination" + cost(integer) : "Cost" + mode(choices) : "Teleporter Mode" : 0 = + [ + 0: "Patch 1.0.4" + 1: "Linked (Der Riese)" + 2: "Timed (Kino der Toten)" + ] + target2(target_destination) : "[Linked/Timed] Pad" + tpTimer(integer) : "[Timed] Time before return" +] + +@PointClass size(-16 -16 -32, 16 16 56) base(Item) color(107 29 20) model("models/props/mainframe_pad.mdl") = func_teleporter_destination : "Teleporter Destination" +[ + targetname(target_source) : "Name" +] + +@PointClass size(-16 -16 -32, 16 16 56) base(Item) color(171 73 252) model("models/props/mainframe_pad.mdl") = func_teleporter_timed : "Teleporter Timed Destination" +[ + targetname(target_source) : "Name" +] + +@PointClass size(-16 -16 -32, 16 16 56) base(Item) color(62 0 132) model("models/props/mainframe_pad.mdl") = func_teleporter_pad : "Teleporter Pad" +[ + targetname(target_source) : "Name" +] + +@PointClass color(114 224 172) model({"path" : model, "skin" : skin}) = func_ending : "Buyable Ending" +[ + model(model) : "Model" : "models/Props/" + skin(integer) : "Skin" : 0 + cost(integer) : "Cost" : 0 +] + +// +// NZP Misc Items +// +@baseclass base(Target, Targetname) = Item +[ + message(string) : "Message" +] + +@PointClass size(-9 -9 -4, 9 9 4) base(Item) color(35 67 36) model("models/props/radio.mdl") = item_radio : "Radio" +[ + tune(string) : "tune" + length(integer) : "length" +] + +@PointClass size(-8 -8 -8, 8 8 8) base(Item) color(141 85 29) model("models/props/teddy.mdl") = teddy_spawn : "Teddy spawn location" [] + + +@PointClass size(-12 -12 -8, 12 12 8) color(35 67 36) model({"path" : model, "skin" : skin}) = zapper_switch : "Electro-Shock Activation Switch" +[ + model(string) : "Model" : "models/machines/hl_scale/zapper/z_switch.mdl" + skin(integer) : "Skin" : 0 + cost(integer) : "Cost" : 1000 + zappername(string) : "Zapper Name" + mode(choices) : "Cooldown Mode" : 0 = + [ + 0: "Timed Cooldown (Der Riese)" + 1: "End of Round Cooldown (Verruckt)" + ] + cooldown(integer) : "Cooldown Time (s)" : 30 + calc_time(integer) : "Lasting Time (s)" : 60 + spawnflags(Flags) = + [ + 1 : "Requires Power" : 0 + ] +] +@PointClass size(-12 -12 -8, 12 12 8) color(35 67 36) model({"path" : model, "skin" : skin}) = zapper_node : "Electro-Shock Node" +[ + model(string) : "Model" : "models/machines/hl_scale/zapper/z_zap.mdl" + skin(integer) : "Skin" : 0 + zappername(string) : "Zapper Name" + targetname(target_source) : "Name" + target(target_destination) : "Target" +] +@PointClass size(-12 -12 -8, 12 12 8) color(35 67 36) model({"path" : model, "skin" : skin}) = zapper_light : "Electro-Shock Node" +[ + model(string) : "Model" : "models/machines/hl_scale/zapper/z_light.mdl" + skin(integer) : "Skin" : 0 + zappername(string) : "Zapper Name" +] +@SolidClass = trigger_electro : "Zapper trigger field" +[ + zappername(string) : "Zapper Name" +] + +// +//NZP Misc +// + +@PointClass color(114 224 172) model({"path" : model, "skin" : skin}) = trigger_song : "Song trigger" +[ + model(model) : "Model" : "models/Props/" + skin(integer) : "Skin" : 0 + tune(string) : "Trigger Sound" : "sounds/" + spawnflags(Flags) = + [ + 1 : "Fullbright" : 0 + ] +] + +// +// NZP Perk Machines +// + +// Jugger-Nog +@PointClass size(-16 -16 -32, 16 16 56) base(Item, Appearflags) color(107 29 20) model({"path" : model, "skin" : skin}) = perk_juggernog : "Jugger-Nog" +[ + model(model) : "Model" : "models/machines/hl_scale/juggernog.mdl" + skin(integer) : "Skin" : 0 + aistatus(string) : "Perk Sting" : "" + anim_weapon_time(integer) : "Perk Sting Duration (s)" : 0 + powerup_vo(string) : "Perk Jingle" : "" + anim_weapon2_time(integer) : "Perk Jingle Duration (s)" : 0 + cost(integer) : "Perk Cost" : 2500 + oldmodel(string) : "Player Trigger Sound" : "sounds/machines/perk_drink.wav" + weapon2model(string) : "View Model" : "models/machines/v_perk.mdl" + weapon_animduration(integer) : "View Model Start Frame" : 0 + weapon2_animduration(integer) : "View Model End Frame" : 22 + spawnflags(Flags) = + [ + 1: "No Light": 0 + 2: "Red Light" : 0 + 4: "Green Light" : 0 + 8: "Blue Light" : 0 + 16: "Orange Light" : 0 + 32: "Purple Light" : 0 + 64: "Cyan Light" : 0 + 128: "Pink Light" : 1 + 256: "Lime Light" : 0 + 512: "Yellow Light" : 0 + ] +] + +// PhD Flopper +@PointClass size(-16 -16 -32, 16 16 56) base(Item, Appearflags) color(131 63 148) model({"path" : model, "skin" : skin}) = perk_flopper : "PhD Flopper" +[ + model(model) : "Model" : "models/machines/hl_scale/flopper.mdl" + skin(integer) : "Skin" : 0 + aistatus(string) : "Perk Sting" : "" + anim_weapon_time(integer) : "Perk Sting Duration (s)" : 0 + powerup_vo(string) : "Perk Jingle" : "" + anim_weapon2_time(integer) : "Perk Jingle Duration (s)" : 0 + cost(integer) : "Perk Cost" : 2000 + oldmodel(string) : "Player Trigger Sound" : "sounds/machines/perk_drink.wav" + weapon2model(string) : "View Model" : "models/machines/v_perk.mdl" + weapon_animduration(integer) : "View Model Start Frame" : 0 + weapon2_animduration(integer) : "View Model End Frame" : 22 + spawnflags(Flags) = + [ + 1: "No Light": 0 + 2: "Red Light" : 0 + 4: "Green Light" : 0 + 8: "Blue Light" : 0 + 16: "Orange Light" : 0 + 32: "Purple Light" : 0 + 64: "Cyan Light" : 0 + 128: "Pink Light" : 0 + 256: "Lime Light" : 0 + 512: "Yellow Light" : 1 + ] +] + +// Double Tap Root Beer +@PointClass size(-16 -16 -32, 16 16 40) base(Item, Appearflags) color(214 203 1) model({"path" : model, "skin" : skin}) = perk_double : "Double Tap Root Beer" +[ + model(model) : "Model" : "models/machines/hl_scale/double_tap_2.mdl" + skin(integer) : "Skin" : 0 + aistatus(string) : "Perk Sting" : "" + anim_weapon_time(integer) : "Perk Sting Duration (s)" : 0 + powerup_vo(string) : "Perk Jingle" : "" + anim_weapon2_time(integer) : "Perk Jingle Duration (s)" : 0 + cost(integer) : "Perk Cost" : 2000 + oldmodel(string) : "Player Trigger Sound" : "sounds/machines/perk_drink.wav" + weapon2model(string) : "View Model" : "models/machines/v_perk.mdl" + weapon_animduration(integer) : "View Model Start Frame" : 0 + weapon2_animduration(integer) : "View Model End Frame" : 22 + spawnflags(Flags) = + [ + 1: "No Light": 0 + 2: "Red Light" : 0 + 4: "Green Light" : 0 + 8: "Blue Light" : 0 + 16: "Orange Light" : 0 + 32: "Purple Light" : 0 + 64: "Cyan Light" : 0 + 128: "Pink Light" : 0 + 256: "Lime Light" : 0 + 512: "Yellow Light" : 1 + ] +] + +// Speed Cola +@PointClass size(-24 -24 -32, 24 24 56) base(Item, Appearflags) color(0 117 58) model({"path" : model, "skin" : skin}) = perk_speed : "Speed Cola" +[ + model(model) : "Model" : "models/machines/hl_scale/speed_cola.mdl" + skin(integer) : "Skin" : 0 + aistatus(string) : "Perk Sting" : "" + anim_weapon_time(integer) : "Perk Sting Duration (s)" : 0 + powerup_vo(string) : "Perk Jingle" : "" + anim_weapon2_time(integer) : "Perk Jingle Duration (s)" : 0 + cost(integer) : "Perk Cost" : 3000 + oldmodel(string) : "Player Trigger Sound" : "sounds/machines/perk_drink.wav" + weapon2model(string) : "View Model" : "models/machines/v_perk.mdl" + weapon_animduration(integer) : "View Model Start Frame" : 0 + weapon2_animduration(integer) : "View Model End Frame" : 22 + spawnflags(Flags) = + [ + 1: "No Light": 0 + 2: "Red Light" : 0 + 4: "Green Light" : 0 + 8: "Blue Light" : 0 + 16: "Orange Light" : 0 + 32: "Purple Light" : 0 + 64: "Cyan Light" : 0 + 128: "Pink Light" : 0 + 256: "Lime Light" : 1 + 512: "Yellow Light" : 0 + ] +] + +// Quick Revive +@PointClass size(-16 -16 -32, 16 16 32) base(Item, Appearflags) color(129 172 254) model({"path" : model, "skin" : skin}) = perk_revive : "Quick Revive" +[ + model(model) : "Model" : "models/machines/hl_scale/quick_revive.mdl" + skin(integer) : "Skin" : 0 + aistatus(string) : "Perk Sting" : "" + anim_weapon_time(integer) : "Perk Sting Duration (s)" : 0 + powerup_vo(string) : "Perk Jingle" : "" + anim_weapon2_time(integer) : "Perk Jingle Duration (s)" : 0 + cost(integer) : "Perk Cost (Solo)" : 500 + cost2(integer) : "Perk Cost (Co-Op)" : 1500 + oldmodel(string) : "Player Trigger Sound" : "sounds/machines/perk_drink.wav" + weapon2model(string) : "View Model" : "models/machines/v_perk.mdl" + weapon_animduration(integer) : "View Model Start Frame" : 0 + weapon2_animduration(integer) : "View Model End Frame" : 22 + spawnflags(Flags) = + [ + 1: "No Light": 0 + 2: "Red Light" : 0 + 4: "Green Light" : 0 + 8: "Blue Light" : 0 + 16: "Orange Light" : 0 + 32: "Purple Light" : 0 + 64: "Cyan Light" : 1 + 128: "Pink Light" : 0 + 256: "Lime Light" : 0 + 512: "Yellow Light" : 0 + ] +] + +// Stamin-Up +@PointClass size(-24 -24 -32, 24 24 48) base(Item, Appearflags) color(254 198 65) model({"path" : model, "skin" : skin}) = perk_staminup : "Stamin-Up" +[ + model(model) : "Model" : "models/machines/hl_scale/staminup.mdl" + skin(integer) : "Skin" : 0 + aistatus(string) : "Perk Sting" : "" + anim_weapon_time(integer) : "Perk Sting Duration (s)" : 0 + powerup_vo(string) : "Perk Jingle" : "" + anim_weapon2_time(integer) : "Perk Jingle Duration (s)" : 0 + cost(integer) : "Perk Cost" : 2000 + oldmodel(string) : "Player Trigger Sound" : "sounds/machines/perk_drink.wav" + weapon2model(string) : "View Model" : "models/machines/v_perk.mdl" + weapon_animduration(integer) : "View Model Start Frame" : 0 + weapon2_animduration(integer) : "View Model End Frame" : 22 + spawnflags(Flags) = + [ + 1: "No Light": 0 + 2: "Red Light" : 0 + 4: "Green Light" : 0 + 8: "Blue Light" : 0 + 16: "Orange Light" : 0 + 32: "Purple Light" : 0 + 64: "Cyan Light" : 0 + 128: "Pink Light" : 0 + 256: "Lime Light" : 0 + 512: "Yellow Light" : 1 + ] +] + +// Deadshot Daiquiri +@PointClass size(-24 -24 -32, 24 24 56) base(Item, Appearflags) color(0 35 10) model({"path" : model, "skin" : skin}) = perk_deadshot : "Deadshot Daiquiri" +[ + model(model) : "Model" : "models/machines/hl_scale/deadshot.mdl" + skin(integer) : "Skin" : 0 + aistatus(string) : "Perk Sting" : "" + anim_weapon_time(integer) : "Perk Sting Duration (s)" : 0 + powerup_vo(string) : "Perk Jingle" : "" + anim_weapon2_time(integer) : "Perk Jingle Duration (s)" : 0 + cost(integer) : "Perk Cost (Console)" : 1500 + cost2(integer) : "Perk Cost (PC)" : 1000 + oldmodel(string) : "Player Trigger Sound" : "sounds/machines/perk_drink.wav" + weapon2model(string) : "View Model" : "models/machines/v_perk.mdl" + weapon_animduration(integer) : "View Model Start Frame" : 0 + weapon2_animduration(integer) : "View Model End Frame" : 22 + spawnflags(Flags) = + [ + 1: "No Light": 0 + 2: "Red Light" : 0 + 4: "Green Light" : 0 + 8: "Blue Light" : 0 + 16: "Orange Light" : 0 + 32: "Purple Light" : 0 + 64: "Cyan Light" : 0 + 128: "Pink Light" : 0 + 256: "Lime Light" : 0 + 512: "Yellow Light" : 1 + ] +] + +// Mule Kick +@PointClass size(-24 -24 -32, 24 24 56) base(Item, Appearflags) color(0 117 58) model({"path" : model, "skin" : skin}) = perk_mule : "Mule Kick" +[ + model(model) : "Model" : "models/machines/hl_scale/mulekick.mdl" + skin(integer) : "Skin" : 0 + aistatus(string) : "Perk Sting" : "" + anim_weapon_time(integer) : "Perk Sting Duration (s)" : 0 + powerup_vo(string) : "Perk Jingle" : "" + anim_weapon2_time(integer) : "Perk Jingle Duration (s)" : 0 + cost(integer) : "Perk Cost" : 4000 + oldmodel(string) : "Player Trigger Sound" : "sounds/machines/perk_drink.wav" + weapon2model(string) : "View Model" : "models/machines/v_perk.mdl" + weapon_animduration(integer) : "View Model Start Frame" : 0 + weapon2_animduration(integer) : "View Model End Frame" : 22 + spawnflags(Flags) = + [ + 1: "No Light": 0 + 2: "Red Light" : 0 + 4: "Green Light" : 0 + 8: "Blue Light" : 0 + 16: "Orange Light" : 0 + 32: "Purple Light" : 0 + 64: "Cyan Light" : 0 + 128: "Pink Light" : 0 + 256: "Lime Light" : 1 + 512: "Yellow Light" : 0 + ] +] + +@PointClass size(-32 -32 -32, 32 32 56) base(Item, Appearflags) color(125 196 187) model("models/machines/hl_scale/pap.mdl") = + perk_pap : "Pack-A-Punch" +[ + +] + +@PointClass size(-24 -24 -32, 24 24 56) base(Item, Appearflags) color(0 117 58) model("models/machines/hl_scale/speed_cola.mdl") = + perk_random : "Random Perk-a-Cola" +[ + spawnflags(Flags) = + [ + 1 : "Enable Quick Revive" : 1 + 2 : "Enable Jugger-Nog" : 1 + 4 : "Enable Speed Cola" : 1 + 8 : "Enable Double Tap" : 1 + 16: "Enable PhD Flopper" : 1 + 32: "Enable Stamin-Up" : 1 + 64: "Enable Deadshot Daiquiri" : 1 + 128: "Enable Mule Kick" : 1 + ] +] +// +// NZP Weapons +// + +@PointClass size(-32 -8 -8, 32 8 8) base(Item, Appearflags) color(141 85 29) model("models/machines/mystery.mdl") = + mystery_box : "Mystery Box" +[ + spawnflags(Flags) = + [ + 1 : "Not here" : 0 + 2 : "No Light" : 0 + ] +] +@PointClass size(-32 -8 -8, 32 8 8) base(Item, Appearflags) color(151 104 34) model("models/machines/mystery.mdl") = + mystery_box_tp_spot : "Mystery Box Possible Spawn Point" [] + +@PointClass size(-28 -28 -64, 28 28 40 ) base(Item, Appearflags) color(114 224 172) model({"path" : model, "skin" : skin}) = item_barricade : "Window Boards" +[ + model(model) : "Model" : "models/misc/window.mdl" + skin(integer) : "Skin" : 0 + oldmodel(string) : "Rebuild Sound" : "sounds/misc/barricade.wav" + aistatus(string) : "Destroy Sound" : "sounds/misc/barricade_destroy.wav" + spawnflags(Flags) = + [ + 1 : "No boards/Not Repairable" : 0 + ] + +] + +@PointClass size(-16 -16 -16, 16 16 51 ) base(Item, Appearflags) color(147 132 108) model({"path" : model, "skin" : skin}) = power_switch : "Power Switch" +[ + model(string) : "Model" : "models/machines/hl_scale/power_switch.mdl" + skin(integer) : "Skin" : 0 + oldmodel(string) : "Activation Sound" : "sounds/machines/power.wav" +] + +@PointClass color(114 224 172) model({"path" : model, "skin" : skin}) = place_model : "Place a Model" +[ + model(model) : "Model" : "models/Props/" + skin(integer) : "Skin" : 0 + sequence(integer) : "Frame" : 0 + spawnflags(Flags) = + [ + 1 : "Fullbright" : 0 + 2 : "Not on PSP" : 0 + ] +] + + + +@PointClass color(114 224 172) = place_fire : "Place a fire effect" +[ + frame(choices) : "Size" : 111 = + [ + 111: "Small" + 112: "Big" + ] +] + +@PointClass base(Appearflags, Targetname) color(114 224 172) model({"path" : "models/misc/chalk.mdl", "frame" : sequence}) = weapon_wall : "Wall weapon for buy_weapon" +[ + sequence(choices) : "Weapon" : 0 = + [ + 0: "Colt M1911" + 1: "Kar 98k" + 2: "Thompson" + 3: ".357 Magnum" + 4: "BAR" + 5: "Ballistic Knife" + 6: "Browning M1919" + 7: "Double-Barreled Shotgun" + 8: "FG42" + 9: "Gewehr 43" + 10: "Scoped Kar 98k" + 11: "M1 Garand" + 12: "M1A1 Carbine" + 13: "M2 Flamethrower" + 14: "MP40" + 15: "MG42" + 16: "Panzerschrek" + 17: "PPSh-41" + 18: "PTRS-41" + 19: "Ray Gun" + 20: "Sawed-Off Shotgun" + 21: "STG-44" + 22: "M1897 Trench Gun" + 23: "Type 100" + 28: "MP5K" + 29: "Springfield" + 27: "Wunderwaffe DG-2" + 24: "Bowie Knife" + 25: "Stielhandgranate" + 26: "Bouncing Betties" + ] + model(string) : "World Model" : "models/GModels/" +] +@PointClass base(Appearflags, Targetname) color(114 224 172) model({"path" : model, "skin" : skin}) = explosive_barrel : "Barrel that can explode when shot at" +[ + model(string) : "Model" : "models/props/barrel_m.mdl" + health(integer) : "Health" : 300 + oldmodel(string) : "sounds/weapons/grenade/explode.wav" + skin(choices) : "Color" : 0 = + [ + 0: "Green" + 1: "Grey" + 2: "Dark Grey" + ] +] + +//JUKKI DOOR +@SolidClass base(Appearflags, Targetname) = buy_weapon : "buy_weapon" +[ + weapon(choices) : "Weapon" : 0 = + [ + 1: "Colt M1911" + 2: "Kar 98k" + 3: "Thompson" + 4: ".357 Magnum" + 5: "BAR" + 6: "Ballistic Knife" + 7: "Browning M1919" + 8: "Double-Barreled Shotgun" + 9: "FG42" + 10: "Gewehr 43" + 11: "Scoped Kar 98k" + 12: "M1 Garand" + 13: "M1A1 Carbine" + 14: "M2 Flamethrower" + 15: "MP40" + 16: "MG42" + 17: "Panzerschrek" + 18: "PPSh-41" + 19: "PTRS-41" + 20: "Ray Gun" + 21: "Sawed-Off Shotgun" + 22: "STG-44" + 23: "M1897 Trench Gun" + 24: "Type 100" + 54: "MP5K" + 58: "Springfield" + 56: "Wunderwaffe DG-2" + 28: "Mustang & Sally (Colt M1911)" + 36: "Armageddon (Kar 98k)" + 38: "Gibs-O-Matic (Thompson)" + 29: ".357 Plus 1 K1L-u (.357 Magnum)" + 52: "The Widow Maker (BAR)" + 46: "B115 Accelerator (Browning M1919)" + 43: "24 Bore Long Range (Double-Barreled Shotgun)" + 44: "420 Impeller (FG42)" + 30: "G115 Compressor (Gewehr)" + 49: "Headcracker (Scoped Kar 98k)" + 31: "M1000 (M1 Garand)" + 34: "Widdershins RC-1 (M1A1 Carbine)" + 35: "F1W Nitrogen Cooled (M2 Flamethrower)" + 40: "The Afterburner (MP40)" + 45: "Barracuda FU-A11 (MG42)" + 50: "Longinus (Panzerschreck)" + 48: "The Reaper (PPSh-41)" + 51: "The Penetrator (PTRS-41)" + 33: "Porter's X2 Ray Gun (Ray Gun)" + 42: "The Snuff Box (Sawed-Off Shotgun)" + 41: "Spatz-447 + (Stg-44)" + 47: "Gut Shot (M1897 Trench Gun)" + 39: "1001 Samurais (Type 100)" + 32: "MP115 Kollider (MP5K)" + 59: "Pulverizer (Springfield)" + 57: "Wunderwaffe DG-3 JZ (Wunderwaffe DG-2)" + 25: "Bowie Knife" + 26: "Stielhandgranate" + 27: "Bouncing Betties" + 99: "Universal Ammunition" + ] + cost(integer) : "Cost" : 0 + cost2(integer) : "Ammo Cost" : 0 + target(target_destination) : "Target" +] + +// +// NZP Monsters +// + +@baseclass base(Appearflags, Target, Targetname) color(220 0 0) = Monster +[ +] + +//@PointClass base(Monster) size(-16 -16 -24, 16 16 40) = monster_army : //"Grunt" [] +@PointClass base(Monster) size(-16 -16 -32, 16 16 16) model("models/ai/dog.mdl") = spawn_dog : "Hellhound" +[ + spawnflags(Flags) = + [ + 1 : "inactive" : 0 + ] +] + + + +@PointClass base(Monster) size(-16 -16 -32, 16 16 40) model("models/ai/zfull.mdl") = spawn_zombie : "zombie respawn" +[ + spawnflags(Flags) = + [ + 1 : "inactive" : 0 + 2 : "ground rise" : 0 + 4 : "Start inside" : 0 + ] +] + +@PointClass base(Targetname) size(-8 -8 -32, 8 8 8) color(121 130 62) = + path_corner : "Zombie Path When Walking to Window" +[ + target(target_source) : "Next stop target" + wait(integer) : "Wait" : 0 + spawnflags(Flags) = + [ + 1 : "Set inside" : 0 + ] +] + + +// +// Trigger Commands +// + +@SolidClass base(Targetname) = trigger_command : "Triggered Client Command" +[ + message(string) : "Command" +] + +@PointClass base(Targetname) color(256 256 0) = info_command : "Triggered Server Command" +[ + message(string) : "Command" +] + + +// +// Misc Objects +// + +@PointClass color(128 128 128) = func_model: "Custom map model" [ model(string) : "Location" ] + +//@SolidClass = wooden_crate: "Breakable Wooden Crate" [] + +// +// Lights +// + +@baseclass color(255 255 40) = Light [ + _light(integer) : "Brightness" : 300 + _light(color255) : "Brightness" : "255 255 128 200" + 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 iconsprite("sprites/light_environment.spr") = light_environment : "Environment" +[ + pitch(integer) : "Pitch" : 0 + _light(color255) : "Brightness" : "255 255 128 200" +] + +@PointClass size(-8 -8 -8, 8 8 8) base(Light, Target, Targetname) iconsprite("sprites/lightbulb.spr") = + 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, Targetname) = + light_fluorospark : "Sparking fluorescent light" + [ + spawnflags(Flags) = [ 1 : "Initially dark" : 0 ] + ] +@PointClass size(-8 -8 -8, 8 8 8) base(Light, Target, Targetname) = + light_globe : "Globe light" [] +@PointClass size(-8 -8 -12, 8 8 20) base(Light, Target, Targetname) = + light_flame_large_yellow : "Large yellow flame" [] +@PointClass size(-4 -4 -12, 4 4 20) base(Light, Target, Targetname) = + light_flame_small_yellow : "Small yellow flame" + [ + spawnflags(Flags) = [ 1 : "Initially dark" : 0 ] + ] +@PointClass size(-4 -4 -12, 4 4 20) base(Light, Target, Targetname) = + 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) = + light_torch_small_walltorch : "Small walltorch" [] + +@PointClass size(-4 -4 -12, 4 4 20) base(Targetname, Target, Angles) = light_spot : "Spotlight" +[ + _cone(integer) : "Inner (bright) angle" : 30 + _cone2(integer) : "Outer (fading) angle" : 45 + pitch(integer) : "Pitch" : -90 + _light(color255) : "Brightness" : "255 255 128 200" + _sky(Choices) : "Is Sky" : 0 = + [ + 0 : "No" + 1 : "Yes" + ] + spawnflags(Flags) = [ 1 : "Initially dark" : 0 ] + style(Choices) : "Appearance" : 0 = + [ + 0 : "Normal" + 10: "Fluorescent flicker" + 2 : "Slow, strong pulse" + 11: "Slow pulse, noblack" + 5 : "Gentle pulse" + 1 : "Flicker A" + 6 : "Flicker B" + 3 : "Candle A" + 7 : "Candle B" + 8 : "Candle C" + 4 : "Fast strobe" + 9 : "Slow strobe" + ] + pattern(string) : "Custom Appearance" +] + +// +// misc +// + +@SolidClass = func_illusionary : "Static model" +[ + rendermode(integer) : "rendermode" : 4 + renderamt(integer) : "renderamt" : 255 +] + +//@PointClass = func_illusionary2 : "Static model" +//[ +// frame(integer) +// model(string) +//] + + +// +// 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" [] + +// +// moving things +// + + +@SolidClass base(Appearflags, Targetname, Target) = 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 + message(string) : "Message if triggered" + 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 + ] +] +//JUKKI DOOR +@SolidClass base(Appearflags, Targetname, Target) = func_door_nzp : "nzp door" +[ + wayTarget(string) : "Waypoint Target" + speed(integer) : "Speed" : 100 + sounds(choices) : "Sound" : 0 = + [ + 0: "No sounds" + 1: "Debris" + 2: "Wood" + ] + noise2(string) : "Move sound" + noise1(string) : "Stop sound" + wait(string) : "Delay before close" : "4" + lip(integer) : "Lip" : 8 + distance(integer) : "Distance (deg)" : 90 + dmg(integer) : "Damage inflicted when blocked" : 0 + message(string) : "Message if triggered" + health(integer) : "Health (shoot open)" : 0 + cost(integer) : "cost to open (0 no need)" : 0 + spawnflags(flags) = + [ + 4 : "Don't link" : 0 + 8 : "Debris" : 0 + 16: "Silver Key required" : 0 + 32: "Toggle" : 0 + 64 : "Requires Power" : 0 + 128: "Dont Remove" : 0 + 256: "Rotating (ignore lip)" : 0 + ] +] + +@SolidClass base(Targetname, Appearflags) = func_wall : "Wall" +[ + alpha(string) : "Transparency (0.1 - 1.0)" + rendermode(integer) : "rendermode" : 4 + renderamt(integer) : "renderamt" : 255 + spawnflags(Flags) = + [ + 4 : "Glass" : 0 + ] +] + + + +@PointClass size(0 0 0, 32 32 32) base(Targetname, Target, Appearflags) = func_counter : "Activation Counter" +[ + spawnflags(flags) = + [ + 1 : "Togglable" : 0 + 2 : "Looping" : 1 + 4 : "Step" : 0 + 8 : "Reset" : 0 + 16 : "Random" : 0 + 32 : "Finishcount" : 0 + 64 : "Start On" : 1 + ] + count(integer) : "# of entities to trigger" + wait(string) : "Sec. between each triggering" : "0.2" + delay(string) : "Delay before first trigger" + killtarget(string) : "Killtarget" + killtarget2(string) : "Killtarget #2" +] + +@PointClass base(Targetname, Target) = func_oncount : "Counter Target" +[ + count(integer) : "# to Trigger On" : 1 + delay(integer) : "Trigger Delay" +] + + + +@SolidClass base(Target) = trigger_damagethreshold : "Damage Threshold Trigger" +[ + spawnflags(flags) = + [ + 1 : "Multiple Use" : 0 + 2 : "Invisible" : 0 + ] + health(integer) : "Damage Threshold" : 60 +] + +@SolidClass base(Targetname, Target, func_rubble) = func_breakawaywall : "Break Away Wall" +[ + spawnflags(flags) = + [ + 1 : "explode" : 0 + 2 : "Use Particles" : 0 + ] + cnt(integer) : "Ent id # for using Counter" +] + +@SolidClass base(Targetname) = func_button : "Button" +[ + speed(integer) : "Speed" : 40 + lip(integer) : "Lip" : 4 + target(target_source) : "Targetted object" + 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" + delay(string) : "Delay before trigger" + message(string) : "Message" +] + +@SolidClass base(Targetname) = 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 +] + +@SolidClass base(Targetname) = 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" + ] +] + + +// +// triggers +// + +@baseclass base(Target, Targetname) = Trigger +[ + sounds(choices) : "Sound style" : 0 = + [ + 0 : "None" + 1 : "Secret sound" + 2 : "Beep beep" + 3 : "Large switch" + 4 : "Set message to text string" + ] + delay(string) : "Delay before trigger" : "0" + message(string) : "Message (set sound too!)" +] + +@baseclass base(Target, Targetname) = TriggerVoice +[ + sounds(choices) : "Sound style" : 0 = + [ + 0 : "None" + 1 : "Start" + 2 : "e1m1_1" + 3 : "e1m1_2" + 4 : "e1m1_3" + 5 : "e1m1_4" + 6 : "e1m2_1" + 7 : "e1m2_2" + 8 : "e1m2_3" + 9 : "e1m3_1" + 10 : "e1m3_2" + 11 : "e1m3_3" + 12 : "e1m4_1" + 13 : "e1m5_1" + 14 : "e1m5_2" + 15 : "e1m5_3" + 16 : "e1m6_1" + + ] + delay(string) : "Delay before trigger" : "0" + message(string) : "Message (set sound too!)" +] + +@BaseClass = Soundplaying +[ + speed(choices) : "Attonation" : 1 = + [ + 0: "None" + 1: "Normal" + 2: "Idle" + 3: "Static" + ] + volume(integer) : "Volume" : 1 + impulse(choices) : "Channel" : 0 = + [ + 0: "Auto" + 1: "Weapon" + 2: "Voice" + 3: "Item" + 4: "Body" + 5: "5" + 6: "6" + 7: "7" + ] +] + +@PointClass = ambient_general : "Universal Ambient Sound" +[ + volume(integer) : "Volume" : 1 + noise(string) : "Ambient Sound" +] + +@PointClass base(Targetname, Soundplaying) = ambient_bgm : "Back Ground Music" +[ + spawnflags(flags) = + [ + 1 : "Start On" : 0 + ] + noise1(string) : "Intro wav" + button1(string) : "Intro length (in seconds)" + noise2(string) : "Looped wav" + button2(string) : "Loop length (-1 for no looping)" + waitmax(integer) : "Number of Loops(0 for forever)" + noise3(string) : "Extro wav" + target(string) : "Target when extro is done" + button0(string) : "Extro length" +] + +@SolidClass= trigger_changelevel : "Trigger: Change level" +[ + map(string) : "New map name" + target(target_destination) : "Target" + 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_activator : "Trigger: Activate spawnpoints" +[ +] + +@SolidClass base(Trigger) = trigger_stuffcmd : "Trigger: Run CMD on Client (NZP)" +[ + message(string) : "CMD" + spawnflags(flags) = + [ + 1: "Don't exec on Players" : 0 + 2: "Don't exec on Spectators" : 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(TriggerVoice) = trigger_voice : "Trigger: Activate voice" +[ + 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 + ] +] + +// need updates: + +@PointClass base(Trigger) = trigger_relay : "Trigger relay" +[ +] +@SolidClass base(Targetname) = trigger_monsterjump : "Trigger monster jump" +[ + speed(integer) : "Jump Speed" : 200 + height(integer) : "Jump Height" : 200 +] +@PointClass base(Target, Targetname) = trigger_counter : "Trigger counter" +[ + spawnflags(flags) = [ 1: "No Message" : 0 ] + count(integer) : "Count before activation" : 2 +] +@SolidClass base(Targetname) = trigger_push : "Trigger player push" +[ + spawnflags(flags) = [ 1: "Once Only" : 0 ] + speed(integer) : "Speed of push" : 1000 +] +@SolidClass base(Targetname) = trigger_hurt : "Trigger player hurt" +[ + dmg(integer) : "Damage" : 5 + wait(integer) : "Delay before reset" + message(string) : "Message" +] + +@SolidClass base(Targetname) = func_rotating : "Rotateing Brush" +[ +] + +// ##################### +// # Hipnotic entities # +// ##################### + +@SolidClass base(Targetname, Target) = rotate_object : "Object to be rotated"[] + +@PointClass size(-4 -4 -4, 4 4 4) base(Targetname) = info_rotate : "Point of rotation" [] + +@SolidClass base(Targetname, Appearflags) = func_movewall : "Movable Wall, used for rotating brush collision" +[ + spawnflags(flags) = + [ + 1: "Visible" : 0 + 2: "Dmg on Touch" : 0 + 4: "Non Blocking" : 0 + ] + dmg(integer) : "Damage" +] + +@PointClass size(-8 -8 -8, 8 8 8) base(Targetname) = func_rotate_door : "Rotating Door" +[ + spawnflags(flags) = + [ + 1: "Stay Open" : 0 + ] + target(target_destination) : "Name of door parts" + angles(string) : "Angle to rotate door" + rotate(string) : "Rotate (x y z)" + speed(integer) : "Rotation Time" : 2 + dmg(integer) : "Blocking Damage" : 2 + deathtype(string) : "Death Message" + sounds(choices) : "Sounds" : 1 = + [ + 0: "Custom/None" + 1: "Medieval" + 2: "Metal" + 3: "Base" + ] + noise1(string) : "Stop Sound" + noise2(string) : "Move Sound" + noise3(string) : "Blocked Sound" + killtarget(string) : "Killtarget" + killtarget2(string) : "Killtarget #2" +] + +@PointClass base(Targetname) = func_rotate_entity : "func_rotate_entity" +[ + spawnflags(flags) = + [ + 1 : "Toggleable" : 0 + 2 : "Start On" : 0 + ] + target(target_destination) : "Rotate Object" + speed(integer) : "Acceleration Time" : 0 + rotate(string) : "Rate of Rotation" + dmg(integer) : "Damage" + deathtype(string) : "Death Message" +] + +@PointClass base(Targetname, Target) = path_rotate : "Path_Rotate" +[ + spawnflags(flags) = + [ + 1 : "Rotation set" : 0 + 2 : "Angles set" : 0 + 4 : "Stop" : 0 + 8 : "No Rotate" : 0 + 16 : "Cause Damage" : 0 + 32 : "Move Time" : 0 + 64 : "Set Damage" : 0 + ] + rotate(string) : "Rotation Speed" + angles(string) : "Angles" + speed(integer) : "Speed or Move Time" + wait(integer) : "Wait Time" + dmg(integer) : "Damage" + event(string) : "Event Target" + message(string) : "Event Message" + noise(string) : "Stop Noise" + noise1(string) : "Move Noise" +] + +// I don't think that these will work without the modified QBSP +@PointClass base(Targetname) = func_rotate_train : "Rotating Train" +[ + target(target_destination) : "Name of Parts" + path(string) : "First path_rotate" + rotate(string) : "Rotation Speed" + speed(integer) : "Speed" + dmg(integer) : "Damage" + deathtype(string) : "Death Message" + sounds(choices) : "Sounds" : 1 = + [ + 0: "Sounds Specified" + 1: "Ratchet Metal" + ] + noise(string) : "Stop Sound" + noise1(string) : "Move Sound" +] + +@PointClass = func_clock : "Clock Hand" +[ + target(target_destination) : "Rotate Object" + cnt(integer) : "Starting Time" + count(choices) : "Revolution Time" : 60 = + [ + 60 : "Second Hand" + 3600 : "Minute Hand" + 43200 : "Hour Hand" + ] + event(string) : "Event to Trigger at 12" +] + +// Hipnotic warns that they don't work well. +@SolidClass = func_pushable : "Pushable Walls" [] + +@PointClass = wallsprite : "Wall Sprite" +[ + model(string) : "Sprite Model" : "progs/s_blood1.spr" +] + +@PointClass base(Angle, Appearflags, Target, Targetname) size(32 32 32) color(255 128 0) model({"path" : model, "skin" : skin, "frame": frame}) = misc_model : "A point entity for displaying models. A frame range can be given to animate the model. + +mdl: The model to display. Can be of type mdl, bsp, or spr. +frame: Single frame to display. Can also be used to offset the animation. +first_frame: The starting frame of the animation. +last_frame: The last frame of the animation. +speed: The frames per second of animation. Divide 1 by the fps for this value (default 0.1). +angles: pitch roll yaw (up/down, angle, tilt left/right) +NOTE: set angle value to 0 if using angles key to rotate mdls" +[ + skin(integer) : "Skin index (default 0)" : : "Skin index (default 0) Use this when your custom model has more than one skin to select" + model(string) : "Model Selection (ex progs/model.mdl)" + frame(integer) + first_frame(integer) + last_frame(integer) + speed(integer) : "1 divided by frames per second (default 0.1)" + angles(integer) : "set 'angle' to 0 if this is used" + mdlsz(integer) : "Entity size (x y z)" + centeroffset(integer) : "Model center offset" + spawnflags(flags) = + [ + 1: "Gravity" : 0 + 2: "Solid" : 0 + 4: "Back and forth" : 0 + 8: "Only once" : 0 + 16: "Play count times" : 0 + 32: "Start Hidden" : 0 + 64: "Fullbright" : 0 + ] +] + +@PointClass = zombie_horde_point : "Hording spot for Zombies" +[] + +@PointClass base(Targetname, Target) = game_counter : "Fires when it hits limit" +[ + spawnflags(flags) = + [ + 1: "Remove On fire" : 0 + 2: "Reset On fire" : 1 + ] + master(string) : "Master" + frags(integer) : "Initial Value" : 0 + health(integer) : "Limit Value" : 10 +] + +@PointClass base(Targetname, Target) = game_songplay : "Plays a track from tracks/ when triggered." +[ + aistatus(string) : "Track name (looks in nzp/tracks/)" + cost(integer) : "Track duration (seconds)" : 0 +]