| 10477 | } |
| 10478 | |
| 10479 | int Bot::GetDefaultBotBaseSetting(uint16 bot_setting, uint8 stance) { |
| 10480 | switch (bot_setting) { |
| 10481 | case BotBaseSettings::ExpansionBitmask: |
| 10482 | return RuleI(Bots, BotExpansionSettings); |
| 10483 | case BotBaseSettings::ShowHelm: |
| 10484 | return true; |
| 10485 | case BotBaseSettings::FollowDistance: |
| 10486 | return RuleI(Bots, DefaultFollowDistance); |
| 10487 | case BotBaseSettings::StopMeleeLevel: |
| 10488 | if (IsCasterClass(GetClass())) { |
| 10489 | return RuleI(Bots, CasterStopMeleeLevel); |
| 10490 | } |
| 10491 | else { |
| 10492 | return 255; |
| 10493 | } |
| 10494 | case BotBaseSettings::PetSetTypeSetting: |
| 10495 | return 0; |
| 10496 | case BotBaseSettings::BehindMob: |
| 10497 | if (GetClass() == Class::Rogue || (IsPureMeleeClass() && GetClass() != Class::Warrior)) { |
| 10498 | return true; |
| 10499 | } |
| 10500 | else { |
| 10501 | return false; |
| 10502 | } |
| 10503 | case BotBaseSettings::DistanceRanged: |
| 10504 | switch (GetClass()) { |
| 10505 | case Class::Warrior: |
| 10506 | case Class::Monk: |
| 10507 | case Class::Rogue: |
| 10508 | case Class::Berserker: |
| 10509 | return 0; |
| 10510 | case Class::Bard: |
| 10511 | return 30; |
| 10512 | default: |
| 10513 | return 90; |
| 10514 | } |
| 10515 | case BotBaseSettings::MedInCombat: |
| 10516 | if (IsCasterClass(GetClass())) { |
| 10517 | return true; |
| 10518 | } |
| 10519 | |
| 10520 | return false; |
| 10521 | case BotBaseSettings::SitHPPct: |
| 10522 | case BotBaseSettings::SitManaPct: |
| 10523 | return 80; |
| 10524 | case BotBaseSettings::EnforceSpellSettings: |
| 10525 | case BotBaseSettings::RangedSetting: |
| 10526 | case BotBaseSettings::IllusionBlock: |
| 10527 | case BotBaseSettings::MaxMeleeRange: |
| 10528 | default: |
| 10529 | return false; |
| 10530 | } |
| 10531 | |
| 10532 | return true; |
| 10533 | } |
| 10534 | |
| 10535 | |
| 10536 | void Bot::LoadDefaultBotSettings() { |
no test coverage detected