149 Commits

Author SHA1 Message Date
hg
39fad0c1a0 Remove unused ExpeditionMemberStatus Lua constants 2020-12-30 18:47:08 -05:00
hg
8eef2ae089 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-12-30 18:47:07 -05:00
hg
f74605d339 Implement Lua quest api for expeditions 2020-12-30 18:47:06 -05:00
Akkadius
ee7ef97506 Revert "Spell Fizzle for < LDON expansions via lua_mod (#1118)"
This reverts commit e9d312fa8664b736d2052bac1e76797485aca21d.
2020-10-25 23:48:57 -05:00
Ali Al-Khalifa
e9d312fa86
Spell Fizzle for < LDON expansions via lua_mod (#1118)
* [expansions] Create a Lua mod hook into Client::CheckFizzle()

* Added expansions_combat.lua mod stub

* Spell  Fizzle as per TAKP formula
2020-10-24 19:49:43 -05: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