Commit graph

695 commits

Author SHA1 Message Date
Image
dd874435aa remove previous client from the mapping when replacing its current usable player (linkdead/rejoining) 2021-11-10 21:06:28 -05:00
Image
aefa1db989 signal packet version set to 1 as the struct hasn't changed, but certain compiles may not appreciate missing opcode version 2021-10-26 14:24:51 -04:00
Image
77616c791e /gm tag implemented, fixed escape code again, implemented zoning redundancy
Fix  - /gm tag implemented
eg.
/gm tag faction x icon_id (where x is the faction id)
/gm tag spawngroup x icon_id (where x is 1 for spawngroups, 0 for non spawngroups)
/gm tag race x icon_id (where x is the race id or base race id)
/gm tag groundspawn icon_id (tags all groundspawns with the icon id)

icon ids:
1 = skull, 2 = shield half dark blue / half light blue, 3 = purple? star, 4 = yellow sword, 5 = red X, 6 = green flame
7 = Number "1", 8 = Number "2", 9 = Number "3", 10 = Number "4", 11 = Number "5", 12 = Number "6"
25 = shield, 26 = green plus, 27 = crossed swords, 28 = bow with arrow in it, 29 = light blue lightning bolt
30 = bard instrument (hard to see), 31 = writ with shield, 32 = writ with green +, 33 = writ with crossed sword
34 = writ with bow, 35 = writ with light blue lightning bolt, 36 = same as 30, 37 = party with crossed sword, shield and lightning bolt
38 = shaking hands green background, 39 = shaking hands dark green background, unlocked keylock
40 = red aura icon with black shadow of person and big red aura, 41 = green aura icon with black shadow of person big green aura

"tag1" added to info struct as a UInt8

- More LUA Interface cleanup

