Changeset 2195
- Timestamp:
- 02/21/12 10:30:21 (3 months ago)
- Location:
- Enemy-Territory/0.8/et/incomplete_navs/with_script
- Files:
-
- 1 added
- 1 modified
-
denoflions_etdual.gm (modified) (12 diffs)
-
denoflions_etdual_goals.gm (added)
Legend:
- Unmodified
- Added
- Removed
-
Enemy-Territory/0.8/et/incomplete_navs/with_script/denoflions_etdual.gm
r1072 r2195 1 /******************************************************** 2 Waypoints and Script by **PCZ** >M@t3o$<. 3 ********************************************************/ 1 //================================================================================================== 2 // 3 // Den Of Lions Final - denoflions_etdual.gm 4 // 5 // Who When What 6 //-------------------------------------------------------------------------------------------------- 7 // Mateos 20/09/2009 Initial Script & waypoints for OB 0.71 8 // Mateos 21/02/2012 Upgrade to 0.8x 9 // 10 //================================================================================================== 11 12 /**************************************************** 13 Pathing and script by Mateos 14 Correspondant WAY file size : 118 Ko 15 Last Update : 21th February 2012 16 ****************************************************/ 4 17 5 18 global Map = 6 19 { 7 Debug = 1,20 Debug = 0, // Please set to zero before distributing your script 8 21 ShowMovers = false, 9 22 10 Allied_Command_Post_Dyno = 0,11 Axis_Command_Post_Dyno = 0,12 Axis_safe_door_Dyno = 0,13 Axis_sewer_barrier_Dyno = 0,14 Farmhouse_Barrier_Dyno = 0,15 cell_door_Dyno = 0,16 17 Ammo_Cabinet_basement_ammocabinet = "AMMOCAB_basement_ammocabinet",18 Ammo_Cabinet_warehouse_ammocabinet = "AMMOCAB_warehouse_ammocabinet",19 Health_Cabinet_basement_healthcabinet = "HEALTHCAB_basement_healthcabinet",20 Health_Cabinet_warehouse_healthcabinet = "HEALTHCAB_warehouse_healthcabinet",21 Checkpoint_building_flag = "CHECKPOINT_building_flag",22 Flag_goldbars1 = "FLAG_goldbars1",23 Flag_prisoner1 = "FLAG_prisoner1",24 Cappoint_Medical_Beds = "CAPPOINT_Medical_Beds",25 Cappoint_Truck = "CAPPOINT_Truck",26 Build_Allied_Command_Post = "BUILD_Allied_Command_Post",27 Build_Axis_Command_Post = "BUILD_Axis_Command_Post",28 Build_Axis_sewer_barrier = "BUILD_Axis_sewer_barrier",29 Build_Farmhouse_Barrier = "BUILD_Farmhouse_Barrier",30 Plant_Allied_Command_Post = "PLANT_Allied_Command_Post",31 Plant_Axis_Command_Post = "PLANT_Axis_Command_Post",32 Plant_Axis_safe_door = "PLANT_Axis_safe_door",33 Plant_Axis_sewer_barrier = "PLANT_Axis_sewer_barrier",34 Plant_Farmhouse_Barrier = "PLANT_Farmhouse_Barrier",35 Plant_cell_door = "PLANT_cell_door",36 Mount_239 = "MOUNTMG42_239",37 Mount_245 = "MOUNTMG42_245",38 Mount_346 = "MOUNTMG42_346",39 Mount_420 = "MOUNTMG42_420",40 Mount_421 = "MOUNTMG42_421",41 Mount_46 = "MOUNTMG42_46",42 Mount_552 = "MOUNTMG42_552",43 Mount_588 = "MOUNTMG42_588",44 Mount_73 = "MOUNTMG42_73",45 Mount_Gold_Crate = "MOUNTMG42_Gold_Crate",46 Repair_239 = "REPAIRMG42_239",47 Repair_245 = "REPAIRMG42_245",48 Repair_346 = "REPAIRMG42_346",49 Repair_420 = "REPAIRMG42_420",50 Repair_421 = "REPAIRMG42_421",51 Repair_46 = "REPAIRMG42_46",52 Repair_552 = "REPAIRMG42_552",53 Repair_588 = "REPAIRMG42_588",54 Repair_73 = "REPAIRMG42_73",55 Repair_Gold_Crate = "REPAIRMG42_Gold_Crate",56 57 23 Allied_Command_Post_Built = function( trigger ) 58 24 { 59 if ( TestMap ) 60 { return; } 61 62 if ( Map.Debug ) 63 { print( "Allied_Command_Post_Built" ); } 25 Util.MapDebugPrint( "Allied_Command_Post_Built" ); 64 26 }, 65 27 66 28 Axis_Command_Post_Built = function( trigger ) 67 29 { 68 if ( TestMap ) 69 { return; } 70 71 if ( Map.Debug ) 72 { print( "Axis_Command_Post_Built" ); } 30 Util.MapDebugPrint( "Axis_Command_Post_Built" ); 73 31 }, 74 32 75 33 Axis_sewer_barrier_Built = function( trigger ) 76 34 { 77 if ( TestMap ) 78 { return; } 79 80 SetAvailableMapGoals( TEAM.AXIS, true, "Map.Plant_cell_door" ); 81 82 if ( Map.Debug ) 83 { print( "Axis_sewer_barrier_Built" ); } 35 SetAvailableMapGoals( TEAM.AXIS, true, "PLANT_cell_door" ); 36 37 Util.MapDebugPrint( "Axis_sewer_barrier_Built" ); 84 38 }, 85 39 86 40 Farmhouse_Barrier_Built = function( trigger ) 87 41 { 88 if ( TestMap ) 89 { return; } 90 91 SetAvailableMapGoals( TEAM.AXIS, false, "ROUTE_AxisEscape1" ); 92 93 SetAvailableMapGoals( TEAM.ALLIES, true, Map.Plant_Axis_safe_door ); 94 95 if ( Map.Debug ) 96 { print( "Farmhouse_Barrier_Built" ); } 42 SetAvailableMapGoals( TEAM.AXIS, false, "ROUTE_AxisEscape1" ); 43 44 SetAvailableMapGoals( TEAM.ALLIES, true, "PLANT_Axis_safe_door" ); 45 46 Util.MapDebugPrint( "Farmhouse_Barrier_Built" ); 97 47 }, 98 48 99 49 Allied_Command_Post_Planted = function( trigger ) 100 50 { 101 if ( TestMap ) 102 { return; } 103 104 if ( Map.Debug ) 105 { print( "Allied_Command_Post_Planted" ); } 51 Util.MapDebugPrint( "Allied_Command_Post_Planted" ); 106 52 }, 107 53 108 54 Axis_Command_Post_Planted = function( trigger ) 109 55 { 110 if ( TestMap ) 111 { return; } 112 113 if ( Map.Debug ) 114 { print( "Axis_Command_Post_Planted" ); } 56 Util.MapDebugPrint( "Axis_Command_Post_Planted" ); 115 57 }, 116 58 117 59 Axis_safe_door_Planted = function( trigger ) 118 60 { 119 if ( TestMap ) 120 { return; } 121 122 if ( Map.Debug ) 123 { print( "Axis_safe_door_Planted" ); } 61 Util.MapDebugPrint( "Axis_safe_door_Planted" ); 124 62 }, 125 63 126 64 Axis_sewer_barrier_Planted = function( trigger ) 127 65 { 128 if ( TestMap ) 129 { return; } 130 131 if ( Map.Debug ) 132 { print( "Axis_sewer_barrier_Planted" ); } 66 Util.MapDebugPrint( "Axis_sewer_barrier_Planted" ); 133 67 }, 134 68 135 69 Farmhouse_Barrier_Planted = function( trigger ) 136 70 { 137 if ( TestMap ) 138 { return; } 139 140 if ( Map.Debug ) 141 { print( "Farmhouse_Barrier_Planted" ); } 71 Util.MapDebugPrint( "Farmhouse_Barrier_Planted" ); 142 72 }, 143 73 144 74 cell_door_Planted = function( trigger ) 145 75 { 146 if ( TestMap ) 147 { return; } 148 149 if ( Map.Debug ) 150 { print( "cell_door_Planted" ); } 76 Util.MapDebugPrint( "cell_door_Planted" ); 151 77 }, 152 78 153 79 Allied_Command_Post_Defused = function( trigger ) 154 80 { 155 if ( TestMap ) 156 { return; } 157 158 if ( Map.Debug ) 159 { print( "Allied_Command_Post_Defused" ); } 81 Util.MapDebugPrint( "Allied_Command_Post_Defused" ); 160 82 }, 161 83 162 84 Axis_Command_Post_Defused = function( trigger ) 163 85 { 164 if ( TestMap ) 165 { return; } 166 167 if ( Map.Debug ) 168 { print( "Axis_Command_Post_Defused" ); } 86 Util.MapDebugPrint( "Axis_Command_Post_Defused" ); 169 87 }, 170 88 171 89 Axis_safe_door_Defused = function( trigger ) 172 90 { 173 if ( TestMap ) 174 { return; } 175 176 if ( Map.Debug ) 177 { print( "Axis_safe_door_Defused" ); } 91 Util.MapDebugPrint( "Axis_safe_door_Defused" ); 178 92 }, 179 93 180 94 Axis_sewer_barrier_Defused = function( trigger ) 181 95 { 182 if ( TestMap ) 183 { return; } 184 185 if ( Map.Debug ) 186 { print( "Axis_sewer_barrier_Defused" ); } 96 Util.MapDebugPrint( "Axis_sewer_barrier_Defused" ); 187 97 }, 188 98 189 99 Farmhouse_Barrier_Defused = function( trigger ) 190 100 { 191 if ( TestMap ) 192 { return; } 193 194 if ( Map.Debug ) 195 { print( "Farmhouse_Barrier_Defused" ); } 101 Util.MapDebugPrint( "Farmhouse_Barrier_Defused" ); 196 102 }, 197 103 198 104 cell_door_Defused = function( trigger ) 199 105 { 200 if ( TestMap ) 201 { return; } 202 203 if ( Map.Debug ) 204 { print( "cell_door_Defused" ); } 106 Util.MapDebugPrint( "cell_door_Defused" ); 205 107 }, 206 108 207 109 Allied_Command_Post_Destroyed = function( trigger ) 208 110 { 209 if ( TestMap ) 210 { return; } 211 212 if ( Map.Debug ) 213 { print( "Allied_Command_Post_Destroyed" ); } 111 Util.MapDebugPrint( "Allied_Command_Post_Destroyed" ); 214 112 }, 215 113 216 114 Axis_Command_Post_Destroyed = function( trigger ) 217 115 { 218 if ( TestMap ) 219 { return; } 220 221 if ( Map.Debug ) 222 { print( "Axis_Command_Post_Destroyed" ); } 116 Util.MapDebugPrint( "Axis_Command_Post_Destroyed" ); 223 117 }, 224 118 225 119 Axis_safe_door_Destroyed = function( trigger ) 226 120 { 227 if ( TestMap ) 228 { return; } 229 230 if ( Map.Debug ) 231 { print( "Axis_safe_door_Destroyed" ); } 121 Util.MapDebugPrint( "Axis_safe_door_Destroyed" ); 232 122 }, 233 123 234 124 Axis_sewer_barrier_Destroyed = function( trigger ) 235 125 { 236 if ( TestMap ) 237 { return; } 238 239 if ( Map.Debug ) 240 { print( "Axis_sewer_barrier_Destroyed" ); } 126 Util.MapDebugPrint( "Axis_sewer_barrier_Destroyed" ); 241 127 }, 242 128 243 129 Farmhouse_Barrier_Destroyed = function( trigger ) 244 130 { 245 if ( TestMap ) 246 { return; } 247 248 SetAvailableMapGoals( TEAM.AXIS, true, "ROUTE_AxisEscape1" ); 249 250 if ( Map.Debug ) 251 { print( "Farmhouse_Barrier_Destroyed" ); } 131 SetAvailableMapGoals( TEAM.AXIS, true, "ROUTE_AxisEscape1" ); 132 133 Util.MapDebugPrint( "Farmhouse_Barrier_Destroyed" ); 252 134 }, 253 135 254 136 cell_door_Destroyed = function( trigger ) 255 137 { 256 if ( TestMap ) 257 { return; } 258 259 if ( Map.Debug ) 260 { print( "cell_door_Destroyed" ); } 138 Util.MapDebugPrint( "cell_door_Destroyed" ); 261 139 }, 262 140 263 141 goldbars1_Taken = function( trigger ) 264 142 { 265 if ( TestMap ) 266 { return; } 267 268 SetAvailableMapGoals( TEAM.AXIS, true, "ATTACK_Allies.*" ); 269 SetAvailableMapGoals( TEAM.ALLIES, true, "ATTACK_Allies.*" ); 270 271 if ( Map.Debug ) 272 { print( "goldbars1_Taken" ); } 143 SetAvailableMapGoals( TEAM.AXIS, true, "ATTACK_Allies.*" ); 144 145 SetAvailableMapGoals( TEAM.ALLIES, true, "ATTACK_Allies.*" ); 146 147 Util.MapDebugPrint( "goldbars1_Taken" ); 273 148 }, 274 149 275 150 prisoner1_Taken = function( trigger ) 276 151 { 277 if ( TestMap ) 278 { return; } 279 280 SetAvailableMapGoals( TEAM.AXIS, true, "ATTACK_Axis.*" ); 281 SetAvailableMapGoals( TEAM.ALLIES, true, "ATTACK_Axis.*" ); 282 283 if ( Map.Debug ) 284 { print( "prisoner1_Taken" ); } 152 SetAvailableMapGoals( TEAM.AXIS, true, "ATTACK_Axis.*" ); 153 154 SetAvailableMapGoals( TEAM.ALLIES, true, "ATTACK_Axis.*" ); 155 156 Util.MapDebugPrint( "prisoner1_Taken" ); 285 157 }, 286 158 287 159 goldbars1_Returned = function( trigger ) 288 160 { 289 if ( TestMap ) 290 { return; } 291 292 SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Allies.*" ); 293 SetAvailableMapGoals( TEAM.ALLIES, false, "ATTACK_Allies.*" ); 294 295 if ( Map.Debug ) 296 { print( "goldbars1_Returned" ); } 161 SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Allies.*" ); 162 163 SetAvailableMapGoals( TEAM.ALLIES, false, "ATTACK_Allies.*" ); 164 165 Util.MapDebugPrint( "goldbars1_Returned" ); 297 166 }, 298 167 299 168 prisoner1_Returned = function( trigger ) 300 169 { 301 if ( TestMap ) 302 { return; } 303 304 SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis.*" ); 305 SetAvailableMapGoals( TEAM.ALLIES, false, "ATTACK_Axis.*" ); 306 307 if ( Map.Debug ) 308 { print( "prisoner1_Returned" ); } 170 SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_Axis.*" ); 171 172 SetAvailableMapGoals( TEAM.ALLIES, false, "ATTACK_Axis.*" ); 173 174 Util.MapDebugPrint( "prisoner1_Returned" ); 309 175 }, 310 176 311 177 goldbars1_Secured = function( trigger ) 312 178 { 313 if ( TestMap ) 314 { return; } 315 316 if ( Map.Debug ) 317 { print( "goldbars1_Secured" ); } 179 Util.MapDebugPrint( "goldbars1_Secured" ); 318 180 }, 319 181 320 182 prisoner1_Secured = function( trigger ) 321 183 { 322 if ( TestMap ) 323 { return; } 324 325 if ( Map.Debug ) 326 { print( "prisoner1_Secured" ); } 184 Util.MapDebugPrint( "prisoner1_Secured" ); 327 185 }, 328 186 329 187 building_flag_Axis_Captured = function( trigger ) 330 188 { 331 if ( TestMap ) 332 { return; } 333 334 SetAvailableMapGoals( TEAM.AXIS, true, "Map.Plant_cell_door" ); 335 336 if ( Map.Debug ) 337 { print( "building_flag_Axis_Captured" ); } 189 SetAvailableMapGoals( TEAM.AXIS, true, "PLANT_cell_door" ); 190 191 Util.MapDebugPrint( "building_flag_Axis_Captured" ); 338 192 }, 339 193 340 194 building_flag_Allies_Captured = function( trigger ) 341 195 { 342 if ( TestMap ) 343 { return; } 344 345 SetAvailableMapGoals( TEAM.ALLIES, true, "Map.Plant_Axis_safe_door" ); 346 347 if ( Map.Debug ) 348 { print( "building_flag_Allies_Captured" ); } 349 }, 350 196 SetAvailableMapGoals( TEAM.ALLIES, true, "PLANT_Axis_safe_door" ); 197 198 Util.MapDebugPrint( "building_flag_Allies_Captured" ); 199 }, 351 200 }; 352 201 353 202 global OnMapLoad = function() 354 203 { 355 if ( TestMapOn )356 { Util.AutoTestMap(); }357 358 204 // *** TRIGGERS *** 359 205 OnTrigger( "Allied Command Post constructed. Charge speed increased!", Map.Allied_Command_Post_Built ); … … 387 233 OnTrigger( "Axis capture the Forward Flag!", Map.building_flag_Axis_Captured ); 388 234 OnTrigger( "Allies capture the Forward Flag!", Map.building_flag_Allies_Captured ); 389 235 390 236 // *** INITIAL AVAILABILITY OF GOALS *** 391 SetAvailableMapGoals( TEAM.AXIS, true, "Map.Build_Axis_sewer_barrier" ); 392 SetAvailableMapGoals( TEAM.AXIS, true, "Map.Build_Axis_Command_Post" ); 393 SetAvailableMapGoals( TEAM.AXIS, true, "Map.Checkpoint_building_flag" ); 394 SetAvailableMapGoals( TEAM.AXIS, false, "Map.Plant_cell_door" ); 395 396 SetAvailableMapGoals( TEAM.ALLIES, true, "Map.Build_Farmhouse_Barrier" ); 397 SetAvailableMapGoals( TEAM.ALLIES, true, "Map.Build_Allied_Command_Post" ); 398 SetAvailableMapGoals( TEAM.ALLIES, true, "Map.Checkpoint_building_flag" ); 399 SetAvailableMapGoals( TEAM.ALLIES, false, "Map.Plant_Axis_safe_door" ); 400 401 SetAvailableMapGoals( TEAM.AXIS, false, "ATTACK_.*" ); 402 SetAvailableMapGoals( TEAM.ALLIES, false, "ATTACK_.*" ); 403 237 Util.DisableGoal( "ATTACK_.*", true ); // All but Routes 238 239 SetAvailableMapGoals( TEAM.AXIS, true, "BUILD_Axis_sewer_barrier" ); 240 SetAvailableMapGoals( TEAM.AXIS, true, "BUILD_Axis_Command_Post" ); 241 SetAvailableMapGoals( TEAM.AXIS, true, "CHECKPOINT_building_flag" ); 242 SetAvailableMapGoals( TEAM.AXIS, false, "PLANT_cell_door" ); 243 244 SetAvailableMapGoals( TEAM.ALLIES, true, "BUILD_Farmhouse_Barrier" ); 245 SetAvailableMapGoals( TEAM.ALLIES, true, "BUILD_Allied_Command_Post" ); 246 SetAvailableMapGoals( TEAM.ALLIES, true, "CHECKPOINT_building_flag" ); 247 SetAvailableMapGoals( TEAM.ALLIES, false, "PLANT_Axis_safe_door" ); 248 404 249 // *** PRIORITY *** 405 SetGoalPriority( Map.Build_Axis_Command_Post, 0.7);406 SetGoalPriority( Map.Plant_Allied_Command_Post, 0.7);407 SetGoalPriority( Map.Plant_Farmhouse_Barrier, 0.8);408 SetGoalPriority( Map.Plant_cell_door, 0.9);409 SetGoalPriority( Map.Build_Axis_sewer_barrier, 1.0);410 411 SetGoalPriority( Map.Checkpoint_building_flag, 0.85);250 SetGoalPriority( "BUILD_Axis_Command_Post", 0.7); 251 SetGoalPriority( "PLANT_Allied_Command_Post", 0.7); 252 SetGoalPriority( "PLANT_Farmhouse_Barrier", 0.8); 253 SetGoalPriority( "PLANT_cell_door", 0.9); 254 SetGoalPriority( "BUILD_Axis_sewer_barrier", 1.0); 255 256 SetGoalPriority( "CHECKPOINT_building_flag", 0.85); 412 257 SetGoalPriority( "CHECKPOINT_building_flag", 0.0, 0, CLASS.ENGINEER ); 413 414 SetGoalPriority(Map.Build_Allied_Command_Post, 0.7); 415 SetGoalPriority(Map.Plant_Axis_Command_Post, 0.7); 416 SetGoalPriority(Map.Plant_Axis_sewer_barrier, 0.8); 417 SetGoalPriority(Map.Plant_Axis_safe_door, 0.9); 418 SetGoalPriority(Map.Build_Farmhouse_Barrier, 1.0); 419 420 Util.SetMaxUsersInProgress( 2, "BUILD.*" ); 421 Util.SetMaxUsersInProgress( 2, "CHECKPOINT.*" ); 422 Util.SetMaxUsersInProgress( 1, "PLANT.*" ); 423 Util.SetMaxUsersInProgress( 1, "DEFEND_.*" ); 424 Util.SetMaxUsersInProgress( 1, "ATTACK_.*" ); 425 426 Util.SetMaxUsersInUse( 1, "BUILD.*" ); 427 Util.SetMaxUsersInUse( 1, "PLANT.*" ); 428 258 259 SetGoalPriority( "BUILD_Allied_Command_Post", 0.7); 260 SetGoalPriority( "PLANT_Axis_Command_Post", 0.7); 261 SetGoalPriority( "PLANT_Axis_sewer_barrier", 0.8); 262 SetGoalPriority( "PLANT_Axis_safe_door", 0.9); 263 SetGoalPriority( "BUILD_Farmhouse_Barrier", 1.0); 264 265 Util.SetMaxUsers( 2, "BUILD.*" ); 266 Util.SetMaxUsers( 2, "CHECKPOINT.*" ); 267 Util.SetMaxUsers( 1, "PLANT.*" ); 268 Util.SetMaxUsers( 1, "DEFEND_.*" ); 269 Util.SetMaxUsers( 1, "ATTACK_.*" ); 270 429 271 // *** ROUTES *** 430 272 MapRoutes = … … 447 289 }, 448 290 }, 449 291 450 292 ROUTE_AlliedRight1 = 451 293 { … … 455 297 }, 456 298 }, 457 299 458 300 ROUTE_AlliedLeft1 = 459 301 { … … 464 306 }, 465 307 }, 466 308 467 309 ROUTE_AlliedCPWay1 = 468 310 { … … 480 322 }, 481 323 }, 482 324 483 325 PLANT_Farmhouse_Barrier = 484 326 { … … 509 351 }, 510 352 }, 511 353 512 354 PLANT_Axis_safe_door = 513 355 { … … 532 374 }, 533 375 }, 534 376 535 377 PLANT_Axis_sewer_barrier = 536 378 { … … 552 394 }, 553 395 }, 554 396 555 397 CAPPOINT_Truck = 556 398 { … … 572 414 }, 573 415 }, 574 416 575 417 CAPPOINT_MedicalBeds = 576 418 { … … 617 459 }, 618 460 }; 619 461 620 462 MapRoutes.PLANT_cell_door = MapRoutes.PLANT_Farmhouse_Barrier; 621 463 622 464 Util.Routes(MapRoutes); 623 465 624 print( "Omni-bot map script for Den Of Lions by **PCZ** >M@t3o$<." );466 print( "Omni-bot 0.8x map script for Den Of Lions by Mateos" ); 625 467 }; 626 468 … … 628 470 { 629 471 bot.TargetBreakableDist = 180.0; 630 w = bot.GetWeapon(WEAPON.THOMPSON); 631 w.PrimaryFire.SetTargetBias(CLASS.BREAKABLE, 1.2); 632 w = bot.GetWeapon(WEAPON.MP40); 633 w.PrimaryFire.SetTargetBias(CLASS.BREAKABLE, 1.2); 634 472 473 weaps = { WEAPON.THOMPSON, WEAPON.MP40, WEAPON.SHOTGUN, WEAPON.M97, WEAPON.M7, WEAPON.GARAND, WEAPON.K43, WEAPON.BAR, WEAPON.STEN, WEAPON.MP34, WEAPON.BAR, WEAPON.STG44, WEAPON.FG42}; 474 475 foreach( id and weap in weaps ) 476 { 477 w = bot.GetWeapon(weap); 478 w.PrimaryFire.SetTargetBias(CLASS.BREAKABLE, 1.2); 479 } 480 635 481 // crapshoot: lower priority of knife at close range so they keep shooting breakables with primary 636 482 w = bot.GetWeapon(WEAPON.KNIFE);