mirror of
https://github.com/EQEmu/Server.git
synced 2026-04-01 11:22:28 +00:00
[Spells Cleanup] Unify and add most hardcoded spell IDs (#1438)
Move the newer stuff added that was recently to the same place all of our previous spell IDs were defined. Either of these solutions were good, but I went with defines since it was less changes I also added a bunch of stuff the client has hardcoded behavior for, but not currently implemented by us. The removed stuff from the command_castspell were reused on live, so I figured it was best to remove them from the restrictions since they are no longer test spells
This commit is contained in:
parent
5a2b5cd295
commit
1c75236508
@ -438,8 +438,6 @@ static const uint8 SkillDamageTypes[EQ::skills::HIGHEST_SKILL + 1] = // change t
|
|||||||
|
|
||||||
static const uint32 MAX_SPELL_DB_ID_VAL = 65535;
|
static const uint32 MAX_SPELL_DB_ID_VAL = 65535;
|
||||||
|
|
||||||
static const uint32 DB_SPELL_CAZIC_TOUCH = 982;
|
|
||||||
static const uint32 DB_SPELL_TOUCH_OF_VINITRAS = 2859;
|
|
||||||
static const uint32 DB_FACTION_GEM_CHOPPERS = 255;
|
static const uint32 DB_FACTION_GEM_CHOPPERS = 255;
|
||||||
static const uint32 DB_FACTION_HERETICS = 265;
|
static const uint32 DB_FACTION_HERETICS = 265;
|
||||||
static const uint32 DB_FACTION_KING_AKANON = 333;
|
static const uint32 DB_FACTION_KING_AKANON = 333;
|
||||||
|
|||||||
120
common/spdat.h
120
common/spdat.h
@ -33,6 +33,126 @@
|
|||||||
#define SPELL_IMP_HARM_TOUCH 2774
|
#define SPELL_IMP_HARM_TOUCH 2774
|
||||||
#define SPELL_NPC_HARM_TOUCH 929
|
#define SPELL_NPC_HARM_TOUCH 929
|
||||||
#define SPELL_AVATAR_ST_PROC 2434
|
#define SPELL_AVATAR_ST_PROC 2434
|
||||||
|
#define SPELL_CAZIC_TOUCH 982
|
||||||
|
#define SPELL_TOUCH_OF_VINITRAS 2859
|
||||||
|
#define SPELL_DESPERATE_HOPE 841
|
||||||
|
#define SPELL_CHARM 300
|
||||||
|
#define SPELL_METAMORPHOSIS65 2314
|
||||||
|
#define SPELL_JT_BUFF 3716
|
||||||
|
#define SPELL_CAN_O_WHOOP_ASS 911
|
||||||
|
#define SPELL_PHOENIX_CHARM 3014
|
||||||
|
#define SPELL_AVATAR_KNOCKBACK 905
|
||||||
|
#define SPELL_SHAPECHANGE65 2079
|
||||||
|
#define SPELL_SUNSET_HOME1218 1218
|
||||||
|
#define SPELL_SUNSET_HOME819 819
|
||||||
|
#define SPELL_SHAPECHANGE75 780
|
||||||
|
#define SPELL_SHAPECHANGE80 781
|
||||||
|
#define SPELL_SHAPECHANGE85 782
|
||||||
|
#define SPELL_SHAPECHANGE90 783
|
||||||
|
#define SPELL_SHAPECHANGE95 784
|
||||||
|
#define SPELL_SHAPECHANGE100 785
|
||||||
|
#define SPELL_SHAPECHANGE25 1200
|
||||||
|
#define SPELL_SHAPECHANGE30 1201
|
||||||
|
#define SPELL_SHAPECHANGE35 1202
|
||||||
|
#define SPELL_SHAPECHANGE40 1203
|
||||||
|
#define SPELL_SHAPECHANGE45 1204
|
||||||
|
#define SPELL_SHAPECHANGE50 1205
|
||||||
|
#define SPELL_NPC_AEGOLISM 1343
|
||||||
|
#define SPELL_SHAPECHANGE55 1923
|
||||||
|
#define SPELL_SHAPECHANGE60 1924
|
||||||
|
#define SPELL_COMMAND_OF_DRUZZIL 3355
|
||||||
|
#define SPELL_SHAPECHANGE70 6503
|
||||||
|
// these have known hardcoded behavior but we don't do anything yet, move them above this comment when fixed
|
||||||
|
#define SPELL_THE_DAINS_JUSTICE 1476
|
||||||
|
#define SPELL_MODULATION 1502
|
||||||
|
#define SPELL_TORPOR 1576
|
||||||
|
#define SPELL_SPLURT 1620
|
||||||
|
#define SPELL_SEBILITE_POX 1814
|
||||||
|
#define SPELL_SOUL_WELL 1816
|
||||||
|
#define SPELL_MYSTICAL_TRANSVERGENCE 2716
|
||||||
|
#define SPELL_ACT_OF_VALOR 2775
|
||||||
|
#define SPELL_STOICISM 3694
|
||||||
|
#define SPELL_ALTER_PLANE_HATE 666
|
||||||
|
#define SPELL_ALTER_PLANE_SKY 674
|
||||||
|
#define SPELL_DENONS_DESPERATE_DIRGE 742
|
||||||
|
#define SPELL_BOND_OF_SATHIR 833
|
||||||
|
#define SPELL_DISEASED_CLOUD 836
|
||||||
|
#define SPELL_ACTING_RESIST 775
|
||||||
|
#define SPELL_ACTING_SHIELD 776
|
||||||
|
#define SPELL_ACTING_GUARD 777
|
||||||
|
#define SPELL_GUIDE_ACTING 778
|
||||||
|
#define SPELL_BYE_BYE 779
|
||||||
|
#define SPELL_ACTING_RESIST_II 1206
|
||||||
|
#define SPELL_ACTING_SHIELD_II 1207
|
||||||
|
#define SPELL_ACTING_GUARD_II 1208
|
||||||
|
#define SPELL_GUIDE_ACTING2 1209
|
||||||
|
#define SPELL_BYE_BYTE2 1210
|
||||||
|
#define SPELL_GUIDE_CANCEL_MAGIC 1211
|
||||||
|
#define SPELL_GUIDE_JOURNEY 1212
|
||||||
|
#define SPELL_GUIDE_VISION 1213
|
||||||
|
#define SPELL_GUIDE_HEALTH 1214
|
||||||
|
#define SPELL_GUIDE_INVULNERABILITY 1215
|
||||||
|
#define SPELL_GUIDE_BOLT 1216
|
||||||
|
#define SPELL_GUIDE_MEMORY_BLUE 1217
|
||||||
|
#define SPELL_GUIDE_ALLIANCE 1219
|
||||||
|
#define SPELL_SPECIAL_SIGHT 1220
|
||||||
|
#define SPELL_TERROR_OF_DARKNESS 1221
|
||||||
|
#define SPELL_TERROR_OF_SHADOWS 1222
|
||||||
|
#define SPELL_TERROR_OF_DEATH 1223
|
||||||
|
#define SPELL_TERROR_OF_TERRIS 1224
|
||||||
|
#define SPELL_VOICE_OF_DARKNESS 1225
|
||||||
|
#define SPELL_VOICE_OF_SHADOWS 1226
|
||||||
|
#define SPELL_VOICE_OF_DEATH 1227
|
||||||
|
#define SPELL_VOICE_OF_TERRIS 1228
|
||||||
|
#define SPELL_VENGEANCE_V 1229
|
||||||
|
#define SPELL_VENGEANCE_VII 1230
|
||||||
|
#define SPELL_VENGEANCE_VIII 1231
|
||||||
|
#define SPELL_VENGEANCE_IX 1232
|
||||||
|
#define SPELL_CORRUPTED_LACERATION 1233
|
||||||
|
#define SPELL_VISIONS_OF_CHAOS 1234
|
||||||
|
#define SPELL_VISIONS_OF_PAIN 1235
|
||||||
|
#define SPELL_COMMANDING_PRESENCE 1236
|
||||||
|
#define SPELL_MALICIOUS_INTENT 1237
|
||||||
|
#define SPELL_CURSE_OF_FLAMES 1238
|
||||||
|
#define SPELL_DEVOURING_CONFLAGRATION 1239
|
||||||
|
#define SPELL_AVATAR_SHIELD 1240
|
||||||
|
#define SPELL_AVATAR_SIGHT 1241
|
||||||
|
#define SPELL_AVATAR_GUARD 1242
|
||||||
|
#define SPELL_AVATAR_RESIST 1243
|
||||||
|
#define SPELL_MAGI_BOLT 1244
|
||||||
|
#define SPELL_MAGI_STRIKE 1245
|
||||||
|
#define SPELL_MAGI_CURSE 1246
|
||||||
|
#define SPELL_MAGI_CIRCLE 1247
|
||||||
|
#define SPELL_SPIRITUAL_ECHO 1248
|
||||||
|
#define SPELL_BRISTLING_ARMAMENT 1249
|
||||||
|
#define SPELL_WATON_DESTRUCTION 1250
|
||||||
|
#define SPELL_ACTING_MAGIC_RESIST_I 1900
|
||||||
|
#define SPELL_ACTING_FIRE_RESIST_I 1901
|
||||||
|
#define SPELL_ACTING_COLD_RESIST_I 1902
|
||||||
|
#define SPELL_ACTING_POISON_RESIST_I 1903
|
||||||
|
#define SPELL_ACTING_DISEASE_RESIST_I 1904
|
||||||
|
#define SPELL_ACTING_MAGIC_RESIST_II 1905
|
||||||
|
#define SPELL_ACTING_FIRE_RESIST_II 1906
|
||||||
|
#define SPELL_ACTING_COLD_RESIST_II 1907
|
||||||
|
#define SPELL_ACTING_POISON_RESIST_II 1908
|
||||||
|
#define SPELL_ACTING_DISEASE_RESIST_II 1909
|
||||||
|
#define SPELL_ACTING_FIRE_SHIELD 1910
|
||||||
|
#define SPELL_ACTING_POISON_SHIELD 1911
|
||||||
|
#define SPELL_ACTING_COLD_SHIELD 1912
|
||||||
|
#define SPELL_ACTING_DISEASE_SHIELD 1913
|
||||||
|
#define SPELL_ACTING_ARMOR_I 1914
|
||||||
|
#define SPELL_ACTING_ARMOR_II 1915
|
||||||
|
#define SPELL_ACTING_ARMOR_III 1916
|
||||||
|
#define SPELL_ACTING_HEALTH_I 1917
|
||||||
|
#define SPELL_ACTING_HEALTH_II 1918
|
||||||
|
#define SPELL_ACTING_HEALTH_III 1919
|
||||||
|
#define SPELL_ACTING_HEALTH_IV 1920
|
||||||
|
#define SPELL_ACTING_SPIRIT_I 1921
|
||||||
|
#define SPELL_ACTING_SPIRIT_II 1922
|
||||||
|
#define SPELL_RESURRECTION_SICKNESS 756
|
||||||
|
#define SPELL_RESURRECTION_SICKNESS2 5249
|
||||||
|
#define SPELL_REVIVAL_SICKNESS 13087
|
||||||
|
#define SPELL_MANA_BURN 2751
|
||||||
|
|
||||||
|
|
||||||
#define EFFECT_COUNT 12
|
#define EFFECT_COUNT 12
|
||||||
|
|||||||
@ -3444,7 +3444,7 @@ void Mob::CommonDamage(Mob* attacker, int &damage, const uint16 spell_id, const
|
|||||||
bool FromDamageShield = (skill_used == EQ::skills::SkillAbjuration);
|
bool FromDamageShield = (skill_used == EQ::skills::SkillAbjuration);
|
||||||
bool ignore_invul = false;
|
bool ignore_invul = false;
|
||||||
if (IsValidSpell(spell_id))
|
if (IsValidSpell(spell_id))
|
||||||
ignore_invul = spell_id == 982 || spells[spell_id].cast_not_standing; // cazic touch
|
ignore_invul = spell_id == SPELL_CAZIC_TOUCH || spells[spell_id].cast_not_standing;
|
||||||
|
|
||||||
if (!ignore_invul && (GetInvul() || DivineAura())) {
|
if (!ignore_invul && (GetInvul() || DivineAura())) {
|
||||||
LogCombat("Avoiding [{}] damage due to invulnerability", damage);
|
LogCombat("Avoiding [{}] damage due to invulnerability", damage);
|
||||||
|
|||||||
@ -2939,6 +2939,44 @@ void command_findspell(Client *c, const Seperator *sep)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline bool CastRestrictedSpell(int spellid)
|
||||||
|
{
|
||||||
|
switch (spellid) {
|
||||||
|
case SPELL_TOUCH_OF_VINITRAS:
|
||||||
|
case SPELL_DESPERATE_HOPE:
|
||||||
|
case SPELL_CHARM:
|
||||||
|
case SPELL_METAMORPHOSIS65:
|
||||||
|
case SPELL_JT_BUFF:
|
||||||
|
case SPELL_CAN_O_WHOOP_ASS:
|
||||||
|
case SPELL_PHOENIX_CHARM:
|
||||||
|
case SPELL_CAZIC_TOUCH:
|
||||||
|
case SPELL_AVATAR_KNOCKBACK:
|
||||||
|
case SPELL_SHAPECHANGE65:
|
||||||
|
case SPELL_SUNSET_HOME1218:
|
||||||
|
case SPELL_SUNSET_HOME819:
|
||||||
|
case SPELL_SHAPECHANGE75:
|
||||||
|
case SPELL_SHAPECHANGE80:
|
||||||
|
case SPELL_SHAPECHANGE85:
|
||||||
|
case SPELL_SHAPECHANGE90:
|
||||||
|
case SPELL_SHAPECHANGE95:
|
||||||
|
case SPELL_SHAPECHANGE100:
|
||||||
|
case SPELL_SHAPECHANGE25:
|
||||||
|
case SPELL_SHAPECHANGE30:
|
||||||
|
case SPELL_SHAPECHANGE35:
|
||||||
|
case SPELL_SHAPECHANGE40:
|
||||||
|
case SPELL_SHAPECHANGE45:
|
||||||
|
case SPELL_SHAPECHANGE50:
|
||||||
|
case SPELL_NPC_AEGOLISM:
|
||||||
|
case SPELL_SHAPECHANGE55:
|
||||||
|
case SPELL_SHAPECHANGE60:
|
||||||
|
case SPELL_COMMAND_OF_DRUZZIL:
|
||||||
|
case SPELL_SHAPECHANGE70:
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void command_castspell(Client *c, const Seperator *sep)
|
void command_castspell(Client *c, const Seperator *sep)
|
||||||
{
|
{
|
||||||
if (!sep->IsNumber(1))
|
if (!sep->IsNumber(1))
|
||||||
@ -2948,13 +2986,7 @@ void command_castspell(Client *c, const Seperator *sep)
|
|||||||
/*
|
/*
|
||||||
Spell restrictions.
|
Spell restrictions.
|
||||||
*/
|
*/
|
||||||
if (((spellid == 2859) || (spellid == 841) || (spellid == 300) || (spellid == 2314) ||
|
if (CastRestrictedSpell(spellid) && c->Admin() < commandCastSpecials)
|
||||||
(spellid == 3716) || (spellid == 911) || (spellid == 3014) || (spellid == 982) ||
|
|
||||||
(spellid == 905) || (spellid == 2079) || (spellid == 1218) || (spellid == 819) ||
|
|
||||||
((spellid >= 780) && (spellid <= 785)) || ((spellid >= 1200) && (spellid <= 1205)) ||
|
|
||||||
((spellid >= 1342) && (spellid <= 1348)) || (spellid == 1923) || (spellid == 1924) ||
|
|
||||||
(spellid == 3355)) &&
|
|
||||||
c->Admin() < commandCastSpecials)
|
|
||||||
c->Message(Chat::Red, "Unable to cast spell.");
|
c->Message(Chat::Red, "Unable to cast spell.");
|
||||||
else if (spellid >= SPDAT_RECORDS)
|
else if (spellid >= SPDAT_RECORDS)
|
||||||
c->Message(Chat::White, "Error: #CastSpell: Argument out of range");
|
c->Message(Chat::White, "Error: #CastSpell: Argument out of range");
|
||||||
|
|||||||
@ -2047,7 +2047,7 @@ bool Mob::SpellFinished(uint16 spell_id, Mob *spell_target, CastingSlot slot, ui
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
//Death Touch targets the pet owner instead of the pet when said pet is tanking.
|
//Death Touch targets the pet owner instead of the pet when said pet is tanking.
|
||||||
if ((RuleB(Spells, CazicTouchTargetsPetOwner) && spell_target && spell_target->HasOwner()) && spell_id == DB_SPELL_CAZIC_TOUCH || spell_id == DB_SPELL_TOUCH_OF_VINITRAS) {
|
if ((RuleB(Spells, CazicTouchTargetsPetOwner) && spell_target && spell_target->HasOwner()) && spell_id == SPELL_CAZIC_TOUCH || spell_id == SPELL_TOUCH_OF_VINITRAS) {
|
||||||
Mob* owner = spell_target->GetOwner();
|
Mob* owner = spell_target->GetOwner();
|
||||||
|
|
||||||
if (owner) {
|
if (owner) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user