226 Commits

Author SHA1 Message Date
KayenEQ
5235dcee95
Fix Immune Melee Nonmagical logic (#1606) 2021-10-15 20:46:57 -04:00
KayenEQ
6a962f2591
[Spells] Update SPA158 Reflect (#1590)
* update

* updates

* updates

* update

* update

* Update ruletypes.h

* Apply extra spell dmg

Mob with the reflect effect apply its Extra Spell Damage from item stat to the reflected spell.
Updated portion of formula for extra damage based on live parsing.

* correct formula
2021-10-12 15:30:36 -04:00
KayenEQ
38beb804a3
[Spells] Added constant labeling to all StatBonuses that use as arrays. (#1485)
* constexpr labels added

* more updates

* more updates

* completed

* Update common.h

* Namespace constants, few minor spelling tweaks

Co-authored-by: Akkadius <akkadius1@gmail.com>
2021-08-01 13:13:14 -05:00
KayenEQ
5d92d484a1
Projectiles Update (#1468)
Fixed spell projectiles whose angle was not being calculated correctly.

Significantly improved all projectile timings. At least up to range of 300 should see more accurate timings for damage/effects occurring upon projectile impact. Will be noticed most significantly for all spell projectiles and for longer range archery.
2021-07-26 22:20:13 -04:00
KayenEQ
8a2a1b152e
[Feature] New SPAs pass 1 (#1454)
* Implemented SPA Duration Pct

Implemented new spell effects
SE_Duration_HP_Pct 			524
SE_Duration_Mana_Pct			525
SE_Duration_Endurance_Pct		526

Consumes 'base1' % of your maximum health/mana/endurance every 6 seconds. 'max' is maximum amount that can be consumed per tic.

Additional Functionality
Can be used as a heal/gain % by setting the base1 value to a positive.

* Implemented SPA Instant Mana/End pct

Fixes for SPA 524-526
Implemented
SE_Instant_Mana_Pct			522
SE_Instant_Endurance_Pct		523

Extracts 'base1' percent of your maximum mana/endurance, or 'max', whichever is lower.

* Implemented: SPA 521 EndAbsorbPctDmg

Implemented
SE_Endurance_Absorb_Pct_Damage 521

Absorb Damage using Endurance: base1 % (base2 End per 1 HP)
Note: Both base1 and base2 need to be divided by 100 for actually value

* Implemented SE_HealthTransfer 509

Implemented
SE_Health_Transfer			509
'life burn'
Consume base2 % of Hit Points to Damage for base % of Hit Points

Can be used for heal
Act of Valor

* Implemented SPA 515,516,518,496

Implemented
SE_AC_Avoidance_Max_Percent 515
SE_AC_Mitigation_Max_Percent	516
SE_Attack_Accuracy_Max_Percent	518
Above are stackable defense and offensive mods

SE_Critical_Melee_Damage_Mod_Max	496 - This is a non stackable melee critical modifier

* Implemented SPA 503 , 505

SE_Melee_Damage_Position_Mod	503
define SE_Damage_Taken_Position_Mod	505

SPA 503 increase/decreases melee damage by percent base1 based on your position base2 0=back 1=front

SPA 504 increase/decreases melee damage taken by percent base1 based on your position base2 0=back 1=front

* Implemented 467,468

Implemented
SE_DS_Mitigation_Amount		467
SE_DS_Mitigation_Percentage	468

Reduce incoming DS by amt or percentage. base1 is value, if a reduction is desired it should be set to negative for both.

* Fixes

Formula fixes

* Update spdat.h

Added spa descriptions.

* Fixes for PR

removed debug shouts
fixed description issue
2021-07-14 23:15:04 -04:00
Akkadius
bda13383ef Revert "Merge pull request #1101 from KinglyKrab/custom"
This reverts commit 43108acae1ef5eb5d127226c3fc0659dbdc10b9d, reversing
changes made to daa1db65b92cb9403c48071a044cb62b458c9afd.
2020-08-03 22:21:51 -05:00
Alex
ff7c3aff92 Custom changes. 2020-08-03 23:14:39 -04:00
Noudess
4e8764b6b9 Repair aggro so CallsForHelp are completed before mob charges. 2020-05-20 16:08:42 -04:00
KimLS
2fbd5aaccc Rename namespace EQEmu to namespace EQ (so we don't have two similar but different namespaces anymore) 2020-05-17 18:36:06 -07:00
Uleat
7f6414d685 Some bot-related changes (Master Wu's Technique, Tiger Claw timer) 2020-03-02 12:09:55 -05:00
kentai
0043f56984 ... 2020-02-20 14:37:26 +11:00
kentai
6ddc5ea8e8 CheckIncreaseSkill() from Client::ThrowingAttack() to DoThrowingAttackDmg() so it gets called during combat abilities(zerker volley), as well as regular throws(monk ranged). 2020-02-20 14:23:06 +11:00
Akkadius
89bfbe6bd2 Logs::Combat to LogCombat 2019-09-02 04:21:03 -05:00
Akkadius
20bd37dde7 More function name refactoring 2019-08-11 01:09:11 -05:00
Akkadius
665efe09f3 Fill function calls using magic numbers 2019-08-11 00:27:04 -05:00
Akkadius
9f25c9070c Refactor message functions 2019-08-11 00:14:02 -05:00
Akkadius
57354579aa Unify chat constants usage 2019-08-11 00:00:55 -05:00
Uleat
0541eec8bf Fix for thrown weapons hitting self 2019-06-19 17:47:24 -04:00
Uleat
585c6322bf Added 'spells' entry to EQDictionary 2019-01-20 08:24:21 -05:00
KimLS
29ea65a71e Redoing movement to introduce proper rotation 2018-09-24 22:41:53 -07:00
Michael Cook (mackal)
983b8f7237
Merge pull request #740 from noudess/master
Fix HT and LOH to retry after failure to cast
2018-07-21 17:19:57 -04:00
Uleat
c435a77813 Reintegration of inventory-based EQDictionary references 2018-07-05 21:05:26 -04:00
Paul Coene
5c4ed0becf Fix HT and LOH to retry after failure to cast 2018-07-05 19:46:56 -04:00
Michael Cook (mackal)
5aab187e17 Fix missile heading 2018-03-03 13:10:32 -05:00
Michael Cook (mackal)
199dd7d618 Fix missing round kick dmg calc 2017-10-20 17:01:39 -04:00
KimLS
7189994b78 Many lua things many many things 2017-05-19 22:50:08 -07:00
KimLS
0fd6815f81 Mods get their own file so i can take the big chunks of code out of lua parser 2017-04-30 00:30:23 -07:00
KimLS
a632d60140 Redo timing on movement and missiles to better match our new tic rate 2017-04-11 21:47:00 -07:00
KimLS
281483efc1 Merge of a monster 2017-04-02 20:03:51 -07:00
Akkadius
7aa1d243b0 [Performance] Reworked how all log calls are made in the source, see changelog.txt for more details 2017-04-01 03:51:46 -05:00
Akkadius
d777b1048d [Performance] Don't process ProjectileAttack checks for NPC's that are not engaged in any combat 2017-03-28 03:05:46 -05:00
KimLS
de777fc90f Merge fix 2017-03-26 17:25:01 -07:00
Michael Cook (mackal)
1e1de3a48a Fix error 2017-03-20 19:49:35 -04:00
Michael Cook (mackal)
0ac70c5459 SE_Taunt is a flat chance not a bonus to taunt chance 2017-03-20 19:45:26 -04:00
KimLS
cfdbca6f12 Fix for unreliable packets (kind of a hack but it works) being flagged as corrupt 2017-03-20 00:22:50 -07:00
Michael Cook (mackal)
e7785d5693 Bash dmg should return 0 with no item (slam) 2017-03-15 15:25:42 -04:00
Michael Cook (mackal)
d04d6750a2 Allow base damage of 0 (ex slam) min damage done to 1 2017-03-15 13:22:45 -04:00
KimLS
db210ba70e Merge fix 2017-03-14 21:18:35 -07:00
Uleat
f3f034d948 Fix for a combat ability targeting error 2017-03-12 21:46:16 -04:00
KimLS
159706efa9 Merge branch 'master' into eqstream 2017-03-12 18:39:15 -07:00
E Spause
4fad93824b Formatting fixes. 2017-03-12 03:49:41 -04:00
E Spause
fe70834a6b Enabled a skill check bypass for OGRE, TROLL, and BARBARIAN races so the "Slam" skill works once more. 2017-03-12 03:49:07 -04:00
KimLS
ed813363a5 Fix for locked server bug, bandaid to fix stupid missile code. 2017-02-08 19:27:51 -08:00
Michael Cook (mackal)
d8519bc270 Weapons allow NPCs to facestab 2017-01-31 17:25:05 -05:00
Michael Cook (mackal)
37e87e8cef Rework combat to make use of a struct to fix some bugs 2017-01-28 19:38:44 -05:00
Michael Cook (mackal)
0d84a73e9f Clean up MonkSpecialAttack too 2017-01-15 22:54:50 -05:00
Michael Cook (mackal)
b92d6c57a1 Rework OPCombatAbiltiy a bit
This is done to help remove some code duplication in the future
2017-01-15 22:19:32 -05:00
Michael Cook (mackal)
9e824876ba Combat Revamp - MAJOR BREAKING CHANGE
This commit makes combat much more live like. This is based on a lot of parses
done by TAKP and myself. There are numerous things based on dev quotes and
hints. Pretty much all combat has changed, spell effects correct, stacking
correct, etc.

This is the fist stage of the revamp, I will be trying to remove some code
duplication and make things generally cleaner.

Server ops will have to rebalance their NPCs. AC actually means something now.
Rough recommendations?
Level 50 "classic" trash should be no more than 115.
Classic raid mobs should be more 200+ etc
Other "classic" NPCs should be a lot lower as well.
PoP trash probably shouldn't exceed 120 AC
PoP raids should be higher
Devs have said the vast majority of NPCs didn't exceed 600 AC until very
recently. The exceptions were mostly raid encounters.

There really isn't a good "default" for every server, so this will be up to
the devs to find where they want their server stats to be.
2017-01-15 00:03:02 -05:00
Michael Cook (mackal)
f5827174ee Make CheckHitChance much more live like
This should be fairly close to live-like.

Based on client decompiling, Torven's write up and parses and more parses.

It will probably break your server.
2016-12-25 21:11:10 -05:00
Michael Cook (mackal)
a15df2ec2c Switch Master Wu to modern live implementation
Classic Master Wu still exists setting Combat:ClassicMasterWu to true
2016-10-30 22:41:24 -04:00