Commit Graph

161 Commits

Author SHA1 Message Date
Arthur Ice f409d39f1a merge upstream 2014-12-21 13:57:20 -08:00
KayenEQ cd33307975 NPC ranged attack projectiles will now do damage on impact.
Uses same rule as the client version.
2014-12-17 10:59:23 -05:00
KayenEQ fc306bbc1d Fix for special attack NPC_CHASE_DISTANCE to now work correctly
Perl export: NPC GetAttackDelay
Perl export: NPC GetAvoidanceRating
Perl export: NPC AddMeleeProc
Special Attacks will no longer be able to hit immune to melee / bane only flagged NPCs.
2014-12-16 18:53:15 -05:00
Michael Cook (mackal) 820f99067d Make use of the targetable_with_hotkey flag for SoF+ 2014-12-10 01:19:44 -05:00
KayenEQ a4df155219 update 2014-12-08 01:47:29 -05: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 54bc1b06e4 NPC constructor converted to use xyz_heading 2014-11-30 17:32:11 -08:00
Arthur Ice 0570722b3b MoveTo converted to xyz_heading 2014-11-30 16:30:09 -08:00
Arthur Ice e6d23228e5 GetSpawnPointX(), GetSpawnPointY(), GetSpawnPointZ(), and GetSpawnPointH(), converted to GetSpawnPoint() 2014-11-30 15:58:44 -08:00
Arthur Ice 2e6711916e GetClosestWaypoint converted to xyz_location 2014-11-30 15:40:24 -08:00
Arthur Ice 69dbdb2485 GetSpawnPointX(). GetSpawnPointY(), GetSpawnPointZ(), and GetSpawnPointH() replaced with GetSpawnPoint() 2014-11-30 15:29:13 -08:00
Arthur Ice f9036ddc6a GetGuardPointX(), GetGuardPointY(), GetGuardPointZ(), and GetGuardPointH() replaced with GetGuardPoint() 2014-11-30 15:05:50 -08:00
Arthur Ice c060723762 guard_x_saved, guard_y_saved, guard_z_saved, guard_heading_saved converted to m_GuardPointSaved 2014-11-30 14:34:27 -08:00
Arthur Ice 4b71d28747 guard_x, guard_y, guard_z, guard_heading converted to xyz_heading as m_GuardPoint 2014-11-30 14:17:14 -08:00
Arthur Ice 6ffd7203ff org_x, org_y, org_z, and org_heading converted to xyz_heading as m_SpawnPoint 2014-11-30 13:51:57 -08:00
akkadius ad603fd213 loottable.cpp #include fix, previously reliant on npc.h to get to loottable.h
npc.cpp #include cleanup
npc.h #include cleanup and forward declaration
2014-11-29 14:39:27 -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
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 51a3302288 Few more minor compilier warnings and code clean up. 2014-11-02 00:43:01 -04:00
KimLS 7fed01ddea initial rewrite of loot code 2014-09-27 19:57:45 -07:00
KayenEQ f232bf1ccd Fix for commit failure. 2014-09-27 09:21:37 -04:00
KayenEQ 31b46efcac Clean up of perl based NPC spell scaling functions.
Added Perl - $npc->GetSpellFocusDMG(), $npc->GetSpellFocusHeal()
2014-09-26 06:56:42 -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
KimLS 07a2cbe9a5 Renamed zone files 2014-08-21 23:46:01 -07:00
Kinglykrab 8b19c76e89 Adds new column to 'merchantlist' table.
Adds 'probability' after 'classes_required', valid values are 0 to 100.
2014-08-21 04:05:45 -04:00
Russell Kinasz 1ba4b6fc31 Implemented Raid OOC Regen 2014-08-12 15:18:11 -07:00
Uleat 36a2d52f1c More 'dictionary' updates..added 'constants' files to client translators..started replacement of hard-coded inventory values. 2014-07-27 20:35:43 -04:00
KayenEQ 4f07be2343 Update to how bonuses are calculated in chance to hit code to be
consistent across all relevant effects (treating avoidance
and hit chance bonuses equally).
Rule ArcheryHitPenalty will now calc correctly (Was doing basically nothing)
New field npc_types 'Avoidance' (add avoidance bonus to npc)
Rules for setting min / max chance to hit
2014-07-23 21:24:21 -04:00
KayenEQ 089360a3a5 merge 2014-07-18 17:00:39 -04:00
Uleat d7c2d6108f Added the initial references for two new dictionaries - EmuConstants and EQLimits..more to come. 2014-07-16 21:23:16 -04:00
KayenEQ 965bb039be Updates to npc_spells and npc_types table.
Implemented innate defensive and range procs
Implemented ability to fine tune AI casting behavior/timers
Global rules for AI casting behavior/timers
NPC Ranged attack updates, set skill and ammo type in npc_types
Various clean ups in attack related functions.
Other minor fixes.
See Change Log, +required, +optional SQL
2014-07-10 22:46:39 -04:00
KayenEQ 5a14a85f52 Implemention for SE_Berserk, SE_Vampirism (These are not used on live)
Fix for NPC not receiving spell bonus derived HP regen.
2014-06-20 18:10:29 -04:00
KayenEQ d64f762277 Developement Branch AISpellEffects.
Debug crash on NPC death.
2014-04-25 08:52:49 -04:00
KayenEQ f9b46b46b1 Revision of slow mitigation code.
Fix for the slow mitigation spam messages
Converted value from FLOAT to INT
Use SQL to update your npc_types table
2014-04-12 00:18:19 -04:00
KayenEQ f0a0f0677f Rule to make player cast swarm pets untargetable with F8.
New npc_types field to allow any NPC to be untargetable with F8
Swarm pets will now be heal/buffable like live.
See change log for more details.

