347 Commits

Author SHA1 Message Date
Alex
2a9248697e Add GetGroupIDByCharID and GetGuildIDByCharID to Perl/Lua. 2020-03-08 20:49:01 -04:00
Kinglykrab
8b37ef5e67 Formatting 2020-01-20 21:14:28 -05:00
Kinglykrab
caceae1028 Implement Corpse counting methods for global/zone-specific counting.
Global:
- Perl: quest::getplayercorpsecount(uint32 char_id);
- Lua: eq.get_player_corpse_count(uint32 char_id);

Zone-specific:
- Perl: quest::getplayercorpsecountbyzoneid(uint32 char_id, uint32 zone_id);
- Lua: eq.get_player_corpse_count_by_zone_id(uint32 char_id, uint32 zone_id);
2020-01-20 20:23:11 -05:00
Akkadius
fceca6e72f Merge branch 'master' of https://github.com/EQEmu/Server into lsid 2019-09-03 23:37:57 -05:00
Noudess
2e98de3923 Changes to allow individual spawn2 locations to vary in npc selection (cond) 2019-09-02 10:34:09 -04:00
Akkadius
2970afff67 More log migrations to fmt / log aliases 2019-09-02 02:33:02 -05:00
Akkadius
05e7c473df Simplified the use of roamboxes and improved the AI for roambox pathing 2019-08-16 03:25:34 -05:00
Michael Cook (mackal)
963da70506 Change how we handle null quest initiator in QuestManager::say
Timers etc triggered say's don't have an initiator but should still
work.

The target ID is set in QuestJournalledSay for us so not needed here
2019-08-13 15:11:37 -04:00
Akkadius
665efe09f3 Fill function calls using magic numbers 2019-08-11 00:27:04 -05:00
Akkadius
57354579aa Unify chat constants usage 2019-08-11 00:00:55 -05:00
KimLS
9297fc38f6 Log kick events 2019-07-26 19:22:29 -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
Uleat
ee49ad3ce9 Reworked BotDatabase into a functional add-on for ZoneDatabase 2019-06-24 18:13:25 -04:00
Paul Coene
6dbd579f4f
Merge branch 'master' into master 2019-02-28 15:05:18 -05:00
Uleat
2af4d3d67d Reworked command and quest api 'traindisc' methods 2019-02-13 07:55:04 -05:00
Uleat
43a488d5b5 Added type conversion to questmgr 'scribespells' 2019-02-11 21:46:20 -05:00
Uleat
0b4dcb4271 Reworked command and quest api 'scribespells' methods 2019-02-11 20:03:02 -05:00
Noudess
ad97968d5e Fixes for bug wherein illusions other than PC races could be exploited.
Fixed for areas that neglected to take into account alliance and item faction
bonuses.
2019-02-07 14:48:31 -05:00
Uleat
16036ab492 Fix for class Bot not honoring NPCType data reference 2019-01-26 22:30:49 -05:00
Uleat
4658ad676f Extended server spellbook entries to RoF2 standard and added per-client restriction of spell id max 2019-01-24 03:53:41 -05:00
Uleat
585c6322bf Added 'spells' entry to EQDictionary 2019-01-20 08:24:21 -05:00
Akkadius
9059efe98e Add proximity show to devtools 2018-12-28 02:39:08 -06:00
Akkadius
0681e6dbb2 Merge branch 'master' into movement_manager 2018-12-17 01:39:37 -06:00
Chris Miles
9c1e14a4ab Merge branch 'master' into feature/global-base-scaling 2018-12-14 02:40:33 -06:00
Kinglykrab
8ae9c99f3d Added new data bucket and quest functionality.
Added multiple new instance related quest functions.
	1. quest::GetInstanceIDByCharID(const char *zone, int16 version, uint32 char_id)
		- Allows you to pull the instance ID of a client by character ID.
	2. quest::AssignToInstanceByCharID(uint16 instance_id, uint32 char_id)
		- Allows you to assign an instance to a client by character ID.
	3. quest::RemoveFromInstanceByCharID(uint16 instance_id, uint32 char_id)
		- Allows you to remove a client from an instance by character ID.

Added spell buckets, similar to spell globals.
	- Uses a new spell_buckets table and the Spells:EnableSpellBuckets rule.

Added max level by data bucket.
	- Uses data bucket char_id-CharMaxLevel and Character:PerCharacterBucketMaxLevel rule.
