Commit Graph

726 Commits

Author SHA1 Message Date
nytmyr f2df8ababd Cleanup StopMoving for bots 2025-02-02 08:45:51 -06:00
nytmyr 54717ec8a5 Merge branch 'master' into bot-rewrite 2025-01-31 00:24:05 -06:00
Chris Miles bdcded7d45 [Performance] Re-use OP_PlayerStateAdd packet memory (#4626) 2025-01-27 15:33:03 -06:00
Chris Miles 95c6560e7c [Performance] Re-use OP_HPUpdate packet memory (#4622) 2025-01-27 15:32:40 -06:00
Chris Miles 59f645b5c3 [Performance] Re-use OP_Animation packet (#4621) 2025-01-27 15:32:30 -06:00
nytmyr fbb2341fca Correct DoLosChecks 2025-01-26 10:21:56 -06:00
nytmyr abaefc8e7f Add bot and bot pet checks to various spells, auras and targeting checks that were missing. 2025-01-25 07:01:39 -06:00
nytmyr dec2eba6e5 Merge branch 'master' into bot-rewrite 2025-01-22 15:56:37 -06:00
Chris Miles 25826c6686 [Performance] Client / NPC Position Update Optimizations (#4602)
* Zone optimizations

* More changes

* More

* Update entity.cpp

* Beautiful

* Amazing

* Feature flag all logic

* Broadcast to group

* Update mob.cpp

* Updates

* Update client.cpp

* Update client.cpp

* Add rule Zone:EnableEntityClipping

* Little bit of cleanup

* Don't send update to self while in group

* Remove visibility work and feature flags

* Cleanup

* Logging

* Improve CheckSendBulkNpcPositions

* No need to cast

* Field cleanup

* Build initial list on zone-in
2025-01-21 15:35:19 -06:00
nytmyr 37910cf3dc Move mob functions to mob_bot 2025-01-21 12:25:49 -06:00
nytmyr 1c2293e1aa Consolidate GatherSpellTargets 2025-01-20 14:33:01 -06:00
nytmyr f296ff5a50 Consolidate IsInGroupOrRaid 2025-01-20 13:52:28 -06:00
nytmyr dff3af1193 Rename _spellSettings to m_bot_spell_settings 2025-01-20 10:44:22 -06:00
nytmyr 40b676c320 code cleanup 1 2025-01-09 23:01:48 -06:00
nytmyr 67d7413748 move los checks to mob.cpp 2025-01-07 23:45:29 -06:00
nytmyr e994d14418 Move spelltype names, spell subtypes, category names and setting names to maps. 2024-12-30 22:58:37 -06:00
nytmyr d13a48fc93 cleanup 2024-12-30 13:02:06 -06:00
nytmyr 6ced4e6a9c Fix missing raid assignment for GetStoredRaid in IsInGroupOrRaid 2024-12-23 23:27:42 -06:00
nytmyr 998f34842b Missing IsInGroupOrRaid cleanup 2024-12-22 00:35:29 -06:00
nytmyr 39b1f57ef3 comment out precheck, delays, thresholds, etc logging
missed some in "organize some checks in IsImmuneToBotSpell"
2024-12-22 00:29:58 -06:00
nytmyr f6fa28681b Move GatherSpellTargets and Raid to stored variables.
Missing some in "organize some checks in IsImmuneToBotSpell"
2024-12-22 00:29:15 -06:00
nytmyr 2a149f2949 Move GatherSpellTargets to mob 2024-12-22 00:24:31 -06:00
nytmyr d05dcb5d60 raid optimizations 2024-12-20 21:21:14 -06:00
nytmyr e930a1b7fc remove default hold for resist buffa 2024-12-20 21:19:22 -06:00
nytmyr 322f8c5ffd Implmenet PetCures, add some missing types for defaults/chance to cast 2024-12-20 09:38:40 -06:00
nytmyr 21f8bc0f95 add GetBotSpellCategoryIDByShortName and CopyBotBlockedPetBuffs, update ^defaultsettings command 2024-12-17 23:20:39 -06:00
nytmyr ffd92017e0 Move getnames for categories and settings to mob, rename hptomed/manatomed 2024-12-17 23:03:42 -06:00
nytmyr bf4f2f5623 Add lull/aelull to ^cast 2024-12-12 22:14:08 -06:00
nytmyr 8c923a6c51 rename BOT_SPELL_TYPE functions 2024-12-12 22:14:02 -06:00
nytmyr 53c227a8b1 add check for self on isingrouporraid 2024-12-12 22:13:27 -06:00
nytmyr 4bb1fd9dcd add aehateline spell type 2024-12-12 22:13:26 -06:00
nytmyr b2590b5056 Implement more commanded types properly, move shadownight hate to hateline type...
Add incapacitated checks to casting logic and checks.
Add candocombat zone check, summon other's corpse for bot, in/out combat spell checks, mute checks, level restriction
2024-12-12 22:13:24 -06:00
nytmyr ee9651b4f1 implement commanded cast types 2024-12-12 22:13:18 -06:00
nytmyr b0768454c1 adjust spell hold checks to rely on caster and
Implement pet resist buffs and pet damage shields
2024-12-12 22:13:00 -06:00
nytmyr 63233d11e8 Implement and rewrite stances 2024-12-12 22:11:25 -06:00
nytmyr 9b87aaf39b More fixes
TGB, ^cast, group/ae checks, in group/raid checks, inviting others bots to group, group disband fix, prevent rogue bs spam, ^follow fixes and cleanup, follow owner only by default when joining raid/group, group buff fixes for bots, range fixes for group buffs
2024-12-12 22:11:23 -06:00
nytmyr 6574f780db Bot Rework 2024-12-12 22:10:36 -06:00
Chris Miles 66a7dd0143 [Databuckets] Improved Reliability and Performance of Databuckets (#4562)
* [Databuckets] Don't broadcast client-scoped updates

* Remove temp feature flag

* Remove distributed caching, only cache for character scoped data, simplify

* Update bot.cpp

* Cleanup

* Update data_bucket.cpp

* Cleanup

* Cleanup

* Remove BulkLoadEntities from LoadNPCTypes

* Update data_bucket.cpp

* Cleanup

* More cleanup

* More cleanup

* BulkLoadEntities to BulkLoadEntitiesToCache

* Add CanCache in DeleteData to gate an unnecessary call
2024-12-12 01:17:08 -06:00
Alex King 5c6e7a8b09 [Cleanup] Convert Event Parses to Single Line (#4569)
* [Cleanup] Convert Event Parses to Single Line

* Push

* Update spells.cpp

* Update spells.cpp

---------

Co-authored-by: Akkadius <akkadius1@gmail.com>
2024-12-12 00:43:22 -06:00
carolus21rex b2d0fa6a2f [Bug Fix] Fix Strings::Commify bug with #mystats (#4547)
* Fix a formatting bug with #mystats

When using values larger than 1,000, we were calling commify on a string that already had commas. This resulted in the value 1005 looking like 1,,005.

* Update mob.cpp

---------

Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com>
2024-11-22 16:23:48 -05:00
Chris Miles 33f5c4c6a7 [Bug Fix] Fix issue where NPC's are being hidden as traders (#4539)
* [Fix] Fix issue where NPC's are being hidden as traders

* Fix

* Update mob.cpp
2024-11-14 19:15:03 -05:00
Chris Miles 0ea47fadee [Performance] Improvements to ScanCloseMobs logic (#4534)
* [Performance] Minor improvements to ScanCloseMobs

* Remove timer checks one level up to reduce branching

* Reserve memory in m_close_mobs to avoid frequent re-allocations if not already reserved.
2024-11-08 17:48:39 -06:00
Alex King 448a33a60c [Quest API] Add Scripting Support to Mercenaries (#4500)
* [Quest API] Add Scripting Support to Mercenaries

* Cleanup

* Cleanup

* Update lua_merc.h

* Update mob.cpp

* XYZH

* Final

* Update attack.cpp

* Update attack.cpp

* Simplify event invocation

* Inline example

* Nullptr init example

* EVENT_TIMER simplify add EventPlayerNpcBotMerc

* EVENT_TIMER_START

* Remove has_start_event

* EVENT_TIMER_START with settimerMS

* EVENT_POPUP_RESPONSE

* Consolidation

* Update attack.cpp

* Push

* Update quest_parser_collection.h

* Comments

* Cleanup per comments

---------

Co-authored-by: Akkadius <akkadius1@gmail.com>
2024-10-10 21:29:29 -04:00
Alex King 8568cf7d49 [Bug Fix] Fix NPC::CanTalk() Crash (#4499)
* [Bug FIx] Fix NPC::CanTalk() Crash

* Update npc.cpp

* Update mob.cpp

* Update npc.cpp
2024-10-07 00:17:49 -05:00
Chris Miles bcd943a964 [Code Cleanup] Optimization Code Cleanup (#4489)
* Initial push

* More

* More

* Further simplify

* More cleanup

* More consolidation

* Fix

* Update

* Update npc.cpp

---------

Co-authored-by: Kinglykrab <kinglykrab@gmail.com>
2024-09-30 18:34:42 -04:00
nytmyr 56608e84bd [Bots] Add attack flag when told to attack (#4490)
This adds a flag to mobs that are told to attack by their owner to prevent unintended attacks.

Previously, if you were to send your bots to attack a target and then switch targets: before casters land their spell or if melee (especially anyone with pets)  hasn't engaged before the target switch, they could switch to your new target and attack.

This adds a flag upon attack and bots will only attack flagged targets.
2024-09-29 17:59:26 -04:00
Chris Miles a91e03fa43 [Code] Add IsCloseToBanker method (#4462)
* [Code] Add IsCloseToBanker method

* Update mob.cpp
2024-08-26 22:59:06 -05:00
Fryguy 2ef959c5ed [Improvement] Flee Overhaul (#4407)
* Lots of flee updates primarily based on TAKPs source

* Update Values to EQEmu values.

* Add rule

* Adjustments to fear pathing

* Flee/Pathing adjustments (More TAKP code adjusted)

* updates

* Updates (Massaged functions from TAKP source)

---------

Co-authored-by: Kinglykrab <kinglykrab@gmail.com>
2024-07-30 18:27:47 -04:00
nytmyr c73a1e8bea [Rules] Add HasteCap and Hastev3Cap rules for NPCs, Bots and Mercs (#4406)
* [Rules] Add HasteCap and Hastev3Cap rules for NPCs, Bots and Mercs

Previously NPCs, bots and mercs all had a flat haste cap of 150 whereas clients were capped at 100.

NPCs, bots and mercs used the character rule for v3 cap, they now each have their own.

Rules for v3 cap are the default of 25 as they were using.
Rules for haste caps are the default of 150 for NPCs they were using but lowered to 100 for bots and mercs, the same as clients.

This also adds haste output to the GM target stat window

* Fix for stat windows to account for client haste
2024-07-22 06:06:49 -04:00
Alex King 8640776a21 [Cleanup] Cleanup Body Type Code (#4366)
* [Cleanup] Cleanup Body Type-based Code

* Update bodytypes.cpp

* Final

* Update body_type.cpp

* Cleanup

* Cleanup

* Formatting

---------

Co-authored-by: Akkadius <akkadius1@gmail.com>
2024-06-02 04:25:06 -04:00