Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Jugheadbomb committed Aug 20, 2022
0 parents commit 4cdc40d
Show file tree
Hide file tree
Showing 19 changed files with 3,573 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.smx
.vscode
22 changes: 22 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Engineers VS Zombies

Simple **Zombie Survival** gamemode for Team Fortress 2

## Features
- Customizable config for weapon balances
- 10+ bonus rounds that make various changes to gameplay
- There are `zs_` maps for that gamemode, but it can be run on any map (`cp_`, `pl_`, `koth_` etc.)

## Commands
- `sm_evz`: Displays main menu with all of the information

## Admin commands
- `sm_evz_startbonus`: Start random bonus round

## Requirements
- SourceMod 1.10+
- [tf2items](https://forums.alliedmods.net/showthread.php?p=1050170)
- [tf2attributes](https://forums.alliedmods.net/showthread.php?t=210221)
- [tf_econ_data](https://forums.alliedmods.net/showthread.php?t=315011)
- [dhooks with detour support](https://forums.alliedmods.net/showpost.php?p=2588686&postcount=589)
- [morecolors](https://forums.alliedmods.net/showthread.php?t=185016) (Only needed if recompiling)
69 changes: 69 additions & 0 deletions addons/sourcemod/configs/evz/bonusrounds.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
"BonusRounds"
{
"1" // Round id (must be defined in BonusRound enum)
{
"enable" "1" // Enable/Disable (default: 1)
"name" "BonusRound_LowGravity" // Name [translations]
"desc" "BonusRound_LowGravity_Desc" // Description [translations]
}
"2"
{
"name" "BonusRound_CuriousFeeling"
"desc" "BonusRound_CuriousFeeling_Desc"
}
"3"
{
"name" "BonusRound_NoDispensers"
"desc" "BonusRound_NoDispensers_Desc"
}
"4"
{
"name" "BonusRound_EarlyOutbreak"
"desc" "BonusRound_EarlyOutbreak_Desc"
}
"5"
{
"name" "BonusRound_MurderousJoy"
"desc" "BonusRound_MurderousJoy_Desc"
}
"6"
{
"name" "BonusRound_KevlarVests"
"desc" "BonusRound_KevlarVests_Desc"
}
"7"
{
"name" "BonusRound_DoubleDilemma"
"desc" "BonusRound_DoubleDilemma_Desc"
}
"8"
{
"name" "BonusRound_HighGravity"
"desc" "BonusRound_HighGravity_Desc"
}
"9"
{
"name" "BonusRound_MeleeBattle"
"desc" "BonusRound_MeleeBattle_Desc"
}
"10"
{
"name" "BonusRound_RandomFits"
"desc" "BonusRound_RandomFits_Desc"
}
"11"
{
"name" "BonusRound_HotPotato"
"desc" "BonusRound_HotPotato_Desc"
}
"12"
{
"name" "BonusRound_NoUpgrades"
"desc" "BonusRound_NoUpgrades_Desc"
}
"13"
{
"name" "BonusRound_TeamSwap"
"desc" "BonusRound_TeamSwap_Desc"
}
}
130 changes: 130 additions & 0 deletions addons/sourcemod/configs/evz/weapons.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
// Parameters
//- prefab (*) - Which weapon index should weapon copy to
//- name - Translations name of the weapon
//- desc - Translations description of the weapon
//- attrib - Attributes applied on weapon
//- attrib_onswitch (*) - Attributes applied on fully switch to weapon
//- replace (*) - Replace weapon with this index
//- sentry - Allow/Disallow building mini-sentry <1/0>
//- block_m2 (*) - Block secondary attack from weapon <1/0>
//- kill_combo_crit (*) - Guaranteed crit after X kills from weapon (blocks any other crits from weapon)

// * that parameter only supports index section (not classname)

"Weapons"
{
// Survivors
"tf_weapon_pistol" // All pistols
{
"name" "Weapon_Pistol"
"desc" "Weapon_Pistol_Desc"
"attrib" "79 ; 0.18"
}
"tf_weapon_wrench" // All wrenches
{
"name" "Weapon_Wrench"
"desc" "Weapon_Wrench_Desc"
"attrib" "26 ; 25.0 ; 124 ; 1.0"
}

"141" // Frontier Justice
{
"name" "Weapon_FrontierJustice"
"desc" "Weapon_FrontierJustice_Desc"
"attrib" "318 ; 0.5 ; 76 ; 1.3125"
}
"1004" // Festive Frontier Justice
{
"prefab" "141"
}
"527" // Widowmaker
{
"name" "Weapon_Widowmaker"
"desc" "Weapon_Widowmaker_Desc"
"attrib" "298 ; 40.0"
}
"588" // Pomson 6000
{
"name" "Weapon_Pomson"
"desc" "Weapon_Pomson_Desc"
"attrib" "318 ; 0.9 ; 6 ; 0.6"
}
"997" // Rescue Ranger
{
"name" "Weapon_RescueRanger"
"desc" "Weapon_RescueRanger_Desc"
"attrib" "1 ; 0.6 ; 287 ; 0.5 ; 344 ; 0.65 ; 343 ; 1.4"
"sentry" "1"
}
"1153" // Panic Attack
{
"name" "Weapon_PanicAttack"
"desc" "Weapon_PanicAttack_Desc"
"attrib" "318 ; 0.7 ; 808 ; 0.0 ; 547 ; 1.0"
}
"528" // Short Circuit
{
"name" "Weapon_ShortCircuit"
"desc" "Weapon_ShortCircuit_Desc"
"attrib" "2 ; 2.0"
"block_m2" "1"
}
"140" // Wrangler
{
"name" "Weapon_Wrangler"
"desc" "Weapon_Wrangler_Desc"
"attrib" "773 ; 1.75"
"attrib_onswitch" "107 ; 1.1 ; 412 ; 0.65"
}
"1086" // Festive Wrangler
{
"prefab" "140"
}
"30668" // Gigar Counter
{
"prefab" "140"
}
"155" // Southern Hospitality
{
"name" "Weapon_SouthernHospitality"
"desc" "Weapon_SouthernHospitality_Desc"
"attrib" "5 ; 1.15"
}
"589" // Eureka Effect
{
"name" "Weapon_EurekaEffect"
"desc" "Weapon_EurekaEffect_Desc"
"attrib" "113 ; 10.0 ; 352 ; 0.0"
}
"142" // Gunslinger
{
"name" "Weapon_Gunslinger"
"desc" "Weapon_Gunslinger_Desc"
"attrib" "464 ; 1.0"
"kill_combo_crit" "2"
}

// Zombies
"37" // Ubersaw
{
"name" "Weapon_Ubersaw"
"desc" "Weapon_Ubersaw_Desc"
"attrib" "16 ; 10.0"
}
"1003" // Festive Ubersaw
{
"prefab" "37"
}
"173" // Vitasaw
{
"name" "Weapon_Vitasaw"
"desc" "Weapon_Vitasaw_Desc"
"attrib" "137 ; 1.15 ; 125 ; -20.0"
}
"413" // Solemn Vow
{
"name" "Weapon_SolemnVow"
"desc" "Weapon_SolemnVow_Desc"
"attrib" "252 ; 0.5"
}
}
93 changes: 93 additions & 0 deletions addons/sourcemod/gamedata/evz.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
"Games"
{
"tf"
{
"Offsets"
{
"CBaseEntity::ShouldTransmit"
{
"linux" "19"
"windows" "18"
}
"CBaseObject::CanBeUpgraded"
{
"linux" "380"
"windows" "379"
}
}
"Signatures"
{
"CTFWeaponBaseMelee::DoSwingTraceInternal"
{
"library" "server"
"linux" "@_ZN18CTFWeaponBaseMelee20DoSwingTraceInternalER10CGameTracebP10CUtlVectorIS0_10CUtlMemoryIS0_iEE"
"windows" "\x53\x8B\xDC\x83\xEC\x08\x83\xE4\xF0\x83\xC4\x04\x55\x8B\x6B\x04\x89\x6C\x24\x04\x8B\xEC\x81\xEC\x38\x05\x00\x00\xA1\x2A\x2A\x2A\x2A"
}
"CTFPlayer::TeamFortress_SetSpeed"
{
"library" "server"
"linux" "@_ZN9CTFPlayer21TeamFortress_SetSpeedEv"
"windows" "\x55\x8B\xEC\xA1\x2A\x2A\x2A\x2A\x83\xEC\x1C\x53"
}
"CTFPlayer::PlayTauntSceneFromItem"
{
"library" "server"
"linux" "@_ZN9CTFPlayer22PlayTauntSceneFromItemEPK13CEconItemView"
"windows" "\x55\x8B\xEC\x81\xEC\x0C\x01\x00\x00\x53\x8B\x5D\x08\x57\x8B"
}
}
"Functions"
{
"CBaseEntity::ShouldTransmit"
{
"offset" "CBaseEntity::ShouldTransmit"
"hooktype" "entity"
"return" "int"
"this" "entity"
"arguments"
{
"pTransmitInfo"
{
"type" "objectptr"
}
}
}
"CBaseObject::CanBeUpgraded"
{
"offset" "CBaseObject::CanBeUpgraded"
"hooktype" "entity"
"return" "bool"
"this" "entity"
"arguments"
{
"pPlayer"
{
"type" "cbaseentity"
}
}
}
"CTFWeaponBaseMelee::DoSwingTraceInternal"
{
"signature" "CTFWeaponBaseMelee::DoSwingTraceInternal"
"callconv" "thiscall"
"return" "bool"
"this" "entity"
"arguments"
{
"trace"
{
"type" "objectptr"
}
"bCleave"
{
"type" "bool"
}
"pTargetTraceVector"
{
"type" "objectptr"
}
}
}
}
}
}
Loading

0 comments on commit 4cdc40d

Please sign in to comment.