major update so that boss rounds also can feature minion zombies that dont count towards winning the round
This commit is contained in:
parent
8c80d4ac05
commit
8455a1a231
@ -14,6 +14,7 @@
|
||||
"jump_height" "1.02"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
|
||||
"blades"
|
||||
@ -30,6 +31,7 @@
|
||||
"jump_height" "1.02"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
|
||||
"clown"
|
||||
@ -46,6 +48,7 @@
|
||||
"jump_height" "1.02"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
|
||||
"knight"
|
||||
@ -62,5 +65,74 @@
|
||||
"jump_height" "1.02"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
|
||||
"t_arctic"
|
||||
{
|
||||
"unique name" "public skin terrorist arctic"
|
||||
"team" "Human"
|
||||
"group" " "
|
||||
"sm_flags" " "
|
||||
"model path" "models/player/t_arctic.mdl"
|
||||
"no_fall_damage" "NO"
|
||||
"health" "100"
|
||||
"speed" "1"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.02"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
|
||||
"t_guerilla"
|
||||
{
|
||||
"unique name" "public skin terrorist guerilla"
|
||||
"team" "Human"
|
||||
"group" " "
|
||||
"sm_flags" " "
|
||||
"model path" "models/player/t_guerilla.mdl"
|
||||
"no_fall_damage" "NO"
|
||||
"health" "100"
|
||||
"speed" "1"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.02"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
|
||||
"t_leet"
|
||||
{
|
||||
"unique name" "public skin terrorist leet"
|
||||
"team" "Human"
|
||||
"group" " "
|
||||
"sm_flags" " "
|
||||
"model path" "models/player/t_leet.mdl"
|
||||
"no_fall_damage" "NO"
|
||||
"health" "100"
|
||||
"speed" "1"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.02"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
|
||||
"t_phoenix"
|
||||
{
|
||||
"unique name" "public skin terrorist pheonix"
|
||||
"team" "Human"
|
||||
"group" " "
|
||||
"sm_flags" " "
|
||||
"model path" "models/player/t_phoenix.mdl"
|
||||
"no_fall_damage" "NO"
|
||||
"health" "100"
|
||||
"speed" "1"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.02"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
}
|
||||
|
@ -10,10 +10,11 @@
|
||||
"no_fall_damage" "YES"
|
||||
"health" "40"
|
||||
"speed" "1"
|
||||
"knockback" "2.0"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.1"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"zombie2"
|
||||
{
|
||||
@ -25,10 +26,11 @@
|
||||
"no_fall_damage" "YES"
|
||||
"health" "50"
|
||||
"speed" "1"
|
||||
"knockback" "2.0"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.1"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"zombie3"
|
||||
{
|
||||
@ -39,11 +41,12 @@
|
||||
"model path" "models/player/zh/zh_corpse002.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "60"
|
||||
"speed" "0.5"
|
||||
"knockback" "2.0"
|
||||
"speed" "1"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.1"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"biohazard"
|
||||
{
|
||||
@ -55,10 +58,11 @@
|
||||
"no_fall_damage" "YES"
|
||||
"health" "125"
|
||||
"speed" "1"
|
||||
"knockback" "2.0"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"fatty"
|
||||
{
|
||||
@ -68,12 +72,13 @@
|
||||
"sm_flags" " "
|
||||
"model path" "models/player/elis/fty/fatty.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "800"
|
||||
"speed" "0.7"
|
||||
"knockback" "2.0"
|
||||
"health" "500"
|
||||
"speed" "0.8"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"verdugo"
|
||||
{
|
||||
@ -84,11 +89,12 @@
|
||||
"model path" "models/player/elis/vd/verdugo.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "150"
|
||||
"speed" "2"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.6"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"spitter"
|
||||
{
|
||||
@ -99,11 +105,12 @@
|
||||
"model path" "models/player/kuristaja/l4d2/spitter/spitter.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "125"
|
||||
"speed" "2"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.4"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"pil_fast_v5"
|
||||
{
|
||||
@ -114,11 +121,12 @@
|
||||
"model path" "models/player/pil/fast_v5/pil_fast_v5.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "150"
|
||||
"speed" "2.5"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.4"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"tyrant_pil"
|
||||
{
|
||||
@ -128,12 +136,13 @@
|
||||
"sm_flags" " "
|
||||
"model path" "models/player/pil/re1/proto_tyrant/tyrant_pil.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "700"
|
||||
"health" "500"
|
||||
"speed" "1"
|
||||
"knockback" "2.0"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"nemesis_pil"
|
||||
{
|
||||
@ -145,10 +154,11 @@
|
||||
"no_fall_damage" "YES"
|
||||
"health" "800"
|
||||
"speed" "1"
|
||||
"knockback" "2.0"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"majini"
|
||||
{
|
||||
@ -159,11 +169,12 @@
|
||||
"model path" "models/player/slow/amberlyn/re5/tentacle_crap_majini/slow.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "70"
|
||||
"speed" "3"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.4"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"uroboro"
|
||||
{
|
||||
@ -174,11 +185,12 @@
|
||||
"model path" "models/player/slow/amberlyn/re5/uroboro/slow_public.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "75"
|
||||
"speed" "3"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.4"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"babycrab"
|
||||
{
|
||||
@ -189,11 +201,12 @@
|
||||
"model path" "models/player/slow/babycrab_v2/slow_babycrab.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "50"
|
||||
"speed" "3"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.3"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"berserker"
|
||||
{
|
||||
@ -203,12 +216,13 @@
|
||||
"sm_flags" " "
|
||||
"model path" "models/player/slow/berserkerin/slow_big.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "250"
|
||||
"speed" "2.5"
|
||||
"knockback" "2.0"
|
||||
"health" "2500"
|
||||
"speed" "1"
|
||||
"knockback" "0.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "1"
|
||||
}
|
||||
"hellknight"
|
||||
{
|
||||
@ -219,11 +233,12 @@
|
||||
"model path" "models/player/ics/hellknight_red/t_guerilla.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "250"
|
||||
"speed" "2.5"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.4"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"centurion"
|
||||
{
|
||||
@ -234,11 +249,12 @@
|
||||
"model path" "models/player/slow/centurion/slow_centurion.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "150"
|
||||
"speed" "1.5"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.2"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"kahn"
|
||||
{
|
||||
@ -249,11 +265,12 @@
|
||||
"model path" "models/player/slow/jamis/mkvsdcu/dark_kahn/slow_pub.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "3000"
|
||||
"speed" "2.5"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.1"
|
||||
"knockback" "0.0"
|
||||
"jump_height" "1.5"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "1"
|
||||
}
|
||||
"chucky"
|
||||
{
|
||||
@ -264,11 +281,12 @@
|
||||
"model path" "models/player/slow/chucky_v3/slow.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "60"
|
||||
"speed" "2.4"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.4"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"krall"
|
||||
{
|
||||
@ -279,11 +297,12 @@
|
||||
"model path" "models/player/slow/krall/slow.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "4000"
|
||||
"speed" "2"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.1"
|
||||
"knockback" "0.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "1"
|
||||
}
|
||||
"strong"
|
||||
{
|
||||
@ -294,11 +313,12 @@
|
||||
"model path" "models/player/slow/bloodsucker_pack/slow_strong.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "150"
|
||||
"speed" "2"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.6"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.5"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"gigantev2"
|
||||
{
|
||||
@ -309,11 +329,12 @@
|
||||
"model path" "models/player/slow/gigante/slow_gigante.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "10000"
|
||||
"speed" "2.5"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.2"
|
||||
"knockback" "0.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "10.0"
|
||||
"damage_multiplier" "1.5"
|
||||
"boss_class" "1"
|
||||
}
|
||||
"alienv1"
|
||||
{
|
||||
@ -324,11 +345,12 @@
|
||||
"model path" "models/player/slow/aliendrone/slow_alien.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "125"
|
||||
"speed" "2.5"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.5"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"witch"
|
||||
{
|
||||
@ -339,11 +361,12 @@
|
||||
"model path" "models/player/techknow/left4dead/witch.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "120"
|
||||
"speed" "2"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.2"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"bosspider"
|
||||
{
|
||||
@ -354,11 +377,12 @@
|
||||
"model path" "models/player/slow/monster_spider/slow.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "2500"
|
||||
"speed" "2"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.2"
|
||||
"knockback" "0.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "4.0"
|
||||
"damage_multiplier" "1.5"
|
||||
"boss_class" "1"
|
||||
}
|
||||
"hunter"
|
||||
{
|
||||
@ -369,11 +393,12 @@
|
||||
"model path" "models/player/techknow/left4dead/hunter.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "100"
|
||||
"speed" "3"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.5"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"doge"
|
||||
{
|
||||
@ -384,11 +409,12 @@
|
||||
"model path" "models/player/slow/amberlyn/zombie_dog/slow_2.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "55"
|
||||
"speed" "2.8"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.5"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"balrog"
|
||||
{
|
||||
@ -399,11 +425,12 @@
|
||||
"model path" "models/player/slow/amberlyn/lotr/balrog/slow.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "12000"
|
||||
"speed" "3"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.1"
|
||||
"knockback" "0.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "5000.0"
|
||||
"damage_multiplier" "1.5"
|
||||
"boss_class" "1"
|
||||
}
|
||||
"raam"
|
||||
{
|
||||
@ -414,11 +441,12 @@
|
||||
"model path" "models/player/slow/general_raam/slow.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "2700"
|
||||
"speed" "2"
|
||||
"knockback" "2.0"
|
||||
"speed" "1"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "1"
|
||||
}
|
||||
"abaddon"
|
||||
{
|
||||
@ -429,11 +457,12 @@
|
||||
"model path" "models/player/unloze_zr/abaddon.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "300"
|
||||
"speed" "1.8"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.2"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"servo_skull"
|
||||
{
|
||||
@ -444,11 +473,12 @@
|
||||
"model path" "models/player/kodua/servo_skull/servo_skull.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "15"
|
||||
"speed" "4"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.2"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"bahamut"
|
||||
{
|
||||
@ -459,11 +489,12 @@
|
||||
"model path" "models/player/unloze_zr/bahamut.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "6000"
|
||||
"speed" "2.5"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.2"
|
||||
"knockback" "0.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.5"
|
||||
"boss_class" "1"
|
||||
}
|
||||
"uberevil"
|
||||
{
|
||||
@ -474,11 +505,12 @@
|
||||
"model path" "models/player/unloze_zr/uberevil.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "140"
|
||||
"speed" "1.8"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.2"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"alien_spider"
|
||||
{
|
||||
@ -489,11 +521,12 @@
|
||||
"model path" "models/player/unloze_zr/alien_spider.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "140"
|
||||
"speed" "1.8"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.2"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"akasha"
|
||||
{
|
||||
@ -504,11 +537,12 @@
|
||||
"model path" "models/player/unloze_zr/akasha.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "300"
|
||||
"speed" "2"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.2"
|
||||
"knockback" "0.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
"theron_guard"
|
||||
{
|
||||
@ -519,11 +553,12 @@
|
||||
"model path" "models/player/unloze_zr/theron_guard.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "2900"
|
||||
"speed" "2.4"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.1"
|
||||
"knockback" "0.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "1"
|
||||
}
|
||||
"antlion"
|
||||
{
|
||||
@ -531,14 +566,14 @@
|
||||
"team" "ZM"
|
||||
"group" " "
|
||||
"sm_flags" " "
|
||||
"model path" "models/player/techknow/antlion.mdl"
|
||||
"model path" "models/player/techknow/antlion/antlion.mdl"
|
||||
"no_fall_damage" "YES"
|
||||
"health" "200"
|
||||
"speed" "2"
|
||||
"knockback" "2.0"
|
||||
"speed" "1.1"
|
||||
"knockback" "1.0"
|
||||
"jump_height" "1.4"
|
||||
"jump_distance" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"damage_multiplier" "1.0"
|
||||
"boss_class" "0"
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -15,9 +15,8 @@ Left 4 Doge
|
||||
BOSS - Krall and Kahn come back
|
||||
Invaders vs Akasha
|
||||
MINI BOSS - Spiders Party
|
||||
Cyborg Skull
|
||||
BOSS - Raam vs Theron
|
||||
Nightmares
|
||||
BOSS RUSH!
|
||||
Armageddon
|
||||
BOSS - Bahamut
|
||||
BOSS - El Gigante
|
||||
|
@ -4,6 +4,11 @@
|
||||
|
||||
// "bot_static" if you use bot_scaling 0 the plugin will instead use the value given in bot_static to spawn a static amount of bots into the game.
|
||||
// if bot_scaling is not 0 it will always pick bot_scaling and just ignore bot_static.
|
||||
|
||||
// on boss rounds bot_static is used for deciding the amount of bots that will be bosses.
|
||||
// on boss rounds bot_scaling is used for deciding the amount of bots that will be minions.
|
||||
// on boss rounds the minion bots do not count towards zombie count, so they can be killed infinite amount of times.
|
||||
|
||||
//
|
||||
// "PlayerScaleAbility"
|
||||
// Multiplied by the zombie count, the amount of needed kills to add
|
||||
@ -85,10 +90,13 @@
|
||||
"HealthScaleAbility" "0.000000"
|
||||
"Zombie Count" "5"
|
||||
"Respawns" "99"
|
||||
"bot_scaling" "5"
|
||||
"bot_static" "0"
|
||||
"bot_scaling" "5" //on boss round bot_scaling is for minion bots. minion bots dont count towards Zombie Count
|
||||
"bot_static" "2" //on boss round bot_static is for boss bots
|
||||
"wavecommand" " "
|
||||
"Zombie Class" "berserker"
|
||||
"Zombie Class" "zombie1"
|
||||
"Zombie Class" "zombie2"
|
||||
"Zombie Class" "zombie3"
|
||||
"Human Class" "@all"
|
||||
}
|
||||
// Starkiller
|
||||
@ -142,11 +150,14 @@
|
||||
"HealthScaleAbility" "0.000000"
|
||||
"Zombie Count" "5"
|
||||
"Respawns" "99"
|
||||
"bot_scaling" "0"
|
||||
"bot_static" "3"
|
||||
"bot_scaling" "5" //on boss round bot_scaling is for minion bots. minion bots dont count towards Zombie Count
|
||||
"bot_static" "3" //on boss round bot_static is for boss bots
|
||||
"wavecommand" " "
|
||||
"Zombie Class" "kahn"
|
||||
"Zombie Class" "krall"
|
||||
"Zombie Class" "zombie1"
|
||||
"Zombie Class" "zombie2"
|
||||
"Zombie Class" "zombie3"
|
||||
"Human Class" "@all"
|
||||
}
|
||||
// Mix of Madness
|
||||
@ -238,11 +249,14 @@
|
||||
"HealthScaleAbility" "0.000000"
|
||||
"Zombie Count" "5"
|
||||
"Respawns" "99"
|
||||
"bot_scaling" "0"
|
||||
"bot_static" "3"
|
||||
"bot_scaling" "5" //on boss round bot_scaling is for minion bots. minion bots dont count towards Zombie Count
|
||||
"bot_static" "3" //on boss round bot_static is for boss bots
|
||||
"wavecommand" " "
|
||||
"Zombie Class" "krall"
|
||||
"Zombie Class" "kahn"
|
||||
"Zombie Class" "zombie1"
|
||||
"Zombie Class" "zombie2"
|
||||
"Zombie Class" "zombie3"
|
||||
"Human Class" "@all"
|
||||
}
|
||||
// Invaders vs Akasha
|
||||
@ -267,10 +281,13 @@
|
||||
"HealthScaleAbility" "0.000000"
|
||||
"Zombie Count" "16"
|
||||
"Respawns" "99"
|
||||
"bot_scaling" "5"
|
||||
"bot_static" "0"
|
||||
"bot_scaling" "5" //on boss round bot_scaling is for minion bots. minion bots dont count towards Zombie Count
|
||||
"bot_static" "5" //on boss round bot_static is for boss bots
|
||||
"wavecommand" " "
|
||||
"Zombie Class" "bosspider"
|
||||
"Zombie Class" "zombie1"
|
||||
"Zombie Class" "zombie2"
|
||||
"Zombie Class" "zombie3"
|
||||
"Human Class" "@all"
|
||||
}
|
||||
// BOSS - Raam vs Theron
|
||||
@ -280,40 +297,35 @@
|
||||
"HealthScaleAbility" "0.000000"
|
||||
"Zombie Count" "10"
|
||||
"Respawns" "99"
|
||||
"bot_scaling" "0"
|
||||
"bot_static" "3"
|
||||
"bot_scaling" "5" //on boss round bot_scaling is for minion bots. minion bots dont count towards Zombie Count
|
||||
"bot_static" "3" //on boss round bot_static is for boss bots
|
||||
"wavecommand" " "
|
||||
"Zombie Class" "raam"
|
||||
"Zombie Class" "theron_guard"
|
||||
"Zombie Class" "zombie1"
|
||||
"Zombie Class" "zombie2"
|
||||
"Zombie Class" "zombie3"
|
||||
"Human Class" "@all"
|
||||
}
|
||||
// Nightmares
|
||||
// BOSS RUSH!
|
||||
"Wave 19"
|
||||
{
|
||||
"PlayerScaleAbility" "0.1"
|
||||
"HealthScaleAbility" "0.100000"
|
||||
"Zombie Count" "225"
|
||||
"PlayerScaleAbility" "0"
|
||||
"HealthScaleAbility" "0.500000"
|
||||
"Zombie Count" "6"
|
||||
"Respawns" "99"
|
||||
"bot_scaling" "16"
|
||||
"bot_static" "0"
|
||||
"bot_scaling" "5" //on boss round bot_scaling is for minion bots. minion bots dont count towards Zombie Count
|
||||
"bot_static" "1" //on boss round bot_static is for boss bots
|
||||
"wavecommand" " "
|
||||
"Zombie Class" "strong"
|
||||
"Zombie Class" "verdugo"
|
||||
"Zombie Class" "hunter"
|
||||
"Zombie Class" "witch"
|
||||
"Zombie Class" "doge"
|
||||
"Zombie Class" "babycrab"
|
||||
"Zombie Class" "abaddon"
|
||||
"Zombie Class" "alienv1"
|
||||
"Zombie Class" "chucky"
|
||||
"Zombie Class" "servo_skull"
|
||||
"Zombie Class" "pil_fast_v5"
|
||||
"Zombie Class" "hellknight"
|
||||
"Zombie Class" "akasha"
|
||||
"Zombie Class" "nemesis_pil"
|
||||
"Zombie Class" "tyrant_pil"
|
||||
"Zombie Class" "alien_spider"
|
||||
"Zombie Class" "antlion"
|
||||
"Zombie Class" "berserker"
|
||||
"Zombie Class" "krall"
|
||||
"Zombie Class" "kahn"
|
||||
"Zombie Class" "theron_guard"
|
||||
"Zombie Class" "raam"
|
||||
"Zombie Class" "bosspider"
|
||||
"Zombie Class" "zombie1"
|
||||
"Zombie Class" "zombie2"
|
||||
"Zombie Class" "zombie3"
|
||||
"Human Class" "@all"
|
||||
}
|
||||
// Armageddon
|
||||
@ -358,12 +370,23 @@
|
||||
{
|
||||
"PlayerScaleAbility" "0"
|
||||
"HealthScaleAbility" "0.500000"
|
||||
"Zombie Count" "3"
|
||||
"Zombie Count" "5"
|
||||
"Respawns" "99"
|
||||
"bot_scaling" "0"
|
||||
"bot_static" "3"
|
||||
"bot_scaling" "5" //on boss round bot_scaling is for minion bots. minion bots dont count towards Zombie Count
|
||||
"bot_static" "3" //on boss round bot_static is for boss bots
|
||||
"wavecommand" " "
|
||||
"Zombie Class" "bahamut"
|
||||
"Zombie Class" "majini"
|
||||
"Zombie Class" "uroboro"
|
||||
"Zombie Class" "babycrab"
|
||||
"Zombie Class" "chucky"
|
||||
"Zombie Class" "fatty"
|
||||
"Zombie Class" "tyrant_pil"
|
||||
"Zombie Class" "hellknight"
|
||||
"Zombie Class" "doge"
|
||||
"Zombie Class" "hunter"
|
||||
"Zombie Class" "witch"
|
||||
"Zombie Class" "nemesis_pil"
|
||||
"Human Class" "@all"
|
||||
}
|
||||
// BOSS - El Gigante
|
||||
@ -373,10 +396,21 @@
|
||||
"HealthScaleAbility" "0.500000"
|
||||
"Zombie Count" "1"
|
||||
"Respawns" "99"
|
||||
"bot_scaling" "0"
|
||||
"bot_static" "1"
|
||||
"bot_scaling" "5" //on boss round bot_scaling is for minion bots. minion bots dont count towards Zombie Count
|
||||
"bot_static" "1" //on boss round bot_static is for boss bots
|
||||
"wavecommand" " "
|
||||
"Zombie Class" "gigantev2"
|
||||
"Zombie Class" "majini"
|
||||
"Zombie Class" "uroboro"
|
||||
"Zombie Class" "babycrab"
|
||||
"Zombie Class" "chucky"
|
||||
"Zombie Class" "fatty"
|
||||
"Zombie Class" "tyrant_pil"
|
||||
"Zombie Class" "hellknight"
|
||||
"Zombie Class" "doge"
|
||||
"Zombie Class" "hunter"
|
||||
"Zombie Class" "witch"
|
||||
"Zombie Class" "nemesis_pil"
|
||||
"Human Class" "@all"
|
||||
}
|
||||
// FINAL BOSS - The Balrog
|
||||
@ -384,12 +418,23 @@
|
||||
{
|
||||
"PlayerScaleAbility" "0"
|
||||
"HealthScaleAbility" "0.500000"
|
||||
"Zombie Count" "1"
|
||||
"Zombie Count" "2"
|
||||
"Respawns" "99"
|
||||
"bot_scaling" "0"
|
||||
"bot_static" "1"
|
||||
"bot_scaling" "5" //on boss round bot_scaling is for minion bots. minion bots dont count towards Zombie Count
|
||||
"bot_static" "1" //on boss round bot_static is for boss bots
|
||||
"wavecommand" " "
|
||||
"Zombie Class" "balrog"
|
||||
"Zombie Class" "majini"
|
||||
"Zombie Class" "uroboro"
|
||||
"Zombie Class" "babycrab"
|
||||
"Zombie Class" "chucky"
|
||||
"Zombie Class" "fatty"
|
||||
"Zombie Class" "tyrant_pil"
|
||||
"Zombie Class" "hellknight"
|
||||
"Zombie Class" "doge"
|
||||
"Zombie Class" "hunter"
|
||||
"Zombie Class" "witch"
|
||||
"Zombie Class" "nemesis_pil"
|
||||
"Human Class" "@all"
|
||||
}
|
||||
}
|
||||
|
@ -69,6 +69,8 @@ int g_iBotStuckCounts;
|
||||
int g_iLoadClassesIndex;
|
||||
int g_iHumanCount;
|
||||
int g_iZombieCount;
|
||||
int g_iZombieBossIndex[g_dIndexes];
|
||||
int g_iBossBotCount;
|
||||
|
||||
float g_fKnockBackIndex[g_dIndexes + 1];
|
||||
float g_fJumpHeightIndex[g_dIndexes + 1];
|
||||
@ -86,7 +88,8 @@ bool g_bSwitchingIndex;
|
||||
bool g_bRoundInProgress;
|
||||
bool g_bFallDamage[g_dIndexes];
|
||||
bool g_bClientProtection[g_dIndexes];
|
||||
|
||||
bool g_bIsBossRound;
|
||||
bool g_bClientIsBoss[MAXPLAYERS + 1];
|
||||
|
||||
Handle g_hClientZMCookie;
|
||||
Handle g_hClientHumanCookie;
|
||||
@ -1061,6 +1064,7 @@ public void OnClientPostAdminCheck(int client)
|
||||
g_fJumpHeightIndex[client] = 1.0;
|
||||
g_fJumpDistanceIndex[client] = 1.0;
|
||||
g_fDamageMultiplier[client] = 1.0;
|
||||
g_bClientIsBoss[client] = false;
|
||||
g_iClientRespawnCount[client] = g_iClientRespawnCountNum;
|
||||
char sCookieValue[12];
|
||||
GetClientCookie(client, g_hClientZMCookie, sCookieValue, sizeof(sCookieValue));
|
||||
@ -1117,6 +1121,7 @@ public void OnClientDisconnect(int client)
|
||||
g_fJumpDistanceIndex[client] = 1.0;
|
||||
g_fDamageMultiplier[client] = 1.0;
|
||||
g_iClientRespawnCount[client] = 0;
|
||||
g_bClientIsBoss[client] = false;
|
||||
SDKUnhook(client, SDKHook_OnTakeDamage, OnTakeDamage);
|
||||
SDKUnhook(client, SDKHook_WeaponEquip, OnWeaponEquip);
|
||||
}
|
||||
@ -1129,7 +1134,24 @@ public void Event_roundStart(Handle event, const char[] name, bool dontBroadcast
|
||||
g_iZombieCount = 999;
|
||||
g_bRoundInProgress = false;
|
||||
g_bSwitchingIndex = true;
|
||||
g_iBossBotCount = 0;
|
||||
CreateTimer(g_fSwitchingTimer, Timer_switchingModel, INVALID_HANDLE);
|
||||
|
||||
if (g_hAmbient != null)
|
||||
delete g_hAmbient;
|
||||
if (StrContains(g_cDaysTitles[g_iWave - 1], "BOSS", false) != -1) //the daystitle contains the word boss in it
|
||||
{
|
||||
g_bIsBossRound = true; //boss rounds need BOSS in the title
|
||||
EmitAmbience(g_cBossSound); //nobody will ever understand why megalovania was on the servers since 2020.
|
||||
g_hAmbient = CreateTimer(g_fBossSoundLoopDuration, Timer_Ambient, INVALID_HANDLE, TIMER_REPEAT); // 0.3 seconds without sound
|
||||
}
|
||||
else
|
||||
{
|
||||
g_bIsBossRound = false; //boss rounds need BOSS in the title
|
||||
int index = ambient_index();
|
||||
EmitAmbience(g_cAmbientSOund[index]);
|
||||
g_hAmbient = CreateTimer(g_fAmbientSoundLoopDuration, Timer_Ambient, INVALID_HANDLE, TIMER_REPEAT); // 0.3 seconds without sound
|
||||
}
|
||||
RetrieveWaveSettings(g_iWave);
|
||||
|
||||
for (int i = 1; i <= MaxClients; i++)
|
||||
@ -1138,6 +1160,7 @@ public void Event_roundStart(Handle event, const char[] name, bool dontBroadcast
|
||||
{
|
||||
if (IsFakeClient(i))
|
||||
{
|
||||
g_bClientIsBoss[i] = false;
|
||||
CreateTimer(0.3, Timer_delayedSelectWaveBasedZM, GetClientUserId(i));
|
||||
continue;
|
||||
}
|
||||
@ -1148,19 +1171,6 @@ public void Event_roundStart(Handle event, const char[] name, bool dontBroadcast
|
||||
}
|
||||
}
|
||||
}
|
||||
if (g_hAmbient != null)
|
||||
delete g_hAmbient;
|
||||
if (StrContains(g_cDaysTitles[g_iWave - 1], "BOSS", false) != -1) //the daystitle contains the word boss in it
|
||||
{
|
||||
EmitAmbience(g_cBossSound); //nobody will ever understand why megalovania was on the servers since 2020.
|
||||
g_hAmbient = CreateTimer(g_fBossSoundLoopDuration, Timer_Ambient, INVALID_HANDLE, TIMER_REPEAT); // 0.3 seconds without sound
|
||||
}
|
||||
else
|
||||
{
|
||||
int index = ambient_index();
|
||||
EmitAmbience(g_cAmbientSOund[index]);
|
||||
g_hAmbient = CreateTimer(g_fAmbientSoundLoopDuration, Timer_Ambient, INVALID_HANDLE, TIMER_REPEAT); // 0.3 seconds without sound
|
||||
}
|
||||
}
|
||||
|
||||
public int ambient_index()
|
||||
@ -1204,7 +1214,6 @@ public Action RetrieveWaveSettings(int wave)
|
||||
Format(hostname, sizeof(hostname), "UNLOZE | [ZRiot: Day %i/%i] %s | Ranking", wave, total_days, g_cDaysTitles[wave - 1]);
|
||||
ServerCommand("hostname \"%s\"", hostname);
|
||||
|
||||
|
||||
PrintToChatAll("Day %i: %s", wave, g_cDaysTitles[wave - 1]);
|
||||
LoadWave(wave);
|
||||
delete l_hWave;
|
||||
@ -1276,13 +1285,35 @@ public void LoadWave(int wave)
|
||||
g_iClientRespawnCountNum = kv.GetNum("Respawns", 5);
|
||||
l_iBotQuote = kv.GetNum("bot_scaling", 1);
|
||||
int l_iBotQuoteStatic = kv.GetNum("bot_static", 1);
|
||||
if (l_iBotQuote == 0) //we use static bot amount instead
|
||||
|
||||
l_iPlayers = 0; //counting legit players for bot scaling.
|
||||
for (int i = 1; i < MaxClients; i++)
|
||||
{
|
||||
SettingBotQoute(l_iBotQuoteStatic, true);
|
||||
if (IsValidClient(i) && !IsFakeClient(i) && CS_TEAM_CT == GetClientTeam(i))
|
||||
{
|
||||
l_iPlayers++;
|
||||
}
|
||||
}
|
||||
|
||||
if (g_bIsBossRound)
|
||||
{
|
||||
//its boss round. bot_scaling is used for minion bots. bot_static is used for boss bot amount
|
||||
// bot_static + bot_scaling
|
||||
addBots(l_iBotQuoteStatic + (l_iPlayers * l_iBotQuote));
|
||||
g_iBossBotCount = l_iBotQuoteStatic;
|
||||
}
|
||||
else
|
||||
{
|
||||
SettingBotQoute(l_iBotQuote, false);
|
||||
//its not boss round.
|
||||
if (l_iBotQuote == 0) //we use static bot amount instead of scaling bots based on playercount.
|
||||
{
|
||||
addBots(l_iBotQuoteStatic);
|
||||
}
|
||||
else
|
||||
{
|
||||
//we use bot_scaling.
|
||||
addBots(l_iPlayers * l_iBotQuote);
|
||||
}
|
||||
}
|
||||
while (!IsEndOfFile(l_hFile) && ReadFileLine(l_hFile, l_cLine, sizeof(l_cLine)))
|
||||
{
|
||||
@ -1426,28 +1457,6 @@ public void LoadWave(int wave)
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
public void SettingBotQoute(int botscale, bool bot_static)
|
||||
{
|
||||
int l_iPlayers;
|
||||
for (int i = 1; i < MaxClients; i++)
|
||||
{
|
||||
if (IsValidClient(i) && !IsFakeClient(i) && CS_TEAM_CT == GetClientTeam(i))
|
||||
{
|
||||
l_iPlayers++;
|
||||
}
|
||||
}
|
||||
if (bot_static)
|
||||
{
|
||||
addBots(botscale);
|
||||
}
|
||||
else
|
||||
{
|
||||
addBots(l_iPlayers * botscale);
|
||||
}
|
||||
}
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
public void addBots(int botcount)
|
||||
{
|
||||
if (botcount > 44)
|
||||
@ -1472,70 +1481,75 @@ public bool skipIndex(int index)
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
public void ReadingClassValuesFromFile(int index, char[] Line)
|
||||
{
|
||||
char li_c[g_dLength];
|
||||
Format(li_c, sizeof(li_c), Line);
|
||||
if (StrContains(Line, "unique name") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "unique name");
|
||||
Format(g_cUniqueName[index][g_iLength], sizeof(g_cUniqueName), li_c);
|
||||
}
|
||||
else if (StrContains(Line, "team") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "team");
|
||||
Format(g_cTeam[index][g_iLength], sizeof(g_cTeam), li_c);
|
||||
}
|
||||
else if (StrContains(Line, "group") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "group");
|
||||
Format(g_cGroup[index][g_iLength], sizeof(g_cGroup), li_c);
|
||||
}
|
||||
else if (StrContains(Line, "sm_flags") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "sm_flags");
|
||||
Format(g_cSMFLAGS[index][g_iLength], sizeof(g_cSMFLAGS), li_c);
|
||||
}
|
||||
else if (StrContains(Line, "model path") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "model path");
|
||||
Format(g_cModelPath[index][g_iLength], sizeof(g_cModelPath), li_c);
|
||||
PrecacheModel(li_c);
|
||||
}
|
||||
else if (StrContains(Line, "no_fall_damage") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "no_fall_damage");
|
||||
Format(g_cNoFallDmg[index][g_iLength], sizeof(g_cNoFallDmg), li_c);
|
||||
}
|
||||
else if (StrContains(Line, "health") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "health");
|
||||
Format(g_cHealth[index][g_iLength], sizeof(g_cHealth), li_c);
|
||||
}
|
||||
else if (StrContains(Line, "speed") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "speed");
|
||||
Format(g_cSpeed[index][g_iLength], sizeof(g_cSpeed), li_c);
|
||||
}
|
||||
else if (StrContains(Line, "knockback") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "knockback");
|
||||
Format(g_cKnockback[index][g_iLength], sizeof(g_cKnockback), li_c);
|
||||
}
|
||||
else if (StrContains(Line, "jump_height") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "jump_height");
|
||||
Format(g_cJumpHeight[index][g_iLength], sizeof(g_cJumpHeight), li_c);
|
||||
}
|
||||
else if (StrContains(Line, "jump_distance") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "jump_distance");
|
||||
Format(g_cJumpDistance[index][g_iLength], sizeof(g_cJumpDistance), li_c);
|
||||
}
|
||||
else if (StrContains(Line, "damage_multiplier") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "damage_multiplier");
|
||||
Format(g_cDamageMultiplier[index][g_iLength], sizeof(g_cDamageMultiplier), li_c);
|
||||
g_iLoadClassesIndex++;
|
||||
}
|
||||
char li_c[g_dLength];
|
||||
Format(li_c, sizeof(li_c), Line);
|
||||
if (StrContains(Line, "unique name") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "unique name");
|
||||
Format(g_cUniqueName[index][g_iLength], sizeof(g_cUniqueName), li_c);
|
||||
}
|
||||
else if (StrContains(Line, "team") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "team");
|
||||
Format(g_cTeam[index][g_iLength], sizeof(g_cTeam), li_c);
|
||||
}
|
||||
else if (StrContains(Line, "group") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "group");
|
||||
Format(g_cGroup[index][g_iLength], sizeof(g_cGroup), li_c);
|
||||
}
|
||||
else if (StrContains(Line, "sm_flags") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "sm_flags");
|
||||
Format(g_cSMFLAGS[index][g_iLength], sizeof(g_cSMFLAGS), li_c);
|
||||
}
|
||||
else if (StrContains(Line, "model path") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "model path");
|
||||
Format(g_cModelPath[index][g_iLength], sizeof(g_cModelPath), li_c);
|
||||
PrecacheModel(li_c);
|
||||
}
|
||||
else if (StrContains(Line, "no_fall_damage") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "no_fall_damage");
|
||||
Format(g_cNoFallDmg[index][g_iLength], sizeof(g_cNoFallDmg), li_c);
|
||||
}
|
||||
else if (StrContains(Line, "health") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "health");
|
||||
Format(g_cHealth[index][g_iLength], sizeof(g_cHealth), li_c);
|
||||
}
|
||||
else if (StrContains(Line, "speed") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "speed");
|
||||
Format(g_cSpeed[index][g_iLength], sizeof(g_cSpeed), li_c);
|
||||
}
|
||||
else if (StrContains(Line, "knockback") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "knockback");
|
||||
Format(g_cKnockback[index][g_iLength], sizeof(g_cKnockback), li_c);
|
||||
}
|
||||
else if (StrContains(Line, "jump_height") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "jump_height");
|
||||
Format(g_cJumpHeight[index][g_iLength], sizeof(g_cJumpHeight), li_c);
|
||||
}
|
||||
else if (StrContains(Line, "jump_distance") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "jump_distance");
|
||||
Format(g_cJumpDistance[index][g_iLength], sizeof(g_cJumpDistance), li_c);
|
||||
}
|
||||
else if (StrContains(Line, "damage_multiplier") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "damage_multiplier");
|
||||
Format(g_cDamageMultiplier[index][g_iLength], sizeof(g_cDamageMultiplier), li_c);
|
||||
}
|
||||
else if (StrContains(Line, "boss_class") > -1)
|
||||
{
|
||||
ReplaceStrings(li_c, "boss_class");
|
||||
g_iZombieBossIndex[index] = StringToInt(li_c);
|
||||
g_iLoadClassesIndex++; //use this at the last keyvalue to indicate we are done.
|
||||
}
|
||||
}
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
@ -1595,26 +1609,111 @@ public Action SelectWaveBasedZM(int client, int state)
|
||||
|
||||
if (state == 0)
|
||||
{
|
||||
for (int i = 0; i < g_dIndexes; i++)
|
||||
if (g_bIsBossRound && g_iBossBotCount > 0 && !g_bClientIsBoss[client]) //does not work setting on roundstart. so instead doing when applying ZM skin.
|
||||
{
|
||||
if (strlen(g_cZMRoundClasses[i][g_iLength]) > 0 && strlen(g_cGroup[i][g_iLength]) < 1 && strlen(g_cSMFLAGS[i][g_iLength]) < 1)
|
||||
g_bClientIsBoss[client] = true;
|
||||
g_iBossBotCount--; //picking certain bots as the boss bots. all other bots are the minions.
|
||||
}
|
||||
|
||||
if (g_bIsBossRound)
|
||||
{
|
||||
if (g_bClientIsBoss[client])
|
||||
{
|
||||
l_iZMIndex++;
|
||||
//its boss round and we set class for a boss bot
|
||||
for (int i = 0; i < g_dIndexes; i++)
|
||||
{
|
||||
if (strlen(g_cZMRoundClasses[i][g_iLength]) > 0 && strlen(g_cGroup[i][g_iLength]) < 1 && strlen(g_cSMFLAGS[i][g_iLength]) < 1
|
||||
&& g_iZombieBossIndex[i])
|
||||
{
|
||||
l_iZMIndex++; //we set amount of boss classes that the boss bot can pick between.
|
||||
}
|
||||
}
|
||||
|
||||
l_ibotIndex = GetRandomInt(0, l_iZMIndex -1);
|
||||
l_iZMIndex = 0;
|
||||
|
||||
for (int i = 0; i < g_dIndexes; i++)
|
||||
{
|
||||
if (strlen(g_cZMRoundClasses[i][g_iLength]) > 0 && strlen(g_cGroup[i][g_iLength]) < 1 && strlen(g_cSMFLAGS[i][g_iLength]) < 1)
|
||||
{
|
||||
if (!g_iZombieBossIndex[i])
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else if (l_ibotIndex == l_iZMIndex)
|
||||
{
|
||||
g_iClientZMClasses[client] = i;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
l_iZMIndex++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//its boss round and we set class for a minion bot
|
||||
for (int i = 0; i < g_dIndexes; i++)
|
||||
{
|
||||
if (strlen(g_cZMRoundClasses[i][g_iLength]) > 0 && strlen(g_cGroup[i][g_iLength]) < 1 && strlen(g_cSMFLAGS[i][g_iLength]) < 1
|
||||
&& !g_iZombieBossIndex[i])
|
||||
{
|
||||
l_iZMIndex++; //we set amount of normal zombie classes the minion bot can pick between. skipping out the boss classes.
|
||||
}
|
||||
}
|
||||
|
||||
l_ibotIndex = GetRandomInt(0, l_iZMIndex -1);
|
||||
l_iZMIndex = 0;
|
||||
for (int i = 0; i < g_dIndexes; i++)
|
||||
{
|
||||
if (strlen(g_cZMRoundClasses[i][g_iLength]) > 0 && strlen(g_cGroup[i][g_iLength]) < 1 && strlen(g_cSMFLAGS[i][g_iLength]) < 1)
|
||||
{
|
||||
if (g_iZombieBossIndex[i])
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else if (l_ibotIndex == l_iZMIndex)
|
||||
{
|
||||
g_iClientZMClasses[client] = i;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
l_iZMIndex++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
l_ibotIndex = GetRandomInt(0, l_iZMIndex -1);
|
||||
l_iZMIndex = 0;
|
||||
for (int i = 0; i < g_dIndexes; i++)
|
||||
else
|
||||
{
|
||||
if (strlen(g_cZMRoundClasses[i][g_iLength]) > 0 && strlen(g_cGroup[i][g_iLength]) < 1 && strlen(g_cSMFLAGS[i][g_iLength]) < 1)
|
||||
//its normal round. just setting the classes randomly.
|
||||
for (int i = 0; i < g_dIndexes; i++)
|
||||
{
|
||||
if (l_ibotIndex == l_iZMIndex)
|
||||
if (strlen(g_cZMRoundClasses[i][g_iLength]) > 0 && strlen(g_cGroup[i][g_iLength]) < 1 && strlen(g_cSMFLAGS[i][g_iLength]) < 1)
|
||||
{
|
||||
g_iClientZMClasses[client] = i;
|
||||
break;
|
||||
l_iZMIndex++; //here we get to know what the last index is, that way the randomint can pick between index 0 and last index for ZM classes.
|
||||
}
|
||||
}
|
||||
|
||||
l_ibotIndex = GetRandomInt(0, l_iZMIndex -1);
|
||||
l_iZMIndex = 0;
|
||||
for (int i = 0; i < g_dIndexes; i++)
|
||||
{
|
||||
if (strlen(g_cZMRoundClasses[i][g_iLength]) > 0 && strlen(g_cGroup[i][g_iLength]) < 1 && strlen(g_cSMFLAGS[i][g_iLength]) < 1)
|
||||
{
|
||||
if (l_ibotIndex == l_iZMIndex)
|
||||
{
|
||||
g_iClientZMClasses[client] = i;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
l_iZMIndex++;
|
||||
}
|
||||
}
|
||||
else
|
||||
l_iZMIndex++;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1942,10 +2041,25 @@ public Action UpdateWaveCount(int client)
|
||||
}
|
||||
}
|
||||
}
|
||||
g_iZMCount--;
|
||||
PrintHintTextToAll("Day %i: %s\nRemaining Zombies: %i\nHumans: %i\nZombies: %i", g_iWave, g_cDaysTitles[g_iWave - 1], g_iZMCount, humanCount, zombieCount);
|
||||
g_iHumanCount = humanCount;
|
||||
g_iZombieCount = zombieCount;
|
||||
if (g_bIsBossRound)
|
||||
{
|
||||
//we only reduce zombie count if the killed bot had a boss zombie class.
|
||||
//if the killed bot instead had a zombie class of a minion we do not reduce the zombie count.
|
||||
if (g_bClientIsBoss[client])
|
||||
{
|
||||
g_iZMCount--;
|
||||
PrintHintTextToAll("Day %i: %s\nRemaining Zombies: %i\nHumans: %i\nZombies: %i", g_iWave, g_cDaysTitles[g_iWave - 1], g_iZMCount, humanCount, zombieCount);
|
||||
g_iHumanCount = humanCount;
|
||||
g_iZombieCount = zombieCount;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
g_iZMCount--;
|
||||
PrintHintTextToAll("Day %i: %s\nRemaining Zombies: %i\nHumans: %i\nZombies: %i", g_iWave, g_cDaysTitles[g_iWave - 1], g_iZMCount, humanCount, zombieCount);
|
||||
g_iHumanCount = humanCount;
|
||||
g_iZombieCount = zombieCount;
|
||||
}
|
||||
}
|
||||
if (g_iZMCount <= 0 && g_bRoundInProgress)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user