183 Commits

Author SHA1 Message Date
Akkadius
fb5e988ed8 Remove commented std::cout : Tlevel: 2015-01-20 01:30:56 -06:00
Akkadius
47b0f6ca9e Remove commented std::cout : Gender in: 2015-01-20 01:30:53 -06:00
Akkadius
467b359d0c Moved all EQEmuLogSys:: enum references used in Log.Out to a namespace 'Logs' for shortening of syntax 2015-01-18 02:20:16 -06:00
Akkadius
c025765283 Renamed DoLog to Out as the aggregate logging function for simplicity of use and shortened syntax of Log.Out 2015-01-18 02:00:15 -06:00
Akkadius
1c048cb1d1 Renamed DebugCategory to DoLog as the aggregate logging function for simplicity of use and shortened syntax of Log.DoLog 2015-01-18 01:54:09 -06:00
Akkadius
7dbde36b03 Rename reference logger to Log 2015-01-18 00:41:18 -06:00
Akkadius
1405d9e114 port mlog 'CLIENT__SPELLS' category to new log system 2015-01-17 02:28:25 -06:00
Akkadius
6a567288ae port mlog 'Combat' category to new log system 2015-01-17 02:22:53 -06:00
JJ
cde406a496 Add PhR to #showstats and a few places that can/should be implemented in the future. 2015-01-06 13:51:36 -05:00
Akkadius
2dadc9ff24 Change SetOwner to SetHateOwner refactor 2014-12-28 00:06:51 -06:00
Akkadius
18f9a06f06 Re-Push Refactoring changes before without broken functionality 2014-12-27 23:44:15 -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
Trevius
baf2f23ce6 (RoF+) Implemented Hero's Forge Armor for NPCs. Set the herosforgemodel field in npc_types table to the model (example: 84 for full set, or 12107 for robe).
(RoF+) Hero's Forge Armor now overrides NPC texture settings.  To display Hero's Forge Armor Helms, set helmtexture field to anything other than 0.
Fixed some NPC loading from the database that was incorrect after adding herosforgemodel.
2014-12-24 12:02:30 -06:00
Trevius
c48d2d9888 (RoF+) Added herosforgemodel field to the npc_types table. Not fully functional yet for NPCs (currently only displays helm correctly).
(RoF2) Updated item links from #npcstat command output.
2014-12-24 02:31:37 -06:00
Trevius
27fe90d02d (RoF+) Added support for Hero's Forge Robe Models. Set herosforgemodel field in items table to exact model such as 11607, 11707, etc. 2014-12-23 23:13:22 -06:00
Trevius
ef287bc857 Fixed Armor Tinting (players and NPCs) that was broken during a previous update. 2014-12-19 15:46:01 -06:00
KayenEQ
29ef1527e7 update 2014-12-17 06:09:04 -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)
b5c60d8123 Bot compile fix 2014-12-15 20:08:46 -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
Michael Cook (mackal)
820f99067d Make use of the targetable_with_hotkey flag for SoF+ 2014-12-10 01:19:44 -05: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
Michael Cook (mackal)
9636ef3499 Update to new random functions 2014-12-02 14:09:14 -05:00
Michael Cook (mackal)
dc0eb0f6b5 Merge branch 'master' into random
Conflicts:
	zone/command.cpp
	zone/merc.cpp
2014-12-02 14:05:55 -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
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
KayenEQ
8dfd61bbcf fix 2014-11-30 01:58:23 -05:00
KayenEQ
e04496188b Spell Projectiles have been revamped to use new system. 2014-11-30 01:43:51 -05:00
KayenEQ
ad2fd9e4d5 update to projectile move check 2014-11-29 21:10: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
ac0933719a Sanity check added before calculating distance. 2014-11-28 05:42:36 -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
Natedog2012
daec5bde66 Item Transformation now works! 2014-11-26 17:23:04 -05: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
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
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
SecretsOTheP
d8a8b8e6dc Merge branch 'master' of https://github.com/EQEmu/Server 2014-11-09 03:40:59 -05:00
Natedog2012
efdc177b78 Implement RoF + UF ornament augmentation.. thanks for the help Drajor! 2014-11-09 03:33:58 -05:00
KayenEQ
4446a1ed08 Mez spells will no longer attempt memblur each tic, just on initial cast.
reverted change to calcmaxhp due to potential overflow issues.
2014-11-08 02:07:05 -05:00
KayenEQ
0c4a32246b Fix for CalcMaxHP 2014-11-06 21:00:03 -05:00
SecretsOTheP
3ac0f1506c Fixed melee lifetap overflows - Because being healed for uint16s is not cool. 2014-11-03 16:45:36 -05:00
JJ
a9f7af59a2 Merge pull request #277 from KayenEQ/Development
Few more minor compiler warnings and code clean up.
2014-11-02 09:00:23 -05:00
KayenEQ
51a3302288 Few more minor compilier warnings and code clean up. 2014-11-02 00:43:01 -04:00