371 Commits

Author SHA1 Message Date
Akkadius
be381b4e56 Renamed EQEMuLog class to EQEmuLog 2015-01-08 19:46:28 -06:00
Trevius
179f47dbe3 RoF+ - Added the "Your race, class, or deity cannot use this item." message since it no longer exists in the eqstr_us.txt file. 2015-01-04 20:42:45 -06:00
Akkadius
73fe229e25 More hate changes 2014-12-27 20:23:49 -06:00
Akkadius
21ce6efc73 Merge branch 'master' of https://github.com/EQEmu/Server 2014-12-27 18:25:00 -06:00
Akkadius
3a488e3a61 Changed hate counter to uint32 to prevent negative rollback, this most likely can will be an issue but more uncommon
Renamed and refactored most functions and variables in hate_list.h/cpp for readability
Refactored how hate works in some local functions mixing the use of hate variable and split it out into different status variables
hate_list.cpp/.h style cleanup
hate_list.h header function sort, comment erase
functions should clearly state their function
2014-12-27 18:24:42 -06:00
KayenEQ
9666f1e25e Implemened npc special ability (43) CASTING_RESIST_DIFF which sets innate resist modifier on
ALL spells used by that NPC. Ie. 43,1,-200 will set a -200 innate resist diff, so if your npc cast
a spell that has a -10 resist modifier the final resist diff would be -210.
2014-12-27 18:43:59 -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
Michael Cook (mackal)
a7cdb4c0af Add a few missing bonus recalcs 2014-12-21 23:53:02 -05:00
Arthur Ice
f409d39f1a merge upstream 2014-12-21 13:57:20 -08:00
Akkadius
9ef0fa13c7 Merge branch 'master' of https://github.com/EQEmu/Server 2014-12-15 19:12:23 -06:00
Michael Cook (mackal)
b5c60d8123 Bot compile fix 2014-12-15 20:08:46 -05:00
Akkadius
1ec2ce7e26 spells.cpp header include cleanup 2014-12-15 18:48:42 -06:00
KayenEQ
70f570dbd9 Implemented support for allowing most focus effects to now be usable
by NPCs (ie Heal/Damage focus, cast time, spell range ect) from
both spell buffs and items.
Rule for enabling spell focus is TRUE by default
Rule for enabling item focus is FALSE by default.

Consilidated a number of redundant client / mob functions
to use the same pathway for calculating effect values.
2014-12-08 01:22:01 -05:00
Arthur Ice
2aa287fe3c Merge 2014-12-05 20:16:13 -08:00
Arthur Ice
f5a94ed07b IsSpellBlocked converted to use xyz_location 2014-12-01 16:00:48 -08:00
Michael Cook (mackal)
395be050a3 Switch random function to std::mt19937
Added class EQEmu::Random
Functions:
EQEmu::Random::Int(int low, int high)
EQEmu::Random::Real(double low, double high)
EQEmu::Random::Roll(int required)
EQEmu::Random::Roll(double required)
EQEmu::Random::Reseed()

For zone, you will access the random object through the zone object
ex.
	zone->random.Int(0, 100);

Int returns a random int between low and high
Real returns a random double between low and high
Roll(int) returns true if Int(0, 99) < required is true
Roll(double) returns true if Real(0.0, 1.0) <= required is true
2014-12-01 18:13:12 -05:00
Arthur Ice
fb9d76f851 GetSpellBlockedMessage converted to xyz_location 2014-12-01 14:16:53 -08:00
akkadius
f5ba442ba6 spells.cpp #include cleanup 2014-11-29 15:59:24 -06:00
Michael Cook (mackal)
ee7f88d247 Merge pull request #301 from KayenEQ/Development
Fix for numhits counter being decreased 2x for Outgoing Hit Success from...
2014-11-26 15:27:43 -05:00
Akkadius
b43cfa126f Renamed SetPKItem to SetPlayerKillItemID
Renamed AllowMobLoot to AllowPlayerLoot
Renamed DepopCorpse (PC) to DepopPlayerCorpse
Renamed GetPKItem to GetPlayerKillItem
Renamed Corpse class variable 'orgname' to 'corpse_name'
Renamed CompleteRezz to CompleteResurrection
Renamed GetDBID to GetCorpseDBID

Removed CorpseToServerSlot as it is unnecessary
Removed ServerToCorpseSlot as it is unnecessary

Reogrganized corpse.h header
2014-11-25 23:54:59 -06:00
Akkadius
fbaae2b1e4 Renamed Corpse::LoadFromDBData to Corpse* Corpse::LoadCharacterCorpseEntity
Corpse Private class descriptors added
General cleanup
2014-11-25 23:17:08 -06:00
Arthur Ice
5115a29bb7 spell_x,spell_y, spell_z converted to m_SpellLocation, xyz_location 2014-11-25 21:06:13 -08:00
Arthur Ice
53602e3c61 heading, x_pos, y_pos, and z_pos replaced with m_Position in Mob 2014-11-25 20:16:04 -08:00
KayenEQ
3266ed98e6 Fix for target type 39 GroupNoPets.
Should no longer take hold on a pet if your targeting it when
casting spell.
2014-11-23 20:48:07 -05:00
Akkadius
111fb84041 Moved zonedatabase functions out of corpse.cpp
Conversion portion mostly complete
Some header readability cleanup
Some function renaming
Struct renaming
Many variable renaming
MySQL error log for all of QueryDatabase
Corpse table renaming
Corpse table field renaming
Most corpse database functions redone
2014-11-22 17:55:48 -06:00
Trevius
c5a90adb39 Grouping with Mercenaries is considerably less buggy. 2014-11-22 00:22:12 -06:00
KayenEQ
fc48a109fd SUB EVENT CAST ON will now be parsed in player.pl
(note: exports $spell_id)
2014-11-16 05:46:46 -05:00
KayenEQ
94231b62a3 Updated swarm pet AI to be consistent with live.
*OLD AI: Swarm pet would lock on to target until target died, then depop as soon as target died.

