Commit graph

294 commits

Author SHA1 Message Date
Image
3738e7824e Fixing objects placed in houses not having solidity upon initial spawn
In support of Issue 
2020-05-25 16:33:06 -04:00
Image
e9066397ed avoid a crash trying to retrieve zone 2020-05-25 13:20:55 -04:00
Image
002e913927 Fixed objects being forced to Z ground (we want objects to be able to sit on other objects)
In support of issue 
2020-05-25 13:16:30 -04:00
Image
b3534cc556 command changes
GM vision support
reverted spawn move command changes since that broke it!  Basis of GM command added
2020-05-24 11:45:28 -04:00
Image
b440312d72 support for examining objects/items in a house 2020-05-24 00:53:59 -04:00
Image
ebd2663abd db versioning updated to 43 2020-05-24 00:53:48 -04:00
Image
4d83bb766f Prototype placement of objects/items in homes
Support for object placement in player homes to support issue 

We need to populate item_appearances with an equip_type to match the model type id for each item->spawn model

query updates required:

alter table spawn_location_placement add column instance_id int(10) unsigned not null default 0;
update commands set handler=512 where command='place_house_item';
create table spawn_instance_data(
   spawn_id int(10) unsigned not null default 0,
   spawn_location_id int(10) unsigned not null default 0,
   pickup_item_id int(10) unsigned not null default 0
);
alter table spawn add column is_instanced_spawn tinyint(3) unsigned not null default 0;
2020-05-23 19:16:54 -04:00
Image
d092597a4b gemini versioning 2020-05-21 22:50:53 -04:00
Image
1fbda69511 Spawn quest flag now set automatically for AddQuestStepKill spawn id scenario
Fixes 
2020-05-21 22:42:51 -04:00
Image
f96fdcc85c movement loop generator, respawn lua function defaults back to spawn lua function 2020-05-20 22:00:37 -04:00
Image
abd5840191 Movement Loop Generator added
- fixed crash on subsequent load of file
- fixed Settings.cs missing from project (not needed)
2020-05-20 21:55:32 -04:00
Image
b65b57364e reverted eqstream rewrite changes as it was causing login to initially fail 2020-05-20 07:44:42 -04:00
Image
eb5a27d544 Completion of invis / hide support, client is notified of other spawns aggro visually
Fix  complete
2020-05-19 23:44:09 -04:00
Image
1e54da5b67 desync fix from rewrite project 2020-05-19 21:49:48 -04:00
Image
4bbc783c28 crash fix for RemovePrimaryEntityCommand 2020-05-19 16:06:28 -04:00
Image
6c7f11fd70 LUA Commands Added/Updated for controlling primary commands
Fix 

Examples:

--AddPrimaryEntityCommand(Spawn,NPC,"",0,"") -- removes all the primary entity commands (including hail)

--AddPrimaryEntityCommand(Spawn,NPC,"hail",10000,"hail") -- adds the hail command back to the npc

--SendUpdateDefaultCommand(NPC,10000,"hail") -- returns the bubble option when you hover over the spawn/npc

--AddPrimaryEntityCommand(Spawn,NPC,"hail2",10000,"hail2","",0,0,1) -- 1 at the end sets this as a default DENY list, if Spawn is supplied and not null/not player then that player gets default allow access.  Any other players must be added (either by calling the AddPrimaryEntityCommand or subsequently SetAccessToEntityCommand)

--SetAccessToEntityCommand(Spawn,NPC,"hail2",0) -- removes access to the just created hail2 for that player

--SetAccessToEntityCommand(Spawn,NPC,"hail2",1) -- adds access to hail2 for that Spawn (player)

--RemovePrimaryEntityCommand(NPC,"hail2") -- removes hail2 command for all players
2020-05-19 13:38:11 -04:00
Image
a25166ad8d LUAFunctions CanSeeInvis(spawn,target) SetSeeInvis(spawn,1/0) SetSeeHide(spawn,1/0)
Query required to enable see invisibility spell: update spells set is_active=1 where id=210013;
2020-05-18 23:05:10 -04:00
Image
54088ff196 Fix for interception / redirect, that damage will not send an absorb packet, instead a special intercept packet
Completes fix .

There may be a special damage packet?  I am not seeing a viable one identified, the Message type will be used in place for now (hear from peak some messages for combat are sent this way anyway).
2020-05-18 16:11:19 -04:00
Image
3bb92c110d Max level support for knowledge sort filter
Help resolve issue 
2020-05-17 23:31:14 -04:00
Image
6e7fc01ab5 Revert "Revert "Exe Updates""
This reverts commit c251091291.
2020-05-17 19:34:12 -04:00
Image
c251091291 Revert "Exe Updates"
This reverts commit f0c58aff35.
2020-05-17 19:33:29 -04:00
Image
f0c58aff35 Exe Updates 2020-05-17 19:32:38 -04:00
Image
e3a8597f78 Exposed max level argument to ResortSpellBook, still need to allow filtering by max lvl
work in progress for issue 
2020-05-17 18:40:00 -04:00
Image
ad3e0ba069 Support for knowledge book sorting, begins resolution for issue
Requires SQL update:
update commands set handler=511 where command='knowledgewindow_sort';

- Support for ordering knowledge books by alphabetical, category, and level.  There is some quirky sorting if you try sorting multiple times on category/level, to be addressed.

MaxLevel only checkbox is not implemented
patterns are not implemented
2020-05-17 18:06:55 -04:00
Image
2c62893333 Fixed Raid / Group Target Type
Fixed Group / Raid target type
2020-05-16 23:32:36 -04:00
Image
07c14f1d92 Wards support is now fully extended to allow divine aura / stoneskin / intercept as possible solutions
Addresses issue  - minus fervor needs its own work implemented.

