Compare commits

...
Sign in to create a new pull request.

17 commits

Author SHA1 Message Date
38fb0a23b5 pk4.yaml: Fix typo
Some checks failed
pk4 / build (push) Has been cancelled
2025-02-21 20:00:21 -08:00
a9cbc8a8a9 Disable punchangle on fall (for now)
Some checks failed
pk4 / build (push) Failing after 2m13s
2025-02-21 19:50:19 -08:00
1cf298be3b Push workflow up. 2025-02-21 19:46:04 -08:00
6460c8af73 rules/counterstrike: move precaches into their dedicated callback 2025-02-09 01:36:04 -08:00
bdfae0ce4d Client: don't show timer in modes other than CS. 2025-02-09 01:35:32 -08:00
ae515b67db CSWeapon: cache firing values at the (now) proper location. 2025-02-07 20:55:57 -08:00
db351e7b19 unpk3dir 2025-02-04 16:20:18 -08:00
a2a3d8fd8d Uninclude fx_blood.qc and fix compat. 2025-01-14 03:32:08 -08:00
26383cf05d More fixes against upstream Nuclide 2025-01-03 04:23:18 -08:00
d376999f6c Move CS gamerules into their own progs using multiprogs. Clean up scripts. 2024-10-16 23:11:24 -07:00
73638fd197
- fix team selection race condition exploit in FreeCS
- fix lots of buggy round logic
- make use of HLWeaponSelect
- move from def/ to decls/def
2024-08-14 17:10:08 -07:00
10468ee174
CSWeapon: renamed FiredWeapon() to FiredWeaponAttack() 2024-07-30 20:21:45 -07:00
68c9769ea9
Fix the dual beretta classname 2024-07-26 13:00:09 -07:00
51ad4d3588
add PROJECT file, add missing HUD binds from FHL. fix missing T spawn in eukara/test_weapons 2024-07-24 19:09:51 -07:00
dc0c57397b
Rip out more now-unused stuff. Start fixing up the buy system, make weapons fire again 2024-07-24 18:51:27 -07:00
949f3c39bc
remove reference to unused weapons. 2024-07-24 10:26:53 -07:00
1550f8cbe1
Rebase against Nuclide Develop, convert most things over 2024-07-23 17:54:58 -07:00
368 changed files with 7003 additions and 14745 deletions

BIN
.dir.tiff Normal file

Binary file not shown.

View file

@ -0,0 +1,56 @@
name: pk4
on: [ push, pull_request, workflow_dispatch ]
jobs:
build:
runs-on: docker
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 1
repository: vera/nuclide
ref: Develop
- uses: actions/checkout@v3
with:
fetch-depth: 1
repository: fn/valve
ref: Develop
path: "./valve"
- uses: actions/checkout@v3
with:
fetch-depth: 1
ref: Develop
path: "./${{ github.event.repository.name }}"
- name: apt install zip
run: |
apt update
apt install -y \
zip
- name: assemble pk4
run: make dist-pak NAME=bin GAME=${{ github.event.repository.name }}
- uses: actions/upload-artifact@v3
with:
name: build-log
path: ./build/bin-content.log
- uses: actions/forgejo-release@v2
with:
url: https://code.idtech.space
repo: "${{ github.repository }}"
tag: "${{ github.ref_name }}"
sha: "${{ github.sha }}"
direction: upload
release-dir: ./build/bin-content/${{ github.event.repository.name }}/
token: ${{ secrets.TOKEN }}
title: "Development Build"
release-notes: "Auto-generated development build, override ${{ github.event.repository.name }}/package_${{ github.event.repository.name }}.pk4."
prerelease: true
override: true
release-notes-assistant: true

5
.gitignore vendored Normal file
View file

@ -0,0 +1,5 @@
*core.txt
*.dat
*.lno
config.cfg
fte.cfg

1
PAK_NAME Normal file
View file

@ -0,0 +1 @@
package_cstrike.pk3

1
PROJECT Normal file
View file

@ -0,0 +1 @@
TacticalRetreat

View file

