Commit Graph

635 Commits

Author SHA1 Message Date
nytmyr d6df4aae3f fully implement ^pull logic to always return, can still be overidden by ^attack 2024-12-04 20:56:09 -06:00
nytmyr b69ac7dc21 holding check at start of ai process 2024-12-02 21:25:06 -06:00
nytmyr f12e597ff3 more pull tweaks 2024-12-02 09:16:11 -06:00
nytmyr 1af85092f7 Implement spell AI pulling, fix throw stone 2024-12-02 07:32:30 -06:00
nytmyr 51eb75523e add !commandedspell() check to aggro checks on cast 2024-12-01 23:35:21 -06:00
nytmyr a22502a13d rename BOT_SPELL_TYPE functions 2024-12-01 23:33:21 -06:00
nytmyr af5dbbe932 remove unnecessary messages on silence /block for bots 2024-12-01 23:05:50 -06:00
nytmyr ea84fd75da Clean up and fix any melee attacks to line up with clients 2024-12-01 20:46:50 -06:00
nytmyr 962e2d80b9 fix AA loading and expansionbitmask saving/loading 2024-12-01 20:36:27 -06:00
nytmyr dc0819c2c6 misc cleanup 2024-11-28 22:33:30 -06:00
nytmyr ceeb083864 Allow bots to bypass los checks for positioning if no detrimental types allowed 2024-11-28 22:15:02 -06:00
nytmyr 6846bdc56c commanded spell fixes. All should be working now minus depart 2024-11-27 21:09:51 -06:00
nytmyr 156c928521 debug cleanup 2024-11-27 20:50:56 -06:00
nytmyr df6c6c3ea0 add aehateline spell type 2024-11-27 20:50:21 -06:00
nytmyr 10effce2a6 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-11-27 13:51:37 -06:00
nytmyr b200bdd04e implement commanded cast types 2024-11-26 13:17:57 -06:00
nytmyr bdea548460 fix resistbuffs and damageshields spell type checks 2024-11-26 13:17:56 -06:00
nytmyr d97f691255 misc cleanup 2024-11-26 13:17:56 -06:00
nytmyr 5c73581f90 Add AllowBotEquipAnyClassGear to bot trades 2024-11-14 20:09:19 -06:00
nytmyr 677a9fdfe0 Add more checks to bot names to prevent spacing or invalid characters 2024-11-14 20:08:57 -06:00
nytmyr 6d97536e38 Add loregroup 0 bypass for lore conflicts for bots like clients 2024-11-12 22:19:16 -06:00
nytmyr 464c69190d correct and tweak all combat positioning and combat range 2024-11-11 22:09:05 -06:00
nytmyr 8989c6f21b apply ranged setting on spawn to show correct weapons 2024-11-11 22:09:04 -06:00
nytmyr 18b6fc2667 adjust spell hold checks to rely on caster and
Implement pet resist buffs and pet damage shields
2024-11-11 22:08:51 -06:00
nytmyr 9f9c25c653 passivecheck response 2024-11-09 22:07:35 -06:00
nytmyr 0d970844d3 add passive stance checks to commands and loading/saving. shouldn't be ` 2024-11-09 22:00:20 -06:00
nytmyr 57e9b62a48 Add viral, fear, stun, knockback, gravityeffect support to bots 2024-11-08 10:59:01 -06:00
nytmyr 31a4f053b5 bot movement cleanup and tweaks, move casterrange to distanceranged 2024-11-07 16:34:29 -06:00
nytmyr 775511c935 more target validation for bots to prevent pets from getting hit with AEs and pets trying to attack invalid targets 2024-11-07 16:34:28 -06:00
nytmyr 2dfa1681c4 Make rogue/monk evade logic more accurate to players 2024-11-06 07:30:24 -06:00
nytmyr 32a10f4219 Implement and rewrite stances 2024-11-06 00:30:40 -06:00
nytmyr cd4ebb5a73 Rewrite ^followd command and remove squared values from command 2024-11-01 14:58:37 -05:00
nytmyr 8b5112a616 oopsies 2024-10-31 23:21:42 -05:00
nytmyr 4aa7a18b4f 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-10-31 07:32:16 -05:00
nytmyr 32e37660d8 Bot Rework 2024-10-26 00:33:36 -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
Alex King a85f4fb703 [Cleanup] Cleanup Stance Code (#4368)
* [Cleanup] Cleanup Stance-based Code

* Command

* Update emu_constants.h

* Update stance.cpp

* Cleanup
2024-07-02 21:50:34 -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
Alex King caa647dc6b [Cleanup] Cleanup Deity Code (#4363)
* [Cleanup] Cleanup Deity-based Code

* Final push.

* Update deity.cpp

* Update deity.cpp

* Update deity.cpp

* Cleanup

* Cleanup

* [Cleanup] Cleanup Skill-based Code

* Update deity.cpp

* Update lua_client.cpp
2024-06-01 18:21:26 -05:00
Alex King 76b9ce0ac1 [Cleanup] Cleanup Special Ability Code (#4365)
* [Cleanup] Cleanup Special Ability-based Code

* Update emu_constants.cpp

* Update emu_constants.cpp

* Update emu_constants.cpp

* Update special_ability.cpp

* Cleanup

* Update emu_constants.cpp
2024-06-01 18:20:43 -05:00
Alex King 7ad97ce168 [Database] Add Extra Haste to Bots/Character Tables (#4286)
* [Database] Add Extra Haste to Bots/Character Tables

* Remove Database::GetExtraHasteByCharacterID

* Update database.h

* Update mob.cpp

* Update database_update_manifest.cpp

---------

Co-authored-by: Akkadius <akkadius1@gmail.com>
2024-05-04 18:21:41 -05:00
Paul Coene e268ab18f5 [Messages] Fix multiple errors in spell damage at death. (#4264)
* [Messages] Fix multiple errors in spell damage at death.

* Change iBuffTic in new code to use snake_case
2024-04-27 22:49:00 -04:00
KayenEQ 989d199908 [Spells] SPA69 TotalHP can be used in Worn Slot, Fixes/Updates to Max HP related variables. (#4244)
* Allow SPA69 to work on worn effects.

Update to allow SPA69 to work on worn effects which the client accepts and calculates properly.

Updated spell effect related Max HP change variables. 1) We had stat bonuses defined that did same function. Without updating would have had to create another variable for above to work. 2) Negate bonuses spell effect end up negating item HPs. which is not intended since using same variable for items and spells.

* HP variable updates

fixes

* HP variable updates

fixes

* HP variable updates

fixes

* Update mob.cpp
2024-04-15 05:06:17 -05:00
Alex King 9a09d820a5 [Quest API] Add GetConsiderColor() to Perl/Lua (#4253) 2024-04-15 04:53:48 -05:00
KayenEQ e9a0c79301 [Bug Fix] SPA214 SE_MaxHPChange calculation errors corrected. (#4238)
* [Bug Fix] HP Bar not updating when applying HP Buff with a heal.

Bug: When an HP buff with a heal effect is applied for first time, the heal portion of the effect heals the client and updates HPs currently server side, but client side the HP bar does not register it as a heal thus you display as less than full HP. However due to server thinking your healed, you are unable to correct it by healing.

Solution: You need to resend the HP update after buff completed and action packet resent.

* add SE_MaxHPChange to fix

would result in same bug

* [Bug Fix] SPA214 Percent HP change calculation fix

Fix how spell and item bonuses using SPA 214 are calculated. Will now be calculated consistent with client.

* [Bug Fix] SPA214 SE_MaxHPChange calculation errors corrected.

removed code from other PR
2024-04-02 01:12:55 -05:00
Chris Miles cf7f0f4321 [Skill Caps] Further improvements (#4205) 2024-03-24 13:04:26 -04:00
Alex King 21cec87ac4 [Bug Fix] Fix Bot/Character ID Overlap in Groups (#4093)
* [Bug Fix] Fix Bot/Character ID Overlap in Groups

- Attempt to fix bot/character ID overlap in groups keeping bots with the same unique identifier as players from not spawning on zone.
- Adds `bot_id` to `group_id` to differentiate bots from characters and hopefully alleviate this issue.

* Update base_group_id_repository.h

* Final push
2024-03-23 17:55:03 -05:00
Alex King abdec39cdd [Quest API] Add Archetype Methods to Perl/Lua (#4181)
* [Quest API] Add Archetype Methods to Perl/Lua

- Add `$mob->GetArchetypeName()`.
- Add `$mob->IsIntelligenceCasterClass()`.
- Add `$mob->IsPureMeleeClass()`.
- Add `$mob->IsWisdomCasterClass()`.

- Add `mob:GetArchetypeName()`.
- Add `mob:IsIntelligenceCasterClass()`.
- Add `mob:IsPureMeleeClass()`.
- Add `mob:IsWisdomCasterClass()`.

- Allows operators to use mob archetypes to perform different operations.
- Add a namespace for archetypes instead of constants.
- Utilize `IsIntelligenceCasterClass()`, `IsPureMeleeClass()`, and `IsWisdomCasterClass()` where necessary.
-

* Update mob.cpp
2024-03-23 14:37:35 -05:00
Alex King 4b83a96f64 [Bug Fix] Fix Empty Groups When Removing Bots (#4178)
# Notes
- We were checking for the incorrect value, meaning you could end up in an empty group.
2024-03-13 20:27:38 -04:00