Commit Graph

97 Commits

Author SHA1 Message Date
hg 5552770587 Remove unused ExpeditionMemberStatus Lua constants 2020-10-07 21:55:20 -04:00
hg b8b4c5a280 Add DynamicZone class for expedition instancing
Add DynamicZone sql table schema

Add DynamicZones logging category

Modify CreateExpedition to take DynamicZone and ExpeditionRequest objects

Implement DynamicZone compass, safereturn, and zone-in coordinates.

Implement live-like DynamicZone instance kick timer for removed members

Implement updating multiple client compasses (supports existing quest compass)

fix: Send client compass update after entering zones to clear existing compass

Implement Client::MovePCDynamicZone to invoke DynamicZoneSwitchListWnd
when entering a zone where client has multiple dynamic zones assigned

Implement OP_DzChooseZoneReply handling

Add Lua api methods for expedition's associated dynamic zone

Add #dz list gm command to list current DynamicZone instances from database
2020-10-07 21:55:16 -04:00
hg 41db607d36 Implement Lua quest api for expeditions 2020-10-07 21:55:15 -04:00
KimLS 2fbd5aaccc Rename namespace EQEmu to namespace EQ (so we don't have two similar but different namespaces anymore) 2020-05-17 18:36:06 -07:00
Uleat 852d951b65 Reworked EVENT_COMMAND handling and addressed script commands not present during help use 2020-01-06 15:41:05 -05:00
Uleat a325a9978b Added EVENT_COMBINE_VALIDATE to facilitate special case tradeskill combines 2019-11-18 19:39:03 -05:00
Alex 058a722569 Revert "Revert "Build System Updated"" 2019-10-13 18:49:16 -07:00
Alex b9f57f1f28 Revert "Build System Updated" 2019-10-12 21:07:06 -07:00
KimLS 72a922f2ba Changes to building 2019-08-25 14:45:54 -07:00
Michael Cook (mackal) 9fe17f4d46 Fix issues with OP_SpecialMesg handling
This should prevent any optimizations being done on the "1 char string"

This also fully documents the packet and expands the uses of
quest::say/QuestSay
2019-07-18 00:56:46 -04:00
KimLS 0a8b21d4ab Merge branch 'luamod' 2017-06-19 14:45:08 -07:00
KimLS 16cbf9bbf1 Allow rule access from lua, double checked and fixed up the spell mitigation stuff 2017-06-17 16:41:32 -07:00
KimLS 8df8d7c3f6 Bugs in mod return values fixed 2017-06-16 23:12:54 -07:00
KimLS b29f70ad3f Add mod hook for CommonOutgoingHitSuccess 2017-06-12 13:01:01 -07:00
KimLS b4837011ea Actually fix load order line ending bug 2017-06-11 16:13:03 -07:00
Kinglykrab d64f2e40c5 Implement EVENT_USE_SKILL in Perl/Lua.
- Exports skill_id and skill_level in Perl/Lua whenever a skill is used (bash, kick, taunt, etc.)
2017-06-10 22:20:45 -04:00
KimLS 31d8336b4b Fix acceptmessages, added exp hooks to luamods 2017-06-10 15:12:31 -07:00
KimLS 7189994b78 Many lua things many many things 2017-05-19 22:50:08 -07:00
KimLS 28fd766278 Export many things 2017-05-15 15:46:19 -07:00
KimLS 0fd6815f81 Mods get their own file so i can take the big chunks of code out of lua parser 2017-04-30 00:30:23 -07:00
KimLS 6d59baffaf Basic mod setup only supports combat hooks for now I'll add a few more before i push this 2017-04-26 22:56:18 -07:00
KimLS 78a73cab85 Work on lua parser 2017-04-23 21:58:56 -07:00
KimLS 3b62cf9fd5 Some work 2017-04-22 16:40:01 -07:00
Michael Cook (mackal) 9510e8fbe1 This should resolve leaks and shutdown lua issues 2017-03-18 16:59:46 -04:00
Michael Cook (mackal) f64e1644b1 Take 2 at fixing encounters 2017-03-18 14:11:30 -04:00
Uleat 8b5dd58e96 Renamed struct EQEmu::ItemBase to EQEmu::ItemData and class ItemInst to EQEmu::ItemInstance 2016-10-16 05:10:54 -04:00
Michael Cook (mackal) 2b2ebc75b0 Add luarocks support
This allows one to use the lua_modules folder as their luarocks tree
ex (from the server folder with lua_modules using default location)

luarocks --tree=lua_modules install luasql-mysql MYSQL_INCDIR=/usr/include

This will install the luasql mysql module so you can now do queries from lua
2016-06-11 15:59:46 -04:00
Michael Cook (mackal) 83bb10b32b Add support for sub folder style lua modules
Ex. lua_modules/?/init.lua will work (which some lua modules do use)
2016-06-11 13:23:52 -04:00
phredi b997a040d7 Config File Update Initial Update 2016-05-20 21:03:34 -05:00
Akkadius 8425607460 Implemented standardized zone controller scripts (Rule Zone, UseZoneController) Defaulted to true
- When a zone boots, it will spawn an invisible npc by the name of zone_controller
	- Lua and Perl scripts can be represented with this npc as zone_controller.pl/lua
	- This NPC's ID is ruled be define ZONE_CONTROLLER_NPC_ID 10
	- Two EVENT's uniquely are handled with this NPC/controller (They only work with the zone_controller NPC)
		- EVENT_SPAWN_ZONE :: All NPC spawns in the zone trigger the controller and pass the following variables:
			$spawned_entity_id
			$spawned_npc_id
		- EVENT_DEATH_ZONE :: All NPC deaths in the zone trigger the controller event and pass the following variables:
			$killer_id
			$killer_damage
			$killer_spell
			$killer_skill
			$killed_npc_id
2015-12-29 04:08:10 -06:00
Michael Cook (mackal) fe0758c984 Add EVENT_TICK for NPCs
This event fires at the start of the tick processing so we can
script on the actual tick.
2015-08-13 22:30:49 -04:00
Russell Kinasz 0b17dc73f1 Update to encounter timers so they can actually work from hooked events 2015-06-05 12:23:42 -07:00
Russell Kinasz c351a9b54f Removed unnecessary commented code. 2015-06-02 15:27:57 -07:00
Russell Kinasz 6ff06ded43 Fix for extra_pointers in Encounter methods 2015-06-02 15:21:27 -07:00
Russell Kinasz 2c6fd44811 Implemented encounter timers - no spawn required 2015-06-02 12:25:09 -07:00
Michael Cook (mackal) cced57f56a Fix lua events 2015-02-01 15:11:27 -05:00
Akkadius 39a47ceb93 Implemented LUA counterpart of EVENT_ENVIRONMENTAL_DAMAGE 2015-01-30 23:15:48 -06:00
Michael Cook (mackal) f4224b296a We don't need to cast these anymore 2015-01-18 18:29:37 -05:00
Uleat 34ab3e10f5 Added some nullptr checks for ItemInst* in a few places (tradeskills.cpp - particularly augments - needs a better review) 2014-12-23 10:14:45 -05:00
KimLS 1ca397f426 Lua parser: script_init.lua for zones will now follow script_init_v[0-9]+\.lua similar to player quests. 2014-11-22 03:20:39 -08:00
KimLS 957f05860b Small changes to encounter stuff 2014-11-04 21:01:20 -08:00
KimLS 1619324d06 Small bug fixes with encounters, also added eq.load_encounter_with_data(encounter_name, data_string) and unload as well. Allows you to send a message via the encounter system load 2014-10-31 22:09:09 -07:00
KimLS 6597967acd Changed void* to EQEmu::Any in quest interface. Been meaning to change from void* for a while to a structure that data hides instead. 2014-08-25 22:59:52 -07:00
KimLS a6589e283b Some potential fixes for clang, not complete 2014-06-23 16:56:37 -07:00
KimLS d472c05f5d Lua packet handler dispatch 2013-07-13 13:53:41 -07:00
KimLS bdc83f4f37 Basic lua packet api, and it works too. Exciting I must say. 2013-07-12 22:21:43 -07:00
KimLS 2f335372a0 Few warning and lua fixes, fix for summon not working on new system. Need to look at enrage as it doesn't appear to work right either and think it's timing related 2013-07-07 15:22:20 -07:00
KimLS 2c68e813e9 More selective filtering of lua libs, seed random set for lua interpreter, Release Canidate 2013-06-29 01:43:56 -07:00
KimLS f46f7bd528 event_death_complete 2013-06-27 15:07:28 -07:00
KimLS 9e1115f899 Merge master, pretty close to RC atm 2013-06-26 12:52:00 -07:00