@ -1,39 +1,15 @@
# FreeCS # Tactical Retreat
[As seen on phoronix.com](https://phoronix.com/scan.php?page=news_item&px=FreeCS-Open-Counter-Strike) [As seen on phoronix.com](https://phoronix.com/scan.php?page=news_item&px=FreeCS-Open-Counter-Strike)
Clean-room reimplementation of Counter-Strike 1.5 (mod-version). Allows you to play Counter-Strike 1.5 (mod-version) with Rad-Therapy.
Aiming for a stable reimagining of the original mod in QuakeC.
Not aiming for accuracy, but for a smooth, exploit and bug-free
experience over the Internet.
Done in my freetime for countless reasons, but most important to me: to learn everything there is to know about one of my favorite games.
This is all 100% new, original code written by good old trial and error.
**Differences exist** and features are slowly being implemented one by one.
This allows the code to be fully free and unencumbered, unlike similar projects.
Featuring proper weapon prediction to enable stress-free netplay.
The engine you want to use to run this is FTEQW (https://www.fteqw.org), which is a project unrelated to this. It just happens to support the file-formats FreeHL needs.
![Preview 1](img/preview1.jpg) ![Preview 1](img/preview1.jpg)
![Preview 2](img/preview2.jpg) ![Preview 2](img/preview2.jpg)
![Preview 3](img/preview3.jpg) ![Preview 3](img/preview3.jpg)
![Preview 4](img/preview4.jpg) ![Preview 4](img/preview4.jpg)
## Features and Improvements
- Native support for Windows/Mac/Linux/BSD and wherever else FTEQW runs on
- Better support for higher display modes and aspect ratios
- Much easier modding by having the entire logic be in modern QuakeC
- Netcode that's always improving and more advanced prediction
- Open-source code for transparent modding
- Very permissive license (ISC/BSD)
- The code doesn't rely on others work, so nobody can shut it down :-)
## Installing ## Installing
To run it, all you need is [FTEQW](https://www.fteqw.org), [FreeHL](https://www.frag-net.com/pkgs/package_valve.pk3), and [the latest release .pk3 file](https://www.frag-net.com/pkgs/package_cstrike.pk3), which you save into `Half-Life/valve/` and `Half-Life/cstrike/` respectively. That's about it. You can install updates through the **Configuration > Updates** menu from here on out. To run it, all you need is [FTEQW](https://www.fteqw.org), [Rad-Therapy](https://www.frag-net.com/pkgs/package_valve.pk3), and [the latest release .pk3 file](https://www.frag-net.com/pkgs/package_cstrike.pk3), which you save into `Half-Life/valve/` and `Half-Life/cstrike/` respectively. That's about it. You can install updates through the **Configuration > Updates** menu from here on out.
### Disclaimer ### Disclaimer
Please **do not** file bugs if you see missing/broken content **while not** using the original Half-Life and Counter-Strike 1.5 data. Please **do not** file bugs if you see missing/broken content **while not** using the original Half-Life and Counter-Strike 1.5 data.
@ -44,14 +20,19 @@ Here's the quick and dirty instructions for those unfamilar:
``` ```
$ git clone https://code.idtech.space/vera/nuclide Nuclide-SDK $ git clone https://code.idtech.space/vera/nuclide Nuclide-SDK
$ cd Nuclide-SDK $ cd Nuclide-SDK
$ ./build_engine.sh # (only required if you don't have an up-to-date FTEQW & FTEQCC in your PATH)
# (only required if you don't have an up-to-date FTEQW & FTEQCC in your PATH)
$ make update
$ make fteqw
# build the menu (from valve/) then our own game-logic:
$ git clone https://code.idtech.space/fn/valve valve $ git clone https://code.idtech.space/fn/valve valve
$ git clone https://code.idtech.space/fn/cstrike cstrike $ git clone https://code.idtech.space/fn/cstrike cstrike
$ SKIP_UPDATE=1 SKIP_RADIANT=1 ./build_game.sh valve $ make game GAME=valve
$ SKIP_UPDATE=1 SKIP_RADIANT=1 ./build_game.sh cstrike $ make game GAME=cstrike
``` ```
You can also issue `make` inside `valve/src/` and `cstrike/src`, but it won't build an `entities.def` file for use in Radiant (level editor family). You can also issue `make` inside `valve/src/` and `cstrike/src`, but it won't generate some additional helper files.
** !! You need to also provide data-files !! ** ** !! You need to also provide data-files !! **
@ -83,7 +64,7 @@ We've had people ask in the oddest of places for help, please don't do that.
## License ## License
ISC License ISC License
Copyright (c) 2016-2024 Marco Cawthorne <marco@icculus.org> Copyright (c) 2016-2025 Marco "eukara" Cawthorne <marco@icculus.org>
Permission to use, copy, modify, and distribute this software for any Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above purpose with or without fee is hereby granted, provided that the above

View file

@ -2,6 +2,10 @@
// this is so that users can tweak all the stuff we mostly guessed // this is so that users can tweak all the stuff we mostly guessed
// and can make it more like how they want it to behave. // and can make it more like how they want it to behave.
set sk_hostage_health1 100
set sk_hostage_health2 100
set sk_hostage_health3 100
// knife: primary attack range // knife: primary attack range
set sk_plr_knife_range1 48 set sk_plr_knife_range1 48
set sk_plr_knife_range2 48 set sk_plr_knife_range2 48
@ -92,10 +96,10 @@ set sk_plr_fiveseven_dmg1 25
set sk_plr_fiveseven_dmg2 25 set sk_plr_fiveseven_dmg2 25
set sk_plr_fiveseven_dmg3 25 set sk_plr_fiveseven_dmg3 25
// elites: bullet damage // elite: bullet damage
set sk_plr_elites_dmg1 45 set sk_plr_elite_dmg1 45
set sk_plr_elites_dmg2 45 set sk_plr_elite_dmg2 45
set sk_plr_elites_dmg3 45 set sk_plr_elite_dmg3 45
// deagle: bullet damage // deagle: bullet damage
set sk_plr_deagle_dmg1 54 set sk_plr_deagle_dmg1 54
@ -177,7 +181,22 @@ set sk_plr_awp_dmg1 115
set sk_plr_awp_dmg2 115 set sk_plr_awp_dmg2 115
set sk_plr_awp_dmg3 115 set sk_plr_awp_dmg3 115
// para: bullet damage // m249: bullet damage
set sk_plr_para_dmg1 35 set sk_plr_m249_dmg1 35
set sk_plr_para_dmg2 35 set sk_plr_m249_dmg2 35
set sk_plr_para_dmg3 35 set sk_plr_m249_dmg3 35
// hegrenade: splash damage
set sk_plr_hegrenade_dmg1 100
set sk_plr_hegrenade_dmg2 100
set sk_plr_hegrenade_dmg3 100
// hegrenade: splash radius
set sk_plr_hegrenade_radius1 100
set sk_plr_hegrenade_radius2 100
set sk_plr_hegrenade_radius3 100
// hegrenade: direct damage
set sk_plr_hegrenade_directdmg1 15
set sk_plr_hegrenade_directdmg2 15
set sk_plr_hegrenade_directdmg3 15

1
cfg/skill_manifest.cfg Normal file
View file

@ -0,0 +1 @@
exec "skill_cstrike.cfg"

View file

@ -1,22 +1,3 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-21 15:30+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "VGUI_TITLE_MOTD" msgid "VGUI_TITLE_MOTD"
msgstr "Nachricht des Tages" msgstr "Nachricht des Tages"

View file

@ -1,21 +1,4 @@
# SOME DESCRIPTIVE TITLE. # English (Default) Locale file
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-21 15:30+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "VGUI_TITLE_MOTD" msgid "VGUI_TITLE_MOTD"
msgstr "Message Of The Day" msgstr "Message Of The Day"

71
decls/def/ammo.def Normal file
View file

@ -0,0 +1,71 @@
// these have to be defined by the game.
// Counter-Strike ammo data courtesy of https://wiki.alliedmods.net/CS_weapons_information
entityDef ammo_types {
"ammo_none" "0"
"ammo_338magnum" "1"
"ammo_357sig" "2"
"ammo_45acp" "3"
"ammo_50ae" "4"
"ammo_556nato" "5"
"ammo_556natobox" "6"
"ammo_57mm" "7"
"ammo_762nato" "8"
"ammo_9mm" "9"
"ammo_buckshot" "10"
"ammo_hegrenade" "11"
"ammo_smokegrenade" "12"
"ammo_flashbang" "13"
"ammo_c4" "14"
}
entityDef ammo_names {
"ammo_none" "None"
"ammo_338magnum" ".338 Lapua Magnum"
"ammo_357sig" ".357 SIG"
"ammo_45acp" ".45 ACP"
"ammo_50ae" ".50 Action Express"
"ammo_556nato" "5.56x45mm NATO"
"ammo_556natobox" "5.56x45mm NATO BOX"
"ammo_57mm" "FN 5.7x28mm"
"ammo_762nato" "7.62x51mm NATO"
"ammo_9mm" "9x19mm Parabellum"
"ammo_buckshot" "Buckshot"
"ammo_hegrenade" "HE Grenade"
"ammo_smokegrenade" "Smoke Grenade"
"ammo_flashbang" "Flashbang"
"ammo_c4" "C4"
}
entityDef ammo_max {
"ammo_none" "0"
"ammo_338magnum" "30"
"ammo_357sig" "52"
"ammo_45acp" "100"
"ammo_50ae" "35"
"ammo_556nato" "90"
"ammo_556natobox" "200"
"ammo_57mm" "100"
"ammo_762nato" "90"
"ammo_9mm" "120"
"ammo_buckshot" "32"
"ammo_hegrenade" "1"
"ammo_smokegrenade" "1"
"ammo_flashbang" "2"
"ammo_c4" "1"
}
// these don't exist as pickups in the game, but
// might be helpful nonetheless for level designers
#include "ammo/base.def"
#include "ammo/556natobox.def"
#include "ammo/338magnum.def"
#include "ammo/9mm.def"
#include "ammo/556nato.def"
#include "ammo/762nato.def"
#include "ammo/50ae.def"
#include "ammo/45acp.def"
#include "ammo/buckshot.def"
#include "ammo/base.def"
#include "ammo/57mm.def"
#include "ammo/357sig.def"

View file

@ -0,0 +1,7 @@
entityDef ammo_338magnum
{
"editor_usage" "Ammo used by weapon_awp"
"inherit" "ammo_base"
"inv_ammo_338magnum" "10"
"price" "125"
}

View file

@ -0,0 +1,7 @@
entityDef ammo_357sig
{
"editor_usage" "Ammo used by weapon_p228"
"inherit" "ammo_base"
"inv_ammo_357sig" "13"
"price" "50"
}

7
decls/def/ammo/45acp.def Normal file
View file

@ -0,0 +1,7 @@
entityDef ammo_45acp
{
"editor_usage" "Ammo used by weapon_mac10, weapon_ump45, weapon_usp45"
"inherit" "ammo_base"
"inv_ammo_45acp" "12"
"price" "25"
}

7
decls/def/ammo/50ae.def Normal file
View file

@ -0,0 +1,7 @@
entityDef ammo_50ae
{
"editor_usage" "Ammo used by weapon_deagle"
"inherit" "ammo_base"
"inv_ammo_50ae" "7"
"price" "40"
}

View file

@ -0,0 +1,7 @@
entityDef ammo_556nato
{
"editor_usage" "Ammo used by weapon_m4a1, weapon_sg550, weapon_sg552"
"inherit" "ammo_base"
"inv_ammo_556nato" "30"
"price" "60"
}

View file

@ -0,0 +1,7 @@
entityDef ammo_556natobox
{
"editor_usage" "Ammo used by weapon_m249"
"inherit" "ammo_base"
"inv_ammo_556natobox" "30"
"price" "60"
}

7
decls/def/ammo/57mm.def Normal file
View file

@ -0,0 +1,7 @@
entityDef ammo_57mm
{
"editor_usage" "Ammo used by weapon_fiveseven, weapon_p90"
"inherit" "ammo_base"
"inv_ammo_57mm" "50"
"price" "50"
}

View file

@ -0,0 +1,7 @@
entityDef ammo_762nato
{
"editor_usage" "Ammo used by weapon_aug, weapon_famas, weapon_g3sg1, weapon_galil, weapon_ak47, weapon_scout"
"inherit" "ammo_base"
"inv_ammo_762nato" "30"
"price" "80"
}

7
decls/def/ammo/9mm.def Normal file
View file

@ -0,0 +1,7 @@
entityDef ammo_9mm
{
"editor_usage" "Ammo used by weapon_elites, weapon_glock18, weapon_mp5navy, weapon_tmp"
"inherit" "ammo_base"
"inv_ammo_9mm" "30"
"price" "20"
}

9
decls/def/ammo/base.def Normal file
View file

@ -0,0 +1,9 @@
entityDef ammo_base
{
"spawnclass" "NSItem"
"snd_acquire" "ammo.pickup"
"snd_respawn" "ammo.respawn"
"mins" "-16 -16 0"
"maxs" "16 16 16"
"model" "models/w_backpack.mdl"
}

View file

@ -0,0 +1,7 @@
entityDef ammo_buckshot
{
"editor_usage" "Ammo used by weapon_m3, weapon_xm1014"
"inherit" "ammo_base"
"inv_ammo_buckshot" "8"
"price" "65"
}

16
decls/def/hostage.def Normal file
View file

@ -0,0 +1,16 @@
entityDef hostage_entity
{
"spawnclass" "CSHostage"
"model" "models/hostage.mdl"
"netname" "Hostage"
"health" "skill:hostage_health"
"mins" "-16 -16 0"
"maxs" "16 16 72"
"eye_height" "64"
"team" "0"
"propdata" "actor_human"
"follow_on_use" "1"
"speed_walk" "64"
"speed_run" "364"
}

6
decls/def/items.def Normal file
View file

@ -0,0 +1,6 @@
#include "items/c4.def"
#include "items/suit.def"
#include "items/kevlar_helmet.def"
#include "items/nightvision.def"
#include "items/defuse.def"
#include "items/kevlar.def"

12
decls/def/items/c4.def Normal file
View file

@ -0,0 +1,12 @@
entityDef item_c4
{
"spawnclass" "CSBombEntity"
"model" "models/w_c4.mdl"
"model_led" "sprites/ledglow.spr"
"snd_beep1" "weapon_c4bomb.beep1"
"snd_beep2" "weapon_c4bomb.beep2"
"snd_beep3" "weapon_c4bomb.beep3"
"snd_beep4" "weapon_c4bomb.beep4"
"snd_beep5" "weapon_c4bomb.beep5"
"snd_planted" "c4.plant"
}

View file

@ -0,0 +1,10 @@
entityDef item_defuse
{
"spawnclass" "ncItem"
"model" "models/w_thighpack.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 16"
"snd_acquire" "buy.weapon"
"snd_respawn" "item.respawn"
"inv_carry" "1"
}

View file

@ -0,0 +1,11 @@
// actually armor
entityDef item_kevlar
{
"spawnclass" "ncItem"
"model" "models/w_kevlar.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 16"
"snd_acquire" "buy.kevlar"
"snd_respawn" "item.respawn"
"inv_armor" "100"
}

View file

@ -0,0 +1,11 @@
// other equipment
entityDef item_kevlar_helmet
{
"spawnclass" "ncItem"
"model" "models/w_kevlar.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 16"
"snd_acquire" "buy.kevlar"
"snd_respawn" "item.respawn"
"inv_carry" "1"
}

View file

@ -0,0 +1,10 @@
entityDef item_nightvision
{
"spawnclass" "ncItem"
"model" "models/w_backpack.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 16"
"snd_acquire" "buy.weapon"
"snd_respawn" "item.respawn"
"inv_carry" "1"
}

11
decls/def/items/suit.def Normal file
View file

@ -0,0 +1,11 @@
// used in the training mission, HUD etc.
entityDef item_suit
{
"spawnclass" "ncItem"
"model" "models/w_kevlar.mdl"
"mins" "-16 -16 0"
"maxs" "16 16 16"
"snd_acquire" "buy.kevlar"
"snd_respawn" "item.respawn"
"inv_carry" "1"
}

1
decls/def/monsters.def Normal file
View file

@ -0,0 +1 @@
// we have none! go away!

106
decls/def/player.def Normal file
View file

@ -0,0 +1,106 @@
entityDef player
{
"spawnclass" "CSPlayer"
"snd_stepladderLeft" "step_ladder.left"
"snd_stepladderRight" "step_ladder.right"
"snd_fall" "Player.FallDamage"
"snd_landHard" "Player.LightFall"
"snd_death" "Player.Death"
"snd_airGaspLight" "Player.GaspLight"
"snd_pain" "Player.Pain"
"snd_airGaspHeavy" "Player.GaspHeavy"
"snd_waterExit" "Player.WaterExit"
"snd_waterEnter" "Player.WaterEnter"
"snd_useDeny" "Player.DenyWeaponSelection"
"snd_useSuccess" "Player.WeaponSelected"
"snd_waterWade" "Player.Wade"
"snd_waterSwim" "Player.Swim"
}
entityDef player_mp
{
"inherit" "player"
"def_precache" "weapon_ak47"
"def_precache" "weapon_aug"
"def_precache" "weapon_awp"
"def_precache" "weapon_c4"
"def_precache" "weapon_deagle"
"def_precache" "weapon_elite"
"def_precache" "weapon_famas"
"def_precache" "weapon_fiveseven"
"def_precache" "weapon_flashbang"
"def_precache" "weapon_g3sg1"
"def_precache" "weapon_galil"
"def_precache" "weapon_glock18"
"def_precache" "weapon_hegrenade"
"def_precache" "weapon_knife"
"def_precache" "weapon_m249"
"def_precache" "weapon_m3"
"def_precache" "weapon_m4a1"
"def_precache" "weapon_mac10"
"def_precache" "weapon_mp5navy"
"def_precache" "weapon_p228"
"def_precache" "weapon_p90"
"def_precache" "weapon_scout"
"def_precache" "weapon_sg550"
"def_precache" "weapon_sg552"
"def_precache" "weapon_smokegrenade"
"def_precache" "weapon_tmp"
"def_precache" "weapon_ump45"
"def_precache" "weapon_usp"
"def_precache" "weapon_xm1014"
}
entityDef player_terrorist
{
"inherit" "player_mp"
"ammo_9mm" "40"
"current_weapon" "1"
"item" "item_suit"
"spawnpoint" "info_player_deathmatch"
"team" "1"
"weapon" "weapon_knife,weapon_glock18"
"model_class1" "models/player/terror/terror.mdl"
"model_class2" "models/player/leet/leet.mdl"
"model_class3" "models/player/arctic/arctic.mdl"
"model_class4" "models/player/guerilla/guerilla.mdl"
}
entityDef player_counterterrorist
{
"inherit" "player_mp"
"ammo_45acp" "24"
"current_weapon" "1"
"item" "item_suit"
"spawnpoint" "info_player_start"
"team" "2"
"weapon" "weapon_knife,weapon_usp"
"model_class1" "models/player/urban/urban.mdl"
"model_class2" "models/player/gsg9/gsg9.mdl"
"model_class3" "models/player/sas/sas.mdl"
"model_class4" "models/player/gign/gign.mdl"
}
entityDef player_vip
{
"inherit" "player_mp"
"ammo_45acp" "24"
"current_weapon" "1"
"item" "item_suit"
"model" "models/player/vip/vip.mdl"
"team" "2"
"weapon" "weapon_knife,weapon_usp"
}
entityDef player_csdm
{
"inherit" "player_mp"
"ammo_45acp" "24"
"current_weapon" "1"
"item" "item_suit"
"model" "models/player/vip/vip.mdl"
"weapon" "weapon_knife,weapon_usp"
}

15
decls/def/projectiles.def Normal file
View file

@ -0,0 +1,15 @@
entityDef projectile_bullet_base
{
"spawnclass" "CSProjectile"
"is_bullet" "1"
"decal_impact" "Impact.BigShot"
"detonate_on_world" "1"
}
entityDef projectile_bullet_shotgun
{
"spawnclass" "ncProjectile"
"is_bullet" "1"
"decal_impact" "Impact.BigShot"
"detonate_on_world" "1"
}

26
decls/def/spawns.def Normal file
View file

@ -0,0 +1,26 @@
entityDef info_player_start
{
"editor_mins" "-16 -16 -36"
"editor_maxs" "16 16 36"
"editor_description" "Singleplayer Spawn Point"
"editor_color" "1 0 0"
"spawnclass" "ncSpawnPoint"
}
entityDef info_player_deathmatch
{
"editor_mins" "-16 -16 -36"
"editor_maxs" "16 16 36"
"editor_description" "Deathmatch Spawn Point"
"editor_color" "1 0 0"
"spawnclass" "ncSpawnPoint"
}
entityDef info_player_coop
{
"editor_mins" "-16 -16 -36"
"editor_maxs" "16 16 36"
"editor_description" "Cooperative Spawn Point"
"editor_color" "1 0 0"
"spawnclass" "ncSpawnPoint"
}

28
decls/def/weapons.def Normal file
View file

@ -0,0 +1,28 @@
#include "weapons/csbase.def"
#include "weapons/ak47.def"
#include "weapons/aug.def"
#include "weapons/awp.def"
#include "weapons/c4.def"
#include "weapons/deagle.def"
#include "weapons/elite.def"
#include "weapons/fiveseven.def"
#include "weapons/flashbang.def"
#include "weapons/g3sg1.def"
#include "weapons/glock18.def"
#include "weapons/hegrenade.def"
#include "weapons/knife.def"
#include "weapons/m249.def"
#include "weapons/m3.def"
#include "weapons/m4a1.def"
#include "weapons/mac10.def"
#include "weapons/mp5navy.def"
#include "weapons/p228.def"
#include "weapons/p90.def"
#include "weapons/scout.def"
#include "weapons/sg550.def"
#include "weapons/sg552.def"
#include "weapons/smokegrenade.def"
#include "weapons/tmp.def"
#include "weapons/ump45.def"
#include "weapons/usp.def"
#include "weapons/xm1014.def"

View file

@ -0,0 +1,54 @@
entityDef weapon_ak47
{
"inherit" "CSBaseRifle"
"editor_usage" "AK-47 Weapon - Uses ammo_762nato"
"model" "models/w_ak47.mdl"
"model_view" "models/v_ak47.mdl"
"inv_name" "AK-47 Weapon"
"def_fireInfo" "fireInfo_ak47"
"clipSize" "30"
"act_fire" "3,4,5"
"act_reload" "1"
"act_draw" "2"
"act_idle" "0"
"snd_fire" "Weapon_AK47.Single"
"speed_mod" "0.884"
"price" "2500"
"crossMinDist" "4"
"crossDeltaDist" "4"
"accuracyDivisor" "30"
"accuracyMovementPenalty" "3"
"accuracyMultiplier" "1.5"
"rangeModifier" "2.375"
"penetrationPower" "1.0"
"bulletStrength" "1.2"
"multiplierShots" "1.1"
"multiplierStrength" "0.92"
"multiplierInaccuracy" "0.5"
"hudSlot" "0"
"hudSlotPos" "7"
"weight" "25"
}
entityDef projectile_ak47
{
"inherit" "projectile_bullet_base"
"damage" "skill:plr_ak47_dmg"
}
entityDef fireInfo_ak47
{
"def_onFire" "projectile_ak47"
"ammoType" "ammo_762nato"
"ammoRequired" "1"
"ammoPerShot" "1"
"fireRate" ".0975"
"punchAngle" "-2 0 0"
"model_flash" "sprites/muzzleflash2.spr"
}

54
decls/def/weapons/aug.def Normal file
View file

@ -0,0 +1,54 @@
entityDef weapon_aug
{
"inherit" "CSBaseRifle"
"editor_usage" "Steyr AUG Weapon - Uses ammo_762nato"
"model" "models/w_aug.mdl"
"model_view" "models/v_aug.mdl"
"inv_name" "Steyr AUG Weapon"
"def_fireInfo" "fireInfo_aug"
"clipSize" "30"
"act_fire" "3,4,5"
"act_reload" "1"
"act_draw" "2"
"act_idle" "0"
"snd_fire" "Weapon_AUG.Single"
"speed_mod" "0.96"
"price" "3500"
"crossMinDist" "3"
"crossDeltaDist" "3"
"accuracyDivisor" "35"
"accuracyMovementPenalty" "2"
"accuracyMultiplier" "1"
"rangeModifier" "2.125"
"penetrationPower" "1.0"
"bulletStrength" "1.03"
"multiplierShots" "1.1"
"multiplierStrength" "1.1"
"multiplierInaccuracy" "1.0"
"hudSlot" "0"
"hudSlotPos" "10"
"weight" "25"
}
entityDef projectile_aug
{
"inherit" "projectile_bullet_base"
"damage" "skill:plr_aug_dmg"
}
entityDef fireInfo_aug
{
"def_onFire" "projectile_aug"
"ammoType" "ammo_762nato"
"ammoRequired" "1"
"ammoPerShot" "1"
"fireRate" "0.0825f"
"punchAngle" "-2 0 0"
"model_flash" "sprites/muzzleflash2.spr"
}

64
decls/def/weapons/awp.def Normal file
View file

@ -0,0 +1,64 @@
entityDef weapon_awp
{
"inherit" "CSBaseRifle"
"editor_usage" "AWP (AI Arctic Warfare/Magnum) Weapon - Uses ammo_338magnum"
"model" "models/w_awp.mdl"
"model_view" "models/v_awp.mdl"
"inv_name" "AWP (AI Arctic Warfare/Magnum) Weapon"
"def_fireInfo" "fireInfo_awp"
"clipSize" "5"
"act_fire" "1,2,3"
"actAltFire" ""
"act_holster" ""
"act_reload" "4"
"act_draw" "5"
"act_idle" "0"
"snd_fire" "Weapon_AWP.Single"
"speed_mod" "0.84"
"price" "4750"
"crossMinDist" "8"
"crossDeltaDist" "3"
"accuracyDivisor" "-1"
"accuracyMovementPenalty" "1"
"accuracyMultiplier" "1"
"rangeModifier" "1.375"
"penetrationPower" "2.0"
"bulletStrength" "1"
"multiplierShots" "1.0"
"multiplierStrength" "1.0"
"multiplierInaccuracy" "1.0"
"hudSlot" "0"
"hudSlotPos" "12"
"weight" "30"
"zoomDuration" "0.075"
"zoomFov" "20"
"zoomFovStep" "5"
"zoomFovMin" "5"
"zoomFovMax" "40"
"snd_raise_scope" "Default.Zoom"
"snd_lower_scope" "Default.Zoom"
}
entityDef projectile_awp
{
"inherit" "projectile_bullet_base"
"damage" "skill:plr_awp_dmg"
}
entityDef fireInfo_awp
{
"def_onFire" "projectile_awp"
"ammoType" "ammo_338magnum"
"ammoRequired" "1"
"ammoPerShot" "1"
"fireRate" "1.2"
"punchAngle" "-5 0 0"
"model_flash" "sprites/muzzleflash2.spr"
}

55
decls/def/weapons/c4.def Normal file
View file

@ -0,0 +1,55 @@
entityDef weapon_c4
{
"editor_color" ".3 .3 1"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_usage" "C4 Bomb Weapon, Bomb Defusal Gamemode Entity"
"editor_rotatable" "1"
"spawnclass" "CSWeapon"
"model" "models/w_backpack.mdl"
"model_view" "models/v_c4.mdl"
"snd_acquire" "weapon.pickup"
"snd_respawn" "item.respawn"
"ammoRequired" "1"
"def_fireInfo" "fireInfo_c4Plant"
"inv_name" "C4 Bomb Weapon"
"ammoType" "ammo_c4"
"inv_ammo_c4" "1"
"trigger_delay" "3" // takes three seconds to charge
"act_fire" "2"
"act_fireFailed" "0"
"act_draw" "1"
"act_idle" "0"
"act_delay" "3"
"snd_fire" "C4.PlantSound"
"speed_mod" "1.0"
"hudSlot" "4"
"hudSlotPos" "0"
"weight" "0"
"team" "1" // Terrorists only!
"onlyInBombZone" "1"
"removeOnEmpty" "1"
}
entityDef fireInfo_c4Plant
{
"def_onFire" "projectile_c4bomb"
"testDistance" "-64"
"chargeTime" "3"
}
entityDef projectile_c4bomb
{
"spawnclass" "ncAttack"
"def_plant" "item_c4"
"plant" "1"
"plantOnGround" "1"
"plantDistance" "64"
"plantOffset" "8"
}

View file

@ -0,0 +1,52 @@
entityDef CSBaseMelee
{
"spawnclass" "CSWeapon"
"editor_color" ".3 .3 1"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_rotatable" "1"
"snd_acquire" "Player.PickupWeapon"
}
entityDef CSBasePistol
{
"spawnclass" "CSWeapon"
"editor_color" ".3 .3 1"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_rotatable" "1"
"semiAuto" "1"
"snd_acquire" "Player.PickupWeapon"
"snd_empty" "Default.ClipEmpty_Pistol"
"csWeaponMode" "1"
"model_flash" "sprites/muzzleflash1.spr"
}
entityDef CSBaseRifle
{
"spawnclass" "CSWeapon"
"editor_color" ".3 .3 1"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_rotatable" "1"
"snd_acquire" "Player.PickupWeapon"
"snd_empty" "Default.ClipEmpty_Rifle"
"csWeaponMode" "1"
"model_flash" "sprites/muzzleflash3.spr"
}
entityDef CSBaseShotgun
{
"spawnclass" "CSWeapon"
"editor_color" ".3 .3 1"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_rotatable" "1"
"snd_acquire" "Player.PickupWeapon"
"csWeaponMode" "1"
"model_flash" "sprites/muzzleflash4.spr"
}

View file

@ -0,0 +1,55 @@
entityDef weapon_deagle
{
"inherit" "CSBasePistol"
"editor_usage" "Desert Eagle .50 AE Weapon - Uses ammo_50ae"
"model" "models/w_deagle.mdl"
"model_view" "models/v_deagle.mdl"
"inv_name" "Desert Eagle .50 AE Weapon"
"def_fireInfo" "fireInfo_deagle"
"clipSize" "7"
"act_fire" "1,2"
"act_fireLast" "3"
"act_reload" "4"
"act_draw" "5"
"act_idle" "0"
"snd_fire" "Weapon_DEagle.Single"
"speed_mod" "1.0"
"price" "650"
"crossMinDist" "8"
"crossDeltaDist" "3"
"accuracyDivisor" "55"
"accuracyMovementPenalty" "1.5"
"accuracyMultiplier" "1.0"
"accuracyAdd" "0.005"
"rangeModifier" "1.875"
"penetrationPower" "1.0"
"bulletStrength" "0.5"
"multiplierShots" "10"
"multiplierStrength" "0.35"
"multiplierInaccuracy" "0.5"
"hudSlot" "1"
"hudSlotPos" "2"
"weight" "7"
}
entityDef projectile_deagle
{
"inherit" "projectile_bullet_base"
"damage" "skill:plr_deagle_dmg"
}
entityDef fireInfo_deagle
{
"def_onFire" "projectile_deagle"
"ammoType" "ammo_50ae"
"ammoRequired" "1"
"ammoPerShot" "1"
"fireRate" "0.2"
"model_flash" "sprites/muzzleflash2.spr"
}

View file

@ -0,0 +1,66 @@
entityDef weapon_elite
{
"inherit" "CSBasePistol"
"editor_usage" "Dual Beretta 96G (Elites) Weapon - Uses ammo_9mm"
"model" "models/w_elite.mdl"
"model_view" "models/v_elite.mdl"
"inv_name" "Dual Beretta 96G (Elites) Weapon"
"def_fireInfo" "fireInfo_elite"
"def_altFireInfo" "fireInfo_elite_alt"
"clipSize" "30"
"act_fire" "2,3,4,5,6"
"act_fireLast" "7"
"act_reload" "14"
"act_draw" "15"
"act_idle" "0"
"snd_fire" "Weapon_ELITE.Single"
"snd_altfire" "Weapon_ELITE.Single"
"altAlternates" "1"
"speed_mod" "1.0"
"price" "1000"
"crossMinDist" "4"
"crossDeltaDist" "3"
"accuracyDivisor" "150"
"accuracyMovementPenalty" "1"
"accuracyMultiplier" "1"
"accuracyAdd" "0.002"
"rangeModifier" "1.875"
"penetrationPower" "1.0"
"bulletStrength" "0.9"
"multiplierShots" "3"
"multiplierStrength" "0.85"
"multiplierInaccuracy" "1.0"
"hudSlot" "1"
"hudSlotPos" "4"
"weight" "5"
}
entityDef projectile_elite
{
"inherit" "projectile_bullet_base"
"damage" "skill:plr_elite_dmg"
}
entityDef fireInfo_elite
{
"def_onFire" "projectile_elite"
"ammoType" "ammo_9mm"
"ammoRequired" "1"
"ammoPerShot" "1"
"fireRate" "0.13"
"punchAngle" "-2 0 0"
"model_flash" "sprites/muzzleflash2.spr"
}
entityDef fireInfo_elite_alt
{
"inherit" "fireInfo_elite"
"act_fire" "8,9,10,11,12"
"act_fireLast" "13"
}

View file

@ -0,0 +1,56 @@
entityDef weapon_famas
{
"inherit" "CSBaseRifle"
"editor_usage" "FAMAS Weapon - Uses ammo_762nato"
"model" "models/w_famas.mdl"
"model_view" "models/v_famas.mdl"
"inv_name" "FAMAS Weapon"
"def_fireInfo" "fireInfo_famas"
"clipSize" ""
"act_fire" ""
"actAltFire" ""
"act_holster" ""
"act_reload" ""
"act_draw" ""
"act_idle" ""
"snd_fire" "Weapon_FAMAS.Single"
"speed_mod" ""
"price" ""
"crossMinDist" ""
"crossDeltaDist" ""
"accuracyDivisor" ""
"accuracyMovementPenalty" ""
"accuracyMultiplier" ""
"rangeModifier" ""
"penetrationPower" ""
"bulletStrength" ""
"multiplierShots" ""
"multiplierStrength" ""
"multiplierInaccuracy" ""
"hudSlot" "0"
"hudSlotPos" "7"
"weight" "25"
}
entityDef projectile_famas
{
"inherit" "projectile_bullet_base"
"damage" "skill:plr_famas_dmg"
}
entityDef fireInfo_famas
{
"def_onFire" "projectile_famas"
"ammoType" "ammo_762nato"
"ammoRequired" "1"
"ammoPerShot" "1"
"fireRate" ""
"model_flash" "sprites/muzzleflash2.spr"
}

View file

@ -0,0 +1,57 @@
entityDef weapon_fiveseven
{
"inherit" "CSBasePistol"
"editor_usage" "Five-SeveN Weapon - Uses ammo_57mm"
"model" "models/w_fiveseven.mdl"
"model_view" "models/v_fiveseven.mdl"
"inv_name" "Five-SeveN Weapon"
"def_fireInfo" "fireInfo_fiveseven"
"clipSize" "20"
"act_fire" "1,2"
"act_fireLast" "3"
"act_reload" "4"
"act_draw" "5"
"act_idle" "0"
"snd_fire" "Weapon_FiveSeven.Single"
"speed_mod" "1.0"
"price" "750"
"crossMinDist" "8"
"crossDeltaDist" "3"
"accuracyDivisor" "200"
"accuracyMovementPenalty" "1.4"
"accuracyMultiplier" "1"
"accuracyAdd" "0.0055"
"rangeModifier" "1.875"
"penetrationPower" "1.0"
"bulletStrength" "0.5"
"multiplierShots" "10"
"multiplierStrength" "0.4"
"multiplierInaccuracy" "1.0"
"hudSlot" "1"
"hudSlotPos" "5"
"weight" "5"
}
entityDef projectile_fiveseven
{
"inherit" "projectile_bullet_base"
"damage" "skill:plr_fiveseven_dmg"
}
entityDef fireInfo_fiveseven
{
"def_onFire" "projectile_fiveseven"
"ammoType" "ammo_57mm"
"ammoRequired" "1"
"ammoPerShot" "1"
"fireRate" "0.155"
"punchAngle" "-2 0 0"
"model_flash" "sprites/muzzleflash2.spr"
}

View file

@ -0,0 +1,53 @@
entityDef weapon_flashbang
{
"editor_color" ".3 .3 1"
"editor_mins" "-16 -16 -16"
"editor_maxs" "16 16 16"
"editor_usage" "Flashbang"
"editor_rotatable" "1"
"spawnclass" "CSWeapon"
"model" "models/w_flashbang.mdl"
"model_view" "models/v_flashbang.mdl"
"snd_acquire" "weapon.pickup"
"snd_respawn" "item.respawn"
//"def_onFire" "projectile_flashgrenade"
"def_onRelease" "projectile_flashgrenade"
"inv_name" "Flashbang"
"ammoType" "ammo_flashbang"
"ammoRequired" "1"
"inv_ammo_flashbang" "1"
"silent_fire" "1"
"primed_fuse" "4"
"act_idle" "0"
"act_draw" "3"
"act_delay" "1"
"act_fire" "2"
"chargeTime" "2"
"removeOnEmpty" "1"
"drawAfterRelease" "1"
"hudSlot" "3"
"hudSlotPos" "1"
}
entityDef projectile_flashgrenade
{
"spawnclass" "CSProjectile"
"model" "models/w_smokegrenade.mdl"
"frame" "1"
"fuse" "4"
"detonate_on_fuse" "1"
"thrown" "1"
"bounce" "1"
"angular_velocity" "-350 0 0"
"velocity" "300 0 40"
"snd_explode" "Flashbang.Explode"
"snd_bounce" "Flashbang.Bounce"
"decal_detonate" "ExplosionScorch"
"flashTime" "4"
}

Some files were not shown because too many files have changed in this diff Show more