mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-16 22:58:34 +00:00
[Spells] Implement PVP resist and duration overrides (#1513)
* Make use of PVP resist field * Implement PVP duration formulas
This commit is contained in:
committed by
GitHub
parent
af6d344e12
commit
41352f77ae
@@ -199,8 +199,8 @@ public:
|
||||
int pvpresistcalc;
|
||||
int pvpresistcap;
|
||||
int spell_category;
|
||||
int field181;
|
||||
int field182;
|
||||
int pvp_duration;
|
||||
int pvp_duration_cap;
|
||||
int pcnpc_only_flag;
|
||||
int cast_not_standing;
|
||||
int can_mgb;
|
||||
@@ -446,8 +446,8 @@ public:
|
||||
"pvpresistcalc",
|
||||
"pvpresistcap",
|
||||
"spell_category",
|
||||
"field181",
|
||||
"field182",
|
||||
"pvp_duration",
|
||||
"pvp_duration_cap",
|
||||
"pcnpc_only_flag",
|
||||
"cast_not_standing",
|
||||
"can_mgb",
|
||||
@@ -718,8 +718,8 @@ public:
|
||||
entry.pvpresistcalc = 100;
|
||||
entry.pvpresistcap = -150;
|
||||
entry.spell_category = -99;
|
||||
entry.field181 = 7;
|
||||
entry.field182 = 65;
|
||||
entry.pvp_duration = 0;
|
||||
entry.pvp_duration_cap = 0;
|
||||
entry.pcnpc_only_flag = 0;
|
||||
entry.cast_not_standing = 0;
|
||||
entry.can_mgb = 0;
|
||||
@@ -990,8 +990,8 @@ public:
|
||||
entry.pvpresistcalc = atoi(row[178]);
|
||||
entry.pvpresistcap = atoi(row[179]);
|
||||
entry.spell_category = atoi(row[180]);
|
||||
entry.field181 = atoi(row[181]);
|
||||
entry.field182 = atoi(row[182]);
|
||||
entry.pvp_duration = atoi(row[181]);
|
||||
entry.pvp_duration_cap = atoi(row[182]);
|
||||
entry.pcnpc_only_flag = atoi(row[183]);
|
||||
entry.cast_not_standing = atoi(row[184]);
|
||||
entry.can_mgb = atoi(row[185]);
|
||||
@@ -1260,8 +1260,8 @@ public:
|
||||
update_values.push_back(columns[178] + " = " + std::to_string(spells_new_entry.pvpresistcalc));
|
||||
update_values.push_back(columns[179] + " = " + std::to_string(spells_new_entry.pvpresistcap));
|
||||
update_values.push_back(columns[180] + " = " + std::to_string(spells_new_entry.spell_category));
|
||||
update_values.push_back(columns[181] + " = " + std::to_string(spells_new_entry.field181));
|
||||
update_values.push_back(columns[182] + " = " + std::to_string(spells_new_entry.field182));
|
||||
update_values.push_back(columns[181] + " = " + std::to_string(spells_new_entry.pvp_duration));
|
||||
update_values.push_back(columns[182] + " = " + std::to_string(spells_new_entry.pvp_duration_cap));
|
||||
update_values.push_back(columns[183] + " = " + std::to_string(spells_new_entry.pcnpc_only_flag));
|
||||
update_values.push_back(columns[184] + " = " + std::to_string(spells_new_entry.cast_not_standing));
|
||||
update_values.push_back(columns[185] + " = " + std::to_string(spells_new_entry.can_mgb));
|
||||
@@ -1518,8 +1518,8 @@ public:
|
||||
insert_values.push_back(std::to_string(spells_new_entry.pvpresistcalc));
|
||||
insert_values.push_back(std::to_string(spells_new_entry.pvpresistcap));
|
||||
insert_values.push_back(std::to_string(spells_new_entry.spell_category));
|
||||
insert_values.push_back(std::to_string(spells_new_entry.field181));
|
||||
insert_values.push_back(std::to_string(spells_new_entry.field182));
|
||||
insert_values.push_back(std::to_string(spells_new_entry.pvp_duration));
|
||||
insert_values.push_back(std::to_string(spells_new_entry.pvp_duration_cap));
|
||||
insert_values.push_back(std::to_string(spells_new_entry.pcnpc_only_flag));
|
||||
insert_values.push_back(std::to_string(spells_new_entry.cast_not_standing));
|
||||
insert_values.push_back(std::to_string(spells_new_entry.can_mgb));
|
||||
@@ -1784,8 +1784,8 @@ public:
|
||||
insert_values.push_back(std::to_string(spells_new_entry.pvpresistcalc));
|
||||
insert_values.push_back(std::to_string(spells_new_entry.pvpresistcap));
|
||||
insert_values.push_back(std::to_string(spells_new_entry.spell_category));
|
||||
insert_values.push_back(std::to_string(spells_new_entry.field181));
|
||||
insert_values.push_back(std::to_string(spells_new_entry.field182));
|
||||
insert_values.push_back(std::to_string(spells_new_entry.pvp_duration));
|
||||
insert_values.push_back(std::to_string(spells_new_entry.pvp_duration_cap));
|
||||
insert_values.push_back(std::to_string(spells_new_entry.pcnpc_only_flag));
|
||||
insert_values.push_back(std::to_string(spells_new_entry.cast_not_standing));
|
||||
insert_values.push_back(std::to_string(spells_new_entry.can_mgb));
|
||||
@@ -2054,8 +2054,8 @@ public:
|
||||
entry.pvpresistcalc = atoi(row[178]);
|
||||
entry.pvpresistcap = atoi(row[179]);
|
||||
entry.spell_category = atoi(row[180]);
|
||||
entry.field181 = atoi(row[181]);
|
||||
entry.field182 = atoi(row[182]);
|
||||
entry.pvp_duration = atoi(row[181]);
|
||||
entry.pvp_duration_cap = atoi(row[182]);
|
||||
entry.pcnpc_only_flag = atoi(row[183]);
|
||||
entry.cast_not_standing = atoi(row[184]);
|
||||
entry.can_mgb = atoi(row[185]);
|
||||
@@ -2315,8 +2315,8 @@ public:
|
||||
entry.pvpresistcalc = atoi(row[178]);
|
||||
entry.pvpresistcap = atoi(row[179]);
|
||||
entry.spell_category = atoi(row[180]);
|
||||
entry.field181 = atoi(row[181]);
|
||||
entry.field182 = atoi(row[182]);
|
||||
entry.pvp_duration = atoi(row[181]);
|
||||
entry.pvp_duration_cap = atoi(row[182]);
|
||||
entry.pcnpc_only_flag = atoi(row[183]);
|
||||
entry.cast_not_standing = atoi(row[184]);
|
||||
entry.can_mgb = atoi(row[185]);
|
||||
|
||||
@@ -1855,6 +1855,8 @@ void SharedDatabase::LoadSpells(void *data, int max_spells) {
|
||||
sp[tempid].pvpresistcalc=atoi(row[178]);
|
||||
sp[tempid].pvpresistcap=atoi(row[179]);
|
||||
sp[tempid].spell_category=atoi(row[180]);
|
||||
sp[tempid].pvp_duration = atoi(row[181]);
|
||||
sp[tempid].pvp_duration_cap = atoi(row[182]);
|
||||
sp[tempid].pcnpc_only_flag=atoi(row[183]);
|
||||
sp[tempid].cast_not_standing = atoi(row[184]) != 0;
|
||||
sp[tempid].can_mgb=atoi(row[185]);
|
||||
|
||||
+2
-2
@@ -1318,8 +1318,8 @@ struct SPDat_Spell_Struct
|
||||
/* 178 */ int pvpresistcalc; // -- PVP_RESIST_PER_LEVEL
|
||||
/* 179 */ int pvpresistcap; // -- PVP_RESIST_CAP
|
||||
/* 180 */ int spell_category; // -- GLOBAL_GROUP
|
||||
/* 181 */ //int pvp_duration; // buffdurationformula for PvP -- PVP_DURATION
|
||||
/* 182 */ //int pvp_duration_cap; // buffduration for PvP -- PVP_DURATION_CAP
|
||||
/* 181 */ int pvp_duration; // buffdurationformula for PvP -- PVP_DURATION
|
||||
/* 182 */ int pvp_duration_cap; // buffduration for PvP -- PVP_DURATION_CAP
|
||||
/* 183 */ int pcnpc_only_flag; // valid values are 0, 1 = PCs (and mercs), and 2 = NPCs (and not mercs) -- PCNPC_ONLY_FLAG
|
||||
/* 184 */ bool cast_not_standing; // this is checked in the client's EQ_Spell::IsCastWhileInvisSpell, this also blocks SE_InterruptCasting from affecting this spell -- CAST_NOT_STANDING
|
||||
/* 185 */ bool can_mgb; // 0=no, -1 or 1 = yes -- CAN_MGB
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@
|
||||
* Manifest: https://github.com/EQEmu/Server/blob/master/utils/sql/db_update_manifest.txt
|
||||
*/
|
||||
|
||||
#define CURRENT_BINARY_DATABASE_VERSION 9167
|
||||
#define CURRENT_BINARY_DATABASE_VERSION 9168
|
||||
|
||||
#ifdef BOTS
|
||||
#define CURRENT_BINARY_BOTS_DATABASE_VERSION 9028
|
||||
|
||||
Reference in New Issue
Block a user