1
0

80 Commits

Author SHA1 Message Date
Emagi
b61bb53a1b fix auto lock out of a group 2024-11-28 07:25:10 -05:00
Emagi
d03c86efef CheckEncounterState behavior added 2024-11-27 17:17:26 -05:00
Emagi
0ac5658535 allow guild create command to be used by players and not allow specifying player name / target name 2024-11-27 15:29:28 -05:00
Emagi
d1cee32a3e guild support for DoF and KoS clients 2024-11-27 09:26:39 -05:00
Emagi
9b9777257f avoid adding potentially null/dead item pointers to quest rewards, guild sending for KoS and earlier clients moved to op_sysclient 2024-11-26 12:43:08 -05:00
Emagi
72481617ec Fix spells persisting when you zone 2024-11-24 08:21:06 -05:00
Emagi
68d1777cf4 avoid stacking spells when you have a conflicted spell removed, should address multiple tick/control effects stacking 2024-11-24 07:46:09 -05:00
Emagi
428b73391c Omit bank/shared-bank from selling at a merchant, additionally prevent weight calculation for banked items on players weight 2024-11-23 09:24:41 -05:00
Emagi
31fc7aea63 disable zone persistence for now issue with doors/widgets disappearing 2024-11-23 07:53:22 -05:00
Emagi
6b73d3617a avoid a lockup condition due to already locked mutexes 2024-11-22 17:35:53 -05:00
Emagi
b848f78f41 graceful cleanup of spell and allowing player to recast 2024-11-22 15:20:16 -05:00
Emagi
79c3ec1fb2 Fix spells ticking after cancellation/expiring 2024-11-22 14:38:00 -05:00
Emagi
1f9010dc62 current power and hp cannot be set negative via lua 2024-11-22 07:34:53 -05:00
Emagi
45da917e8a fix crash on missing caster for RemoveWard 2024-11-19 15:53:41 -05:00
Emagi
51107a23f1 Update zoneserver.cpp 2024-11-18 19:47:29 -05:00
Emagi
5cbd2df6be missing atomic include? 2024-11-18 13:20:52 -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
7c04bc7e91 Update WorldWeb.cpp 2024-10-17 09:12:53 -04:00
Emagi
88a7e3b295 Added /reloadrules to web interface 2024-10-17 09:01:27 -04:00
Emagi
896eec33f2 Integrate support for R_Guild, MaxLevel rule. 2024-10-08 09:03:26 -04:00
Emagi
cba50c17e0 disabled char info sizing log message 2024-10-01 09:05:02 -04:00
Emagi
591b83a0ac Update Combat.cpp 2024-09-28 09:05:27 -04:00
Emagi
dc1430d52e updates
- runback now primarily uses nav even with line of sight with destination due to falling off bridges
- NPC stop attacking each other - Can't add to encounter when part of spawn group, can't add hate.
- WS_EnterCombat omitted for KoS and earlier clients not a packet
2024-09-28 09:00:42 -04:00
Emagi
8ac01db525 address spell state not getting reset if call process failed to trigger 2024-09-25 07:35:27 -04:00
Emagi
48ee02ea90 Fix proc to pop from the stack if isfunction call fails. 2024-09-25 06:52:43 -04:00
Emagi
c20f97faa5 Fixed RemoveProc to work without Spawn argument 2024-09-24 07:33:54 -04:00
Emagi
a056ef7b41 removed noisy dumppackets 2024-09-23 07:29:42 -04:00
Emagi
e7a187cf86 active spells updates 2024-09-22 21:11:48 -04:00
Emagi
1b2983d376 ground spawn "max skill increase" rules changed 2024-09-22 18:07:00 -04:00
Emagi
4ee282c460 Immunity Spell Type is int8 no int16 support 2024-09-21 09:27:17 -04:00
Emagi
26b5dc2d8c yet even more lua functions fixed for reset stack 2024-09-13 11:23:17 -04:00
Emagi
c8f88ff904 Update LuaFunctions.cpp 2024-09-13 08:18:40 -04:00
Emagi
0a1692b9a0 RemoveSkillBonus should work on NPC's now, fixed/added some additional logging info for SpawnGroupByID 2024-09-13 06:45:15 -04:00
Emagi
a597a993c2 note script filename fix error message for SpawnGroupByID 2024-09-12 15:46:46 -04:00
Emagi
ce39473fb9 additional lua fixes 2024-09-12 10:36:05 -04:00
Emagi
362a86d3f7 fix HasCoin to check if player before casting it 2024-09-12 09:44:05 -04:00
Emagi
0a80911ed7 Allow CureByControlEffect to be ran outside spell script 2024-09-12 08:40:47 -04:00
Emagi
e246609d34 AddControlEffect requires a luaspell be passed. On load of spell script data we remove the useless luaspell ptr. 2024-09-10 18:36:47 -04:00
Emagi
555045cbe2 reload spells now works with the lua state redesign and we delete spell in the spell_scripts instead of other places (casttimer, active_spells, so on) 2024-09-10 09:14:40 -04:00
Emagi
297c17b177 Changed to have DestroySpells handle luaspell delete instead of active_spells 2024-09-10 08:27:05 -04:00
Emagi
6f8f5016a6 delete of lua spell takes place via remove_all_spells flag in these conditions 2024-09-08 16:40:02 -04:00
Emagi
c4002c363e relocate RemoveCurrentSpell to apply whenever DeleteActiveSpell called (since its removal deletes the lua spell ptr) 2024-09-07 17:12:26 -04:00
Emagi
f6097f490c Update LuaInterface.cpp 2024-09-07 15:54:32 -04:00
Emagi
2ea8088f1e can't risk the out of order for mspells lock and also allowing multiple to traverse the tree 2024-09-07 15:54:05 -04:00
Emagi
950a67ac94 protecting inner mutex with write lock to avoid duplicating the lua state on multiple scripts 2024-09-07 15:19:30 -04:00
Emagi
f85ef5eb61 ret should be set after with the createspellscript 2024-09-07 14:52:08 -04:00
Emagi
98c0aaf73b spell scripts mutex locking fixes 2024-09-07 14:50:01 -04:00
Emagi
fb592b4d76 Update LuaInterface::DestroySpells to assure we cover all the new lua states under the spell_scripts instead of the obselete spells map 2024-09-06 08:17:50 -04:00