1
0

26 Commits

Author SHA1 Message Date
Emagi
c177dc910d If a grid is not assigned to a spawn then we will try to force one on the map if they are not a flying creature 2025-04-21 14:18:55 -04:00
Emagi
8b4a623f42 more /reload spells junk 2025-02-09 16:37:16 -05:00
Emagi
9250118b05 More work for /reload spells when multiple zones / players are on 2025-02-09 15:25:16 -05:00
Emagi
9bfa15d628 make sure spells are cleaned up when zone is shutdown 2025-02-09 09:11:17 -05:00
Emagi
3efce0abd6 call spell remove function for reason "target_dead" and "target_removed" also address the long delay between calling the remove function and the death of a spawn. Lastly made it so we can reference the spawn group id after death for a spawn since we remove it from a spawn group. 2025-01-16 12:29:24 -05:00
Emagi
e20b45eedd Fixed issues with /reload spells causing a crash 2025-01-16 10:53:12 -05:00
Emagi
9b60035656 LUA function Resurrect updated with 8th and 9th argument for revive_sickness_spell_id and revive_sickness_spell_tier respectively. Fixed avoiding crash with bad spawn ptr if resurrect caster left zone. 2025-01-11 09:22:25 -05:00
Emagi
3162106580 Added Lua Functions PlayAnimationString(Spawn: Spawn, String: EmoteStringCommand, Spawn: OptTarget, Boolean: SetNoTarget, Boolean: UseAllSpellTargets, Boolean: IgnoreSelf) and GetSpellTargets(Optional_Spell) if no argument must be in spell script. Fixed spells with no range that are group based to apply to all in group. 2025-01-10 19:08:47 -05:00
Emagi
c24f0c89fc only create a persisted respawn if it has a respawn time 2025-01-09 17:44:11 -05:00
Emagi
1cc7d22a44 support flight paths in KoS and earlier clients, also start of showing loot to other group/raid members 2025-01-04 15:24:02 -05:00
Emagi
04f38a6599 added zone info into memory, you can use /reload zoneinfo to clear the cache if GM status available. 2024-12-30 10:10:48 -05:00
Emagi
3200c1d66d Fix the number of players in zone to be more accurate 2024-12-23 19:16:16 -05:00
Emagi
42173ceef2 Added support to create duplicated zones of public zones (non city zone). Additionally spawn locations can be limited to the primary public zone and not replicated (for epics). 2024-12-23 08:46:11 -05:00
Emagi
7f138c5bef Support in eq2emu for respawn_offset_low respawn_offset_high to align with changes in spawn_location_placement for editor
alter table spawn_location_placement add column respawn_offset_low int(10) signed not null default 0 after respawn;
alter table spawn_location_placement add column respawn_offset_high int(10) signed not null default 0 after respawn_offset_low;
2024-12-19 13:02:18 -05:00
Emagi
fe10353863 Added public zone persistence of spawns back, command /location list respawns added, additionally added tracking of duplicate zones for exceeding player limits 2024-12-15 15:22:21 -05:00
Emagi
35bbb09096 Fixed LogError for GetSpellInitialTarget to show correct function name, pNumPlayers implemented for ZoneServer, will peer that data as well 2024-12-11 08:27:16 -05:00
Emagi
c17b4d5588 Added CreateChoiceWindow, ClearChoice and GetChoiceSpawnID lua functions, added base of tracking for min, max, avg, first level for raid/group into instances... more work to complete tomorrow 2024-12-04 21:53:57 -05:00
Emagi
14bb60caf8 avoid crash on remove caster when in a spell attack 2024-12-01 06:29:13 -05:00
Emagi
52ed0cf1d3 make sure spell caster does not persist if they are removed from the spawn list 2024-11-29 09:49:57 -05:00
Emagi
d03c86efef CheckEncounterState behavior added 2024-11-27 17:17:26 -05:00
Emagi
31fc7aea63 disable zone persistence for now issue with doors/widgets disappearing 2024-11-23 07:53:22 -05:00
Emagi
51107a23f1 Update zoneserver.cpp 2024-11-18 19:47:29 -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
e4fc6aad5a Zone ruleset_id support for most rules 2024-10-20 09:35:41 -04:00
Emagi
ca28e77ae4 Crash fix, new lua function IsSpawnGroupAlive(Zone, Group_ID)
Crash fix for SpawnGroupByID on invalid group, IsSpawnGroupAlive(Zone, Group_ID) added.
2024-08-02 15:51:28 -04:00
Emagi
89194da149 EQ2Emu Source Base July 2024 2024-07-22 08:52:28 -04:00