9246 Commits

Author SHA1 Message Date
Kinglykrab
605b3d3a27
[Commands] Cleanup #fov Command. (#1701)
- Cleanup message.
2021-11-09 21:24:17 -05:00
Kinglykrab
248e6d44db
[Commands] Cleanup #npccast Command. (#1699)
- Cleanup messages and display.
2021-11-09 21:23:48 -05:00
Kinglykrab
328a94e2d4
[Commands] Add #findfaction Command. (#1697)
- Add #findfaction [search criteria] command.
- Cleanup other #find command messages/logic.
- Add GetMaxFaction() helper method.
- Add races.h defines for races 725-732.
2021-11-09 21:23:38 -05:00
Michael Cook (mackal)
211196a722
Fix Channel TellEcho issues (#1676)
These were missed switching them to TellEcho from a previous change
2021-11-09 10:54:54 -05:00
Kinglykrab
0b283e60db
[Commands] Remove #listnpcs Command. (#1696)
- Unused command.
2021-11-07 18:32:33 -05:00
Kinglykrab
90871cb3d9
[Commands] Cleanup #worldshutdown Command. (#1694)
- Cleanup system messages and magic numbers.
2021-11-07 17:21:42 -05:00
Kinglykrab
bf92845a4a
[Rules] Add Resurrection Sickness rules for Characters/Bots. (#1692)
* [Rules] Add Resurrection Sickness rule for Characters/Bots.
- Add RULE_BOOL(Character, UseResurrectionSickness, true, "Use Resurrection Sickness based on Resurrection spell cast, set to false to disable Resurrection Sickness.")
- Add RULE_BOOL(Bots, UseOldRaceRezEffects, false, "Older clients had ID 757 for races with high starting STR, but it doesn't seem used anymore")
- Add RULE_BOOL(Bots, UseResurrectionSickness, true, "Use Resurrection Sickness based on Resurrection spell cast, set to false to disable Resurrection Sickness.")

* Add rules for spell IDs.

* Fix bot health on spawn when resurrection sickness is disabled.
- Formatting.

* Remove 'this' keyword.
2021-11-07 17:21:34 -05:00
Kinglykrab
f8cbc2faed
[Commands] Further implement #worldwide functionality. (#1693)
- Add #worldwide remove [Spell ID] - Removes a spell from player buffs worldwide.
- Add #worldwide message [Message] - Sends a worldwide message in Chat::Yellow.
- Add #worldwide move [Zone ID] or #worldwide move [Zone Short Name] - Moves every player in the game to the specified zone.
- Add #worldwide moveinstance [Instance ID] - Moves every player in the game to the specified instance.
- All but `#worldwide message` send a message to sender client.
2021-11-07 17:21:22 -05:00
Kinglykrab
30fdb18945
[Bug Fix] Fix Elemental Illusion spells not using proper texture. (#1691) 2021-11-07 17:21:04 -05:00
Kinglykrab
062fb73f03
[Commands] Remove #test, #spon, and #spoff Commands. (#1686)
- These commands are unused or outdated.
2021-11-07 17:20:55 -05:00
Kinglykrab
194c71727d
[Commands] Cleanup #npcstats Command. (#1690)
- Cleanup menu and add stats that were not there before.
- Only display some data if necessary (i.e only show loot/money if they have loot/money)
- Add skill name helper method.
- Add faction name helper method.
- Add Charmed stats and other getter methods.
- Cleanup QueryLoot() method.
2021-11-07 17:20:43 -05:00
Kinglykrab
e1de3d2ae0
[Commands] Cleanup #zstats Command. (#1687)
- Add new data from NewZone_Struct to command and clean up display.
2021-11-07 17:15:03 -05:00
KayenEQ
7f497f9d32
[Spells] Implemented SPA 415 SE_FFItemClass (#1688)
* prelim

* Spell Focus implemented

* AA implemented

* Update spdat.h

* Update spdat.h

* prelim excludes

* enum limit expansion

* overhaul

* v2 testing

* updates

* working

* Fin

* Update spell_effects.cpp

* Update spell_effects.cpp

* var fix

* Update spell_effects.cpp

make it not apply to casted spells... oops

* Update spell_effects.cpp

* Update spell_effects.cpp
2021-11-07 16:35:30 -05:00
KayenEQ
1cdb1816a2
[Bug Fix] SOF+ clients item click recast timer not met check (#1682)
* Update client_packet.cpp

* Update spells.cpp

* augs working too
2021-11-06 23:14:36 -04:00
Kinglykrab
bc82b897c5
[Commands] Add #emptyinventory Command. (#1684)
* [Commands] Add #emptyinventory Command.
- Allows you empty you or your target's inventory completely. (Equipment, General, Bank, and Shared Bank)
- Fixed an issue not allowing quest::removeitem(item_id, quanity) to remove 0 charge items.
- Fixed an issue not allowing eq.remove_item(item_id, quanity) to remove 0 charge items.

* Update command.cpp

* Update client.cpp
2021-11-06 22:34:04 -04:00
hg
beb4de0b45
[Cleanup] Remove unused door variable. (#1685) 2021-11-06 21:57:05 -04:00
KayenEQ
785926a584
[Quest API] Added NPC special ability to modify Riposte/Dodge/Parry/Block chance (#1683)
* Update attack.cpp

* u

* Update attack.cpp

* spellchecked
2021-11-06 21:06:14 -04:00
Natedog2012
5c7972345a
[Bug Fix] Fix startzone rule to default players to correct zone when not found … (#1669)
* Fix startzone rule to default players to correct zone when not found in database

* Formatting

Co-authored-by: Kinglykrab <89047260+Kinglykrab@users.noreply.github.com>
2021-11-06 18:22:52 -04:00
Natedog2012
886f00ed50
Fix resetAA to actually remove all AAs except granted AAs (#1681) 2021-11-06 17:36:19 -04:00
Kinglykrab
b983fac860
[Quest API] Alphabetize Perl method exports. (#1672)
- Keeps things tidier.
Perl script was used to get this in order easily.
```pl
my @perl_file_types = (
	"bot",
	"client",
	"doors",
	"entity",
	"expedition",
	"groups",
	"hateentry",
	"inventory",
	"mob",
	"npc",
	"object",
	"perlpacket",
	"player_corpse",
	"questitem",
	"raids",
	"spell"
);

foreach my $file_type (sort {$a cmp $b} @perl_file_types) {
	my $perl_file = "perl_$file_type.cpp";
	open my $client_file, '<', $perl_file or die "Cannot open file_name $perl_file";
	{
		local $/;
		$content = <$client_file>;
	}
	close $client_file;

	open my $perl_data_file, ">", "perl_$file_type\_data.cpp";

	my @variables = ();

	foreach my $line (split("\n", $content)) {
		if ($line=~/newXSproto\(/i) {
			$line =~ s/\s+/ /g;
			my @line_data = split(/ /, $line);
			push(@variables, join(" ", @line_data));
		}
	}

	foreach my $variable (sort {$a cmp $b} @variables) {
		$variable =~ s/^ //ig;
		print $perl_data_file "\t$variable\n";
	}

	close $perl_data_file;
}```
2021-11-06 17:36:06 -04:00
Kinglykrab
7b6decaef3
[Quest API] Alphabetize Lua method exports. (#1673)
- Keeps things tidier.
- Removes unnecessary/outdated comments at the top of files.
2021-11-06 17:36:00 -04:00
Kinglykrab
8d8301fbd7
[Commands] Add #findskill [search criteria] Command. (#1674)
* [Commands] Add #findskill [search criteria] Command.
- Allows you to search for skills by ID or partial name.

* Add error message.

* Update command.cpp

* Update command.cpp

* Update command.cpp
2021-11-06 17:35:43 -04:00
Kinglykrab
b4aa401210
[Commands] Add #findtask [search criteria] Command. (#1675)
* [Commands] Add #findtask [search criteria] Command.
- Allows you to search for Tasks by ID or partial name.

* Update command.cpp
2021-11-06 17:35:37 -04:00
KayenEQ
f1bfd6bc2a
[Spells] Implemented SPA 512 SE_Proc_Timer_Modifier, Fixed AA procs not working (#1646)
* update for SPA 511

* remove debugs, AA implemented

* update

* twinprocfix

* AA procs added

* format update

* update

* proctimer limits

* update

* rename function

renamed function
only check for buffs value > 0, don't need to check for AA's which are negative ID's

* pre merge

* variable updates

* Update spell_effects.cpp

* var rename

update var name to better represent its function.

* updated proc struct

added reuse timer

* reuse timer to spell procs

* updates

* debug remove

* Update mob.cpp

* fix

* merge
2021-11-05 14:14:11 -04:00
KayenEQ
8c95323728
[Spells] Update to Charm target restriction code (#1666)
* charm target restrictions

* fixed

* Update spells.cpp

* Update spells.cpp

* Update spells.cpp

only send spell bar when we have to, avoid potential exploit.

* logs
2021-11-05 10:39:17 -04:00
KayenEQ
5874deeffc
Update spell_effects.cpp (#1670) 2021-11-03 21:07:45 -04:00
KayenEQ
18cc648c8d
Update spell_effects.cpp (#1668) 2021-11-03 19:01:08 -04:00
Kinglykrab
9d515b20f2
[Quest API] Simplify bulk Scribe and Train logic. (#1660)
* [Quest API] Simplify bulk Scribe and Train logic.
- Add $client->GetFreeDisciplineSlot(starting_slot) to Perl.
- Add $client->ScribeSpells(min_level, max_level) to Perl.
- Add $client->LearnDisciplines(min_level, max_level) to Perl.
- Add client:GetNextAvailableDisciplineSlot(starting_slot) to Lua.
- Add client:ScribeSpells(min_level, max_level) to Lua.
- Add client:LearnDisciplines(min_level, max_level) to Lua.
Convert quest::scribespells() and quest::traindisc() to use new ScribeSpells and LearnDisciplines methods for consistency.

* Update command.cpp
2021-11-03 18:31:13 -04:00
Kinglykrab
17aaab1f9d
[Quest API] Add Spell methods to Perl. (#1631)
* [Quest API] Add Spell methods to Perl.
- Add quest::getspell(spell_id) to Perl.
- Add eq.get_spell(spell_id) to Lua.
These methods return a spell object.

Exports $spell object references to spell events.

* Formatting.

* Remove comment.

* Update spdat.cpp

* Amplication typo.

* Fix conflicts.

* Remove repository changes.

* Fix typing.

* Update spell_effects.cpp
2021-11-03 17:47:15 -04:00
Chris Miles
6e26e8953c
[Loginserver] Health Checks (#1665)
* Health checks stash

* Healthcheck work
2021-11-03 14:39:51 -05:00
Natedog2012
e4138b871b
[Rules] Add optional rules for HealAmt and SpellAmt to scale DoTs/HoTs. (#1661)
* Add optional rules for itembonuses HealAmt and SpellAmt to scale for DoTs/HoTs

* Fix typo

* Only 1 rulecheck

* Apply +healingitems and +dmgitems after focus effects so they scale properly

* Fix dots / hots to not always use PVPScaling for extra_dmg / extra_healing

Adjust +healamt and +spelldmg to scale over the full duration of the spell, Thanks Kayen
2021-11-02 15:12:07 -05:00
splose
4ac525afc2
[Rules] Missing Character:TradeskillUpTailoring (#1667) 2021-11-02 12:57:16 -05:00
Chris Miles
05782433b8
[Loginserver] Add some resiliency to LS requests (#1663) 2021-11-02 00:19:13 -05:00
KayenEQ
9af7122b1d
[BugFix] Remove potential nullptrs in Virus Code (#1658) 2021-10-31 00:06:32 -05:00
Chris Miles
9e7a763482
[Charm] Push up fragments of Kayen's PR back up (#1659) 2021-10-31 00:04:48 -05:00
Akkadius
1231d44b55 Revert "[BugFix] Charm Targeting and other issues. (#1655)"
This reverts commit df3161455a2314e0e8b774bbbe328ee5d0a41fe9.
2021-10-30 22:18:40 -05:00
hg
873f1f7f34
[Hotfix] Add include to fix windows build (#1657) 2021-10-30 21:11:04 -05:00
Chris Miles
d87db648c3
[Loginserver] Code Cleanup and Tweaks (#1653)
* if for whatever reason the world server is not sending an address, use the local address it sends

* Log when world is sending loginserver info

* Force legacy mode when login host is login.eqemulator.net to avoid misconfigurations at least until things change

* Add human IP translation to log messages

* Sanitize world server name

* Code cleanup and renaming member variables

* More cleanup

* Remove this->

* Validation constants

* Key worldserver lookups by both longname and shortname both

* Update allowed character list

* Fix short_name API response field; add world_id to response

* Shorten receiver verbosity

* Remove unnecessary member variables from database and rename database to m_database

* Adjust MAX_SERVER_VERSION_LENGTH

* Fix indents
2021-10-30 19:09:42 -05:00
Chris Miles
119c3d14b7
[Hotfix] Gate some new shared task logic behind task rule (#1656) 2021-10-30 19:06:38 -05:00
Chris Miles
3cda32c213
[Saylinks] In-Memory Saylink Lookups (#1644)
* Implement saylink memory lookups (performance)

* Ignore commands
2021-10-30 17:32:59 -05:00
KayenEQ
df3161455a
[BugFix] Charm Targeting and other issues. (#1655)
* fix for target change bug on client

* Update spell_effects.cpp
2021-10-30 16:48:55 -05:00
KayenEQ
4389f84ea5
[BugFix] Fix for bard song instrument mod formula from recent update (#1654)
* Update spell_effects.cpp

* Update spell_effects.cpp

* Update spell_effects.cpp
2021-10-30 08:50:15 -04:00
Chris Miles
f9855fd097
[Rez] Fix Z during Resurrection (#1648) 2021-10-30 00:54:44 -05:00
Chris Miles
f912814e13
[Commands] Fix Z on #spawnfix (#1647)
* Fix Z on spawnfix

* Slight adjustment
2021-10-30 00:54:33 -05:00
Paul Coene
5738958a2a
Fix issue with droplimit code (#1650) 2021-10-28 14:43:40 -04:00
Michael Cook (mackal)
d36d11653a
Fix issue with new summmon method putting players OOB (#1649)
The FindClosestZ was finding the Z above them ... lets try just not
doing that for now :)
2021-10-27 23:42:31 -04:00
Chris Miles
7230714cbc
[Spells/Disciplines] Bulk Train / Scribe (#1640)
* Bulk scribe spells

* Add bulk disc training

* Remove bulk from non bulk method

* PR adjustments
2021-10-27 21:45:27 -04:00
Chris Miles
6e5bf4b941
[Saylinks] Multiple saylinks in brackets (#1643)
* Saylink edge case where multiple saylinks show up within a bracket

* Update partial
2021-10-27 00:01:37 -05:00
KayenEQ
fb66afd565
[Spells] Implemented SPA 511 SE_Ff_FocusTimerMin (#1645)
* update for SPA 511

* remove debugs, AA implemented

* update

* format update

* rename function

renamed function
only check for buffs value > 0, don't need to check for AA's which are negative ID's

* var rename

update var name to better represent its function.
2021-10-26 21:36:10 -04:00
Chris Miles
ef5124d756
[Shared Tasks] World Reload Task Data on #task reloadall (#1641) 2021-10-24 21:53:29 -05:00