Note: The method used here to prevent
targeting is a hack but the only side
effect it turns affected NPC's names Yellow.
2014-04-10 00:47:20 -04:00
Michael Cook (mackal) 8866b3170e Implement ability for NPC Merchants to open and close shop 2014-04-01 21:03:49 -04:00
cavedude00 1d6bd3cc5e Better flee runspeed calculation.
Added two new NPC special_abilities, ALWAYS_FLEE and FLEE_PERCENT.
Fixed an issue where a NPC could get stuck on a single coord in a rectangular roambox.
Added mindelay to spawngroup to allow for greater control of the roambox delay. SQL is required.
2014-02-26 18:06:16 -08:00
Michael Cook (mackal) ce4f4995b5 Merge with master 2014-02-10 12:04:35 -05:00
KayenEQ 72cec5608d Revision to spell damage calculations 2014-02-02 23:23:41 -05:00
Michael Cook 4fdcf604f2 Added #showspellslist command to show us a mob's spells 2013-12-03 15:57:50 -05:00
Uleat e3805d5920 Converted SkillType typedef enumeration to SkillUseTypes enumeration 2013-10-27 13:03:41 -04:00
KimLS 3992ac02bb Rampage, Area Rampage, Flurry got new customizable effects. Part of that was adding a new set of stuff to attack. 2013-07-08 14:37:01 -07:00
KimLS 63d678ce29 Replaced npcspecialatk with special_attacks, needs more testing also gotta export new api for it as I can't remove the legacy one. Too many quests rely on the legacy functionality. 2013-07-06 03:45:06 -07:00
KimLS cec60feba9 Merge master 2013-06-05 16:58:11 -07:00
root 7fca5a7a89 Merge branch 'master' of https://github.com/EQEmu/Server into EQEmu-master
Conflicts:
	zone/client.h
	zone/mod_functions.cpp
	zone/mod_functions_base.cpp
2013-06-01 19:17:23 -05:00
KimLS a3e24b6854 Merge from master 2013-05-23 12:50:34 -07:00
Michael Cook 0fdfe025cb Remove 'using namespaces std' fixes #61 2013-05-22 16:17:19 -04:00
KimLS 69bad31019 Cleanup of some lua code, initial work on encounter_quests 2013-05-19 12:13:44 -07:00
KimLS 7adcf6d3e5 Some quest item and spell work, took out that stupid multiquesting code -> use your brains that's completely doable entirely in quests even perl 2013-05-17 17:10:38 -07:00