Commit graph

1895 commits

Author SHA1 Message Date
Emagi
5ff28f60fe missing version check 2024-05-11 22:25:02 -04:00
Emagi
69612e08b6 - Fix #528 - Support for DoF Advancement Window!
* Restrictions based on rule R_Player, TraitTieringSelection = 1, limits to 1 trait selection per group, 0 allows 'free' selection much like newer EQ2
	* Racial Traditions and Personal Traits available, Training and Enemy Tactics need content
- Fix #472 - Spell damage now has resist added to reduce damage.  Resistability support, info struct now has float "max_spell_reduction" and int8 "max_spell_reduction_override".  Use override to set manually the resistability.  Otherwise uses table for max resistability based on level
- Fix #456 - Parital support for NPC Knockback, challenge is the updates are not using delta properly, but they do fly!
- Fixed /follow for DoF client
- Fixed multiple crashes in adding a trait
- Spell book should no longer have type 4 spells (not shown spells)
- Spell book issue addressed where innate abilities would wipe out the spell book
- Fixed situations on login where HP/Power would not regen since you were not added to the damaged spawns
- Implemented a workaround to get all items to appear in inventory for DoF client upon zoning *does not resolve evac/escape
- Fixed Spawn info struct, we were not passing spell_effects properly for DoF client
**Be sure to check the db file may2024_classictraits_personalandracial.sql and note it has a static max item id 10204351 that may need to be changed in the future if you insert it later
2024-05-11 20:29:26 -04:00
Emagi
8639e5a7ed Abort reading bad packet 2024-05-02 14:58:42 -04:00
Emagi
721e5c6362 oops client versioning not necessary 2024-04-17 17:51:55 -04:00
Emagi
96902a5564 - Fix #564 - Mail support for DoF!
- Mail list inbox now updated when a mail item is read (previously unread)
- Fix run speed like sprint stacking on the player
- Removed some unnecessary spell code that was unused, nullified spell when cast timer is performing delete/cleanup
2024-04-17 07:49:30 -04:00
Emagi
4278a968c9 fix mobs not setting their start hp/power, oops 2024-04-14 07:05:20 -04:00
Emagi
02f6f2a1af Fix #520 add hate-threat messages to dof client, fix modify hp and power to not reset on calculatebonuses for spells 2024-04-13 19:51:58 -04:00
Emagi
d1af2ec649 fix modify max power and health from duplicating on a mob when the base mob values are extremely low 2024-04-13 13:15:55 -04:00
Emagi
f9ddc49fcd - Fix #560 - DoF Trade Support! Works cross client to AoM, restricted to 6 slots when trading with DoF. WorldStructs.xml updated!
- /info command updated with /info your_trade|their_trade slot_num for DoF trading
- Rule R_Player, CoinWeightPerHundred -> R_Player, CoinWeightPerStone, defaulted to 40 which is the DoF client equivalent (eg 100/40 = 2.5 weight)
- Concentration is now capped on zone/reload of the player spells
- Fix crash related to trade (entity pointers were loosely handled), bot or player otherwise could decouple from the zone and leave a dead ptr.
- LUA Functions added: GetCharacterFlag(Spawn, val) and ToggleCharacterFlag(Spawn, val) -- val is defined by the Character Flags in Player.h with #define CF_ or CF2_
2024-04-13 10:24:58 -04:00
Emagi
dbe82f8eff remove somewhat duplicate directory of upper case Generic 2024-04-12 20:00:04 -04:00
Emagi
e9a71e11ad file wasnt saved whoops! 2024-04-12 19:54:15 -04:00
Emagi
f58e08a922 Fix spawn add new command to work again, fix spawn set hp and power to set the total base values to enforce to DB 2024-04-12 19:51:07 -04:00
Emagi
ec91d3a69f fix overwriting default database hp and power values with spawn set 2024-04-12 19:49:52 -04:00
Emagi
60a9c87312 Add a max concentration base and allow support of the DB entry for players, try to restrict the concentration from overflowing the integer 2024-04-12 07:18:14 -04:00
Emagi
422c34e566 Make lua functions ModifyMaxHP and ModifyMaxPower usable 2024-04-11 16:38:04 -04:00
Emagi
5d80136092 restore ability to set custom spell errors on precast, return { cast_allowed_boolean, cast_error_num }, eg return { false, 1 } will not allow casting and return not enough knowledge 2024-04-11 06:59:32 -04:00
Emagi
92ca3bac38 resolve the precast not stopping spell cast 2024-04-10 20:10:44 -04:00
Emagi
c98a2997d7 Do not call lua functions that do not exist for spells, causes crashes 2024-04-09 15:03:04 -04:00
devn00b
34b588c370 Sync Lua from dev server to git 2024-04-07 18:28:29 +00:00
Emagi
231c866c2c restrict spell state assignment during deletion of spells 2024-04-07 07:14:44 -04:00
Emagi
d9d2121b62 Merge branch 'master' of https://git.eq2emu.com/devn00b/EQ2EMu 2024-04-05 18:52:30 -04:00
Emagi
c1e8768769 - Fix #528 - IMMUNITY_TYPE_STRIKETHROUGH type 10 for AddImmunitySpell and like functions
- Fix #501 - /assist added, /assist on, /assist off, /assist [name], /assist *target*
update commands set handler=535 where command='assist';
- Fix #511 - loot tables not properly honoring max drops
- Fixed a few crashes / deadlocks with movement
- Start of mastery work for #503 -- primary/secondary damage now supports mastery skill
2024-04-05 18:52:18 -04:00
devn00b
891ced632e Windows EXE Update 2024-04-03 23:06:10 -07:00
Emagi
4383e6b20a fix log message had extra %s 2024-04-03 17:41:02 -04:00
Emagi
1c94d68116 - Fix #554 - Weight support
RULE_INIT(R_Player, MaxWeightStrengthMultiplier, "2.0"); // multiplier for strength to add to max weight, eg 25 str * 2.0 = 50 max weight + base weight
	RULE_INIT(R_Player, BaseWeight, "50"); // base weight per class, added to max weight with the strength multiplier
	RULE_INIT(R_Player, WeightPercentImpact, "0.01"); // overweight in stone speed impact (.01 = 1% per 1 stone)
	RULE_INIT(R_Player, WeightPercentCap, "0.95"); // cap total impact for being overweight (.95 = 95%)
	RULE_INIT(R_Player, CoinWeightPerHundred, "100.0"); // coin weight per stone, 100.0 = 100 coins per 1 stone
	RULE_INIT(R_Player, WeightInflictsSpeed, "1"); // whether weight will inflict speed, 1 = on, 0 = off