AddWard(dmg,keepward,wardtype,damagetype,dmgabsorptionpct,damageabsorptionmaxhealthpct,redirectdmgpct,maxhitcount)
2020-05-16 23:32:13 -04:00
Image
91cb109799 Added GetWardValue in support of Issue
GetWardValue(Ward, "type")

types:
damageleft - amount of damage left ward can absorb
basedamage - original amount of damage ward can absorb in total
keepward - keep ward (don't remove spell from spawn) if it expires by absorbing all the damage
wardtype - limit damage type:
#define WARD_TYPE_ALL 0
#define WARD_TYPE_PHYSICAL 1
#define WARD_TYPE_MAGICAL 2

dmgabsorptionpct - max damage ward can absorb (eg 50% of 100 means 50 absorbed, 50 damage still hits)
dmgabsorptionmaxhealthpct - max damage ward can absorb (eg if 1000 health and 50%, any damage 500+ will not be absorbed)
2020-05-16 10:46:51 -04:00
Image
0e2ac675b7 Quest crash fix if step was NULL 2020-05-16 08:02:26 -04:00
Image
b3ffa77c42 AddWard updates in support of Issue
Helps address issue 

two new arguments added:
AddWard(dmg,keepWard,wardType,damageTypes,dmgAbsorptionPct,dmgAbsorptionMaxHealthPct)

dmgAbsorptionPct - max percentage of the damage that can be absorbed per hit (eg 100 damage, 50% absorption, 50 absorbed, 50 damage left)
dmgAbsorptionMaxHealthPct - Max absorption percentage against the targets total hp, eg 1000 hp 50% absorption, if the hit is 500 dmg or more, then no damage absorbed
2020-05-16 08:02:16 -04:00
Image
e97475c1aa Crash fixes for quests 2020-05-14 23:58:41 -04:00
Image
234ac02d0e Update zoneserver.cpp
was out of date with local src wrong boolean on EngagedInCombat
2020-05-13 23:29:27 -04:00
Image
c79989f68b CPU fixes 2020-05-13 23:26:40 -04:00
Image
310060300f Reduced logging to make debug startup easier to process 2020-05-13 23:26:08 -04:00
Image
4330ef93f6 Additional reduction of mutex locks in zone server processing/spawn processing/etc -- also replaced locks in EQStream to try to avoid additional desyncs 2020-05-12 23:16:37 -04:00
Image
9aedae89f1 added check for loot drops table being empty 2020-05-12 08:35:09 -04:00
Image
a79b48aeb4 Restored mob movement command mutex to avoid crashes 2020-05-12 08:34:55 -04:00
Image
56f4d39864 Speed/CPU improvements
Reverted movement manager to Entity, limited to just entity (NPC/Player)
spawn add timer moved to 1000 ms (or trigger on new spawn)
CombatProcess migrated to either movement check (100ms) or aggro check (every 2s) -- in other words not every 10ms.
Set a 1 ms sleep in the CombinePacketLoop
2020-05-12 00:49:13 -04:00
Image
423163d30c Revert "Reducing mutex locks, reducing unnecessary calls by timers increased/utilized for certain processes"
This reverts commit cb352a6632.
2020-05-12 00:35:16 -04:00
Image
cb352a6632 Reducing mutex locks, reducing unnecessary calls by timers increased/utilized for certain processes 2020-05-11 23:01:58 -04:00
Image
44537ad063 Revert "Disable LogWrite in EQStream causing high cpu even when debug not enabled"
This reverts commit 0f4b2a0ee4.
2020-05-11 15:38:26 -04:00
Image
0f4b2a0ee4 Disable LogWrite in EQStream causing high cpu even when debug not enabled 2020-05-11 15:35:48 -04:00
Image
492c430229 Revert "Disabled EQStream LogWrite, was causing high cpu"
This reverts commit 57f395bf8c.
2020-05-11 15:32:01 -04:00
Image
57f395bf8c Disabled EQStream LogWrite, was causing high cpu 2020-05-11 15:31:26 -04:00
Image
48b973454c Fixed the proximities changes 2020-05-11 11:58:35 -04:00
Image
5bd0deb900 avoid unnecessary processing for spawns that don't have spawn proximities (cpu improvement) 2020-05-11 11:49:26 -04:00
Image
49a0072218 Better logging for 'proc' function not triggering right so we know which spell 2020-05-11 11:49:06 -04:00
Image
de551afbbe CheckProcs should be just using a vector 2020-05-11 08:57:35 -04:00
Image
07f9f741b5 Loot Chests and other specified objects will show interactive hand icon 2020-05-11 08:46:14 -04:00
Image
e3683ce088 Potential deadlock fix for CheckProc/RemoveProc
11:32:11 E Mutex     : The mutex Entity::m_procList called from RemoveProc at line 1269 timed out while waiting on readers!
11:32:11 E Mutex     : The following functions had locks:
11:32:11 E Mutex     : CheckProcs, number of locks = 1

Note: Might need to reinstantiate the spell pointer.. that remains to be seen
2020-05-11 08:44:49 -04:00
Image
569f9e8df2 Deadlock fix for SpellProcess
11:32:06 E Mutex     : The mutex SpellProcess::SpellCancelList called from AddSpellCancel at line 2266 timed out waiting on another writelock!
11:32:06 E Mutex     : The following functions had locks:
11:32:06 E Mutex     : Process, number of locks = 1
2020-05-11 08:43:36 -04:00