1
0

16 Commits

Author SHA1 Message Date
Emagi
97d1393627 Fix #19 Position updates ignored when dead, new rule MiniDing, fix
Fix #19 - ignore position updates when dead
New rule R_Player MiniDingPercentage
Fixed ordering of locks in RemoveSpawn
ResetSpawnPackets function created to test resetting the spawn packet to a spawn (testing purposes only not live code)
2025-05-30 21:47:57 -04:00
Emagi
6d52f19108 Additional changes made to remove use of spell pointer in recast timer unlock spell logic, assure we have no crash in this area 2025-05-30 11:03:36 -04:00
Emagi
cde778bb1a Fix a crash trying to unlock a spell for a player with a recast timer when the spell data is null 2025-05-30 10:27:10 -04:00
Emagi
11d46887db Fix charm slots being visible in the client UI for DoF and KoS clients (classic does not support) 2025-05-05 15:14:02 -04:00
Emagi
c861e103d9 Fix #8 info struct has a int16 max_level, when set greater than 0 will restrict the max level a player can reach (does not impact already set level or GM commands, lua changelevel, only XP gain for Adventure/Tradeskill level) 2025-04-26 08:14:35 -04:00
Emagi
1268ecbc94 Fix Issue #3 - Class Updates, Name Updates to LS
Support added for class updates to LoginServer when adventure class is updated (such as commoner to sub class, so on).

Name change for GM command /name support added for LS update.  This is a use at your own risk command and you will have to /camp to fully reflect your name update.
2025-04-11 09:49:18 -04:00
Emagi
bd9f1bd8ce Fix accidentally not nullifying the spell pointer when we remove a spell effect 2025-01-21 07:37:22 -05:00
Emagi
dad7873dc5 LUA functions added: GetSpellCaster(Spell) and GetCasterSpellLevel(Spell) the Spell field is optional if in a spell script
db additionally had field added:

alter table character_spell_effects add column caster_level smallint(5) unsigned not null default 0;
2025-01-18 09:16:35 -05:00
Emagi
82a1885887 Added classic spell level support (aka mini ding spells) like warrior getting knee break at lvl 19.6 2025-01-13 09:06:11 -05:00
Emagi
2a3a280793 Avoid overflow items remaining in memory and causing a crash 2024-12-13 14:50:41 -05:00
Emagi
315ab1d0e7 Project Nebulark Part 1, So much to list, this is a rough summary
- Raid support and cross peer support for Isle of Refuge, DoF, KoS and AoM clients.
- Zone Persistence added to non-instanced zones.
- Commands: /whogroup, /whoraid, /raidinvite, /raid_looter, /kickfromgroup, /kickfromraid, /leaveraid, /split, /raidsay (rsay) added.
- Cross peer zone and instance support
- Cross tell support (along with ignore)
- Cross ooc support
- Cross group support (can chat, leave group, disband cross peers, update group options)
- Cross who all support
- houses/instances fixed no more cross objects/spawns/etc from other houses
- houses now display characters name with the house zone description
- 1000's of house items now properly work with wall/ceiling
- debug messages removed from housing placement
- Encounters locked to raid instead of group
- group options restricted to raid leader
- reload rules for following are peer wide:
COMMAND_RELOADSTRUCTS
COMMAND_RELOAD_QUESTS
COMMAND_RELOAD_SPELLS
COMMAND_RELOAD_ZONESCRIPTS
COMMAND_RELOAD_FACTIONS
COMMAND_RELOAD_MAIL
COMMAND_RELOAD_GUILDS
COMMAND_RELOAD_RULES
COMMAND_RELOAD_STARTABILITIES
COMMAND_RELOAD_VOICEOVERS
COMMAND_RELOADSPAWNSCRIPTS
COMMAND_RELOADREGIONSCRIPTS
COMMAND_RELOADLUASYSTEM
- special/static zones (always_loaded) are now defined by a peer_priority unsigned short (smallint(5)) in zones table.  peer_priority = server_config world.peerpriority will spawn on that exe instance, if it is not available it is distributed to all peers.  Using the value of 0 (assuming no peer has priority of 0) or 65535 will result in peer distribution of zones.
server_config.json "WorldServer" block updated with the following (web peer port information), priority must be unique for EACH peer:
        "peeraddress": "10.1.1.2",
        "peerport": "9102",
        "peerpriority": "1",

New Command Line Run Arguments for World Exe to override server_config.json values
Allowed options:
  --worldaddress arg         World address
  --internalworldaddress arg Internal world address
  --worldport arg (=0)       Web world port
  --webworldaddress arg      Web world address
  --webworldport arg (=0)    Web world port
  --peerpriority arg (=0)    Peer priority

- fixed Isle of Refuge client group struct (raids added also)
- new log category Peering
- new LUA Functions AddRespawn(Zone, LocationID, RespawnTime) and CreatePersistedRespawn(LocationID, SpawnType, RespawnTime, ZoneID)
2024-11-18 11:13:04 -05:00
Emagi
7aa35166ca getzonerule cleanup 2024-10-20 15:02:39 -04:00
Emagi
e4fc6aad5a Zone ruleset_id support for most rules 2024-10-20 09:35:41 -04:00
Emagi
cba50c17e0 disabled char info sizing log message 2024-10-01 09:05:02 -04:00
Emagi
5d2d49fd47 Update Player.cpp 2024-07-26 21:28:15 -04:00
Emagi
89194da149 EQ2Emu Source Base July 2024 2024-07-22 08:52:28 -04:00