2018-12-13 19:42:31 -05:00
KimLS
8f0051db8d Changes to various path finding behavior 2018-11-09 00:54:51 -08:00
Akkadius
775b5fcaf1 Mostly done with global base scaling work, dev tooling and various other works 2018-11-04 23:26:34 -06:00
KimLS
29ea65a71e Redoing movement to introduce proper rotation 2018-09-24 22:41:53 -07:00
KimLS
7278c6294d Movement will now be handled by the movement manager instead of mob 2018-09-20 16:14:47 -07:00
Michael Cook (mackal)
51baccc10f Merge branch 'master' into tasks 2018-07-06 00:59:45 -04:00
Uleat
c435a77813 Reintegration of inventory-based EQDictionary references 2018-07-05 21:05:26 -04:00
Michael Cook (mackal)
4c826dfbcc Change task selector quest function to not directly call the Send
function
2018-06-16 23:06:46 -04:00
KimLS
51a006654a Merge branch 'master' into wp_master 2018-05-02 18:24:19 -07:00
regneq
f7fe10fc98 Implemented lua methods eq.pause_timer("timername") and eq.resume_tim…
…er("timername"). This allows developers to pause and resume the given timer on the current NPC.

Added lua method eq.is_paused_timer("timername") to check to see if y…

…ou have a paused timer or not. Example usage:

if(eq.is_paused_timer("test"))then
     e.self:Say("You have a paused timer.");
else
     e.self:Say("You do not have a paused timer.");
end

(credit goes to Cavedude)
2018-04-27 16:31:35 -07:00
KimLS
a53f65d86b Merge and compile fixes (non-bot, will do bots later) 2018-04-16 14:15:08 -07:00
Michael Cook (mackal)
3e1b86a7c3 Fix lua/perl set_proximity to accept flag for say prox
This will fix proximity say to always work
2018-03-24 15:24:54 -04:00
JJ
9c69eed211
Merge pull request #719 from noudess/master
quest::npcfeature() could not set all features
2018-02-26 14:28:08 -05:00
Paul Coene
464c1cb584 quest::npcfeature() could not set all features 2018-02-26 13:53:33 -05:00
Uleat
361937d443 SayLink clean-up 2018-02-24 09:08:11 -05:00
Michael Cook (mackal)
c5e4bb08f4 Implement global loot system Fixes #619
This should allow us to emulate lives global tables

The options available to filter tables are min_level, max_level, race,
rare, raid, race, class, bodytype, and zone.

race, class, bodytype, and zone are a pipe | separated list of IDs
2018-02-10 22:15:21 -05:00
KimLS
545ac6b420 Some pathing tweaks, removed old quest functions that dealt with the old pathing code. Fixes to best z under new system 2017-08-28 22:01:08 -07:00
KimLS
5f1063acb9 Add pathfinding interfaces, still heavily wip 2017-07-18 00:01:59 -07:00
Akkadius
43204e52f8 Client position updates should be smoother (granted the client has a good connection)
Clients should also no longer randomly disappear
2017-07-14 20:49:57 -05:00
Akkadius
357be65a69 Speed up saylink retrieval x 1,000 - helpful for dialogues, plugins with many saylinks 2017-06-24 20:07:01 -05:00
Natedog2012
59ddf507e6 Add CrossZoneSetEntityVariableByClientName 2017-06-12 08:42:14 -07:00
Akkadius
7aa1d243b0 [Performance] Reworked how all log calls are made in the source, see changelog.txt for more details 2017-04-01 03:51:46 -05:00
Kinglykrab
6abed18eb9 Added augment support for NPC AddItem() and quest::addloot in Perl/Lua. This will allow you to add items to NPCs with scripts that already have augments in them. 2016-10-20 21:12:47 -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
Kinglykrab
4816c1fc9a Added support for server-wide marquee messages. 2016-09-09 23:59:23 -04:00
Michael Cook (mackal)
ef2c17748e Implement extra spell gems!
New limits:
    Tit: 9
    SoF: 9
    SoD: 10
    UF: 12
    RoF: 12
    RoF2: 12

The SoF client doesn't actually support 10 like SoF should
RoF/RoF2 actually have 4 extra broken spell gems in the UI. They don't work and
will likely crash your client

Quest stuff assumes you are passing in valid slots.
(note the old default of 10 should be 22)

There are still somethings to do like clean up the memmed spells if one switches
to an older client that doesn't support as many as their previous client.
2016-07-31 17:16:23 -04:00