*NEW AI: Swarm pet will attack cast on target, NOT perma locked it can change targets if attacked
by something else that generate more hate. When target dies swarm pet will follow owner, if owner is
attacked by something else the swarm pet will attack it (until duration timer despawns the pet).

Updated perl quest function: MakeTempPet(Tspell_id, name=nullptr, duration=0, target=nullptr, sticktarg=0)
Implemented perl quest function:  Mob::TypesTempPet(npctypesid, name=nullptr, duration=0, follow=0, target=nullptr, sticktarg=0)
Note: 'sticktarg' field will cause the swarm pet to use the OLD AI

Rule to use OLD AI only - default is disabled.
Optional SQL: utils/sql/git/optional/2014_11_15_SwarmPetTargetLock.sql
2014-11-15 23:01:26 -05:00
KayenEQ
563a39c2d9 Spell field defined that determines if must be sneaking to use this ability.
This is handled by client under normal conditions, however if you
force cast this effect in situations like 'procs' you can cause
zone crashes, therefore a failsafe check is added in 'SpellOnTarget'
2014-11-13 21:45:19 -05:00
KayenEQ
352d6fd83c Support for all remaining known spell target types.
Implemented target type (32) AE Target HateList
Implemented target type (36) Area Client Only
Implemented target type (37) Area PC Only
Implemented target type (39) Group No Pet
2014-11-13 05:19:01 -05:00
KayenEQ
738fa38047 Implemented target type (50) which excludes players pets from target AE's. 2014-11-13 02:46:22 -05:00
KayenEQ
fabe93e548 Implemented target type (44) 'Beams' (which projects an AE infront of caster with a specified length and width).
Clean up of target type direction code, implemented use of aemaxtargets field for it.
2014-11-13 02:25:18 -05:00
KayenEQ
720e80377e Merge git://github.com/EQEmu/Server into Development
Conflicts:
	changelog.txt
	common/eq_packet_structs.h
	common/patches/underfoot_structs.h
	common/spdat.h
	zone/effects.cpp
	zone/mob.cpp
	zone/spells.cpp
2014-11-10 10:22:50 -05:00
KayenEQ
3d44050959 Implemented support for using target rings from item clicks.
(Thanks again to Lecht for the help)
2014-11-10 10:11:29 -05:00
JJ
d5efa0f23c Manual merge of TargetRing pull request #286. 2014-11-10 10:00:53 -05:00
KayenEQ
d656db843a Implemented spell Target Type (45) 'Target Rings' on Underfoot.
Thanks to Lecht for figuring out op code side of it.
2014-11-09 22:37:12 -05:00
KayenEQ
51a3302288 Few more minor compilier warnings and code clean up. 2014-11-02 00:43:01 -04:00
Trevius
45ff2cddb7 Fixed potential crash related to Pets/Mercs buffs when targeting themselves. 2014-11-01 11:50:55 -05:00
KayenEQ
4cb6a5635e Merge git://github.com/EQEmu/Server into Development 2014-10-24 23:28:15 -04:00
KayenEQ
f0f920d0e8 Fix for bug with Discipline recast timers preventing them from
working properly if you used a focus effect to reduce recast time
to zero.

(Specifically the recast timer failed to reset in the situation
where you had already used the disc WIHTOUT the focus applied, then applied
the focus and tried to have it reduced).
2014-10-21 14:14:35 -04:00
KayenEQ
193f7b0fe3 Fix so NPC don't ghost when casting spells from scripts while moving. 2014-10-20 01:16:08 -04:00
Michael Cook (mackal)
c81491f97e Inspect buffs rank 1 will now show NPC buffs in target window (SoD+) 2014-10-20 01:05:38 -04:00
KayenEQ
ad116af59d Merge git://github.com/EQEmu/Server into Development 2014-10-05 07:49:20 -04:00
Michael Cook (mackal)
7dc1da21f0 Move OP_ItemRecastDelay to after cast
I originally assumed it needed to be sent "while casting"
but it looks like right at the end (where we set the reuse timer)
also works.
2014-10-05 02:18:30 -04:00
Michael Cook (mackal)
e753685ceb Implement number of hit indicators for UF and RoF
There is a small display bug with the initial cast of the spell,
but it updates quickly enough that it shouldn't be too noticeable
This still needs to be fixed though

Changed SendBuffDurationPacket to take a Buffs_Struct by reference
to allow more of the data to be obtained without more params

Added Client::SendBuffNumHitPacket(Buffs_Struct &buff, int slot)
2014-10-04 03:23:42 -04:00
KayenEQ
968127c414 Exported to PERL $client->SendSpellAnim(targetid, spellid)
This function sends the spell graphic of a spell without actually having to cast the spell.
2014-10-02 22:08:12 -04:00
Michael Cook (mackal)
d8c6c69450 ITEM and PB slot checks too 2014-10-01 20:50:01 -04:00
Michael Cook (mackal)
1024e327b5 Fix nullptr and item_slot check 2014-10-01 20:48:15 -04:00
Michael Cook (mackal)
7800cbbe96 Initial work on OP_ItemRecastDelay 2014-10-01 16:22:45 -04:00
KayenEQ
b9b92762b5 Merge git://github.com/EQEmu/Server into Development
Conflicts:
	changelog.txt
2014-09-24 20:51:20 -04:00