Commit graph

1472 commits

Author SHA1 Message Date
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
d038cce055 Exe Updates 2021-09-03 14:39:30 -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
211d24cbdf Exe Update 2021-08-30 20:51:54 -04:00
Image
42134c800c SpellProcess stability/protection and LUA SetSpeed against a non Entity fix 2021-08-30 20:51:48 -04:00
Image
e9c2ed973b Exe Update 2021-08-28 09:03:51 -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
1149f3aee0 Exe Update 2021-08-22 14:57:46 -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
c867304727 Exe Update 2021-08-17 22:38:06 -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
b4a0e646c9 Exe Update 2021-08-11 22:51:38 -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
bd4b213b17 Exe Updates 2021-08-04 08:11:39 -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
64ef7e4627 exe update 2021-07-28 13:52:22 -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
1305710349 Exe Update 2021-07-27 23:01:58 -04:00
Image
244fe96dc5 Create spawntable_update_jul27_2021.sql 2021-07-27 23:01:53 -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
5c08c6d280 Exe Update 2021-07-19 22:13:50 -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
74222f2701 Exe Update 2021-07-19 21:25:37 -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
Image
c1f748c7d6 Exe Update 2021-07-17 08:27:34 -04:00
Image
bc5e07681d Procyon Update - Linkdead fix, stability fixes, AE encounter NPC->player spell cast support
Fix  - Linkdead caused instability to world server and also the process of reconnecting a formerly connected player was not setup correctly (need to clear xor packets and other variables, visual states, player states)
- Fixed a crash issue with toggling client offline in database
- Encounter spells NPC->Player now properly handled
2021-07-17 08:27:26 -04:00
Image
2ef9e6a6e3 Exe Update 2021-07-14 15:51:05 -04:00
Image
03f5b10386 SpawnStructs updates for appearances, also fix DoF client guild to be char not int8 (bad buffer overflow) 2021-07-14 15:50:50 -04:00
Image
443bb47ed4 deadlock fix for groups and buffs against group members 2021-07-14 15:49:56 -04:00
Image
ce869b41fd Check for potential index overflowing the equip slot 2021-07-14 15:49:33 -04:00
Image
3971d484cd Merge branch 'master' of https://git.eq2emu.com/devn00b/EQ2EMu 2021-07-14 15:42:26 -04:00
Image
fdfca965b6 reorder targetting vs entering combat, fixes lua function "attacked" providing spawn target instead of nil 2021-07-14 15:41:44 -04:00
Gitea
4329902fad Update to installer. 2021-07-07 14:18:11 -07:00
Image
a3971ce98d Procyon Exe Updates 2021-07-05 08:49:41 -04:00
Image
ecdcdfd123 Procyon Update
- Fix  exposed cheek_type, chin_type, ear_type, eye_brow_type, eye_type, lip_type, nose_type, body_age, body_size to spawn set

all but body_age and body_size have three indexes (0-2):

/spawn set command_name [value] [index]

value is a signed integer (can be negative/positive per the requirements)

index is between 0-2, sets R/G/B fields respectively in the database (thats how it loads up)

- Fix  better handling of MMovementLocations

- Fix  we now properly update the windows against your inventory

- "obtained" lua function now called when item is looted (previously only done when item is 'added' to the player)

- Fix  - lock down fuel components (the resulting messaging may need to be corrected, but the concept is in)

- Fix  - expansion/holiday flag triggering on a spawn no longer throws 'error adding spawn'.  Now has a warning message instead.  Also did some other messages to try to reduce 'error' based logging as to not confuse real errors with just server settings/unrelated noise in the database.
2021-07-05 08:49:34 -04:00
Image
07efba1410 July Procyon Versioning 2021-07-05 08:44:32 -04:00
Image
17685389b4 Garbage packet reconsideration to just drop the packets instead of trying to continue processing if it doesnt match our criteria 2021-07-05 08:44:13 -04:00
Image
13abfca43d When we lose connection to mysql we don't have to close connection (I guess?) trying to resolve a rare crash 2021-07-05 08:43:52 -04:00
Image
25eb7d26d5 Create lootdrop_update_june23_2021.sql
SQL update for lootdrop required
2021-06-23 16:47:18 -04:00
Image
7c6d46061c Exe Update 2021-06-23 16:46:34 -04:00
Image
1af9491eb4 Cygni Updates
- Deadlock fix on spawn removal and deleting spawns
- Fix  lootdrop will be checked against completed quest identified by ID
alter table lootdrop add column no_drop_quest_completed int(10) unsigned not null default 0;
- zone instance type now cached into a map after querying zone id (so we don't continuously query)
- mentor now removes spells on the person mentoring
- Fix  - GetZoneLockoutTimer(Player, ZoneID, displayClient=false) added, returns string of lockout time (includes a space at the beginning).  DisplayClient = true will send the message to the client.
- Can't hail dead spawns
- Crash fix in TempRemoveGroup when group id no longer exists
2021-06-23 16:46:06 -04:00
Image
54c82b64fb Crash fix when map is not yet loaded 2021-06-23 16:41:21 -04:00
Image
b503a98ae1 Exe Updates 2021-06-03 23:02:14 -04:00
Image
144817fdbe LUA functions AddQuestStepKillByRace and AddQuestStepZoneLoc
Fix  - support to quest steps by race type

Eg. race 298 is gnolls
 AddQuestStepKillByRace(Quest, 1, "I need to kill five Gnolls!", 5, 100, "I need to do what is asked of me.", 1221, 298)

Fix  - Add AddQuestStepZoneLoc since existing AddQuestStepLocation does not support zone id and it looks for 3 sets of locations at the end of the function (so it can accept multiple arguments of locations).  AddQuestStepZoneLoc introduces 4th optional argument of zone_id for each loc set x,y,z, zone_id

AddQuestStepZoneLoc(Quest, 2, "Go to Oakmyst Falls", 10, "Visit the Oakmyst location hinted of in the line "The life giver billows and feeds."", 11, 994, 0, -204, zoneid, anotherx, anothery, anotherz, anotherzoneid)
2021-06-03 22:59:46 -04:00