set g_weaponreplace_campingrifle ""
set g_weaponreplace_tuba ""
set g_weaponreplace_fireball ""
+set g_weaponreplace_seeker ""
set sv_q3acompat_machineshotgunswap 0 "shorthand for swapping uzi and shotgun (for Q3A map compatibility)"
// }}}
set g_start_weapon_campingrifle -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
set g_start_weapon_tuba -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
set g_start_weapon_fireball 0 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+set g_start_weapon_seeker 0 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
set g_balance_health_start 100
set g_balance_armor_start 0
set g_start_ammo_shells 45
set g_balance_grenadelauncher_secondary_ammo 2
set g_balance_grenadelauncher_secondary_health 70
set g_balance_grenadelauncher_secondary_damageforcescale 4
+ set g_balance_grenadelauncher_secondary_bouncefactor 0.5
+ set g_balance_grenadelauncher_secondary_bouncestop 0.075
// }}}
// {{{ electro
set g_balance_electro_lightning 0
set g_balance_tuba_force 40
// }}}
// {{{ fireball
- set g_balance_fireball_primary_ammo 5
- set g_balance_fireball_primary_animtime 0.3
- set g_balance_fireball_primary_damage 40
+ set g_balance_fireball_primary_ammo 40
+ set g_balance_fireball_primary_animtime 0.15
+ set g_balance_fireball_primary_bfgdamage 100
+ set g_balance_fireball_primary_bfgforce 0
+ set g_balance_fireball_primary_bfgradius 1000
+ set g_balance_fireball_primary_damage 200
set g_balance_fireball_primary_damageforcescale 4
- set g_balance_fireball_primary_damagetime 5
- set g_balance_fireball_primary_force 100
+ set g_balance_fireball_primary_edgedamage 0
+ set g_balance_fireball_primary_force 700
+ set g_balance_fireball_primary_health 50
set g_balance_fireball_primary_laserburntime 0.5
- set g_balance_fireball_primary_laserdamage 30
+ set g_balance_fireball_primary_laserdamage 80
set g_balance_fireball_primary_laseredgedamage 20
- set g_balance_fireball_primary_laserradius 110
- set g_balance_fireball_primary_lifetime 7
- set g_balance_fireball_primary_refire 2
- set g_balance_fireball_primary_speed 900
- set g_balance_fireball_primary_speed_up 100
- set g_balance_fireball_primary_speed_z 0
+ set g_balance_fireball_primary_laserradius 256
+ set g_balance_fireball_primary_lifetime 15
+ set g_balance_fireball_primary_radius 200
+ set g_balance_fireball_primary_refire 5
+ set g_balance_fireball_primary_refire2 0
+ set g_balance_fireball_primary_speed 650
set g_balance_fireball_primary_spread 0
- set g_balance_fireball_secondary_ammo 25
- set g_balance_fireball_secondary_animtime 0.15
- set g_balance_fireball_secondary_bfgdamage 100
- set g_balance_fireball_secondary_bfgforce 500
- set g_balance_fireball_secondary_bfgradius 750
- set g_balance_fireball_secondary_damage 150
+ set g_balance_fireball_secondary_ammo 5
+ set g_balance_fireball_secondary_animtime 0.3
+ set g_balance_fireball_secondary_damage 40
set g_balance_fireball_secondary_damageforcescale 4
- set g_balance_fireball_secondary_edgedamage 0
- set g_balance_fireball_secondary_force 700
- set g_balance_fireball_secondary_health 50
+ set g_balance_fireball_secondary_damagetime 5
+ set g_balance_fireball_secondary_force 100
set g_balance_fireball_secondary_laserburntime 0.5
set g_balance_fireball_secondary_laserdamage 30
set g_balance_fireball_secondary_laseredgedamage 20
- set g_balance_fireball_secondary_laserradius 256
- set g_balance_fireball_secondary_lifetime 15
- set g_balance_fireball_secondary_radius 200
- set g_balance_fireball_secondary_refire 0
- set g_balance_fireball_secondary_refire2 4
- set g_balance_fireball_secondary_speed 650
+ set g_balance_fireball_secondary_laserradius 110
+ set g_balance_fireball_secondary_lifetime 7
+ set g_balance_fireball_secondary_refire 2
+ set g_balance_fireball_secondary_speed 900
+ set g_balance_fireball_secondary_speed_up 100
+ set g_balance_fireball_secondary_speed_z 0
set g_balance_fireball_secondary_spread 0
// }}}
+// {{{ seeker
+set g_balance_seeker_flac_ammo 0.5
+set g_balance_seeker_flac_animtime 0.1
+set g_balance_seeker_flac_damage 15
+set g_balance_seeker_flac_edgedamage 10
+set g_balance_seeker_flac_force 50
+set g_balance_seeker_flac_lifetime 0.1
+set g_balance_seeker_flac_lifetime_rand 0.05
+set g_balance_seeker_flac_radius 100
+set g_balance_seeker_flac_refire 0.1
+set g_balance_seeker_flac_speed 3000
+set g_balance_seeker_flac_speed_up 1000
+set g_balance_seeker_flac_spread 0.4
+set g_balance_seeker_missile_accel 1.05
+set g_balance_seeker_missile_ammo 2
+set g_balance_seeker_missile_animtime 0.3
+set g_balance_seeker_missile_count 4
+set g_balance_seeker_missile_damage 40
+set g_balance_seeker_missile_damageforcescale 4
+set g_balance_seeker_missile_decel 0.9
+set g_balance_seeker_missile_delay 0.25
+set g_balance_seeker_missile_edgedamage 10
+set g_balance_seeker_missile_force 250
+set g_balance_seeker_missile_health 5
+set g_balance_seeker_missile_lifetime 15
+set g_balance_seeker_missile_proxy 0
+set g_balance_seeker_missile_proxy_delay 0.2
+set g_balance_seeker_missile_proxy_maxrange 45
+set g_balance_seeker_missile_radius 80
+set g_balance_seeker_missile_refire 0.5
+set g_balance_seeker_missile_smart 1
+set g_balance_seeker_missile_smart_mindist 800
+set g_balance_seeker_missile_smart_trace_max 2500
+set g_balance_seeker_missile_smart_trace_min 1000
+set g_balance_seeker_missile_speed 700
+set g_balance_seeker_missile_speed_up 300
+set g_balance_seeker_missile_speed_max 1250
+set g_balance_seeker_missile_spread 0
+set g_balance_seeker_missile_turnrate 0.65
+set g_balance_seeker_tag_ammo 1
+set g_balance_seeker_tag_animtime 0.3
+set g_balance_seeker_tag_damageforcescale 4
+set g_balance_seeker_tag_health 5
+set g_balance_seeker_tag_lifetime 15
+set g_balance_seeker_tag_refire 0.7
+set g_balance_seeker_tag_speed 9000
+set g_balance_seeker_tag_spread 0
+// End new seeker
// use g_start_weapon_* to also replace the on-startup weapons!
// example: g_weaponreplace_nex "nex minstanex", then Nexes become MinstaNexes 50% of the times
// set the cvars to "0" to totally disable a weapon
+ set sv_q3acompat_machineshotgunswap 0 "shorthand for swapping uzi and shotgun"
set g_weaponreplace_laser ""
set g_weaponreplace_shotgun ""
set g_weaponreplace_uzi ""
set g_weaponreplace_campingrifle ""
set g_weaponreplace_tuba ""
set g_weaponreplace_fireball ""
+set g_weaponreplace_seeker ""
set sv_q3acompat_machineshotgunswap 0 "shorthand for swapping uzi and shotgun (for Q3A map compatibility)"
// }}}
set g_start_weapon_campingrifle -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
set g_start_weapon_tuba -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
set g_start_weapon_fireball -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+set g_start_weapon_seeker 0 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
set g_balance_health_start 150
set g_balance_armor_start 0
set g_start_ammo_shells 40
set g_balance_grenadelauncher_secondary_ammo 2
set g_balance_grenadelauncher_secondary_health 10
set g_balance_grenadelauncher_secondary_damageforcescale 4
+ set g_balance_grenadelauncher_secondary_bouncefactor 0.5
+ set g_balance_grenadelauncher_secondary_bouncestop 0.075
// }}}
// {{{ electro
set g_balance_electro_lightning 0
set g_balance_tuba_force 40
// }}}
// {{{ fireball
- set g_balance_fireball_primary_ammo 5
- set g_balance_fireball_primary_animtime 0.3
- set g_balance_fireball_primary_damage 100
+ set g_balance_fireball_primary_ammo 40
+ set g_balance_fireball_primary_animtime 0.15
+ set g_balance_fireball_primary_bfgdamage 100
+ set g_balance_fireball_primary_bfgforce 0
+ set g_balance_fireball_primary_bfgradius 1000
+ set g_balance_fireball_primary_damage 200
set g_balance_fireball_primary_damageforcescale 4
- set g_balance_fireball_primary_damagetime 5
- set g_balance_fireball_primary_force 100
+ set g_balance_fireball_primary_edgedamage 0
+ set g_balance_fireball_primary_force 700
+ set g_balance_fireball_primary_health 50
set g_balance_fireball_primary_laserburntime 0.5
set g_balance_fireball_primary_laserdamage 80
set g_balance_fireball_primary_laseredgedamage 20
- set g_balance_fireball_primary_laserradius 128
- set g_balance_fireball_primary_lifetime 7
- set g_balance_fireball_primary_refire 1.5
- set g_balance_fireball_primary_speed 700
- set g_balance_fireball_primary_speed_up 100
- set g_balance_fireball_primary_speed_z 0
+ set g_balance_fireball_primary_laserradius 256
+ set g_balance_fireball_primary_lifetime 15
+ set g_balance_fireball_primary_radius 200
+ set g_balance_fireball_primary_refire 5
+ set g_balance_fireball_primary_refire2 0
+ set g_balance_fireball_primary_speed 650
set g_balance_fireball_primary_spread 0
- set g_balance_fireball_secondary_ammo 15
- set g_balance_fireball_secondary_animtime 0.15
- set g_balance_fireball_secondary_bfgdamage 200
- set g_balance_fireball_secondary_bfgforce 0
- set g_balance_fireball_secondary_bfgradius 1500
- set g_balance_fireball_secondary_damage 150
+ set g_balance_fireball_secondary_ammo 5
+ set g_balance_fireball_secondary_animtime 0.3
+ set g_balance_fireball_secondary_damage 40
set g_balance_fireball_secondary_damageforcescale 4
- set g_balance_fireball_secondary_edgedamage 0
- set g_balance_fireball_secondary_force 700
- set g_balance_fireball_secondary_health 50
+ set g_balance_fireball_secondary_damagetime 5
+ set g_balance_fireball_secondary_force 100
set g_balance_fireball_secondary_laserburntime 0.5
- set g_balance_fireball_secondary_laserdamage 80
+ set g_balance_fireball_secondary_laserdamage 50
set g_balance_fireball_secondary_laseredgedamage 20
- set g_balance_fireball_secondary_laserradius 256
- set g_balance_fireball_secondary_lifetime 15
- set g_balance_fireball_secondary_radius 200
+ set g_balance_fireball_secondary_laserradius 110
+ set g_balance_fireball_secondary_lifetime 7
set g_balance_fireball_secondary_refire 2
- set g_balance_fireball_secondary_refire2 0
- set g_balance_fireball_secondary_speed 650
+ set g_balance_fireball_secondary_speed 900
+ set g_balance_fireball_secondary_speed_up 100
+ set g_balance_fireball_secondary_speed_z 0
set g_balance_fireball_secondary_spread 0
// }}}
+// {{{ seeker
+set g_balance_seeker_flac_ammo 0.5
+set g_balance_seeker_flac_animtime 0.1
+set g_balance_seeker_flac_damage 15
+set g_balance_seeker_flac_edgedamage 10
+set g_balance_seeker_flac_force 50
+set g_balance_seeker_flac_lifetime 0.1
+set g_balance_seeker_flac_lifetime_rand 0.05
+set g_balance_seeker_flac_radius 100
+set g_balance_seeker_flac_refire 0.1
+set g_balance_seeker_flac_speed 3000
+set g_balance_seeker_flac_speed_up 1000
+set g_balance_seeker_flac_spread 0.4
+set g_balance_seeker_missile_accel 1.05
+set g_balance_seeker_missile_ammo 2
+set g_balance_seeker_missile_animtime 0.3
+set g_balance_seeker_missile_count 4
+set g_balance_seeker_missile_damage 40
+set g_balance_seeker_missile_damageforcescale 4
+set g_balance_seeker_missile_decel 0.9
+set g_balance_seeker_missile_delay 0.25
+set g_balance_seeker_missile_edgedamage 10
+set g_balance_seeker_missile_force 250
+set g_balance_seeker_missile_health 5
+set g_balance_seeker_missile_lifetime 15
+set g_balance_seeker_missile_proxy 0
+set g_balance_seeker_missile_proxy_delay 0.2
+set g_balance_seeker_missile_proxy_maxrange 45
+set g_balance_seeker_missile_radius 80
+set g_balance_seeker_missile_refire 0.5
+set g_balance_seeker_missile_smart 1
+set g_balance_seeker_missile_smart_mindist 800
+set g_balance_seeker_missile_smart_trace_max 2500
+set g_balance_seeker_missile_smart_trace_min 1000
+set g_balance_seeker_missile_speed 700
+set g_balance_seeker_missile_speed_up 300
+set g_balance_seeker_missile_speed_max 1250
+set g_balance_seeker_missile_spread 0
+set g_balance_seeker_missile_turnrate 0.65
+set g_balance_seeker_tag_ammo 1
+set g_balance_seeker_tag_animtime 0.3
+set g_balance_seeker_tag_damageforcescale 4
+set g_balance_seeker_tag_health 5
+set g_balance_seeker_tag_lifetime 15
+set g_balance_seeker_tag_refire 0.7
+set g_balance_seeker_tag_speed 9000
+set g_balance_seeker_tag_spread 0
+// End new seeker
set g_weaponreplace_campingrifle ""
set g_weaponreplace_tuba ""
set g_weaponreplace_fireball 0 // Don't kill me div0, just for now until I figure out a good balance for it.
+set g_weaponreplace_seeker ""
set sv_q3acompat_machineshotgunswap 0 "shorthand for swapping uzi and shotgun (for Q3A map compatibility)"
// }}}
set g_start_weapon_campingrifle -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
set g_start_weapon_tuba -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
set g_start_weapon_fireball 0 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+set g_start_weapon_seeker 0 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
set g_balance_health_start 100
set g_balance_armor_start 0
set g_start_ammo_shells 45
set g_balance_grenadelauncher_secondary_ammo 2
set g_balance_grenadelauncher_secondary_health 70
set g_balance_grenadelauncher_secondary_damageforcescale 4
+ set g_balance_grenadelauncher_secondary_bouncefactor 0.5
+ set g_balance_grenadelauncher_secondary_bouncestop 0.075
// }}}
// {{{ electro
set g_balance_electro_lightning 0
set g_balance_tuba_force 40
// }}}
// {{{ fireball
- set g_balance_fireball_primary_ammo 5
- set g_balance_fireball_primary_animtime 0.3
- set g_balance_fireball_primary_damage 40
+ set g_balance_fireball_primary_ammo 40
+ set g_balance_fireball_primary_animtime 0.15
+ set g_balance_fireball_primary_bfgdamage 100
+ set g_balance_fireball_primary_bfgforce 0
+ set g_balance_fireball_primary_bfgradius 1000
+ set g_balance_fireball_primary_damage 200
set g_balance_fireball_primary_damageforcescale 4
- set g_balance_fireball_primary_damagetime 5
- set g_balance_fireball_primary_force 100
+ set g_balance_fireball_primary_edgedamage 0
+ set g_balance_fireball_primary_force 700
+ set g_balance_fireball_primary_health 50
set g_balance_fireball_primary_laserburntime 0.5
- set g_balance_fireball_primary_laserdamage 30
+ set g_balance_fireball_primary_laserdamage 80
set g_balance_fireball_primary_laseredgedamage 20
- set g_balance_fireball_primary_laserradius 110
- set g_balance_fireball_primary_lifetime 7
- set g_balance_fireball_primary_refire 2
- set g_balance_fireball_primary_speed 900
- set g_balance_fireball_primary_speed_up 100
- set g_balance_fireball_primary_speed_z 0
+ set g_balance_fireball_primary_laserradius 256
+ set g_balance_fireball_primary_lifetime 15
+ set g_balance_fireball_primary_radius 200
+ set g_balance_fireball_primary_refire 5
+ set g_balance_fireball_primary_refire2 0
+ set g_balance_fireball_primary_speed 650
set g_balance_fireball_primary_spread 0
- set g_balance_fireball_secondary_ammo 25
- set g_balance_fireball_secondary_animtime 0.15
- set g_balance_fireball_secondary_bfgdamage 100
- set g_balance_fireball_secondary_bfgforce 500
- set g_balance_fireball_secondary_bfgradius 750
- set g_balance_fireball_secondary_damage 150
+ set g_balance_fireball_secondary_ammo 5
+ set g_balance_fireball_secondary_animtime 0.3
+ set g_balance_fireball_secondary_damage 40
set g_balance_fireball_secondary_damageforcescale 4
- set g_balance_fireball_secondary_edgedamage 0
- set g_balance_fireball_secondary_force 700
- set g_balance_fireball_secondary_health 50
+ set g_balance_fireball_secondary_damagetime 5
+ set g_balance_fireball_secondary_force 100
set g_balance_fireball_secondary_laserburntime 0.5
- set g_balance_fireball_secondary_laserdamage 30
+ set g_balance_fireball_secondary_laserdamage 50
set g_balance_fireball_secondary_laseredgedamage 20
- set g_balance_fireball_secondary_laserradius 256
- set g_balance_fireball_secondary_lifetime 15
- set g_balance_fireball_secondary_radius 200
- set g_balance_fireball_secondary_refire 0
- set g_balance_fireball_secondary_refire2 4
- set g_balance_fireball_secondary_speed 650
+ set g_balance_fireball_secondary_laserradius 110
+ set g_balance_fireball_secondary_lifetime 7
+ set g_balance_fireball_secondary_refire 2
+ set g_balance_fireball_secondary_speed 900
+ set g_balance_fireball_secondary_speed_up 100
+ set g_balance_fireball_secondary_speed_z 0
set g_balance_fireball_secondary_spread 0
// }}}
+// {{{ seeker
+set g_balance_seeker_flac_ammo 0.5
+set g_balance_seeker_flac_animtime 0.1
+set g_balance_seeker_flac_damage 15
+set g_balance_seeker_flac_edgedamage 10
+set g_balance_seeker_flac_force 50
+set g_balance_seeker_flac_lifetime 0.1
+set g_balance_seeker_flac_lifetime_rand 0.05
+set g_balance_seeker_flac_radius 100
+set g_balance_seeker_flac_refire 0.1
+set g_balance_seeker_flac_speed 3000
+set g_balance_seeker_flac_speed_up 1000
+set g_balance_seeker_flac_spread 0.4
+set g_balance_seeker_missile_accel 1.05
+set g_balance_seeker_missile_ammo 2
+set g_balance_seeker_missile_animtime 0.3
+set g_balance_seeker_missile_count 4
+set g_balance_seeker_missile_damage 40
+set g_balance_seeker_missile_damageforcescale 4
+set g_balance_seeker_missile_decel 0.9
+set g_balance_seeker_missile_delay 0.25
+set g_balance_seeker_missile_edgedamage 10
+set g_balance_seeker_missile_force 250
+set g_balance_seeker_missile_health 5
+set g_balance_seeker_missile_lifetime 15
+set g_balance_seeker_missile_proxy 0
+set g_balance_seeker_missile_proxy_delay 0.2
+set g_balance_seeker_missile_proxy_maxrange 45
+set g_balance_seeker_missile_radius 80
+set g_balance_seeker_missile_refire 0.5
+set g_balance_seeker_missile_smart 1
+set g_balance_seeker_missile_smart_mindist 800
+set g_balance_seeker_missile_smart_trace_max 2500
+set g_balance_seeker_missile_smart_trace_min 1000
+set g_balance_seeker_missile_speed 700
+set g_balance_seeker_missile_speed_up 300
+set g_balance_seeker_missile_speed_max 1250
+set g_balance_seeker_missile_spread 0
+set g_balance_seeker_missile_turnrate 0.65
+set g_balance_seeker_tag_ammo 1
+set g_balance_seeker_tag_animtime 0.3
+set g_balance_seeker_tag_damageforcescale 4
+set g_balance_seeker_tag_health 5
+set g_balance_seeker_tag_lifetime 15
+set g_balance_seeker_tag_refire 0.7
+set g_balance_seeker_tag_speed 9000
+set g_balance_seeker_tag_spread 0
+// End new seeker
--- /dev/null
+ // {{{ weapon replacement
+ // NOTE: this only replaces weapons on the map
+ // use g_start_weapon_* to also replace the on-startup weapons!
+ // example: g_weaponreplace_nex "nex minstanex", then Nexes become MinstaNexes 50% of the times
+ // set the cvars to "0" to totally disable a weapon
+ set g_weaponreplace_laser ""
+ set g_weaponreplace_shotgun "uzi"
+ set g_weaponreplace_uzi "shotgun"
+ set g_weaponreplace_grenadelauncher ""
+ set g_weaponreplace_electro ""
+ set g_weaponreplace_crylink ""
+ set g_weaponreplace_nex ""
+ set g_weaponreplace_hagar ""
+ set g_weaponreplace_rocketlauncher ""
+ set g_weaponreplace_porto ""
+ set g_weaponreplace_minstanex ""
+ set g_weaponreplace_hook 0
+ set g_weaponreplace_hlac 0
+ set g_weaponreplace_campingrifle 0
+ set g_weaponreplace_tuba ""
+ set g_weaponreplace_fireball 0
++set g_weaponreplace_seeker 0
+ set sv_q3acompat_machineshotgunswap 0
+ // }}}
+
+ // {{{ starting gear
+ set g_start_weapon_laser -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_shotgun -2 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_uzi 1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_grenadelauncher -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_electro -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_crylink -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_nex -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_hagar -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_rocketlauncher -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_minstanex -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_porto -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_hook -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_hlac 0 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_campingrifle 0 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_tuba -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_start_weapon_fireball -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
++set g_start_weapon_seeker 0 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
+ set g_balance_health_start 125
+ set g_balance_armor_start 0
+ set g_start_ammo_shells 0
+ set g_start_ammo_nails 100
+ set g_start_ammo_rockets 0
+ set g_start_ammo_cells 0
+ set g_start_ammo_fuel 0
+ set g_warmup_start_health 200 "starting values when being in warmup-stage"
+ set g_warmup_start_armor 100 "starting values when being in warmup-stage"
+ set g_warmup_start_ammo_shells 50 "starting values when being in warmup-stage"
+ set g_warmup_start_ammo_nails 150 "starting values when being in warmup-stage"
+ set g_warmup_start_ammo_rockets 50 "starting values when being in warmup-stage"
+ set g_warmup_start_ammo_cells 50 "starting values when being in warmup-stage"
+ set g_warmup_start_ammo_fuel 0 "starting values when being in warmup-stage"
+ set g_lms_start_health 200
+ set g_lms_start_armor 100
+ set g_lms_start_ammo_shells 30
+ set g_lms_start_ammo_nails 210
+ set g_lms_start_ammo_rockets 150
+ set g_lms_start_ammo_cells 150
+ set g_lms_start_ammo_fuel 0
+ set g_balance_nix_roundtime 25
+ set g_balance_nix_incrtime 1.6
+ set g_balance_nix_ammo_shells 15
+ set g_balance_nix_ammo_nails 45
+ set g_balance_nix_ammo_rockets 15
+ set g_balance_nix_ammo_cells 15
+ set g_balance_nix_ammo_fuel 0
+ set g_balance_nix_ammoincr_shells 2
+ set g_balance_nix_ammoincr_nails 6
+ set g_balance_nix_ammoincr_rockets 2
+ set g_balance_nix_ammoincr_cells 2
+ set g_balance_nix_ammoincr_fuel 2
+ // }}}
+
+ // {{{ pickup items
+ set g_pickup_shells 10
+ set g_pickup_shells_max 30
+ set g_pickup_nails 30
+ set g_pickup_nails_max 210
+ set g_pickup_rockets 20
+ set g_pickup_rockets_max 150
+ set g_pickup_cells 50
+ set g_pickup_cells_max 150
+ set g_pickup_fuel 25
+ set g_pickup_fuel_jetpack 50
+ set g_pickup_fuel_max 999
+ set g_pickup_armorsmall 5
+ set g_pickup_armorsmall_max 200
+ set g_pickup_armormedium 25
+ set g_pickup_armormedium_max 200
+ set g_pickup_armorbig 50
+ set g_pickup_armorbig_max 200
+ set g_pickup_armorlarge 100
+ set g_pickup_armorlarge_max 200
+ set g_pickup_healthsmall 5
+ set g_pickup_healthsmall_max 200
+ set g_pickup_healthmedium 25
+ set g_pickup_healthmedium_max 100
+ set g_pickup_healthlarge 50
+ set g_pickup_healthlarge_max 100
+ set g_pickup_healthmega 100
+ set g_pickup_healthmega_max 200
+ set g_pickup_respawntime_short 30
+ set g_pickup_respawntime_medium 30
+ set g_pickup_respawntime_long 30
+ set g_pickup_respawntime_powerup 90
+ set g_pickup_respawntime_weapon 5
+ set g_pickup_respawntime_ammo 30
+ set g_pickup_respawntimejitter_short 0
+ set g_pickup_respawntimejitter_medium 0
+ set g_pickup_respawntimejitter_long 0
+ set g_pickup_respawntimejitter_powerup 15
+ set g_pickup_respawntimejitter_weapon 0
+ set g_pickup_respawntimejitter_ammo 0
+ // }}}
+
+ // {{{ regen/rot
+ set g_balance_health_regen 0
+ set g_balance_health_regenlinear 0
+ set g_balance_pause_health_regen 0
+ set g_balance_pause_health_regen_spawn 0
+ set g_balance_health_rot 0
+ set g_balance_health_rotlinear 1
+ set g_balance_pause_health_rot 1
+ set g_balance_pause_health_rot_spawn 0
+ set g_balance_health_regenstable 100
+ set g_balance_health_rotstable 100
+ set g_balance_health_limit 999
+ set g_balance_armor_regen 0
+ set g_balance_armor_regenlinear 0
+ set g_balance_armor_rot 0
+ set g_balance_armor_rotlinear 1
+ set g_balance_pause_armor_rot 1
+ set g_balance_pause_armor_rot_spawn 0
+ set g_balance_armor_regenstable 100
+ set g_balance_armor_rotstable 100
+ set g_balance_armor_limit 999
+ set g_balance_armor_blockpercent 0.66
+
+ set g_balance_fuel_regen 0.1 "fuel regeneration (only applies if the player owns IT_FUEL_REGEN)"
+ set g_balance_fuel_regenlinear 0
+ set g_balance_pause_fuel_regen 2 // other than this, fuel uses the health regen counter
+ set g_balance_fuel_rot 0.05
+ set g_balance_fuel_rotlinear 0
+ set g_balance_pause_fuel_rot 5
+ set g_balance_pause_fuel_rot_spawn 10
+ set g_balance_fuel_regenstable 50
+ set g_balance_fuel_rotstable 100
+ set g_balance_fuel_limit 999
+ // }}}
+
+ // {{{ misc
+ set g_balance_selfdamagepercent 0.75
+ set g_balance_weaponswitchdelay 0.05
+ set g_weaponspeedfactor 1 "weapon projectile speed multiplier"
+ set g_weaponratefactor 1 "weapon fire rate multiplier"
+ set g_weapondamagefactor 1 "weapon damage multiplier"
+ set g_weaponforcefactor 1 "weapon force multiplier"
+ set g_weaponspreadfactor 1 "weapon spread multiplier"
+ set g_balance_firetransfer_time 0.9
+ set g_balance_firetransfer_damage 0.8
+ set g_throughfloor_damage 0.5
+ set g_throughfloor_force 0.7
+ set g_projectiles_newton_style 0
+ // possible values:
+ // 0: absolute velocity projectiles (like Quake)
+ // 1: relative velocity projectiles, "Newtonian" (like Tribes 2)
+ // 2: relative velocity projectiles, but aim is precorrected so projectiles hit the crosshair (note: strafe rockets then are SLOWER than ones shot while standing, happens in 1 too when aiming correctly which is hard)
+ // 3: absolute velocity + player velocity component in shot direction (note: does NOT yield the right relative velocity, but may be good enough, but it is somewhat prone to sniper rockets)
+ // 4: just add the player velocity length to the absolute velocity (tZork's sniper rockets)
+ set g_projectiles_newton_style_2_minfactor 0.7
+ set g_projectiles_newton_style_2_maxfactor 5
+ set g_projectiles_spread_style 4
+ // possible values:
+ // 0: forward + solid sphere (like Quake) - varies velocity
+ // 1: forward + flattened solid sphere
+ // 2: forward + solid circle
+ // 3: forward + normal distribution 3D - varies velocity
+ // 4: forward + normal distribution on a plane
+ // 5: forward + circle with 1-r falloff
+ // 6: forward + circle with 1-r^2 falloff
+ // 7: forward + circle with (1-r)(2-r) falloff
+ set g_balance_falldamage_deadminspeed 150
+ set g_balance_falldamage_minspeed 675
+ set g_balance_falldamage_factor 0.25
+ set g_balance_falldamage_maxdamage 10
+ // }}}
+
+ // {{{ powerups
+ set g_balance_powerup_invincible_takedamage 0.25
+ set g_balance_powerup_invincible_time 30
+ set g_balance_powerup_strength_damage 4
+ set g_balance_powerup_strength_force 4
+ set g_balance_powerup_strength_time 30
+ set g_balance_powerup_strength_selfdamage 2
+ set g_balance_powerup_strength_selfforce 2
+ // }}}
+
+ // {{{ jetpack/hook
+ set g_jetpack_antigravity 0.8 "factor of gravity compensation of the jetpack"
+ set g_jetpack_acceleration_side 1200 "acceleration of the jetpack in xy direction"
+ set g_jetpack_acceleration_up 600 "acceleration of the jetpack in z direction (note: you have to factor in gravity here, if antigravity is not 1)"
+ set g_jetpack_maxspeed_side 1200 "max speed of the jetpack in xy direction"
+ set g_jetpack_maxspeed_up 600 "max speed of the jetpack in z direction"
+ set g_jetpack_fuel 8 "fuel per second for jetpack"
+ set g_jetpack_attenuation 2 "jetpack sound attenuation"
+
+ set g_grappling_hook_tarzan 2 // 2: can also pull players
+ set g_balance_grapplehook_speed_fly 1800
+ set g_balance_grapplehook_speed_pull 2000
+ set g_balance_grapplehook_force_rubber 2000
+ set g_balance_grapplehook_force_rubber_overstretch 1000
+ set g_balance_grapplehook_length_min 50
+ set g_balance_grapplehook_stretch 50
+ set g_balance_grapplehook_airfriction 0.2
+ set g_balance_grapplehook_health 130
+ // }}}
+
+ // {{{ weapon properties
+ // {{{ laser
+ set g_balance_laser_primary_damage 22
+ set g_balance_laser_primary_edgedamage 0
+ set g_balance_laser_primary_force 200
+ set g_balance_laser_primary_radius 52
+ set g_balance_laser_primary_speed 0
+ set g_balance_laser_primary_spread 0
+ set g_balance_laser_primary_refire 0.1
+ set g_balance_laser_primary_animtime 0.1
+ set g_balance_laser_primary_lifetime 0
+ set g_balance_laser_primary_shotangle 0
+ set g_balance_laser_primary_delay 0
+ set g_balance_laser_gauntlet 1
+ set g_balance_laser_secondary 0 // when 1, a secondary laser mode exists
+ set g_balance_laser_secondary_damage 30
+ set g_balance_laser_secondary_edgedamage 0
+ set g_balance_laser_secondary_force 100
+ set g_balance_laser_secondary_radius 3
+ set g_balance_laser_secondary_speed 1500
+ set g_balance_laser_secondary_spread 0
+ set g_balance_laser_secondary_refire 0
+ set g_balance_laser_secondary_animtime 0.15
+ set g_balance_laser_secondary_lifetime 0.066
+ set g_balance_laser_secondary_shotangle 0
+ set g_balance_laser_secondary_delay 0
+ // }}}
+ // {{{ shotgun
+ set g_balance_shotgun_primary_bullets 36
+ set g_balance_shotgun_primary_damage 3
+ set g_balance_shotgun_primary_force 10
+ set g_balance_shotgun_primary_spread 0.18
+ set g_balance_shotgun_primary_refire 1
+ set g_balance_shotgun_primary_animtime 0.7
+ set g_balance_shotgun_primary_ammo 1
+ set g_balance_shotgun_primary_speed 12000
+ set g_balance_shotgun_primary_bulletconstant 75 // 3.8qu
+ set g_balance_shotgun_secondary 0
+ set g_balance_shotgun_secondary_bullets 22
+ set g_balance_shotgun_secondary_damage 2
+ set g_balance_shotgun_secondary_force 12
+ set g_balance_shotgun_secondary_spread 0.25
+ set g_balance_shotgun_secondary_refire 1.5
+ set g_balance_shotgun_secondary_animtime 0.2
+ set g_balance_shotgun_secondary_ammo 0.5
+ set g_balance_shotgun_secondary_speed 12000
+ set g_balance_shotgun_secondary_bulletconstant 75 // 3.8qu
+ // }}}
+ // {{{ uzi
+ set g_balance_uzi_first 0
+ set g_balance_uzi_first_damage 10
+ set g_balance_uzi_first_force 50
+ set g_balance_uzi_first_spread 0.007
+ set g_balance_uzi_first_refire 0.15
+ set g_balance_uzi_first_ammo 1
+ set g_balance_uzi_sustained_damage 7
+ set g_balance_uzi_sustained_force 30
+ set g_balance_uzi_sustained_spread 0.02
+ set g_balance_uzi_sustained_refire 0.1
+ set g_balance_uzi_sustained_ammo 1
+ set g_balance_uzi_speed 18000
+ set g_balance_uzi_bulletconstant 115 // 13.1qu
+ // }}}
+ // {{{ mortar
+ set g_balance_grenadelauncher_primary2secondary 1
+ set g_balance_grenadelauncher_primary_damage 60
+ set g_balance_grenadelauncher_primary_edgedamage 10
+ set g_balance_grenadelauncher_primary_force 250
+ set g_balance_grenadelauncher_primary_radius 100
+ set g_balance_grenadelauncher_primary_speed 2000
+ set g_balance_grenadelauncher_primary_speed_up 200
+ set g_balance_grenadelauncher_primary_speed_z 0
+ set g_balance_grenadelauncher_primary_spread 0
+ set g_balance_grenadelauncher_primary_lifetime 5
+ set g_balance_grenadelauncher_primary_refire 0.7
+ set g_balance_grenadelauncher_primary_animtime 0.3
+ set g_balance_grenadelauncher_primary_ammo 2
+ set g_balance_grenadelauncher_secondary_damage 65
+ set g_balance_grenadelauncher_secondary_edgedamage 10
+ set g_balance_grenadelauncher_secondary_force 300
+ set g_balance_grenadelauncher_secondary_radius 200
+ set g_balance_grenadelauncher_secondary_speed 800
+ set g_balance_grenadelauncher_secondary_speed_up 0
+ set g_balance_grenadelauncher_secondary_speed_z 200
+ set g_balance_grenadelauncher_secondary_spread 0
+ set g_balance_grenadelauncher_secondary_lifetime 2
+ set g_balance_grenadelauncher_secondary_refire 0.8
+ set g_balance_grenadelauncher_secondary_animtime 0.5
+ set g_balance_grenadelauncher_secondary_ammo 2
+ set g_balance_grenadelauncher_secondary_health 0
+ set g_balance_grenadelauncher_secondary_damageforcescale 0
+ set g_balance_grenadelauncher_secondary_bouncefactor 0.5
+ set g_balance_grenadelauncher_secondary_bouncestop 0.075
+ // }}}
+ // {{{ electro
+ set g_balance_electro_lightning 1
+ set g_balance_electro_primary_damage 6
+ set g_balance_electro_primary_edgedamage 0
+ set g_balance_electro_primary_force 60 // todo: probaby needs movement nerfing code when hit?
+ set g_balance_electro_primary_radius 850
+ set g_balance_electro_primary_comboradius 0
+ set g_balance_electro_primary_speed 0
+ set g_balance_electro_primary_spread 0
+ set g_balance_electro_primary_lifetime 0
+ set g_balance_electro_primary_refire 0.066
+ set g_balance_electro_primary_animtime 0.066
+ set g_balance_electro_primary_ammo 0.66
+ set g_balance_electro_secondary_damage 45
+ set g_balance_electro_secondary_spread 0.10
+ set g_balance_electro_secondary_edgedamage 10
+ set g_balance_electro_secondary_force 100
+ set g_balance_electro_secondary_radius 150
+ set g_balance_electro_secondary_speed 900
+ set g_balance_electro_secondary_speed_up 200
+ set g_balance_electro_secondary_speed_z 0
+ set g_balance_electro_secondary_spread 0.05
+ set g_balance_electro_secondary_lifetime 2.5
+ set g_balance_electro_secondary_refire 0.1
+ set g_balance_electro_secondary_refire2 2
+ set g_balance_electro_secondary_animtime 0.2
+ set g_balance_electro_secondary_ammo 2
+ set g_balance_electro_secondary_health 5
+ set g_balance_electro_secondary_damageforcescale 4
+ set g_balance_electro_secondary_count 3
+ set g_balance_electro_combo_damage 50
+ set g_balance_electro_combo_edgedamage 0
+ set g_balance_electro_combo_force 100
+ set g_balance_electro_combo_radius 250
+ set g_balance_electro_combo_comboradius 0
+ set g_balance_electro_combo_speed 2000
+ // }}}
+ // {{{ crylink
+ set g_balance_crylink_primary_damage 18
+ set g_balance_crylink_primary_edgedamage 18
+ set g_balance_crylink_primary_force 50
+ set g_balance_crylink_primary_radius 100
+ set g_balance_crylink_primary_speed 1100
+ set g_balance_crylink_primary_spread 0.01
+ set g_balance_crylink_primary_shots 4
+ set g_balance_crylink_primary_bounces 0
+ set g_balance_crylink_primary_refire 0.4
+ set g_balance_crylink_primary_animtime 0.4
+ set g_balance_crylink_primary_ammo 2
+ set g_balance_crylink_primary_bouncedamagefactor 0.5
+
+ set g_balance_crylink_primary_middle_lifetime 5 // range: 35000 full, fades to 70000
+ set g_balance_crylink_primary_middle_fadetime 5
+ set g_balance_crylink_primary_star_lifetime 3 // range: 700 full, fades to 2450
+ set g_balance_crylink_primary_star_fadetime 5
+ set g_balance_crylink_primary_other_lifetime 3 // range: 700 full, fades to 2450
+ set g_balance_crylink_primary_other_fadetime 5
+
+ set g_balance_crylink_secondary 0
+ set g_balance_crylink_secondary_damage 8
+ set g_balance_crylink_secondary_edgedamage 8
+ set g_balance_crylink_secondary_force -40
+ set g_balance_crylink_secondary_radius 10
+ set g_balance_crylink_secondary_speed 4000
+ set g_balance_crylink_secondary_spread 0.01
+ set g_balance_crylink_secondary_shots 3
+ set g_balance_crylink_secondary_bounces 0
+ set g_balance_crylink_secondary_refire 0.1
+ set g_balance_crylink_secondary_animtime 0.1
+ set g_balance_crylink_secondary_ammo 1
+ set g_balance_crylink_secondary_bouncedamagefactor 0.5
+
+ set g_balance_crylink_secondary_middle_lifetime 5 // range: 35000 full, fades to 70000
+ set g_balance_crylink_secondary_middle_fadetime 5
+ set g_balance_crylink_secondary_line_lifetime 2 // range: 35000 full, fades to 70000
+ set g_balance_crylink_secondary_line_fadetime 2
+ // }}}
+ // {{{ nex
+ set g_balance_nex_damage 100
+ set g_balance_nex_force 200
+ set g_balance_nex_refire 1.25
+ set g_balance_nex_animtime 0.8
+ set g_balance_nex_ammo 5
+ set g_balance_nex_damagefalloff_mindist 1000
+ set g_balance_nex_damagefalloff_maxdist 3000
+ set g_balance_nex_damagefalloff_halflife 1500
+ set g_balance_nex_damagefalloff_forcehalflife 1500
+ // }}}
+ // {{{ minstanex
+ set g_balance_minstanex_refire 1
+ set g_balance_minstanex_animtime 1
+ set g_balance_minstanex_ammo 10
+ // }}}
+ // {{{ hagar
+ set g_balance_hagar_primary_damage 12
+ set g_balance_hagar_primary_edgedamage 5
+ set g_balance_hagar_primary_force 70
+ set g_balance_hagar_primary_radius 50
+ set g_balance_hagar_primary_spread 0
+ set g_balance_hagar_primary_speed 1800
+ set g_balance_hagar_primary_lifetime 5
+ set g_balance_hagar_primary_refire 0.1
+ set g_balance_hagar_primary_ammo 1
+ set g_balance_hagar_secondary 0
+ set g_balance_hagar_secondary_damage 11
+ set g_balance_hagar_secondary_edgedamage 4
+ set g_balance_hagar_secondary_force 60
+ set g_balance_hagar_secondary_radius 70
+ set g_balance_hagar_secondary_spread 0.05
+ set g_balance_hagar_secondary_speed 1800
+ set g_balance_hagar_secondary_lifetime_min 5
+ set g_balance_hagar_secondary_lifetime_rand 0
+ set g_balance_hagar_secondary_refire 0.1
+ set g_balance_hagar_secondary_ammo 1
+ // }}}
+ // {{{ rocketlauncher
+ set g_balance_rocketlauncher_damage 90
+ set g_balance_rocketlauncher_edgedamage 30
+ set g_balance_rocketlauncher_force 350
+ set g_balance_rocketlauncher_radius 110
+ set g_balance_rocketlauncher_speed 1000
+ set g_balance_rocketlauncher_speedaccel 0
+ set g_balance_rocketlauncher_speedstart 1000
+ set g_balance_rocketlauncher_lifetime 10
+ set g_balance_rocketlauncher_refire 0.9
+ set g_balance_rocketlauncher_animtime 0.7
+ set g_balance_rocketlauncher_ammo 3
+ set g_balance_rocketlauncher_health 0
+ set g_balance_rocketlauncher_damageforcescale 0
+ set g_balance_rocketlauncher_detonatedelay 9999 // positive: timer till detonation is allowed, negative: "security device" that prevents ANY remote detonation if it could hurt its owner, zero: detonatable at any time
+ set g_balance_rocketlauncher_guiderate 0 // max degrees per second
+ set g_balance_rocketlauncher_guideratedelay 0.01 // immediate
+ set g_balance_rocketlauncher_guidegoal 512 // goal distance for (non-laser) guiding (higher = less control, lower = erratic)
+ set g_balance_rocketlauncher_guidedelay 0.15 // delay before guiding kicks in
+ set g_balance_rocketlauncher_guidestop 1 // stop guiding when firing again
+ set g_balance_rocketlauncher_laserguided_speed 1000 //650
+ set g_balance_rocketlauncher_laserguided_speedaccel 0
+ set g_balance_rocketlauncher_laserguided_speedstart 1000
+ set g_balance_rocketlauncher_laserguided_turnrate 0.75 //0.5
+ set g_balance_rocketlauncher_laserguided_allow_steal 1
+ // }}}
+ // {{{ porto
+ set g_balance_porto_primary_refire 1.5
+ set g_balance_porto_primary_animtime 0.3
+ set g_balance_porto_primary_speed 5000
+ set g_balance_porto_primary_lifetime 30
+ set g_balance_portal_health 200 // these get recharged whenever the portal is used
+ set g_balance_portal_lifetime 15 // these get recharged whenever the portal is used
+ // }}}
+ // {{{ hook
+ set g_balance_hook_primary_fuel 2 // hook monkeys set 0
+ set g_balance_hook_primary_refire 0 // hook monkeys set 0
+ set g_balance_hook_primary_animtime 0.3 // good shoot anim
+ set g_balance_hook_primary_hooked_time_max 0 // infinite
+ set g_balance_hook_primary_hooked_time_free 2 // 2s being hooked are free
+ set g_balance_hook_primary_hooked_fuel 3 // fuel per second hooked
+ set g_balance_hook_secondary_damage 25 // not much
+ set g_balance_hook_secondary_edgedamage 5 // not much
+ set g_balance_hook_secondary_radius 500 // LOTS
+ set g_balance_hook_secondary_force -2000 // LOTS
+ set g_balance_hook_secondary_ammo 50 // a whole pack
+ set g_balance_hook_secondary_lifetime 10 // infinite
+ set g_balance_hook_secondary_speed 0 // not much throwing
+ set g_balance_hook_secondary_gravity 5 // fast falling
+ set g_balance_hook_secondary_refire 3 // don't drop too many bombs...
+ set g_balance_hook_secondary_animtime 0.3 // good shoot anim
+ set g_balance_hook_secondary_power 3 // effect behaves like a square function
+ set g_balance_hook_secondary_duration 1.5 // effect runs for three seconds
+ // }}}
+ // {{{ hlac
+ set g_balance_hlac_primary_spread_min 0.01
+ set g_balance_hlac_primary_spread_max 0.03
+ set g_balance_hlac_primary_spread_add 0.002
+ set g_balance_hlac_primary_spread_crouchmod 0.5
+
+ set g_balance_hlac_primary_damage 6
+ set g_balance_hlac_primary_edgedamage 0
+ set g_balance_hlac_primary_force 60 // todo: probably needs movement nerfing code when hit
+ set g_balance_hlac_primary_radius 850
+ set g_balance_hlac_primary_speed 0
+ set g_balance_hlac_primary_lifetime 0
+
+ set g_balance_hlac_primary_refire 0.066
+ set g_balance_hlac_primary_animtime 0.066
+ set g_balance_hlac_primary_ammo 0.066
+
+ set g_balance_hlac_secondary 0
+ set g_balance_hlac_secondary_spread 0.06
+ set g_balance_hlac_secondary_spread_crouchmod 0.5
+
+ set g_balance_hlac_secondary_damage 11
+ set g_balance_hlac_secondary_edgedamage 10
+ set g_balance_hlac_secondary_force 60
+ set g_balance_hlac_secondary_radius 70
+ set g_balance_hlac_secondary_speed 20000
+ set g_balance_hlac_secondary_lifetime 5
+
+ set g_balance_hlac_secondary_refire 0.6
+ set g_balance_hlac_secondary_animtime 0.6
+ set g_balance_hlac_secondary_ammo 10
+ set g_balance_hlac_secondary_shots 5
+ // }}}
+ // {{{ campingrifle
+ set g_balance_campingrifle_magazinecapacity 0
+ set g_balance_campingrifle_reloadtime 2 // matches reload anim
+ set g_balance_campingrifle_auto_reload_after_changing_weapons 0
+ set g_balance_campingrifle_bursttime 0.85 // 0.35 - 0.1 + 0.35 - 0.1 + 0.35 = three secondaries
+ set g_balance_campingrifle_tracer 1
+ set g_balance_campingrifle_primary_damage 50
+ set g_balance_campingrifle_primary_headshotaddeddamage 80
+ set g_balance_campingrifle_primary_spread 0
+ set g_balance_campingrifle_primary_force 0
+ set g_balance_campingrifle_primary_speed 35000
+ set g_balance_campingrifle_primary_lifetime 5
+ set g_balance_campingrifle_primary_refire 0.7
+ set g_balance_campingrifle_primary_animtime 0.7
+ set g_balance_campingrifle_primary_ammo 10
+ set g_balance_campingrifle_primary_bulletconstant 130 // 56.3qu
+ set g_balance_campingrifle_primary_burstcost 0.35 // require same cooldown as secondary, note it's smaller than primary refire time
+ set g_balance_campingrifle_secondary_damage 15
+ set g_balance_campingrifle_secondary_headshotaddeddamage 25
+ set g_balance_campingrifle_secondary_spread 0.02
+ set g_balance_campingrifle_secondary_force 0
+ set g_balance_campingrifle_secondary_speed 20000
+ set g_balance_campingrifle_secondary_lifetime 5
+ set g_balance_campingrifle_secondary_refire 0.1
+ set g_balance_campingrifle_secondary_animtime 0.1
+ set g_balance_campingrifle_secondary_ammo 4
+ set g_balance_campingrifle_secondary_bulletconstant 130 // 18.3qu
+ set g_balance_campingrifle_secondary_burstcost 0.35
+ // }}}
+ // {{{ tuba
+ set g_balance_tuba_refire 0.05
+ set g_balance_tuba_animtime 0.05
+ set g_balance_tuba_attenuation 0.5
+ set g_balance_tuba_volume 1
+ set g_balance_tuba_fadetime 0.25
+ set g_balance_tuba_damage 5
+ set g_balance_tuba_edgedamage 0
+ set g_balance_tuba_radius 200
+ set g_balance_tuba_force 40
+ // }}}
+ // {{{ fireball
+ set g_balance_fireball_primary_ammo 40
+ set g_balance_fireball_primary_animtime 0.15
+ set g_balance_fireball_primary_bfgdamage 100
+ set g_balance_fireball_primary_bfgforce 0
+ set g_balance_fireball_primary_bfgradius 1000
+ set g_balance_fireball_primary_damage 200
+ set g_balance_fireball_primary_damageforcescale 4
+ set g_balance_fireball_primary_edgedamage 0
+ set g_balance_fireball_primary_force 700
+ set g_balance_fireball_primary_health 50
+ set g_balance_fireball_primary_laserburntime 0.5
+ set g_balance_fireball_primary_laserdamage 80
+ set g_balance_fireball_primary_laseredgedamage 20
+ set g_balance_fireball_primary_laserradius 256
+ set g_balance_fireball_primary_lifetime 15
+ set g_balance_fireball_primary_radius 200
+ set g_balance_fireball_primary_refire 5
+ set g_balance_fireball_primary_refire2 0
+ set g_balance_fireball_primary_speed 650
+ set g_balance_fireball_primary_spread 0
+ set g_balance_fireball_secondary_ammo 5
+ set g_balance_fireball_secondary_animtime 0.3
+ set g_balance_fireball_secondary_damage 40
+ set g_balance_fireball_secondary_damageforcescale 4
+ set g_balance_fireball_secondary_damagetime 5
+ set g_balance_fireball_secondary_force 100
+ set g_balance_fireball_secondary_laserburntime 0.5
+ set g_balance_fireball_secondary_laserdamage 50
+ set g_balance_fireball_secondary_laseredgedamage 20
+ set g_balance_fireball_secondary_laserradius 110
+ set g_balance_fireball_secondary_lifetime 7
+ set g_balance_fireball_secondary_refire 2
+ set g_balance_fireball_secondary_speed 900
+ set g_balance_fireball_secondary_speed_up 100
+ set g_balance_fireball_secondary_speed_z 0
+ set g_balance_fireball_secondary_spread 0
+ // }}}
++// {{{ seeker
++set g_balance_seeker_flac_ammo 0.5
++set g_balance_seeker_flac_animtime 0.1
++set g_balance_seeker_flac_damage 15
++set g_balance_seeker_flac_edgedamage 10
++set g_balance_seeker_flac_force 50
++set g_balance_seeker_flac_lifetime 0.1
++set g_balance_seeker_flac_lifetime_rand 0.05
++set g_balance_seeker_flac_radius 100
++set g_balance_seeker_flac_refire 0.1
++set g_balance_seeker_flac_speed 3000
++set g_balance_seeker_flac_speed_up 1000
++set g_balance_seeker_flac_spread 0.4
++set g_balance_seeker_missile_accel 1.05
++set g_balance_seeker_missile_ammo 2
++set g_balance_seeker_missile_animtime 0.3
++set g_balance_seeker_missile_count 4
++set g_balance_seeker_missile_damage 40
++set g_balance_seeker_missile_damageforcescale 4
++set g_balance_seeker_missile_decel 0.9
++set g_balance_seeker_missile_delay 0.25
++set g_balance_seeker_missile_edgedamage 10
++set g_balance_seeker_missile_force 250
++set g_balance_seeker_missile_health 5
++set g_balance_seeker_missile_lifetime 15
++set g_balance_seeker_missile_proxy 0
++set g_balance_seeker_missile_proxy_delay 0.2
++set g_balance_seeker_missile_proxy_maxrange 45
++set g_balance_seeker_missile_radius 80
++set g_balance_seeker_missile_refire 0.5
++set g_balance_seeker_missile_smart 1
++set g_balance_seeker_missile_smart_mindist 800
++set g_balance_seeker_missile_smart_trace_max 2500
++set g_balance_seeker_missile_smart_trace_min 1000
++set g_balance_seeker_missile_speed 700
++set g_balance_seeker_missile_speed_up 300
++set g_balance_seeker_missile_speed_max 1250
++set g_balance_seeker_missile_spread 0
++set g_balance_seeker_missile_turnrate 0.65
++set g_balance_seeker_tag_ammo 1
++set g_balance_seeker_tag_animtime 0.3
++set g_balance_seeker_tag_damageforcescale 4
++set g_balance_seeker_tag_health 5
++set g_balance_seeker_tag_lifetime 15
++set g_balance_seeker_tag_refire 0.7
++set g_balance_seeker_tag_speed 9000
++set g_balance_seeker_tag_spread 0
++// End new seeker
seta crosshair_hlac_color_blue 0.2 "crosshair color blue component to display when wielding the H.L.A.C."
seta crosshair_hlac_color_alpha 1 "crosshair alpha value to display when wielding the H.L.A.C."
seta crosshair_hlac_size 0.6 "crosshair size when wielding the H.L.A.C."
+seta crosshair_seeker "" "crosshair to display when wielding the TAG Seeker"
+seta crosshair_seeker_color_red 1 "crosshair color red component to display when wielding the TAG seeker"
+seta crosshair_seeker_color_green 0.35 "crosshair color green component to display when wielding the TAG seeker"
+seta crosshair_seeker_color_blue 0.35 "crosshair color blue component to display when wielding the TAG seeker"
+seta crosshair_seeker_color_alpha 0.9 "crosshair alpha value to display when wielding the TAG seeker"
+seta crosshair_seeker_size 0.8 "crosshair size when wielding the TAG seeker"
seta crosshair_campingrifle "" "crosshair to display when wielding the campingrifle"
seta crosshair_campingrifle_color_red 0.85 "crosshair color red component to display when wielding the campingrifle"
seta crosshair_campingrifle_color_green 0.5 "crosshair color green component to display when wielding the campingrifle"
cl_bobcycle 0 // how long the cycle of up/down view movement takes (only works if cl_bob is not 0), default is 0.6
cl_bob 0.01 // how much view moves up/down when moving (does not move if cl_bobcycle is 0, but still enables cl_bobmodel), default is 0.02
cl_bobmodel 1 // whether to have gun model move around on screen when moving (only works if cl_bob is not 0), default is 1
+ cl_leanmodel 1 // enables weapon leaning effect when looking around
+ cl_followmodel 1 // enables weapon pushing / pulling effect when walking
cl_rollangle 0 // amount of view tilt when strafing, default is 2.0
v_kicktime 0 // how long damage kicks of the view last, default is 0 seconds
gl_polyblend 0.5 // whether to use screen tints, default is 1
set g_telefrags_avoid 0
set g_teleport_maxspeed 0 "maximum speed that a player can keep when going through a teleporter (if a misc_teleporter_dest also has a cap the smallest one of these will be used), 0 = don't limit, -1 = keep no speed"
+ set g_respawn_ghosts 1 "if 1 dead bodies become ghosts and float away when the player respawns"
+ set g_respawn_ghosts_speed 5 "the speed with which respawn ghosts float and rotate"
+ set g_respawn_ghosts_maxtime 6 "maximum amount of time a respawn ghost can last, minimum time is half this value. 0 disables and ghosts fade when the body would"
+
// fragmessage: This allows extra information to be displayed with the frag centerprints.
set sv_fragmessage_information_ping 0 "Enable ping display information, 0 = Never display; 1 = Always display (If the player is a bot, it will say bot instead of the ping.)"
set sv_fragmessage_information_handicap 1 "Enable handicap display information, 0 = Never display; 1 = Only when the player has handicap on; 2 = Always display (Displays Off if off)"
set sv_foginterval 0
// Audio track names (for old-style "cd loop NUMBER" usage)
- set g_cdtracks_remaplist "digital-pursuit breakdown-easy brainsukker chaos-fog infight neuronal-diving subcities thru-the-mirror calling-bogus beast-of-insanity thunder brokenlight brokenlight stairs sixtyfour_ desert3 ninesix sixtyfour_revisited northern-lights" "list used by mapinfo system to automatically assign cdtracks - must match the cd remap command"
- set g_cdtracks_dontusebydefault "digital-pursuit thunder brokenlight" "list used by mapinfo system to automatically assign cdtracks - must be a subset of g_cdtracks_remaplist"
+ set _cdtrack_first "1"
+ alias _cdtrack_0 "g_cdtracks_remaplist \"$g_cdtracks_remaplist $1\""
+ alias _cdtrack_1 "g_cdtracks_remaplist \"$1\"; set _cdtrack_first 0"
+ alias _cdtrack "_cdtrack_$_cdtrack_first $2"
+ set g_cdtracks_remaplist ""
+ exec cdtracks.cfg
+ unset _cdtrack_first
+ unalias _cdtrack_0
+ unalias _cdtrack_1
+ unalias _cdtrack
+
cd remap $g_cdtracks_remaplist
set sv_intermission_cdtrack ""
- set menu_cdtrack brokenlight
+
+ set g_cdtracks_dontusebydefault ""
+ set menu_cdtrack "ninesix"
// maxidle (in seconds): kick players idle for more than that amount of time
set sv_maxidle 0
// improve some minor details
sv_gameplayfix_gravityunaffectedbyticrate 1
sv_gameplayfix_nogravityonground 1
+
+ // autodemo deleting
+ seta cl_autodemo_delete_keeprecords 0 "when 1, records with a newly made race/cts demo are kept even if cl_autodemo_delete is used to delete demos"
+
+ // freeze camera
+ set cl_lockview 0 "when 1, the camera does not move any more"
+
+ // we now use mastervolume
+ volume 1
mi = '-16 -16 -16';
ma = '16 16 16';
break;
+ case WEP_SEEKER: // projectile has a size!
+ mi = '-2 -2 -2';
+ ma = '2 2 2';
+ break;
case WEP_ELECTRO: // projectile has a size!
mi = '0 0 -3';
ma = '0 0 -3';
float camera_mode;
string NextFrameCommand;
void CSQC_SPIDER_HUD();
+ void CSQC_RAPTOR_HUD();
+
+ vector freeze_pmove_org, freeze_input_angles;
+
void CSQC_UpdateView(float w, float h)
{
entity e;
pmove_org = warpzone_fixview_origin - vo;
input_angles = warpzone_fixview_angles;
+ if(cvar("cl_lockview"))
+ {
+ pmove_org = warpzone_fixview_origin = freeze_pmove_org;
+ input_angles = freeze_input_angles;
+ R_SetView(VF_ORIGIN, pmove_org + vo);
+ R_SetView(VF_ANGLES, input_angles);
+ //R_SetView(VF_CL_VIEWANGLES, input_angles);
+ }
+ freeze_pmove_org = pmove_org;
+ freeze_input_angles = input_angles;
+
// Render the Scene
if(!intermission || !view_set)
{
}
#endif
+ TargetMusic_Advance();
Fog_Force();
drawframetime = max(0.000001, time - drawtime);
}
else if(hud == HUD_WAKIZASHI)
CSQC_WAKIZASHI_HUD();
+ else if(hud == HUD_RAPTOR)
+ CSQC_RAPTOR_HUD();
else
{
if(cvar("r_letterbox") == 0)
void CSQC_SPIDER_HUD()
{
- float rockets, reload, heat, hp, shield, i;
+ float rockets, reload, heat, hp, shield;
vector picsize, hudloc;
// Fetch health & ammo stats
hp = bound(0,getstatf(STAT_VEHICLESTAT_HEALTH), 1);
shield = bound(0,getstatf(STAT_VEHICLESTAT_SHIELD), 1);
- heat = min(getstatf(STAT_VEHICLESTAT_RELOAD1), 1);
+ heat = min(getstatf(STAT_VEHICLESTAT_RELOAD1), 2);
rockets = getstati(STAT_VEHICLESTAT_AMMO2);
reload = min(getstatf(STAT_VEHICLESTAT_RELOAD2), 1);
picsize = drawgetimagesize(spider_a2) * 0.5;
drawpic(hudloc + '120 96 0', spider_a2, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
-
drawstring(hudloc + '145 19 0', strcat(ftos(rint(hp * 100)), "%"),'15 15 0','0 1 0', 1, DRAWFLAG_NORMAL);
drawstring(hudloc + '175 34 0', strcat(ftos(rint(shield * 100)), "%"),'15 15 0','0 0 1', 1, DRAWFLAG_NORMAL);
-
drawstring(hudloc + '136 102 0', strcat(ftos(100 - rint(heat * 100)), "%"),'14 14 0','1 1 0', 1, DRAWFLAG_NORMAL);
picsize = drawgetimagesize(spider_a1) * 0.85;
}
+ #define raptor_h "gfx/vehicles/hud_bg.tga"
+ #define raptor_b "gfx/vehicles/raptor.tga"
+ #define raptor_g1 "gfx/vehicles/raptor_guns.tga"
+ #define raptor_g2 "gfx/vehicles/raptor_bombs.tga"
+ #define raptor_s "gfx/vehicles/shiled.tga"
+
+ #define spider_a1 "gfx/hud/sb_rocket.tga"
+ #define spider_a2 "gfx/sb_bullets.tga"
+
+ void CSQC_RAPTOR_HUD()
+ {
+ float rockets, reload, heat, hp, shield, energy;
+ vector picsize, hudloc;
+
+ // Fetch health & ammo stats
+ hp = bound(0,getstatf(STAT_VEHICLESTAT_HEALTH), 1);
+ shield = bound(0,getstatf(STAT_VEHICLESTAT_SHIELD), 1);
+ reload = min(getstatf(STAT_VEHICLESTAT_RELOAD1), 1);
+ energy = min(getstatf(STAT_VEHICLESTAT_ENERGY), 1);
+
+ // Draw the crosshairs
+ picsize = drawgetimagesize(SPIDER_CROSS);
+ picsize_x *= cvar_or("cl_vehicle_spiderbot_cross_size", 1);
+ picsize_y *= cvar_or("cl_vehicle_spiderbot_cross_size", 1);
+ drawpic('0.5 0 0' * (vid_conwidth - picsize_x) + '0 0.5 0' * (vid_conheight - picsize_y), SPIDER_CROSS, picsize, '1 1 1', cvar_or("cl_vehicle_spiderbot_cross_alpha",0.6), DRAWFLAG_NORMAL);
+
+ hudloc_y = 4;
+ hudloc_x = 4;
+
+ picsize = drawgetimagesize(raptor_h) * 0.5;
+ drawpic(hudloc, raptor_h, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
+
+ picsize = drawgetimagesize(spider_a2) * 0.5;
+ drawpic(hudloc + '120 96 0', spider_a2, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
+
+ drawstring(hudloc + '145 19 0', strcat(ftos(rint(hp * 100)), "%"),'15 15 0','0 1 0', 1, DRAWFLAG_NORMAL);
+ drawstring(hudloc + '175 34 0', strcat(ftos(rint(shield * 100)), "%"),'15 15 0','0 0 1', 1, DRAWFLAG_NORMAL);
+ drawstring(hudloc + '136 102 0', strcat(ftos(rint(energy * 100)), "%"),'15 15 0','0.5 0.5 1', 1, DRAWFLAG_NORMAL);
+
+
+ picsize = drawgetimagesize(spider_a1) * 0.85;
+ if(reload == 1)
+ {
+ drawpic(hudloc + '132 54 0', spider_a1, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
+ drawstring(hudloc + '179 69 0', strcat(ftos(rint(reload * 100)), "%"),'14 14 0','0 1 0', 0.5, DRAWFLAG_NORMAL);
+ }
+ else
+ {
+ drawpic(hudloc + '132 54 0', spider_a1, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
+ drawstring(hudloc + '179 69 0', strcat(ftos(rint(reload * 100)), "%"),'14 14 0','0 0 1', 1, DRAWFLAG_NORMAL);
+ }
+
+ picsize = drawgetimagesize(raptor_b) * 0.5;
+ hudloc_y = 10.5;
+ hudloc_x = 10.5;
+
+ drawpic(hudloc, raptor_s, picsize, '1 1 1', shield, DRAWFLAG_NORMAL);
+ drawpic(hudloc, raptor_b, picsize, '0 1 0' * hp + '1 0 0' * (1 - hp), 1, DRAWFLAG_NORMAL);
+ drawpic(hudloc, raptor_g1, picsize, '1 1 1' * energy + '1 0 0' * (1 - energy), 1, DRAWFLAG_NORMAL);
+ drawpic(hudloc, raptor_g2, picsize, '1 1 1' * reload + '1 0 0' * (1 - reload), 1, DRAWFLAG_NORMAL);
+
+
+ if (sb_showscores)
+ {
+ Sbar_DrawScoreboard();
+ Sbar_DrawCenterPrint();
+ }
+
+ }
+
#define waki_h "gfx/vehicles/hud_bg.tga"
#define waki_b "gfx/vehicles/waki.tga"
#define waki_e "gfx/vehicles/waki_e.tga"
if(!issilent)
sound(self, CHAN_PROJECTILE, "weapons/hookbomb_impact.wav", VOL_BASE, ATTN_NORM);
break;
+ case WEP_SEEKER:
+ org2 = org + backoff * 6;
+ if(secondary)
+ {
+ pointparticles(particleeffectnum("flac_explode"), org2, '0 0 0', 1);
+ if(!issilent)
+ {
+ if (r<0.15)
+ sound(self, CHAN_PROJECTILE, "weapons/flacexp1.wav", 1, ATTN_NORM);
+ else if (r<0.7)
+ sound(self, CHAN_PROJECTILE, "weapons/flacexp2.wav", 1, ATTN_NORM);
+ else
+ sound(self, CHAN_PROJECTILE, "weapons/flacexp3.wav", 1, ATTN_NORM);
+ }
+ }
+ else
+ {
+ if(bounce)
+ {
+ pointparticles(particleeffectnum("hagar_explode"), org2, '0 0 0', 1);
+ if(!issilent)
+ {
+ if (r<0.15)
+ sound(self, CHAN_PROJECTILE, "weapons/tagexp1.wav", 1, ATTN_NORM);
+ else if (r<0.7)
+ sound(self, CHAN_PROJECTILE, "weapons/tagexp2.wav", 1, ATTN_NORM);
+ else
+ sound(self, CHAN_PROJECTILE, "weapons/tagexp3.wav", 1, ATTN_NORM);
+ }
+ }
+ else if(headshot)
+ {
+ if(!issilent)
+ sound(self, CHAN_PROJECTILE, "weapons/tag_impact.wav", 1, ATTN_NORM);
+ }
+ else
+ {
+ pointparticles(particleeffectnum("hagar_explode"), org2, '0 0 0', 1);
+ if(!issilent)
+ {
+ if (r<0.15)
+ sound(self, CHAN_PROJECTILE, "weapons/seekerexp1.wav", 1, ATTN_NORM);
+ else if (r<0.7)
+ sound(self, CHAN_PROJECTILE, "weapons/seekerexp2.wav", 1, ATTN_NORM);
+ else
+ sound(self, CHAN_PROJECTILE, "weapons/seekerexp3.wav", 1, ATTN_NORM);
+ }
+ }
+ }
+ break;
case WEP_HLAC:
org2 = org + backoff * 6;
pointparticles(particleeffectnum("laser_impact"), org2, backoff * 1000, 1);
break;
case WEP_FIREBALL:
if(secondary)
+ {
+ // firemine goes out silently
+ }
+ else
{
org2 = org + backoff * 16;
pointparticles(particleeffectnum("fireball_explode"), org2, '0 0 0', 1);
if(!issilent)
sound(self, CHAN_PROJECTILE, "weapons/fireball_impact2.wav", VOL_BASE, ATTN_NORM * 0.25); // long range boom
}
- else
- {
- // firemine goes out silently
- }
break;
default:
dprint("Unhandled damage of weapon ", ftos(hitwep), "\n");
precache_sound("weapons/crylink_impact.wav");
precache_sound("weapons/electro_impact.wav");
precache_sound("weapons/electro_impact_combo.wav");
+ precache_sound("weapons/flacexp1.wav");
+ precache_sound("weapons/flacexp2.wav");
+ precache_sound("weapons/flacexp3.wav");
precache_sound("weapons/grenade_impact.wav");
precache_sound("weapons/hagexp1.wav");
precache_sound("weapons/hagexp2.wav");
precache_sound("weapons/rocket_impact.wav");
precache_sound("weapons/fireball_impact.wav");
precache_sound("weapons/fireball_impact2.wav");
+ precache_sound("weapons/seekerexp1.wav");
+ precache_sound("weapons/seekerexp2.wav");
+ precache_sound("weapons/seekerexp3.wav");
+ precache_sound("weapons/tagexp1.wav");
+ precache_sound("weapons/tagexp2.wav");
+ precache_sound("weapons/tagexp3.wav");
+ precache_sound("weapons/tag_impact.wav");
}
self.velocity_x = ReadCoord();
self.velocity_y = ReadCoord();
self.velocity_z = ReadCoord();
- self.gravity = ReadCoord();
-
+ if(f & 0x10)
+ self.gravity = ReadCoord();
+ else
+ self.gravity = 0; // none
self.move_origin = self.origin;
self.move_velocity = self.velocity;
}
- if(time == self.spawntime || (self.count & 0x80) || (f & 0x10))
+ if(time == self.spawntime || (self.count & 0x80) || (f & 0x08))
{
self.trail_oldorigin = self.origin;
if(!(self.count & 0x80))
case PROJECTILE_HAGAR_BOUNCING: setmodel(self, "models/hagarmissile.mdl");self.traileffect = particleeffectnum("TR_GRENADE"); self.scale = 0.4; break;
case PROJECTILE_FIREBALL: self.model = ""; self.modelindex = 0; self.traileffect = particleeffectnum("fireball"); break; // particle effect is good enough
case PROJECTILE_FIREMINE: self.model = ""; self.modelindex = 0; self.traileffect = particleeffectnum("firemine"); break; // particle effect is good enough
+ case PROJECTILE_TAG: setmodel(self, "models/laser.mdl"); self.traileffect = particleeffectnum("TR_ROCKET"); break;
+ case PROJECTILE_FLAC: setmodel(self, "models/hagarmissile.mdl"); self.scale = 0.4; self.traileffect = particleeffectnum("TR_ROCKET"); break;
+ case PROJECTILE_SEEKER: setmodel(self, "models/tagrocket.md3"); self.scale = 2; self.traileffect = particleeffectnum("TR_ROCKET"); break;
default:
error("Received invalid CSQC projectile, can't work with this!");
break;
self.maxs = '0 0 -3';
self.move_movetype = MOVETYPE_BOUNCE;
self.move_touch = SUB_Null;
+ self.move_bounce_factor = g_balance_grenadelauncher_secondary_bouncefactor;
+ self.move_bounce_stopspeed = g_balance_grenadelauncher_secondary_bouncestop;
break;
case PROJECTILE_PORTO_RED:
self.colormod = '2 1 1';
self.mins = '-4 -4 -4';
self.maxs = '4 4 4';
break;
+ case PROJECTILE_TAG:
+ loopsound(self, CHAN_PROJECTILE, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTN_NORM);
+ self.mins = '-2 -2 -2';
+ self.maxs = '2 2 2';
+ break;
+ case PROJECTILE_FLAC:
+ self.mins = '-2 -2 -2';
+ self.maxs = '2 2 2';
+ break;
+ case PROJECTILE_SEEKER:
+ self.mins = '-4 -4 -4';
+ self.maxs = '4 4 4';
+ break;
default:
break;
}
precache_model("models/laser.mdl");
precache_model("models/plasmatrail.mdl");
precache_model("models/rocket.md3");
+ precache_model("models/tagrocket.md3");
precache_model("models/tracer.mdl");
precache_sound("weapons/electro_fly.wav");
precache_sound("weapons/rocket_fly.wav");
precache_sound("weapons/fireball_fly.wav");
precache_sound("weapons/fireball_fly2.wav");
+ precache_sound("weapons/tag_rocket_fly.wav");
}
const float TE_CSQC_VOTE = 108;
const float TE_CSQC_VOTERESET = 109;
const float TE_CSQC_ANNOUNCE = 110;
+ const float TE_CSQC_TARGET_MUSIC = 111;
const float RACE_NET_CHECKPOINT_HIT_QUALIFYING = 0; // byte checkpoint, short time, short recordtime, string recordholder
const float RACE_NET_CHECKPOINT_CLEAR = 1;
const float ENT_CLIENT_TUBANOTE = 23;
const float ENT_CLIENT_WARPZONE = 24;
const float ENT_CLIENT_WARPZONE_CAMERA = 25;
+ const float ENT_CLIENT_TRIGGER_MUSIC = 26;
const float ENT_CLIENT_TURRET = 40;
const float HUD_NORMAL = 0;
const float HUD_SPIDERBOT = 10;
const float HUD_WAKIZASHI = 11;
+ const float HUD_RAPTOR = 12;
const float STAT_VEHICLESTAT_HEALTH = 60;
const float STAT_VEHICLESTAT_SHIELD = 61;
// on world: UNUSED
// on players: voice VOICE
// on entities: ambient AMBIENT
- // on csqc: UNUSED
+ // on csqc: background music BGM
float CHAN_TRIGGER = 3; // Triggers/Items
// on world: UNUSED
// on players: item pickup ITEMS
// this sets sounds and other properties of the projectiles in csqc
float PROJECTILE_ELECTRO = 1;
float PROJECTILE_ROCKET = 2;
+float PROJECTILE_TAG = 3;
float PROJECTILE_BULLET = 4;
float PROJECTILE_CRYLINK = 5;
float PROJECTILE_ELECTRO_BEAM = 6;
float PROJECTILE_GRENADE_BOUNCING = 8;
float PROJECTILE_LASER = 9;
float PROJECTILE_HLAC = 10;
+float PROJECTILE_SEEKER = 11;
+float PROJECTILE_FLAC = 12;
float PROJECTILE_PORTO_RED = 13;
float PROJECTILE_PORTO_BLUE = 14;
float PROJECTILE_HOOKBOMB = 15;
{
startitem_failed = FALSE;
+ self.items = itemid;
+ self.weapons = weaponid;
+
// is it a dropped weapon?
if (self.classname == "droppedweapon")
{
}
else
{
- self.items = itemid;
- self.weapons = weaponid;
-
if(MUTATOR_CALLHOOK(FilterItem)) // error means we do not want the item
{
startitem_failed = TRUE;
StartItem ("models/items/g_jetpack.md3", "misc/itempickup.wav", g_pickup_respawntime_powerup, g_pickup_respawntimejitter_powerup, "Jet pack", IT_JETPACK, 0, FL_POWERUP, commodity_pickupevalfunc, BOT_PICKUP_RATING_LOW);
}
-// we no longer have the seeker
-void spawnfunc_weapon_seeker()
-{
- spawnfunc_weapon_fireball();
-}
-
#define OP_SET 0
#define OP_MIN 1