Akkadius
18f9a06f06
Re-Push Refactoring changes before without broken functionality
2014-12-27 23:44:15 -06:00
Akkadius
4f65066274
Reverting some hate stuff so things work again
2014-12-27 23:19:48 -06:00
Akkadius
73fe229e25
More hate changes
2014-12-27 20:23:49 -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
Michael Cook (mackal)
ce9bcef620
std::deque is a much better fit, should have bit better performance
2014-12-18 02:20:03 -05:00
Michael Cook (mackal)
a14f8058da
Switch path stuff to vectors
...
This should be more CPU cache friendly compared to lists so should
be faster. (profiling looked promising)
2014-12-17 01:52:00 -05:00
Trevius
9056008342
(RoF+) Implemented Armor Ornamentation using Hero's Forge Armor Models. To use, create an ornamentation augment and set the herosforgemodel field in the items table.
...
(RoF+) Added command #heromodel (#hm for short) - Usage: #heromodel [hero forge model] [ [slot] ] (example: #heromodel 63)
2014-12-13 13:53:55 -06:00
Trevius
37951d09c7
(RoF+) Implemented Hero's Forge Armor Models for Items. To use, set herosforgemodel field in the item table to a model number such as 63 (for example).
2014-12-09 21:18:56 -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
KayenEQ
052b41fbb2
Ranged attacks will now much more accurately calculate max distance server side
...
via accounting for differences in attacker/target size. This
fixes a very common issue of player hitting range attack and
nothing happening due to server improperly calculating
max range.
2014-12-04 02:40:51 -05:00
Trevius
24ea7a0d45
Mercenaries now spawn as the same Gender and Size of the Merchant they are purchased from.
...
Mercenaries now spawn with randomized facial features when purchased.
Setting a lastname for NPCs will now override any hard coded lastname (such as GM Trainers).
2014-12-01 19:54:01 -06:00
KayenEQ
e04496188b
Spell Projectiles have been revamped to use new system.
2014-11-30 01:43:51 -05:00
KayenEQ
e8ae28b439
Merge git://github.com/EQEmu/Server into Development
2014-11-29 20:56:13 -05:00
akkadius
fde9517247
mob.cpp #include cleanup
...
mob.h declarations
mob.h #include cleanup
2014-11-29 16:55:35 -06:00
KayenEQ
ca3b5a3221
Merge git://github.com/EQEmu/Server into Development
...
Conflicts:
changelog.txt
2014-11-29 03:22:11 -05:00
Trevius
84fa042c75
Fixed a zone crash related to numhits for spells.
...
Fixed a query related to group leaders logging in.
Fixed a world crash related to attempting to join an adventure with Mercenaries.
2014-11-28 20:23:42 -06:00
KayenEQ
3d83f647bf
Implemented projectile on impact for Throwing
2014-11-28 07:08:28 -05:00
KayenEQ
28ad768c0a
fixes
2014-11-28 01:05:57 -05:00
KayenEQ
6b45b2bc52
Fix for better ammo slot sync check.
2014-11-27 23:14:49 -05:00
KayenEQ
191aa575f8
Projectiles (ie Arrows) fired from an archery attacks will do damage upon
...
actually hitting the target, instead of instantly when fired. Consistent
with live.
Optional SQL added to disable this.
Throwing will be implemented in a future update.
2014-11-27 22:12:13 -05:00
KayenEQ
3ca282abfa
Fix for numhits counter not working where buffslot was 0 in some situations.
2014-11-23 22:06:15 -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
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
59bcd031c8
Added a simple check to prevent DoEnduranceUpkeep (1 sec persistent timer)
...
from constantly checking when client has no endurance drain effects.
This was running 24/7 for all classes.
2014-11-12 01:54:21 -05:00
JJ
d5efa0f23c
Manual merge of TargetRing pull request #286 .
2014-11-10 10:00:53 -05:00
SecretsOTheP
29d614421f
int16/32 mismatch fixes. see changelog.txt
2014-11-03 22:43:00 -05:00
SecretsOTheP
8efc652c10
Fixed overflow on AC and ATK values that can go out of range.
2014-11-03 19:14:58 -05:00
KayenEQ
d754e24a02
Minor code and compiler warning fixes.
2014-11-02 20:14:44 -05:00
JJ
5decde0af9
(RicardoCampos) End looting before zoning.
2014-11-02 00:10:19 -04:00
KayenEQ
7b0045290d
Fixed most of the compiler warnings and cleaned up some code in spells_effects.cpp
2014-10-31 22:40:49 -04:00
Michael Cook (mackal)
5ffb6bdee7
Reworked blind running around
...
This should be more in line with how we do current fearpath stuff
and with live.
2014-09-29 16:32:48 -04:00
Michael Cook (mackal)
fc1eca0f31
Merge pull request #254 from noudess/master
...
Changes so that blind effects like those in Flash of Light work.
2014-09-29 14:26:51 -04:00
Michael Cook (mackal)
3be7d45d36
Revamp attack delays / hastes / slows based on dev quotes
...
See changelog
2014-09-27 23:14:11 -04:00
KayenEQ
8567fd928a
Perl Mob function GetSpellStat(spellid, identifier, slot)
...
indentifier is the spell_new field
slot is used for effectids,base,base2, max ect where 1 = first slot.
Will add a wiki page
2014-09-27 16:12:10 -04:00
Paul Coene
73a23e9f9d
Changes so that blind effects like those in Flash of Light work.
2014-09-27 13:00:07 -04:00
KayenEQ
b9b92762b5
Merge git://github.com/EQEmu/Server into Development
...
Conflicts:
changelog.txt
2014-09-24 20:51:20 -04:00
Michael Cook (mackal)
531e4b0207
Fix function signature of Mob::IsRaidTarget() so its actually a virtual
2014-09-24 13:50:18 -04:00
KayenEQ
c03a70651c
SE_ApplySpell and SE_TriggerSpell will now be applied based on which effect slot they are used in (instead of always before all spell effects are checked).
...
Note: If a spell has multiple SE_TriggerSpell effects within it. Only one will be able to trigger. (If you want multiple spells use SE_ApplySpell)
2014-09-23 09:15:02 -04:00
KayenEQ
1f155690d8
Fix to SE_ApplyEffect - Will now trigger spell from this effect at correct time.
2014-09-22 19:42:59 -04:00
akkadius
34c3b8628e
Merge from master
2014-09-17 20:16:37 -05:00
Michael Cook (mackal)
11ce399e0d
Mob::ProcessSpecialAbilities pass by reference
2014-09-15 20:31:45 -04:00
Michael Cook (mackal)
881f937a35
Change scale of GetPermaHaste()
2014-09-09 22:50:50 -04:00
Michael Cook (mackal)
ed4e762f03
Change NPCs to have their attack delay set in DB
...
This gives us a much more straight forward way of setting mob
attack delay with respect to live.
The attack_delay column is in 10ths of seconds, just like weapons are
The attack_speed is left for references for now.
2014-09-09 22:42:54 -04:00
Michael Cook (mackal)
fa1e33783a
Split Mob::SetAttackTimer into Client and NPC methods
...
This was the easiest way to NPCs delay settings to be sane in the database.
The functions are cleaner since there is no specific logic to change
behavior depending on if they're a client or not.
2014-09-09 22:13:30 -04:00
akkadius
54c89d69f6
Merge remote-tracking branch 'remotes/origin/master' into blob_conversion
...
Conflicts:
common/database.cpp
common/mysql_request_result.h
common/shareddb.cpp
2014-09-07 04:11:09 -05:00
KimLS
ba0e4bfc1d
Bizarre issue reported with SendIllusionPacket corrupting size in lua, dunno if this fixes it but fingers crossed.
2014-09-05 21:18:35 -07:00
Uleat
37d3daaf9a
Client timer issue fix
2014-09-03 23:59:55 -04:00
Akkadius
ca430e2494
Fix void Database::GetCharName(uint32 char_id, char* name)
...
Increased MAX_PP_SPELLBOOK to 720 for UF/RoF
Increased MAX_PP_MEMSPELL to 12
Implemented up to 12 spell slots
Fix for public_note default value in bool BaseGuildManager::DBSetGuild(uint32 charid, uint32 guild_id, uint8 rank)
Updated all CastSpell entries to use the appropriate slot type defines located now in zone/common.h
Fixed Guild Loading from character_data
Fixed #guild list
Refactored Merchantlist loading
Refactored Temp Merchantlist loading
Gutted most of dbasync
Added:
LoadCharacterSpellBook(uint32 character_id, PlayerProfile_Struct* pp);
LoadCharacterMemmedSpells(uint32 character_id, PlayerProfile_Struct* pp);
LoadCharacterLanguages(uint32 character_id, PlayerProfile_Struct* pp);
LoadCharacterBindPoint(uint32 character_id, PlayerProfile_Struct* pp);
SaveCharacterSpellSwap(uint32 character_id, uint32 spell_id, uint32 from_slot, uint32 to_slot);
SaveCharacterSpell(uint32 character_id, uint32 spell_id, uint32 slot_id);
SaveCharacterMemorizedSpell(uint32 character_id, uint32 spell_id, uint32 slot_id);
DeleteCharacterSpell(uint32 character_id, uint32 spell_id, uint32 slot_id);
DeleteCharacterMemorizedSpell(uint32 character_id, uint32 spell_id, uint32 slot_id);
Removed Zone::LoadTempMerchantData_result(MYSQL_RES* result)
Removed Zone::LoadMerchantData_result(MYSQL_RES* result)
Removed SharedDatabase::GetPlayerProfile
Removed SharedDatabase::SetPlayerProfile
Removed SharedDatabase::SetPlayerProfile_MQ
Removed Zone::DBAWComplete(uint8 workpt_b1, DBAsyncWork* dbaw) from zone.cpp
2014-08-31 17:52:43 -05:00
KayenEQ
85df09b3f2
Implemented NPC special ability 40 'NPC_CHASE_DISTANCE'
...
Param 0: Sets max distance you need to be away from an npc for it to chase you.
Param 1: Sets min distance you need to be from npc for it to chase you.
Usage: Ideally used with ranged attack npcs / casters who you DO NOT WANT
to chase you unless you get too close or too far or out of sight.
2014-08-23 03:21:36 -04:00
Kinglykrab
bce3b1b961
Edit some uint32 to int32: GetAugmentIDAt, GetItemIDAt, GetItemStat
2014-08-15 04:26:37 -04:00