Commit graph

1882 commits

Author SHA1 Message Date
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
Emagi
8f35ab39d7 Fix delete spell crash when player camps with a maintained and spell effect on the same spell in certain conditions 2024-03-03 08:27:42 -05:00
Emagi
c958e02b2e Fix crash when process movement on spawn not entity, added logging for potential delete spell crash on client removal 2024-03-01 12:34:05 -05:00
Emagi
7bfa2fa1e6 Merge branch 'master' of https://git.eq2emu.com/devn00b/EQ2EMu 2024-02-28 09:46:50 -05:00
Emagi
12fe577015 Fix #557 bug reporting on DoF now works, thanks to ColdLlama 2024-02-28 09:46:33 -05:00
devn00b
791e48c857 Fix for discord bot. ruleset_details->rule_value was too small. Extended from 64->1024. 2024-02-15 18:48:38 +00:00
Devn00b
55f9349603 Merge branch 'master' of https://git.eq2emu.com/devn00b/EQ2EMu 2024-02-05 19:05:33 -08:00
Devn00b
78f4a6e63b Added Discord chat support. 2024-02-05 19:04:10 -08:00
Emagi
d1cbb045f2 Fix decline for auto loot mode command 2024-02-05 17:33:32 -05:00
Emagi
a55fda41b5 crash fix for non entity handle loot 2024-02-04 20:50:05 -05:00
Emagi
3589742e08 missing rule updates 2024-02-04 14:58:59 -05:00
Emagi
81ef0b82ab git pushMerge branch 'master' of https://git.eq2emu.com/devn00b/EQ2EMu 2024-02-04 14:58:01 -05:00
Emagi
47196d6b67 - Fix #504 - Group Options Support (loot methods, yell restrictions, encounter lock features, item rarity, auto split coin, auto loot mode)
- Rule R_Loot, LootDistributionTime added to set lotto/NBG timer countdown for distribution, default 120 (in seconds)
- /setautolootmode [x] command now supported, 0 = none, 1 = need/lotto, 2 = decline
DB Update: update commands set handler=534 where command='setautolootmode';
- /loot list details added - tracks the loot windows of players and tells if they are still open or closed (to determine when loot should dispense)
- Addressed spells causing crashes on deconstruct of NPCs
- Fixed inner struct data honoring the IfVariableSet/IfVariableNotSet flag, eg. previously item_id would not honor IfVariableSet/IfVariableNotSet:
<Data ElementName="item_count" Type="int8" IfVariableNotSet="loot_all"/>
<Data ElementName="item_list" Type="Array" ArraySizeVariable="item_count" IfVariableNotSet="loot_all">
       <Data ElementName="item_id" Type="int32" IfVariableNotSet="loot_all"/>
</Data>
2024-02-04 14:51:55 -05:00
image
d7ed14c95a Update 'EQ2/source/WorldServer/client.cpp'
Address compile issues with b96d4170be
2024-01-26 02:26:43 +00:00