mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-17 03:08:26 +00:00
Merge remote-tracking branch 'upstream/master' into spa395fix2
This commit is contained in:
@@ -384,7 +384,9 @@ struct NewZone_Struct {
|
||||
/*0716*/ uint32 FastRegenEndurance;
|
||||
/*0720*/ uint32 NPCAggroMaxDist;
|
||||
/*0724*/ uint32 underworld_teleport_index; // > 0 teleports w/ zone point index, invalid succors, if this value is 0, it prevents you from running off edges that would end up underworld
|
||||
/*0728*/
|
||||
/*0728*/ uint32 LavaDamage; // Seen 50
|
||||
/*0732*/ uint32 MinLavaDamage; // Seen 10
|
||||
/*0736*/
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
@@ -1863,8 +1863,8 @@ namespace RoF
|
||||
/*fill in some unknowns with observed values, hopefully it will help */
|
||||
eq->unknown800 = -1;
|
||||
eq->unknown844 = 600;
|
||||
eq->unknown880 = 50;
|
||||
eq->unknown884 = 10;
|
||||
OUT(LavaDamage);
|
||||
OUT(MinLavaDamage);
|
||||
eq->unknown888 = 1;
|
||||
eq->unknown889 = 0;
|
||||
eq->unknown890 = 1;
|
||||
|
||||
@@ -1919,8 +1919,8 @@ namespace RoF2
|
||||
eq->SkyRelated2 = -1;
|
||||
eq->NPCAggroMaxDist = 600;
|
||||
eq->FilterID = 2008; // Guild Lobby observed value
|
||||
eq->LavaDamage = 50;
|
||||
eq->MinLavaDamage = 10;
|
||||
OUT(LavaDamage);
|
||||
OUT(MinLavaDamage);
|
||||
eq->bDisallowManaStone = 1;
|
||||
eq->bNoBind = 0;
|
||||
eq->bNoAttack = 0;
|
||||
|
||||
@@ -581,8 +581,8 @@ struct NewZone_Struct {
|
||||
/*0868*/ uint32 underworld_teleport_index; // > 0 teleports w/ zone point index, invalid succors, -1 affects some collisions
|
||||
/*0872*/ uint32 scriptIDSomething3;
|
||||
/*0876*/ uint32 SuspendBuffs;
|
||||
/*0880*/ uint32 unknown880; // Seen 50
|
||||
/*0884*/ uint32 unknown884; // Seen 10
|
||||
/*0880*/ uint32 LavaDamage; // Seen 50
|
||||
/*0884*/ uint32 MinLavaDamage; // Seen 10
|
||||
/*0888*/ uint8 unknown888; // Seen 1
|
||||
/*0889*/ uint8 unknown889; // Seen 0 (POK) or 1 (rujj)
|
||||
/*0890*/ uint8 unknown890; // Seen 1
|
||||
|
||||
@@ -1388,8 +1388,8 @@ namespace SoD
|
||||
/*fill in some unknowns with observed values, hopefully it will help */
|
||||
eq->unknown800 = -1;
|
||||
eq->unknown844 = 600;
|
||||
eq->unknown880 = 50;
|
||||
eq->unknown884 = 10;
|
||||
OUT(LavaDamage);
|
||||
OUT(MinLavaDamage);
|
||||
eq->unknown888 = 1;
|
||||
eq->unknown889 = 0;
|
||||
eq->unknown890 = 1;
|
||||
|
||||
@@ -450,8 +450,8 @@ struct NewZone_Struct {
|
||||
/*0868*/ uint32 underworld_teleport_index; // > 0 teleports w/ zone point index, invalid succors, -1 affects some collisions
|
||||
/*0872*/ uint32 scriptIDSomething3;
|
||||
/*0876*/ uint32 SuspendBuffs;
|
||||
/*0880*/ uint32 unknown880; //seen 50
|
||||
/*0884*/ uint32 unknown884; //seen 10
|
||||
/*0880*/ uint32 LavaDamage; //seen 50
|
||||
/*0884*/ uint32 MinLavaDamage; //seen 10
|
||||
/*0888*/ uint8 unknown888; //seen 1
|
||||
/*0889*/ uint8 unknown889; //seen 0 (POK) or 1 (rujj)
|
||||
/*0890*/ uint8 unknown890; //seen 1
|
||||
|
||||
@@ -1066,8 +1066,8 @@ namespace SoF
|
||||
/*fill in some unknowns with observed values, hopefully it will help */
|
||||
eq->unknown796 = -1;
|
||||
eq->unknown840 = 600;
|
||||
eq->unknown876 = 50;
|
||||
eq->unknown880 = 10;
|
||||
OUT(LavaDamage);
|
||||
OUT(MinLavaDamage);
|
||||
eq->unknown884 = 1;
|
||||
eq->unknown885 = 0;
|
||||
eq->unknown886 = 1;
|
||||
|
||||
@@ -454,8 +454,8 @@ struct NewZone_Struct {
|
||||
/*0864*/ uint32 underworld_teleport_index; // > 0 teleports w/ zone point index, invalid succors, -1 affects some collisions
|
||||
/*0868*/ uint32 scriptIDSomething3;
|
||||
/*0872*/ uint32 SuspendBuffs;
|
||||
/*0876*/ uint32 unknown876; //seen 50
|
||||
/*0880*/ uint32 unknown880; //seen 10
|
||||
/*0876*/ uint32 LavaDamage; //seen 50
|
||||
/*0880*/ uint32 MinLavaDamage; //seen 10
|
||||
/*0884*/ uint8 unknown884; //seen 1
|
||||
/*0885*/ uint8 unknown885; //seen 0 (POK) or 1 (rujj)
|
||||
/*0886*/ uint8 unknown886; //seen 1
|
||||
|
||||
@@ -1614,8 +1614,8 @@ namespace UF
|
||||
/*fill in some unknowns with observed values, hopefully it will help */
|
||||
eq->unknown800 = -1;
|
||||
eq->unknown844 = 600;
|
||||
eq->unknown880 = 50;
|
||||
eq->unknown884 = 10;
|
||||
OUT(LavaDamage);
|
||||
OUT(MinLavaDamage);
|
||||
eq->unknown888 = 1;
|
||||
eq->unknown889 = 0;
|
||||
eq->unknown890 = 1;
|
||||
|
||||
@@ -450,8 +450,8 @@ struct NewZone_Struct {
|
||||
/*0868*/ uint32 underworld_teleport_index; // > 0 teleports w/ zone point index, invalid succors, -1 affects some collisions
|
||||
/*0872*/ uint32 scriptIDSomething3;
|
||||
/*0876*/ uint32 SuspendBuffs;
|
||||
/*0880*/ uint32 unknown880; //seen 50
|
||||
/*0884*/ uint32 unknown884; //seen 10
|
||||
/*0880*/ uint32 LavaDamage; //seen 50
|
||||
/*0884*/ uint32 MinLavaDamage; //seen 10
|
||||
/*0888*/ uint8 unknown888; //seen 1
|
||||
/*0889*/ uint8 unknown889; //seen 0 (POK) or 1 (rujj)
|
||||
/*0890*/ uint8 unknown890; //seen 1
|
||||
|
||||
@@ -2232,3 +2232,15 @@ bool PlayerAppearance::IsValidWoad(uint16 race_id, uint8 gender_id, uint8 woad_v
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
const char* GetGenderName(uint32 gender_id) {
|
||||
const char* gender_name = "Unknown";
|
||||
if (gender_id == MALE) {
|
||||
gender_name = "Male";
|
||||
} else if (gender_id == FEMALE) {
|
||||
gender_name = "Female";
|
||||
} else if (gender_id == NEUTER) {
|
||||
gender_name = "Neuter";
|
||||
}
|
||||
return gender_name;
|
||||
}
|
||||
@@ -851,6 +851,7 @@
|
||||
|
||||
const char* GetRaceIDName(uint16 race_id);
|
||||
const char* GetPlayerRaceName(uint32 player_race_value);
|
||||
const char* GetGenderName(uint32 gender_id);
|
||||
|
||||
uint32 GetPlayerRaceValue(uint16 race_id);
|
||||
uint32 GetPlayerRaceBit(uint16 race_id);
|
||||
|
||||
@@ -110,6 +110,8 @@ public:
|
||||
std::string content_flags;
|
||||
std::string content_flags_disabled;
|
||||
int underworld_teleport_index;
|
||||
int lava_damage;
|
||||
int min_lava_damage;
|
||||
};
|
||||
|
||||
static std::string PrimaryKey()
|
||||
@@ -212,6 +214,8 @@ public:
|
||||
"content_flags",
|
||||
"content_flags_disabled",
|
||||
"underworld_teleport_index",
|
||||
"lava_damage",
|
||||
"min_lava_damage",
|
||||
};
|
||||
}
|
||||
|
||||
@@ -339,6 +343,8 @@ public:
|
||||
entry.content_flags = "";
|
||||
entry.content_flags_disabled = "";
|
||||
entry.underworld_teleport_index = 0;
|
||||
entry.lava_damage = 50;
|
||||
entry.min_lava_damage = 10;
|
||||
|
||||
return entry;
|
||||
}
|
||||
@@ -466,6 +472,8 @@ public:
|
||||
entry.content_flags = row[89] ? row[89] : "";
|
||||
entry.content_flags_disabled = row[90] ? row[90] : "";
|
||||
entry.underworld_teleport_index = atoi(row[91]);
|
||||
entry.lava_damage = atoi(row[92]);
|
||||
entry.min_lava_damage = atoi(row[93]);
|
||||
|
||||
return entry;
|
||||
}
|
||||
@@ -590,6 +598,8 @@ public:
|
||||
update_values.push_back(columns[89] + " = '" + EscapeString(zone_entry.content_flags) + "'");
|
||||
update_values.push_back(columns[90] + " = '" + EscapeString(zone_entry.content_flags_disabled) + "'");
|
||||
update_values.push_back(columns[91] + " = " + std::to_string(zone_entry.underworld_teleport_index));
|
||||
update_values.push_back(columns[92] + " = " + std::to_string(zone_entry.lava_damage));
|
||||
update_values.push_back(columns[93] + " = " + std::to_string(zone_entry.min_lava_damage));
|
||||
|
||||
auto results = db.QueryDatabase(
|
||||
fmt::format(
|
||||
@@ -703,6 +713,8 @@ public:
|
||||
insert_values.push_back("'" + EscapeString(zone_entry.content_flags) + "'");
|
||||
insert_values.push_back("'" + EscapeString(zone_entry.content_flags_disabled) + "'");
|
||||
insert_values.push_back(std::to_string(zone_entry.underworld_teleport_index));
|
||||
insert_values.push_back(std::to_string(zone_entry.lava_damage));
|
||||
insert_values.push_back(std::to_string(zone_entry.min_lava_damage));
|
||||
|
||||
auto results = db.QueryDatabase(
|
||||
fmt::format(
|
||||
@@ -824,6 +836,8 @@ public:
|
||||
insert_values.push_back("'" + EscapeString(zone_entry.content_flags) + "'");
|
||||
insert_values.push_back("'" + EscapeString(zone_entry.content_flags_disabled) + "'");
|
||||
insert_values.push_back(std::to_string(zone_entry.underworld_teleport_index));
|
||||
insert_values.push_back(std::to_string(zone_entry.lava_damage));
|
||||
insert_values.push_back(std::to_string(zone_entry.min_lava_damage));
|
||||
|
||||
insert_chunks.push_back("(" + implode(",", insert_values) + ")");
|
||||
}
|
||||
@@ -949,6 +963,8 @@ public:
|
||||
entry.content_flags = row[89] ? row[89] : "";
|
||||
entry.content_flags_disabled = row[90] ? row[90] : "";
|
||||
entry.underworld_teleport_index = atoi(row[91]);
|
||||
entry.lava_damage = atoi(row[92]);
|
||||
entry.min_lava_damage = atoi(row[93]);
|
||||
|
||||
all_entries.push_back(entry);
|
||||
}
|
||||
@@ -1065,6 +1081,8 @@ public:
|
||||
entry.content_flags = row[89] ? row[89] : "";
|
||||
entry.content_flags_disabled = row[90] ? row[90] : "";
|
||||
entry.underworld_teleport_index = atoi(row[91]);
|
||||
entry.lava_damage = atoi(row[92]);
|
||||
entry.min_lava_damage = atoi(row[93]);
|
||||
|
||||
all_entries.push_back(entry);
|
||||
}
|
||||
|
||||
+174
-599
@@ -227,90 +227,24 @@
|
||||
#define ServerOP_HotReloadQuests 0x4011
|
||||
#define ServerOP_UpdateSchedulerEvents 0x4012
|
||||
|
||||
#define ServerOP_CZCastSpellPlayer 0x4500
|
||||
#define ServerOP_CZCastSpellGroup 0x4501
|
||||
#define ServerOP_CZCastSpellRaid 0x4502
|
||||
#define ServerOP_CZCastSpellGuild 0x4503
|
||||
#define ServerOP_CZMarqueePlayer 0x4504
|
||||
#define ServerOP_CZMarqueeGroup 0x4505
|
||||
#define ServerOP_CZMarqueeRaid 0x4506
|
||||
#define ServerOP_CZMarqueeGuild 0x4507
|
||||
#define ServerOP_CZMessagePlayer 0x4508
|
||||
#define ServerOP_CZMessageGroup 0x4509
|
||||
#define ServerOP_CZMessageRaid 0x4510
|
||||
#define ServerOP_CZMessageGuild 0x4511
|
||||
#define ServerOP_CZMovePlayer 0x4512
|
||||
#define ServerOP_CZMoveGroup 0x4513
|
||||
#define ServerOP_CZMoveRaid 0x4514
|
||||
#define ServerOP_CZMoveGuild 0x4515
|
||||
#define ServerOP_CZMoveInstancePlayer 0x4516
|
||||
#define ServerOP_CZMoveInstanceGroup 0x4517
|
||||
#define ServerOP_CZMoveInstanceRaid 0x4518
|
||||
#define ServerOP_CZMoveInstanceGuild 0x4519
|
||||
#define ServerOP_CZRemoveSpellPlayer 0x4520
|
||||
#define ServerOP_CZRemoveSpellGroup 0x4521
|
||||
#define ServerOP_CZRemoveSpellRaid 0x4522
|
||||
#define ServerOP_CZRemoveSpellGuild 0x4523
|
||||
#define ServerOP_CZSetEntityVariableByClientName 0x4524
|
||||
#define ServerOP_CZSetEntityVariableByNPCTypeID 0x4525
|
||||
#define ServerOP_CZSetEntityVariableByGroupID 0x4526
|
||||
#define ServerOP_CZSetEntityVariableByRaidID 0x4527
|
||||
#define ServerOP_CZSetEntityVariableByGuildID 0x4528
|
||||
#define ServerOP_CZSignalClient 0x4529
|
||||
#define ServerOP_CZSignalClientByName 0x4530
|
||||
#define ServerOP_CZSignalNPC 0x4531
|
||||
#define ServerOP_CZSignalGroup 0x4532
|
||||
#define ServerOP_CZSignalRaid 0x4533
|
||||
#define ServerOP_CZSignalGuild 0x4534
|
||||
#define ServerOP_CZTaskActivityResetPlayer 0x4535
|
||||
#define ServerOP_CZTaskActivityResetGroup 0x4536
|
||||
#define ServerOP_CZTaskActivityResetRaid 0x4537
|
||||
#define ServerOP_CZTaskActivityResetGuild 0x4538
|
||||
#define ServerOP_CZTaskActivityUpdatePlayer 0x4539
|
||||
#define ServerOP_CZTaskActivityUpdateGroup 0x4540
|
||||
#define ServerOP_CZTaskActivityUpdateRaid 0x4541
|
||||
#define ServerOP_CZTaskActivityUpdateGuild 0x4542
|
||||
#define ServerOP_CZTaskAssignPlayer 0x4543
|
||||
#define ServerOP_CZTaskAssignGroup 0x4544
|
||||
#define ServerOP_CZTaskAssignRaid 0x4545
|
||||
#define ServerOP_CZTaskAssignGuild 0x4546
|
||||
#define ServerOP_CZTaskDisablePlayer 0x4547
|
||||
#define ServerOP_CZTaskDisableGroup 0x4548
|
||||
#define ServerOP_CZTaskDisableRaid 0x4549
|
||||
#define ServerOP_CZTaskDisableGuild 0x4550
|
||||
#define ServerOP_CZTaskEnablePlayer 0x4551
|
||||
#define ServerOP_CZTaskEnableGroup 0x4552
|
||||
#define ServerOP_CZTaskEnableRaid 0x4553
|
||||
#define ServerOP_CZTaskEnableGuild 0x4554
|
||||
#define ServerOP_CZTaskFailPlayer 0x4555
|
||||
#define ServerOP_CZTaskFailGroup 0x4556
|
||||
#define ServerOP_CZTaskFailRaid 0x4557
|
||||
#define ServerOP_CZTaskFailGuild 0x4558
|
||||
#define ServerOP_CZTaskRemovePlayer 0x4559
|
||||
#define ServerOP_CZTaskRemoveGroup 0x4560
|
||||
#define ServerOP_CZTaskRemoveRaid 0x4561
|
||||
#define ServerOP_CZTaskRemoveGuild 0x4562
|
||||
#define ServerOP_CZClientMessageString 0x4563
|
||||
#define ServerOP_CZLDoNUpdate 0x4564
|
||||
#define ServerOP_CZLDoNUpdate 0x4500
|
||||
#define ServerOP_CZMarquee 0x4501
|
||||
#define ServerOP_CZMessage 0x4502
|
||||
#define ServerOP_CZMove 0x4503
|
||||
#define ServerOP_CZSetEntityVariable 0x4504
|
||||
#define ServerOP_CZSignal 0x4505
|
||||
#define ServerOP_CZSpell 0x4506
|
||||
#define ServerOP_CZTaskUpdate 0x4507
|
||||
#define ServerOP_CZClientMessageString 0x4508
|
||||
|
||||
#define ServerOP_WWAssignTask 0x4750
|
||||
#define ServerOP_WWCastSpell 0x4751
|
||||
#define ServerOP_WWCompleteActivity 0x4752
|
||||
#define ServerOP_WWDisableTask 0x4753
|
||||
#define ServerOP_WWEnableTask 0x4754
|
||||
#define ServerOP_WWFailTask 0x4755
|
||||
#define ServerOP_WWMarquee 0x4756
|
||||
#define ServerOP_WWMessage 0x4757
|
||||
#define ServerOP_WWMove 0x4758
|
||||
#define ServerOP_WWMoveInstance 0x4759
|
||||
#define ServerOP_WWRemoveSpell 0x4760
|
||||
#define ServerOP_WWRemoveTask 0x4761
|
||||
#define ServerOP_WWResetActivity 0x4762
|
||||
#define ServerOP_WWSetEntityVariableClient 0x4763
|
||||
#define ServerOP_WWSetEntityVariableNPC 0x4764
|
||||
#define ServerOP_WWSignalClient 0x4765
|
||||
#define ServerOP_WWSignalNPC 0x4766
|
||||
#define ServerOP_WWUpdateActivity 0x4767
|
||||
#define ServerOP_WWLDoNUpdate 0x4750
|
||||
#define ServerOP_WWMarquee 0x4751
|
||||
#define ServerOP_WWMessage 0x4752
|
||||
#define ServerOP_WWMove 0x4753
|
||||
#define ServerOP_WWSetEntityVariable 0x4754
|
||||
#define ServerOP_WWSignal 0x4755
|
||||
#define ServerOP_WWSpell 0x4756
|
||||
#define ServerOP_WWTaskUpdate 0x4757
|
||||
|
||||
/**
|
||||
* QueryServer
|
||||
@@ -325,17 +259,75 @@
|
||||
#define ServerOP_QSPlayerDropItem 0x5007
|
||||
|
||||
enum {
|
||||
CZLDoNUpdateType_Character = 0,
|
||||
CZLDoNUpdateType_Group,
|
||||
CZLDoNUpdateType_Raid,
|
||||
CZLDoNUpdateType_Guild,
|
||||
CZLDoNUpdateType_Expedition
|
||||
CZUpdateType_Character,
|
||||
CZUpdateType_Group,
|
||||
CZUpdateType_Raid,
|
||||
CZUpdateType_Guild,
|
||||
CZUpdateType_Expedition,
|
||||
CZUpdateType_ClientName,
|
||||
CZUpdateType_NPC
|
||||
};
|
||||
|
||||
enum {
|
||||
CZLDoNUpdateSubtype_Win = 0,
|
||||
CZLDoNUpdateSubtype_Loss,
|
||||
CZLDoNUpdateSubtype_Points
|
||||
CZLDoNUpdateSubtype_Points,
|
||||
CZLDoNUpdateSubtype_Win
|
||||
};
|
||||
|
||||
enum {
|
||||
CZMoveUpdateSubtype_MoveZone,
|
||||
CZMoveUpdateSubtype_MoveZoneInstance
|
||||
};
|
||||
|
||||
enum {
|
||||
CZSpellUpdateSubtype_Cast,
|
||||
CZSpellUpdateSubtype_Remove
|
||||
};
|
||||
|
||||
enum {
|
||||
CZTaskUpdateSubtype_ActivityReset,
|
||||
CZTaskUpdateSubtype_ActivityUpdate,
|
||||
CZTaskUpdateSubtype_AssignTask,
|
||||
CZTaskUpdateSubtype_DisableTask,
|
||||
CZTaskUpdateSubtype_EnableTask,
|
||||
CZTaskUpdateSubtype_FailTask,
|
||||
CZTaskUpdateSubtype_RemoveTask
|
||||
};
|
||||
|
||||
enum {
|
||||
WWLDoNUpdateType_Loss,
|
||||
WWLDoNUpdateType_Points,
|
||||
WWLDoNUpdateType_Win
|
||||
};
|
||||
|
||||
enum {
|
||||
WWMoveUpdateType_MoveZone,
|
||||
WWMoveUpdateType_MoveZoneInstance
|
||||
};
|
||||
|
||||
enum {
|
||||
WWSetEntityVariableUpdateType_Character,
|
||||
WWSetEntityVariableUpdateType_NPC
|
||||
};
|
||||
|
||||
enum {
|
||||
WWSignalUpdateType_Character,
|
||||
WWSignalUpdateType_NPC
|
||||
};
|
||||
|
||||
enum {
|
||||
WWSpellUpdateType_Cast,
|
||||
WWSpellUpdateType_Remove
|
||||
};
|
||||
|
||||
enum {
|
||||
WWTaskUpdateType_ActivityReset,
|
||||
WWTaskUpdateType_ActivityUpdate,
|
||||
WWTaskUpdateType_AssignTask,
|
||||
WWTaskUpdateType_DisableTask,
|
||||
WWTaskUpdateType_EnableTask,
|
||||
WWTaskUpdateType_FailTask,
|
||||
WWTaskUpdateType_RemoveTask
|
||||
};
|
||||
|
||||
/* Query Serv Generic Packet Flag/Type Enumeration */
|
||||
@@ -1440,489 +1432,94 @@ struct QSGeneralQuery_Struct {
|
||||
char QueryString[0];
|
||||
};
|
||||
|
||||
struct CZCastSpellPlayer_Struct {
|
||||
int character_id;
|
||||
uint32 spell_id;
|
||||
};
|
||||
|
||||
struct CZCastSpellGroup_Struct {
|
||||
int group_id;
|
||||
uint32 spell_id;
|
||||
};
|
||||
|
||||
struct CZCastSpellRaid_Struct {
|
||||
int raid_id;
|
||||
uint32 spell_id;
|
||||
};
|
||||
|
||||
struct CZCastSpellGuild_Struct {
|
||||
int guild_id;
|
||||
uint32 spell_id;
|
||||
};
|
||||
|
||||
struct CZClientSignal_Struct {
|
||||
int character_id;
|
||||
uint32 signal;
|
||||
};
|
||||
|
||||
struct CZGroupSignal_Struct {
|
||||
int group_id;
|
||||
uint32 signal;
|
||||
};
|
||||
|
||||
struct CZRaidSignal_Struct {
|
||||
int raid_id;
|
||||
uint32 signal;
|
||||
};
|
||||
|
||||
struct CZGuildSignal_Struct {
|
||||
int guild_id;
|
||||
uint32 signal;
|
||||
};
|
||||
|
||||
struct CZNPCSignal_Struct {
|
||||
uint32 npctype_id;
|
||||
uint32 signal;
|
||||
};
|
||||
|
||||
struct CZClientMessageString_Struct {
|
||||
uint32 string_id;
|
||||
uint16 chat_type;
|
||||
char character_name[64];
|
||||
char client_name[64];
|
||||
uint32 args_size;
|
||||
char args[1]; // null delimited
|
||||
};
|
||||
|
||||
struct CZClientSignalByName_Struct {
|
||||
char character_name[64];
|
||||
uint32 signal;
|
||||
};
|
||||
|
||||
struct CZCompleteActivityPlayer_Struct {
|
||||
int character_id;
|
||||
uint32 task_id;
|
||||
int activity_id;
|
||||
};
|
||||
|
||||
struct CZCompleteActivityGroup_Struct {
|
||||
int group_id;
|
||||
uint32 task_id;
|
||||
int activity_id;
|
||||
};
|
||||
|
||||
struct CZCompleteActivityRaid_Struct {
|
||||
int raid_id;
|
||||
uint32 task_id;
|
||||
int activity_id;
|
||||
};
|
||||
|
||||
struct CZCompleteActivityGuild_Struct {
|
||||
int guild_id;
|
||||
uint32 task_id;
|
||||
int activity_id;
|
||||
};
|
||||
|
||||
struct CZMovePlayer_Struct {
|
||||
int character_id;
|
||||
char zone_short_name[32];
|
||||
};
|
||||
|
||||
struct CZMarqueePlayer_Struct {
|
||||
int character_id;
|
||||
uint32 type;
|
||||
uint32 priority;
|
||||
uint32 fade_in;
|
||||
uint32 fade_out;
|
||||
uint32 duration;
|
||||
char message[512];
|
||||
};
|
||||
|
||||
struct CZMarqueeGroup_Struct {
|
||||
int group_id;
|
||||
uint32 type;
|
||||
uint32 priority;
|
||||
uint32 fade_in;
|
||||
uint32 fade_out;
|
||||
uint32 duration;
|
||||
char message[512];
|
||||
};
|
||||
|
||||
struct CZMarqueeRaid_Struct {
|
||||
int raid_id;
|
||||
uint32 type;
|
||||
uint32 priority;
|
||||
uint32 fade_in;
|
||||
uint32 fade_out;
|
||||
uint32 duration;
|
||||
char message[512];
|
||||
};
|
||||
|
||||
struct CZMarqueeGuild_Struct {
|
||||
int guild_id;
|
||||
uint32 type;
|
||||
uint32 priority;
|
||||
uint32 fade_in;
|
||||
uint32 fade_out;
|
||||
uint32 duration;
|
||||
char message[512];
|
||||
};
|
||||
|
||||
struct CZMessagePlayer_Struct {
|
||||
uint32 type;
|
||||
char character_name[64];
|
||||
char message[512];
|
||||
};
|
||||
|
||||
struct CZMessageGroup_Struct {
|
||||
uint32 type;
|
||||
int group_id;
|
||||
char message[512];
|
||||
};
|
||||
|
||||
struct CZMessageRaid_Struct {
|
||||
uint32 type;
|
||||
int raid_id;
|
||||
char message[512];
|
||||
};
|
||||
|
||||
struct CZMessageGuild_Struct {
|
||||
uint32 type;
|
||||
int guild_id;
|
||||
char message[512];
|
||||
};
|
||||
|
||||
struct CZMoveGroup_Struct {
|
||||
int group_id;
|
||||
char zone_short_name[32];
|
||||
};
|
||||
|
||||
struct CZMoveRaid_Struct {
|
||||
int raid_id;
|
||||
char zone_short_name[32];
|
||||
};
|
||||
|
||||
struct CZMoveGuild_Struct {
|
||||
int guild_id;
|
||||
char zone_short_name[32];
|
||||
};
|
||||
|
||||
struct CZMoveInstancePlayer_Struct {
|
||||
int character_id;
|
||||
uint16 instance_id;
|
||||
};
|
||||
|
||||
struct CZMoveInstanceGroup_Struct {
|
||||
int group_id;
|
||||
uint16 instance_id;
|
||||
};
|
||||
|
||||
struct CZMoveInstanceRaid_Struct {
|
||||
int raid_id;
|
||||
uint16 instance_id;
|
||||
};
|
||||
|
||||
struct CZMoveInstanceGuild_Struct {
|
||||
int guild_id;
|
||||
uint16 instance_id;
|
||||
};
|
||||
|
||||
struct CZRemoveSpellPlayer_Struct {
|
||||
int character_id;
|
||||
uint32 spell_id;
|
||||
};
|
||||
|
||||
struct CZRemoveSpellGroup_Struct {
|
||||
int group_id;
|
||||
uint32 spell_id;
|
||||
};
|
||||
|
||||
struct CZRemoveSpellRaid_Struct {
|
||||
int raid_id;
|
||||
uint32 spell_id;
|
||||
};
|
||||
|
||||
struct CZRemoveSpellGuild_Struct {
|
||||
int guild_id;
|
||||
uint32 spell_id;
|
||||
};
|
||||
|
||||
struct CZRemoveTaskPlayer_Struct {
|
||||
int character_id;
|
||||
uint32 task_id;
|
||||
};
|
||||
|
||||
struct CZRemoveTaskGroup_Struct {
|
||||
int group_id;
|
||||
uint32 task_id;
|
||||
};
|
||||
|
||||
struct CZRemoveTaskRaid_Struct {
|
||||
int raid_id;
|
||||
uint32 task_id;
|
||||
};
|
||||
|
||||
struct CZRemoveTaskGuild_Struct {
|
||||
int guild_id;
|
||||
uint32 task_id;
|
||||
};
|
||||
|
||||
struct CZResetActivityPlayer_Struct {
|
||||
int character_id;
|
||||
uint32 task_id;
|
||||
int activity_id;
|
||||
};
|
||||
|
||||
struct CZResetActivityGroup_Struct {
|
||||
int group_id;
|
||||
uint32 task_id;
|
||||
int activity_id;
|
||||
};
|
||||
|
||||
struct CZResetActivityRaid_Struct {
|
||||
int raid_id;
|
||||
uint32 task_id;
|
||||
int activity_id;
|
||||
};
|
||||
|
||||
struct CZResetActivityGuild_Struct {
|
||||
int guild_id;
|
||||
uint32 task_id;
|
||||
int activity_id;
|
||||
};
|
||||
|
||||
struct CZSetEntVarByNPCTypeID_Struct {
|
||||
uint32 npctype_id;
|
||||
char variable_name[256];
|
||||
char variable_value[256];
|
||||
};
|
||||
|
||||
struct CZSetEntVarByClientName_Struct {
|
||||
char character_name[64];
|
||||
char variable_name[256];
|
||||
char variable_value[256];
|
||||
};
|
||||
|
||||
struct CZSetEntVarByGroupID_Struct {
|
||||
int group_id;
|
||||
char variable_name[256];
|
||||
char variable_value[256];
|
||||
};
|
||||
|
||||
struct CZSetEntVarByRaidID_Struct {
|
||||
int raid_id;
|
||||
char variable_name[256];
|
||||
char variable_value[256];
|
||||
};
|
||||
|
||||
struct CZSetEntVarByGuildID_Struct {
|
||||
int guild_id;
|
||||
char variable_name[256];
|
||||
char variable_value[256];
|
||||
};
|
||||
|
||||
struct CZTaskActivityResetPlayer_Struct {
|
||||
int character_id;
|
||||
uint32 task_id;
|
||||
int activity_id;
|
||||
};
|
||||
|
||||
struct CZTaskActivityResetGroup_Struct {
|
||||
int group_id;
|
||||
uint32 task_id;
|
||||
int activity_id;
|
||||
};
|
||||
|
||||
struct CZTaskActivityResetRaid_Struct {
|
||||
int raid_id;
|
||||
uint32 task_id;
|
||||
int activity_id;
|
||||
};
|
||||
|
||||
struct CZTaskActivityResetGuild_Struct {
|
||||
int guild_id;
|
||||
uint32 task_id;
|
||||
int activity_id;
|
||||
};
|
||||
|
||||
struct CZTaskActivityUpdatePlayer_Struct {
|
||||
int character_id;
|
||||
uint32 task_id;
|
||||
int activity_id;
|
||||
int activity_count;
|
||||
};
|
||||
|
||||
struct CZTaskActivityUpdateGroup_Struct {
|
||||
int group_id;
|
||||
uint32 task_id;
|
||||
int activity_id;
|
||||
int activity_count;
|
||||
};
|
||||
|
||||
struct CZTaskActivityUpdateRaid_Struct {
|
||||
int raid_id;
|
||||
uint32 task_id;
|
||||
int activity_id;
|
||||
int activity_count;
|
||||
};
|
||||
|
||||
struct CZTaskActivityUpdateGuild_Struct {
|
||||
int guild_id;
|
||||
uint32 task_id;
|
||||
int activity_id;
|
||||
int activity_count;
|
||||
};
|
||||
|
||||
struct CZTaskAssignPlayer_Struct {
|
||||
uint16 npc_entity_id;
|
||||
int character_id;
|
||||
uint32 task_id;
|
||||
bool enforce_level_requirement;
|
||||
};
|
||||
|
||||
struct CZTaskAssignGroup_Struct {
|
||||
uint16 npc_entity_id;
|
||||
int group_id;
|
||||
uint32 task_id;
|
||||
bool enforce_level_requirement;
|
||||
};
|
||||
|
||||
struct CZTaskAssignRaid_Struct {
|
||||
uint16 npc_entity_id;
|
||||
int raid_id;
|
||||
uint32 task_id;
|
||||
bool enforce_level_requirement;
|
||||
};
|
||||
|
||||
struct CZTaskAssignGuild_Struct {
|
||||
uint16 npc_entity_id;
|
||||
int guild_id;
|
||||
uint32 task_id;
|
||||
bool enforce_level_requirement;
|
||||
};
|
||||
|
||||
struct CZTaskDisablePlayer_Struct {
|
||||
int character_id;
|
||||
uint32 task_id;
|
||||
};
|
||||
|
||||
struct CZTaskDisableGroup_Struct {
|
||||
int group_id;
|
||||
uint32 task_id;
|
||||
};
|
||||
|
||||
struct CZTaskDisableRaid_Struct {
|
||||
int raid_id;
|
||||
uint32 task_id;
|
||||
};
|
||||
|
||||
struct CZTaskDisableGuild_Struct {
|
||||
int guild_id;
|
||||
uint32 task_id;
|
||||
};
|
||||
|
||||
struct CZTaskEnablePlayer_Struct {
|
||||
int character_id;
|
||||
uint32 task_id;
|
||||
};
|
||||
|
||||
struct CZTaskEnableGroup_Struct {
|
||||
int group_id;
|
||||
uint32 task_id;
|
||||
};
|
||||
|
||||
struct CZTaskEnableRaid_Struct {
|
||||
int raid_id;
|
||||
uint32 task_id;
|
||||
};
|
||||
|
||||
struct CZTaskEnableGuild_Struct {
|
||||
int guild_id;
|
||||
uint32 task_id;
|
||||
};
|
||||
|
||||
struct CZTaskFailPlayer_Struct {
|
||||
int character_id;
|
||||
uint32 task_id;
|
||||
};
|
||||
|
||||
struct CZTaskFailGroup_Struct {
|
||||
int group_id;
|
||||
uint32 task_id;
|
||||
};
|
||||
|
||||
struct CZTaskFailRaid_Struct {
|
||||
int raid_id;
|
||||
uint32 task_id;
|
||||
};
|
||||
|
||||
struct CZTaskFailGuild_Struct {
|
||||
int guild_id;
|
||||
uint32 task_id;
|
||||
};
|
||||
|
||||
struct CZTaskRemovePlayer_Struct {
|
||||
uint16 npc_entity_id;
|
||||
int character_id;
|
||||
uint32 task_id;
|
||||
};
|
||||
|
||||
struct CZTaskRemoveGroup_Struct {
|
||||
uint16 npc_entity_id;
|
||||
int group_id;
|
||||
uint32 task_id;
|
||||
};
|
||||
|
||||
struct CZTaskRemoveRaid_Struct {
|
||||
uint16 npc_entity_id;
|
||||
int raid_id;
|
||||
uint32 task_id;
|
||||
};
|
||||
|
||||
struct CZTaskRemoveGuild_Struct {
|
||||
uint16 npc_entity_id;
|
||||
int guild_id;
|
||||
uint32 task_id;
|
||||
};
|
||||
|
||||
struct CZLDoNUpdate_Struct {
|
||||
uint8 update_type; // 0 - Character, 1 - Group, 2 - Raid, 3 - Guild, 4 - Expedition
|
||||
uint8 update_subtype; // 0 - Win, 1 - Loss, 2 - Points
|
||||
int update_identifier; // Character ID, Group ID, Raid ID, Guild ID, or Expedition ID based on update type
|
||||
uint8 update_type; // 0 - Character, 1 - Group, 2 - Raid, 3 - Guild, 4 - Expedition, 5 - Character Name
|
||||
uint8 update_subtype; // 0 - Loss, 1 - Points, 2 - Win
|
||||
int update_identifier; // Character ID, Group ID, Raid ID, Guild ID, or Expedition ID based on update type, 0 for Character Name
|
||||
uint32 theme_id;
|
||||
int points; // Always 1, except for when Points are used
|
||||
int points; // Only used in Points Subtype, else 1
|
||||
char client_name[64]; // Only used by Character Name Type, else empty
|
||||
};
|
||||
|
||||
struct WWAssignTask_Struct {
|
||||
uint16 npc_entity_id;
|
||||
uint32 task_id;
|
||||
bool enforce_level_requirement;
|
||||
uint8 min_status;
|
||||
uint8 max_status;
|
||||
struct CZMarquee_Struct {
|
||||
uint8 update_type; // 0 - Character, 1 - Group, 2 - Raid, 3 - Guild, 4 - Expedition, 5 - Character Name
|
||||
int update_identifier; // Character ID, Group ID, Raid ID, Guild ID, or Expedition ID based on update type, 0 for Character Name
|
||||
uint32 type;
|
||||
uint32 priority;
|
||||
uint32 fade_in;
|
||||
uint32 fade_out;
|
||||
uint32 duration;
|
||||
char message[512];
|
||||
char client_name[64]; // Only used by Character Name Type, else empty
|
||||
};
|
||||
|
||||
struct WWCastSpell_Struct {
|
||||
struct CZMessage_Struct {
|
||||
uint8 update_type; // 0 - Character, 1 - Group, 2 - Raid, 3 - Guild, 4 - Expedition, 5 - Character Name
|
||||
int update_identifier; // Group ID, Raid ID, Guild ID, or Expedition ID based on update type, 0 for Character Name
|
||||
uint32 type;
|
||||
char message[512];
|
||||
char client_name[64]; // Only used by Character Name Type, else empty
|
||||
};
|
||||
|
||||
struct CZMove_Struct {
|
||||
uint8 update_type; // 0 - Character, 1 - Group, 2 - Raid, 3 - Guild, 4 - Expedition, 5 - Character Name
|
||||
uint8 update_subtype; // 0 - Move Zone, 1 - Move Zone Instance
|
||||
int update_identifier; // Character ID, Group ID, Raid ID, Guild ID, or Expedition ID based on update type, 0 for Character Name
|
||||
uint16 instance_id; // Only used by Move Zone Instance, else 0
|
||||
char zone_short_name[32]; // Only by with Move Zone, else empty
|
||||
char client_name[64]; // Only used by Character Name Type, else empty
|
||||
};
|
||||
|
||||
struct CZSetEntityVariable_Struct {
|
||||
uint8 update_type; // 0 - Character, 1 - Group, 2 - Raid, 3 - Guild, 4 - Expedition, 5 - Character Name, 6 - NPC
|
||||
int update_identifier; // Group ID, Raid ID, Guild ID, Expedition ID, or NPC ID based on update type, 0 for Character Name
|
||||
char variable_name[256];
|
||||
char variable_value[256];
|
||||
char client_name[64]; // Only used by Character Type, else empty
|
||||
};
|
||||
|
||||
struct CZSignal_Struct {
|
||||
uint8 update_type; // 0 - Character, 1 - Group, 2 - Raid, 3 - Guild, 4 - Expedition, 5 - Character Name, 6 - NPC
|
||||
int update_identifier; // Character ID, Group ID, Raid ID, Guild ID, Expedition ID, or NPC ID based on update type, 0 for Character Name
|
||||
uint32 signal;
|
||||
char client_name[64]; // Only used by Character Name Type, else empty
|
||||
};
|
||||
|
||||
struct CZSpell_Struct {
|
||||
uint8 update_type; // 0 - Character, 1 - Group, 2 - Raid, 3 - Guild, 4 - Expedition, 5 - Character Name
|
||||
uint8 update_subtype; // 0 - Cast Spell, 1 - Remove Spell
|
||||
int update_identifier; // Character ID, Group ID, Raid ID, Guild ID, or Expedition ID based on update type, 0 for Character Name
|
||||
uint32 spell_id;
|
||||
char client_name[64]; // Only used by Character Name Type, else empty
|
||||
};
|
||||
|
||||
struct CZTaskUpdate_Struct {
|
||||
uint8 update_type; // 0 - Character, 1 - Group, 2 - Raid, 3 - Guild, 4 - Expedition, 5 - Character Name
|
||||
uint8 update_subtype; // 0 - Activity Reset, 1 - Activity Update, 2 - Assign Task, 3 - Disable Task, 4 - Enable Task, 5 - Fail Task, 6 - Remove Task
|
||||
int update_identifier; // Character ID, Group ID, Raid ID, Guild ID, or Expedition ID based on update type, 0 for Character Name
|
||||
uint32 task_identifier;
|
||||
int task_subidentifier; // Activity ID for Activity Reset and Activity Update, NPC Entity ID for Assign Task, else -1
|
||||
int update_count; // Only used by Activity Update, else 1
|
||||
bool enforce_level_requirement; // Only used by Assign Task
|
||||
char client_name[64]; // Only used by Character Name Type, else empty
|
||||
};
|
||||
|
||||
struct WWLDoNUpdate_Struct {
|
||||
uint8 update_type; // 0 - Loss, 1 - Points, 2 - Win
|
||||
uint32 theme_id;
|
||||
int points; // Only used in Points Subtype, else 1
|
||||
uint8 min_status;
|
||||
uint8 max_status;
|
||||
};
|
||||
|
||||
struct WWDisableTask_Struct {
|
||||
uint32 task_id;
|
||||
uint8 min_status;
|
||||
uint8 max_status;
|
||||
};
|
||||
|
||||
struct WWEnableTask_Struct {
|
||||
uint32 task_id;
|
||||
uint8 min_status;
|
||||
uint8 max_status;
|
||||
};
|
||||
|
||||
struct WWFailTask_Struct {
|
||||
uint32 task_id;
|
||||
uint8 min_status;
|
||||
uint8 max_status;
|
||||
};
|
||||
struct WWMarquee_Struct {
|
||||
uint32 type;
|
||||
uint32 priority;
|
||||
@@ -1942,63 +1539,41 @@ struct WWMessage_Struct {
|
||||
};
|
||||
|
||||
struct WWMove_Struct {
|
||||
char zone_short_name[32];
|
||||
uint8 update_type; // 0 - Move Zone, 1 - Move Zone Instance
|
||||
char zone_short_name[32]; // Used with Move Zone
|
||||
uint16 instance_id; // Used with Move Zone Instance
|
||||
uint8 min_status;
|
||||
uint8 max_status;
|
||||
};
|
||||
|
||||
struct WWMoveInstance_Struct {
|
||||
uint16 instance_id;
|
||||
struct WWSetEntityVariable_Struct {
|
||||
uint8 update_type; // 0 - Character, 1 - NPC
|
||||
char variable_name[256];
|
||||
char variable_value[256];
|
||||
uint8 min_status;
|
||||
uint8 max_status;
|
||||
};
|
||||
|
||||
struct WWRemoveSpell_Struct {
|
||||
struct WWSignal_Struct {
|
||||
uint8 update_type; // 0 - Character, 1 - NPC
|
||||
uint32 signal;
|
||||
uint8 min_status;
|
||||
uint8 max_status;
|
||||
};
|
||||
|
||||
struct WWSpell_Struct {
|
||||
uint8 update_type; // 0 - Cast Spell, 1 - Remove Spell
|
||||
uint32 spell_id;
|
||||
uint8 min_status;
|
||||
uint8 max_status;
|
||||
};
|
||||
|
||||
struct WWRemoveTask_Struct {
|
||||
uint32 task_id;
|
||||
uint8 min_status;
|
||||
uint8 max_status;
|
||||
|
||||
};
|
||||
|
||||
struct WWResetActivity_Struct {
|
||||
uint32 task_id;
|
||||
int activity_id;
|
||||
uint8 min_status;
|
||||
uint8 max_status;
|
||||
};
|
||||
|
||||
struct WWSetEntVarClient_Struct {
|
||||
char variable_name[256];
|
||||
char variable_value[256];
|
||||
uint8 min_status;
|
||||
uint8 max_status;
|
||||
};
|
||||
|
||||
struct WWSetEntVarNPC_Struct {
|
||||
char variable_name[256];
|
||||
char variable_value[256];
|
||||
};
|
||||
|
||||
struct WWSignalClient_Struct {
|
||||
uint32 signal;
|
||||
uint8 min_status;
|
||||
uint8 max_status;
|
||||
};
|
||||
|
||||
struct WWSignalNPC_Struct {
|
||||
uint32 signal;
|
||||
};
|
||||
|
||||
struct WWUpdateActivity_Struct {
|
||||
uint32 task_id;
|
||||
int activity_id;
|
||||
int activity_count;
|
||||
struct WWTaskUpdate_Struct {
|
||||
uint8 update_type; // 0 - Activity Reset, 1 - Activity Update, 2 - Assign Task, 3 - Disable Task, 4 - Enable Task, 5 - Fail Task, 6 - Remove Task
|
||||
uint32 task_identifier;
|
||||
int task_subidentifier; // Activity ID for Activity Reset and Activity Update, NPC Entity ID for Assign Task, else -1
|
||||
int update_count; // Update Count for Activity Update, else 1
|
||||
bool enforce_level_requirement; // Only used by Assign Task, else false
|
||||
uint8 min_status;
|
||||
uint8 max_status;
|
||||
};
|
||||
|
||||
+1
-1
@@ -2287,4 +2287,4 @@ void SharedDatabase::LoadCharacterInspectMessage(uint32 character_id, InspectMes
|
||||
void SharedDatabase::SaveCharacterInspectMessage(uint32 character_id, const InspectMessage_Struct* message) {
|
||||
std::string query = StringFormat("REPLACE INTO `character_inspect_messages` (id, inspect_message) VALUES (%u, '%s')", character_id, EscapeString(message->text).c_str());
|
||||
auto results = QueryDatabase(query);
|
||||
}
|
||||
}
|
||||
+23
-23
@@ -1390,7 +1390,7 @@ int GetSpellStatValue(uint32 spell_id, const char* stat_identifier, uint8 slot)
|
||||
if (slot < 4) {
|
||||
if (id == "components") { return spells[spell_id].components[slot]; }
|
||||
else if (id == "component_counts") { return spells[spell_id].component_counts[slot]; }
|
||||
else if (id == "NoexpendReagent") { return spells[spell_id].NoexpendReagent[slot]; }
|
||||
else if (id == "noexpendreagent") { return spells[spell_id].NoexpendReagent[slot]; }
|
||||
}
|
||||
|
||||
if (id == "range") { return static_cast<int32>(spells[spell_id].range); }
|
||||
@@ -1402,26 +1402,26 @@ int GetSpellStatValue(uint32 spell_id, const char* stat_identifier, uint8 slot)
|
||||
else if (id == "recast_time") { return spells[spell_id].recast_time; }
|
||||
else if (id == "buffdurationformula") { return spells[spell_id].buffdurationformula; }
|
||||
else if (id == "buffduration") { return spells[spell_id].buffduration; }
|
||||
else if (id == "AEDuration") { return spells[spell_id].AEDuration; }
|
||||
else if (id == "aeduration") { return spells[spell_id].AEDuration; }
|
||||
else if (id == "mana") { return spells[spell_id].mana; }
|
||||
//else if (id == "LightType") {stat = spells[spell_id].LightType; } - Not implemented
|
||||
else if (id == "goodEffect") { return spells[spell_id].goodEffect; }
|
||||
else if (id == "Activated") { return spells[spell_id].Activated; }
|
||||
else if (id == "goodeffect") { return spells[spell_id].goodEffect; }
|
||||
else if (id == "activated") { return spells[spell_id].Activated; }
|
||||
else if (id == "resisttype") { return spells[spell_id].resisttype; }
|
||||
else if (id == "targettype") { return spells[spell_id].targettype; }
|
||||
else if (id == "basediff") { return spells[spell_id].basediff; }
|
||||
else if (id == "skill") { return spells[spell_id].skill; }
|
||||
else if (id == "zonetype") { return spells[spell_id].zonetype; }
|
||||
else if (id == "EnvironmentType") { return spells[spell_id].EnvironmentType; }
|
||||
else if (id == "TimeOfDay") { return spells[spell_id].TimeOfDay; }
|
||||
else if (id == "CastingAnim") { return spells[spell_id].CastingAnim; }
|
||||
else if (id == "SpellAffectIndex") { return spells[spell_id].SpellAffectIndex; }
|
||||
else if (id == "environmenttype") { return spells[spell_id].EnvironmentType; }
|
||||
else if (id == "timeofday") { return spells[spell_id].TimeOfDay; }
|
||||
else if (id == "castinganim") { return spells[spell_id].CastingAnim; }
|
||||
else if (id == "spellaffectindex") { return spells[spell_id].SpellAffectIndex; }
|
||||
else if (id == "disallow_sit") { return spells[spell_id].disallow_sit; }
|
||||
//else if (id == "spellanim") {stat = spells[spell_id].spellanim; } - Not implemented
|
||||
else if (id == "uninterruptable") { return spells[spell_id].uninterruptable; }
|
||||
else if (id == "ResistDiff") { return spells[spell_id].ResistDiff; }
|
||||
else if (id == "resistdiff") { return spells[spell_id].ResistDiff; }
|
||||
else if (id == "dot_stacking_exempt") { return spells[spell_id].dot_stacking_exempt; }
|
||||
else if (id == "RecourseLink") { return spells[spell_id].RecourseLink; }
|
||||
else if (id == "recourselink") { return spells[spell_id].RecourseLink; }
|
||||
else if (id == "no_partial_resist") { return spells[spell_id].no_partial_resist; }
|
||||
else if (id == "short_buff_box") { return spells[spell_id].short_buff_box; }
|
||||
else if (id == "descnum") { return spells[spell_id].descnum; }
|
||||
@@ -1429,11 +1429,11 @@ int GetSpellStatValue(uint32 spell_id, const char* stat_identifier, uint8 slot)
|
||||
else if (id == "npc_no_los") { return spells[spell_id].npc_no_los; }
|
||||
else if (id == "reflectable") { return spells[spell_id].reflectable; }
|
||||
else if (id == "bonushate") { return spells[spell_id].bonushate; }
|
||||
else if (id == "EndurCost") { return spells[spell_id].EndurCost; }
|
||||
else if (id == "EndurTimerIndex") { return spells[spell_id].EndurTimerIndex; }
|
||||
else if (id == "IsDisciplineBuff") { return spells[spell_id].IsDisciplineBuff; }
|
||||
else if (id == "HateAdded") { return spells[spell_id].HateAdded; }
|
||||
else if (id == "EndurUpkeep") { return spells[spell_id].EndurUpkeep; }
|
||||
else if (id == "endurcost") { return spells[spell_id].EndurCost; }
|
||||
else if (id == "endurtimerindex") { return spells[spell_id].EndurTimerIndex; }
|
||||
else if (id == "isdisciplinebuff") { return spells[spell_id].IsDisciplineBuff; }
|
||||
else if (id == "hateadded") { return spells[spell_id].HateAdded; }
|
||||
else if (id == "endurupkeep") { return spells[spell_id].EndurUpkeep; }
|
||||
else if (id == "numhitstype") { return spells[spell_id].numhitstype; }
|
||||
else if (id == "numhits") { return spells[spell_id].numhits; }
|
||||
else if (id == "pvpresistbase") { return spells[spell_id].pvpresistbase; }
|
||||
@@ -1442,11 +1442,11 @@ int GetSpellStatValue(uint32 spell_id, const char* stat_identifier, uint8 slot)
|
||||
else if (id == "spell_category") { return spells[spell_id].spell_category; }
|
||||
else if (id == "can_mgb") { return spells[spell_id].can_mgb; }
|
||||
else if (id == "dispel_flag") { return spells[spell_id].dispel_flag; }
|
||||
else if (id == "MinResist") { return spells[spell_id].MinResist; }
|
||||
else if (id == "MaxResist") { return spells[spell_id].MaxResist; }
|
||||
else if (id == "minresist") { return spells[spell_id].MinResist; }
|
||||
else if (id == "maxresist") { return spells[spell_id].MaxResist; }
|
||||
else if (id == "viral_targets") { return spells[spell_id].viral_targets; }
|
||||
else if (id == "viral_timer") { return spells[spell_id].viral_timer; }
|
||||
else if (id == "NimbusEffect") { return spells[spell_id].NimbusEffect; }
|
||||
else if (id == "nimbuseffect") { return spells[spell_id].NimbusEffect; }
|
||||
else if (id == "directional_start") { return static_cast<int32>(spells[spell_id].directional_start); }
|
||||
else if (id == "directional_end") { return static_cast<int32>(spells[spell_id].directional_end); }
|
||||
else if (id == "not_focusable") { return spells[spell_id].not_focusable; }
|
||||
@@ -1455,10 +1455,10 @@ int GetSpellStatValue(uint32 spell_id, const char* stat_identifier, uint8 slot)
|
||||
else if (id == "spellgroup") { return spells[spell_id].spellgroup; }
|
||||
else if (id == "rank") { return spells[spell_id].rank; }
|
||||
else if (id == "no_resist") { return spells[spell_id].no_resist; }
|
||||
else if (id == "CastRestriction") { return spells[spell_id].CastRestriction; }
|
||||
else if (id == "AllowRest") { return spells[spell_id].AllowRest; }
|
||||
else if (id == "InCombat") { return spells[spell_id].InCombat; }
|
||||
else if (id == "OutofCombat") { return spells[spell_id].OutofCombat; }
|
||||
else if (id == "castrestriction") { return spells[spell_id].CastRestriction; }
|
||||
else if (id == "allowrest") { return spells[spell_id].AllowRest; }
|
||||
else if (id == "incombat") { return spells[spell_id].InCombat; }
|
||||
else if (id == "outofcombat") { return spells[spell_id].OutofCombat; }
|
||||
else if (id == "aemaxtargets") { return spells[spell_id].aemaxtargets; }
|
||||
else if (id == "no_heal_damage_item_mod") { return spells[spell_id].no_heal_damage_item_mod; }
|
||||
else if (id == "persistdeath") { return spells[spell_id].persistdeath; }
|
||||
@@ -1466,7 +1466,7 @@ int GetSpellStatValue(uint32 spell_id, const char* stat_identifier, uint8 slot)
|
||||
else if (id == "min_dist_mod") { return static_cast<int32>(spells[spell_id].min_dist_mod); }
|
||||
else if (id == "max_dist") { return static_cast<int32>(spells[spell_id].max_dist); }
|
||||
else if (id == "min_range") { return static_cast<int32>(spells[spell_id].min_range); }
|
||||
else if (id == "DamageShieldType") { return spells[spell_id].DamageShieldType; }
|
||||
else if (id == "damageshieldtype") { return spells[spell_id].DamageShieldType; }
|
||||
|
||||
return 0;
|
||||
}
|
||||
+7
-5
@@ -153,8 +153,10 @@
|
||||
#define SPELL_ACTING_SPIRIT_I 1921
|
||||
#define SPELL_ACTING_SPIRIT_II 1922
|
||||
#define SPELL_RESURRECTION_SICKNESS 756
|
||||
#define SPELL_RESURRECTION_SICKNESS4 757
|
||||
#define SPELL_RESURRECTION_SICKNESS2 5249
|
||||
#define SPELL_REVIVAL_SICKNESS 13087
|
||||
#define SPELL_RESURRECTION_SICKNESS3 37624
|
||||
#define SPELL_PACT_OF_HATE_RECOURSE 40375
|
||||
#define SPELL_INCENDIARY_OOZE_BUFF 32513
|
||||
|
||||
@@ -746,7 +748,7 @@ typedef enum {
|
||||
//#define SE_TransferItem 60 // not used
|
||||
#define SE_Identify 61 // implemented
|
||||
//#define SE_ItemID 62 // not used
|
||||
#define SE_WipeHateList 63 // implemented
|
||||
#define SE_WipeHateList 63 // implemented, @Memblur, chance to wipe hate list of target, base: pct chance, limit: none, max: ? (not implemented), Note: caster level and CHA add to pct chance
|
||||
#define SE_SpinTarget 64 // implemented - TO DO: Not sure stun portion is working correctly
|
||||
#define SE_InfraVision 65 // implemented
|
||||
#define SE_UltraVision 66 // implemented
|
||||
@@ -925,7 +927,7 @@ typedef enum {
|
||||
#define SE_FeignedCastOnChance 239 // implemented - ability gives you an increasing chance for your feigned deaths to not be revealed by spells cast upon you.
|
||||
//#define SE_StringUnbreakable 240 // not used [Likely related to above - you become immune to feign breaking on a resisted spell and have a good chance of feigning through a spell that successfully lands upon you.]
|
||||
#define SE_ImprovedReclaimEnergy 241 // implemented - increase the amount of mana returned to you when reclaiming your pet.
|
||||
#define SE_IncreaseChanceMemwipe 242 // implemented - increases the chance to wipe hate with memory blurr
|
||||
#define SE_IncreaseChanceMemwipe 242 // implemented - @Memblur, increases the chance to wipe hate with memory blurr, base: chance pct, limit: none, max: none, Note: Mods final blur chance after other bonuses added.
|
||||
#define SE_CharmBreakChance 243 // implemented - Total Domination
|
||||
#define SE_RootBreakChance 244 // implemented[AA] reduce the chance that your root will break.
|
||||
#define SE_TrapCircumvention 245 // *not implemented[AA] - decreases the chance that you will set off a trap when opening a chest
|
||||
@@ -974,7 +976,7 @@ typedef enum {
|
||||
#define SE_SkillAttackProc 288 // implemented[AA] - Chance to proc spell on skill attack usage (ex. Dragon Punch)
|
||||
#define SE_CastOnFadeEffect 289 // implemented - Triggers only if fades after natural duration.
|
||||
#define SE_IncreaseRunSpeedCap 290 // implemented[AA] - increases run speed over the hard cap
|
||||
#define SE_Purify 291 // implemented - Removes determental effects
|
||||
#define SE_Purify 291 // implemented, @Dispel, remove up specified amount of detiremental spells, base: amt removed, limit: none, max: none, Note: excluding charm, fear, resurrection, and revival sickness
|
||||
#define SE_StrikeThrough2 292 // implemented[AA] - increasing chance of bypassing an opponent's special defenses, such as dodge, block, parry, and riposte.
|
||||
#define SE_FrontalStunResist 293 // implemented[AA] - Reduce chance to be stunned from front. -- live descriptions sounds like this isn't limited to frontal anymore
|
||||
#define SE_CriticalSpellChance 294 // implemented - increase chance to critical hit and critical damage modifier.
|
||||
@@ -1125,8 +1127,8 @@ typedef enum {
|
||||
#define SE_Assassinate 439 // implemented[AA] - Assassinate damage
|
||||
#define SE_FinishingBlowLvl 440 // implemented[AA] - Sets the level Finishing blow can be triggered on an NPC
|
||||
#define SE_DistanceRemoval 441 // implemented - Buff is removed from target when target moves X amount of distance away from where initially hit.
|
||||
#define SE_TriggerOnReqTarget 442 // implemented - triggers a spell which a certain criteria are met (below X amount of hp,mana,end, number of pets on hatelist)
|
||||
#define SE_TriggerOnReqCaster 443 // implemented - triggers a spell which a certain criteria are met (below X amount of hp,mana,end, number of pets on hatelist)
|
||||
#define SE_TriggerOnReqTarget 442 // implemented, @SpellTrigger, triggers a spell when Target Requirement conditions are met (see enum SpellRestriction for IDs), base: spellid, limit: SpellRestriction ID, max: none, Note: Usually cast on a target
|
||||
#define SE_TriggerOnReqCaster 443 // implemented, @SpellTrigger, triggers a spell when Caster Requirement conditions are met (see enum SpellRestriction for IDs), base: spellid, limit: SpellRestriction ID, max: none, Note: Usually self only
|
||||
#define SE_ImprovedTaunt 444 // implemented - Locks Aggro On Caster and Decrease other Players Aggro by X% on NPC targets below level Y
|
||||
//#define SE_AddMercSlot 445 // *not implemented[AA] - [Hero's Barracks] Allows you to conscript additional mercs.
|
||||
#define SE_AStacker 446 // implementet - bufff stacking blocker (26219 | Qirik's Watch)
|
||||
|
||||
+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 9172
|
||||
#define CURRENT_BINARY_DATABASE_VERSION 9173
|
||||
|
||||
#ifdef BOTS
|
||||
#define CURRENT_BINARY_BOTS_DATABASE_VERSION 9028
|
||||
|
||||
Reference in New Issue
Block a user