- Zoning spruced up, we track incoming clients to a zone and also can emergency bootup a zone should it not be ready for incoming clients.
2021-10-23 20:21:35 -04:00
Image
4e9dedd5e2 Fix appearance items attuning / equipping
Fix 
2021-10-10 08:43:23 -04:00
Image
5b9b2642f4 Fixed SysClient setting client ready for updates, when it was sending keep alive, added sent wait state for spawns (500ms delay) 2021-10-06 22:30:37 -04:00
Image
b251f10923 More remnant SPGrid code no longer needed is removed.. 2021-10-01 23:43:27 -04:00
Image
f5e044ae4e version update to 0.9.4 geminorum 2021-10-01 23:34:40 -04:00
Image
1bf4e4fdd7 fix coordinate bugs 2021-10-01 23:34:28 -04:00
Image
6b012c810b world project update to remove SPGrid files 2021-10-01 23:21:35 -04:00
Image
80add76130 SPGrid removed, grid system is now part of raycast mesh, grids no longer have a precision issue and cpu usage is down heavily 2021-10-01 23:21:26 -04:00
Image
e43f9009ba SPGrid workaround reduced to allow more tolerable cpu levels 2021-09-27 15:37:21 -04:00
Image
ed62ee50a1 Update Spawn.cpp
Fix  - m_Update mutex is not held long enough for player position update
2021-09-24 23:17:29 -04:00
Image
744ffb46d0 ghost map stability venture 3
well maybe this works or it doesn't? I blame devn00b either way for his computer 😧
2021-09-24 23:02:13 -04:00
Image
fcc409dacc ghost map day -- the reckoning? 2021-09-23 14:17:20 -04:00
Image
26082b8264 fix crash on zone due to ghost_map (was due to the last min addition of the follow fix lol) 2021-09-22 23:26:42 -04:00
Image
514f92b785 Update zoneserver.h 2021-09-22 21:10:26 -04:00
Image
502ebefe71 Spawn Sending/Removal handling to resolve ghost_map crash
Also resolves crashes related to group members
Trying to target a spawn the client doesnt' have (index wise) crash fix
resetting hp on runback only when previously in combat
2021-09-22 21:10:21 -04:00
Image
d05d851f06 type 7 added so it will display as float instead of sint16 2021-09-22 21:08:21 -04:00
Image
394f5aebbe only need the beginning of the IP address to establish local 2021-09-22 21:08:09 -04:00
Image
64ac76a681 prevention of preparing packet more than once (may have been only encrypted/compressed, don't need to run in again) 2021-09-22 21:07:50 -04:00
Image
79f5284ed8 Oops.. 2021-09-17 10:12:17 -04:00
Image
b3389a0704 Better handling of pause timer to not interfere with out of combat with pets movement and in combat movement with other spawns 2021-09-17 10:08:41 -04:00
Image
9ee124382f Restrict runback hp reset to only when mob is in combat, face target in combat 2021-09-17 09:46:15 -04:00
Image
257a595ce0 Remove Zone Heading Timers to resolve loose Spawn pointers causing crashes
Fix  - ASan crash on pet
2021-09-17 09:36:03 -04:00
Image
e0e2525c4a Bad command handlers called, set high status and set handler id to 0 2021-09-15 23:15:18 -04:00
Image
3bf1b2554a House item placement updated to prevent sending move spawn packet too early, causing client to become the object/crash
Fix 
2021-09-15 23:15:04 -04:00
Image
9cc3901fe6 crash fix on DeleteSpawns need to assure removal from spawn_list 2021-09-11 15:53:26 -04:00
Image
905a69984c Fixed cell size to 15->150 resolves /grid spgrid returning 0, under world objects, unclickable objects, etc. 2021-09-11 15:53:14 -04:00
Image
d3fb28e579 Objects no longer have their altitude fixed so they can be put anywhere versus forced to ground 2021-09-11 15:52:48 -04:00
Image
7a902f9ae1 Item crash fix on trying to destroy item that does not exist 2021-09-11 15:52:23 -04:00
Image
8bec33ebd9 Better grid retrieval due to Y offset (WIP), fixed crash on maintained spell effects 2021-09-06 14:25:35 -04:00
Image
3d553fe80b persist through (though?) zone naming, spell caster nullptr check to complete spell crash fix 2021-09-03 21:19:06 -04:00
Image
9709c2006e Better handling of removing the caster spawn when they are no longer in zone 2021-09-03 20:47:26 -04:00
Image
cf22a54df7 Fix SpawnScriptTimer handling
Fix  - CheckSpawnScriptTimers needs timers to be re-instantiated for call_timers
2021-09-03 20:45:50 -04:00
Image
e0cb22bd10 Fixed accepting an empty buffer (0 bytes) or less than 2 bytes which would cause a negative sized buffer (min length is 2) 2021-09-03 14:38:44 -04:00
Image
dee07e0cbf Version up to 0.9.3-sco 2021-09-03 14:38:14 -04:00
Image
386e89215a LUA StopTimer(Spawn, "function_name") added, LUA function cleanup
Added LUA StopTimer(Spawn, "function_name") support, leave the function_name as an empty string to delete ALL timers tied to the spawn
LUA Functions cleanup continues, reset function stack after arguments are obtained (on-going patch work)
2021-09-03 14:38:04 -04:00
Image
42134c800c SpellProcess stability/protection and LUA SetSpeed against a non Entity fix 2021-08-30 20:51:48 -04:00
Image
3f3c3f3266 Crash fix on bad quest design
A quest lacking Reload and CurrentStep functions properly working can crash server, this will prevent that
2021-08-28 09:02:10 -04:00
Image
9a4829a27d Added 'deleted' spawn state, in which we do not continue sending a spawn after it is removed from game world (but still existing in the spawn list)
This will prevent a potential crash when the client logging in maps a spawn that is to be deleted.
2021-08-28 09:01:45 -04:00
Image
b93cabc72e Lacertae Update
Fix  - resolved spells with duration until cancel blinking after zoning
Fix  - hard coded activity status to solid/transport flags on lifts/boats resolves falling through lifts when moving on them

Additional crash fixes:
- stats clearing when calculating bonuses on entity
- Player equipment mutex lock protection
2021-08-22 14:57:35 -04:00
Image
c6744428a8 Crash fixes and LUA GetFactionAmount is now signed integer as it should be
- Fix GetFactionAmount to be Signed Integer
- Crash fix spell removal on zone shutdown when player already left
- PlayerItems mutex fixes
- Movement Location mutex fixes
2021-08-17 22:37:59 -04:00
Image
a4495ced4a operand fix 2021-08-11 22:55:56 -04:00
Image
30e19ed012 Lacertae Update - Stability Fixes against Inventory and GM reload options
Fix  - Can use /reload luasystem and /reload spells without causing a crash
Log messages at spell/warning level for NPC casting when it doesn't have enough mana/concentration/etc

Fixed additional ASan issues:
Fix 
Fix 
Fix 
Fix 
2021-08-11 22:51:31 -04:00
Image
34569f0592 Lacertae Update
- healthchanged function for SpawnScripts can now return a modified health.  healthchanged also now receives a third argument, Damage
eg function healthchanged(Spawn, Attacker, Damage)
-1 = immune (hit damage is set to 0)
0 (or no return) = default damage
1 or higher = new damage (before wards/procs take place)

- Fixed locking issues with player quests when calling /reload quests

- AddQuestStep now supports spawn ids as arguments 9+ (after the usableitemid) -- this will also set the quest flag icon that you would similarily see in a QuestStepKill noting a Spawn is involved with the quest

- Fixed ruleset error message to only display if we don't get a ruleset id

- Fixed a ASam crash in spawn_update_packet, didn't like our null_byte use.  Changed it to not bother since we memset the data, it is already a 0x00 byte no reason to memcpy it in.
2021-08-04 08:11:32 -04:00
Image
f98318afc3 missing itr end check BOO HISS bad me 2021-07-28 13:52:17 -04:00
Image
d44969be6e Revert std string in boost::regex_match 2021-07-28 08:47:30 -04:00
Image
1962e7e061 Procyon Updates
Fix  - loot_global support for loot_tier

Fix  - support for item stat 7xx range, subsequently fixed some issues with spell updates and providing inventory stats reflecting changes to those spells.

#define ITEM_STAT_SPELL_DAMAGE          700
#define ITEM_STAT_HEAL_AMOUNT           701
#define ITEM_STAT_SPELL_AND_HEAL        702
#define ITEM_STAT_COMBAT_ART_DAMAGE     703
#define ITEM_STAT_SPELL_AND_COMBAT_ART_DAMAGE           704
#define ITEM_STAT_TAUNT_AMOUNT          705
#define ITEM_STAT_TAUNT_AND_COMBAT_ART_DAMAGE           706
#define ITEM_STAT_ABILITY_MODIFIER          707

Fix  - added error message if a global ruleset not defined in variables eg.
22:46:34 E Rules     : Variables table is missing default_ruleset_id variable name, this means the global rules will be code-default, database entries not used.  Use query such as "insert into variables set variable_name='default_ruleset_id',variable_value='1',comment='Default ruleset';" to resolve.
2021-07-27 23:01:42 -04:00
Image
dbbe25d252 Fix groups persisting cross zone
Fix  - inadvertently display works fine most of the time, except if you cross zone the group was broken and unrecoverable due to bad saving of the group_id.

I am re-using the rejoin_group_id to set that as the default DB value in case the player loses its group temporarily when we zone them.
2021-07-19 22:13:09 -04:00
Image
f169cb6d6e Procyon Updates
Fix  - Put additional protection to rest of player_quests calls, using read/write locks now also
Fix  - Added rule R_Loot, SkipLootGrayMob, default is on "1".  Set to "0" to allow chests and 'non body' or 'non quest' drops from gray mobs
Fix  - Removed charge based items when charges depleted
Fix  - Added World Time LUA Functions
int16 = GetWorldTimeYear()
sint32 = GetWorldTimeMonth()
sint32 = GetWorldTimeHour()
sint32 = GetWorldTimeMinute()
SetWorldTime(int16 years, sint32 months, sint32 hours, sint32 minutes)
SendTimeUpdate()

- Additionally fixed camping and logging back in immediately, there was a 30 second delay.  That is no longer the case.
- Fixed effective level updating on level changes, this prevents the unexpected purple inventory and mentor level display
2021-07-19 21:25:31 -04:00