- Fix a crash during zone shutdown and player pointer being destroyed with ~Client before removal from spawn_list (that is handled with ZoneServer, not individual client)
- Fix consistent calculate bonus being called, only called on spell bonus/removal (not each char sheet update)
- Added a debug spell log message so we can see what lua spell is being called before potential LUA crashes/panics
- Log message to point out bad loading of non-existent character ids in guild members
2024-04-03 09:10:06 -04:00
image
5a791384a9 Merge branch 'nellag/database-result-optimisations' of devn00b/EQ2EMu into master
Thanks for the great addition!
2024-04-02 11:15:26 +00:00
Emagi
a7ea8f9569 reverse this code as it should no longer be needed due to 5fba62654e 2024-04-01 07:01:26 -04:00
Nellag
dc552fc9f6 Core/Database: Optimised Database::StoreResult by using a map of field names to indices instead of a char pointer array. Issue #559 2024-03-29 23:57:58 +00:00
Emagi
f66d687bfe Merge branch 'master' of https://git.eq2emu.com/devn00b/EQ2EMu 2024-03-29 07:10:20 -04:00
Emagi
ff9eb3dd94 Fixed some mistakes on the iterator handling for spawn script timers 2024-03-29 07:10:11 -04:00
Devn00b
a72149f6ab Update Windows EXE 2024-03-28 17:48:37 -07:00
Emagi
5fba62654e Address corner case with GM commands crashing server 2024-03-26 19:31:06 -04:00
Emagi
8b394e1fa7 Try to address hangups with reload spawns win larger zones 2024-03-26 08:00:32 -04:00
Emagi
518096f8cf this was forgotten the other day 2024-03-25 13:13:06 -04:00
Emagi
93fe6b750e stopping spawn script timers will be avoided on zone shutdown to avoid deadlock, we have cleanup later in the function calls 2024-03-24 13:30:35 -04:00
Emagi
2bd952fba7 Remove any spawn script timers tied to the spawn when spawn is removeed 2024-03-23 08:06:13 -04:00
Emagi
0d474d8455 This time will be different, this time we will succeed! 2024-03-23 07:40:18 -04:00
Emagi
513fafef3c Avoid nullptr casters! 2024-03-21 22:26:15 -04:00
Emagi
efca012970 Able to repop in Antonica and not have issues deconstructing spells from spawns 2024-03-20 19:08:32 -04:00
Emagi
9ac9da15a5 missing files 2024-03-18 18:17:01 -04:00
Emagi
f48465c654 try to fix a crash issue 2024-03-18 18:15:13 -04:00
Emagi
878dd00fb9 Address spell caster dead ptrs, location enter/leave with discovery based on grid id alone 2024-03-18 08:58:05 -04:00
Emagi
1a641f23ce caster nullptr check 2024-03-12 20:10:31 -04:00
Emagi
11cd551808 Merge branch 'master' of https://git.eq2emu.com/devn00b/EQ2EMu 2024-03-12 09:16:26 -04:00
Emagi
27130d0aae Mutex handling fixes, ptr crash fix and loose pointer cleanup related to lua spells 2024-03-12 09:16:13 -04:00
devn00b
4207e21dfa Windows EXE update 2024-03-11 14:07:47 -07:00
Emagi
f9d0c8879c additional group member ptr crash fix 2024-03-09 08:01:21 -05:00
Emagi
11032419f3 Additional misc ptr crash fixes 2024-03-09 07:26:51 -05:00
Emagi
b6aac685a2 Protection around scenario with repop command overrunning the remove targets from spell and also when zone is not available for cast spell on a target or caster 2024-03-07 09:48:58 -05:00
Emagi
39ac029ffc Fix #558 - deadlock on heal checking encounter state of existing aggroed npcs on the person being healed 2024-03-04 08:41:02 -05:00