mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 13:41:31 +00:00
Merge branch 'master' of git://github.com/Siroro/Server
This commit is contained in:
commit
d559a9ac0d
@ -1,5 +1,12 @@
|
|||||||
EQEMu Changelog (Started on Sept 24, 2003 15:50)
|
EQEMu Changelog (Started on Sept 24, 2003 15:50)
|
||||||
-------------------------------------------------------
|
-------------------------------------------------------
|
||||||
|
== 03/05/2014 ==
|
||||||
|
demonstar55: Corrected rogue's evade to be single target
|
||||||
|
|
||||||
|
== 03/04/2014 ==
|
||||||
|
Sorvani: Created RemoveFromInstance and RemoveAllFromInstance to remove a single player or all players in an instance.
|
||||||
|
Sorvani: Exported to Lua as eq.remove_from_instance(instance_id) and eq.remove_all_from_instance(instance_id).
|
||||||
|
|
||||||
== 03/03/2014 ==
|
== 03/03/2014 ==
|
||||||
demonstar55: Implemented deadly strikes and gave rogues higher innate throwing crit chance
|
demonstar55: Implemented deadly strikes and gave rogues higher innate throwing crit chance
|
||||||
|
|
||||||
|
|||||||
@ -99,6 +99,12 @@
|
|||||||
#define TRADESKILL_FAILED 336 //You lacked the skills to fashion the items together.
|
#define TRADESKILL_FAILED 336 //You lacked the skills to fashion the items together.
|
||||||
#define TRADESKILL_TRIVIAL 338 //You can no longer advance your skill from making this item.
|
#define TRADESKILL_TRIVIAL 338 //You can no longer advance your skill from making this item.
|
||||||
#define TRADESKILL_SUCCEED 339 //You have fashioned the items together to create something new!
|
#define TRADESKILL_SUCCEED 339 //You have fashioned the items together to create something new!
|
||||||
|
#define EVADE_SUCCESS 343 //You have momentarily ducked away from the main combat.
|
||||||
|
#define EVADE_FAIL 344 //Your attempts at ducking clear of combat fail.
|
||||||
|
#define HIDE_FAIL 345 //You failed to hide yourself.
|
||||||
|
#define HIDE_SUCCESS 346 //You have hidden yourself from view.
|
||||||
|
#define SNEAK_SUCCESS 347 //You are as quiet as a cat stalking its prey.
|
||||||
|
#define SNEAK_FAIL 348 //You are as quiet as a herd of running elephants.
|
||||||
#define MEND_CRITICAL 349 //You magically mend your wounds and heal considerable damage.
|
#define MEND_CRITICAL 349 //You magically mend your wounds and heal considerable damage.
|
||||||
#define MEND_SUCCESS 350 //You mend your wounds and heal some damage.
|
#define MEND_SUCCESS 350 //You mend your wounds and heal some damage.
|
||||||
#define MEND_WORSEN 351 //You have worsened your wounds!
|
#define MEND_WORSEN 351 //You have worsened your wounds!
|
||||||
|
|||||||
@ -1447,3 +1447,11 @@ bool Mob::PassCharismaCheck(Mob* caster, Mob* spellTarget, uint16 spell_id) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Mob::RogueEvade(Mob *other)
|
||||||
|
{
|
||||||
|
int amount = other->GetHateAmount(this) - (GetLevel() * 13);
|
||||||
|
other->SetHate(this, std::max(1, amount));
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@ -14967,7 +14967,7 @@ void Bot::ProcessBotCommands(Client *c, const Seperator *sep) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Bot* targetedBot;
|
Bot *targetedBot = nullptr;
|
||||||
|
|
||||||
if(c->GetTarget() != nullptr) {
|
if(c->GetTarget() != nullptr) {
|
||||||
if (c->GetTarget()->IsBot() && (c->GetTarget()->CastToBot()->GetBotOwner() == c))
|
if (c->GetTarget()->IsBot() && (c->GetTarget()->CastToBot()->GetBotOwner() == c))
|
||||||
|
|||||||
@ -3478,21 +3478,23 @@ void Client::Handle_OP_Hide(const EQApplicationPacket *app)
|
|||||||
}
|
}
|
||||||
if(GetClass() == ROGUE){
|
if(GetClass() == ROGUE){
|
||||||
EQApplicationPacket *outapp = new EQApplicationPacket(OP_SimpleMessage,sizeof(SimpleMessage_Struct));
|
EQApplicationPacket *outapp = new EQApplicationPacket(OP_SimpleMessage,sizeof(SimpleMessage_Struct));
|
||||||
SimpleMessage_Struct *msg=(SimpleMessage_Struct *)outapp->pBuffer;
|
SimpleMessage_Struct *msg = (SimpleMessage_Struct *)outapp->pBuffer;
|
||||||
msg->color=0x010E;
|
msg->color = 0x010E;
|
||||||
if (!auto_attack && entity_list.Fighting(this)) {
|
Mob *evadetar = GetTarget();
|
||||||
|
if (!auto_attack && (evadetar && evadetar->CheckAggro(this)
|
||||||
|
&& evadetar->IsNPC())) {
|
||||||
if (MakeRandomInt(0, 260) < (int)GetSkill(SkillHide)) {
|
if (MakeRandomInt(0, 260) < (int)GetSkill(SkillHide)) {
|
||||||
msg->string_id=343;
|
msg->string_id = EVADE_SUCCESS;
|
||||||
entity_list.Evade(this);
|
RogueEvade(evadetar);
|
||||||
} else {
|
} else {
|
||||||
msg->string_id=344;
|
msg->string_id = EVADE_FAIL;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (hidden){
|
if (hidden){
|
||||||
msg->string_id=346;
|
msg->string_id = HIDE_SUCCESS;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
msg->string_id=345;
|
msg->string_id = HIDE_FAIL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
FastQueuePacket(&outapp);
|
FastQueuePacket(&outapp);
|
||||||
|
|||||||
@ -659,6 +659,14 @@ void lua_assign_raid_to_instance(uint32 instance_id) {
|
|||||||
quest_manager.AssignRaidToInstance(instance_id);
|
quest_manager.AssignRaidToInstance(instance_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void lua_remove_from_instance(uint32 instance_id) {
|
||||||
|
quest_manager.RemoveFromInstance(instance_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
void lua_remove_all_from_instance(uint32 instance_id) {
|
||||||
|
quest_manager.RemoveAllFromInstance(instance_id);
|
||||||
|
}
|
||||||
|
|
||||||
void lua_flag_instance_by_group_leader(uint32 zone, uint32 version) {
|
void lua_flag_instance_by_group_leader(uint32 zone, uint32 version) {
|
||||||
quest_manager.FlagInstanceByGroupLeader(zone, version);
|
quest_manager.FlagInstanceByGroupLeader(zone, version);
|
||||||
}
|
}
|
||||||
@ -1195,6 +1203,8 @@ luabind::scope lua_register_general() {
|
|||||||
luabind::def("assign_to_instance", &lua_assign_to_instance),
|
luabind::def("assign_to_instance", &lua_assign_to_instance),
|
||||||
luabind::def("assign_group_to_instance", &lua_assign_group_to_instance),
|
luabind::def("assign_group_to_instance", &lua_assign_group_to_instance),
|
||||||
luabind::def("assign_raid_to_instance", &lua_assign_raid_to_instance),
|
luabind::def("assign_raid_to_instance", &lua_assign_raid_to_instance),
|
||||||
|
luabind::def("remove_from_instance", &lua_remove_from_instance),
|
||||||
|
luabind::def("remove_all_from_instance", &lua_remove_all_from_instance),
|
||||||
luabind::def("flag_instance_by_group_leader", &lua_flag_instance_by_group_leader),
|
luabind::def("flag_instance_by_group_leader", &lua_flag_instance_by_group_leader),
|
||||||
luabind::def("flag_instance_by_raid_leader", &lua_flag_instance_by_raid_leader),
|
luabind::def("flag_instance_by_raid_leader", &lua_flag_instance_by_raid_leader),
|
||||||
luabind::def("fly_mode", &lua_fly_mode),
|
luabind::def("fly_mode", &lua_fly_mode),
|
||||||
|
|||||||
@ -146,6 +146,7 @@ public:
|
|||||||
virtual int32 GetMeleeMitDmg(Mob *attacker, int32 damage, int32 minhit, float mit_rating, float atk_rating);
|
virtual int32 GetMeleeMitDmg(Mob *attacker, int32 damage, int32 minhit, float mit_rating, float atk_rating);
|
||||||
bool CombatRange(Mob* other);
|
bool CombatRange(Mob* other);
|
||||||
virtual inline bool IsBerserk() { return false; } // only clients
|
virtual inline bool IsBerserk() { return false; } // only clients
|
||||||
|
void RogueEvade(Mob *other);
|
||||||
|
|
||||||
//Appearance
|
//Appearance
|
||||||
void SendLevelAppearance();
|
void SendLevelAppearance();
|
||||||
|
|||||||
@ -2557,6 +2557,43 @@ void QuestManager::AssignRaidToInstance(uint16 instance_id)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QuestManager::RemoveFromInstance(uint16 instance_id)
|
||||||
|
{
|
||||||
|
QuestManagerCurrentQuestVars();
|
||||||
|
if(initiator) {
|
||||||
|
if(database.RemoveClientFromInstance(instance_id, initiator->CharacterID())) {
|
||||||
|
initiator->Message(MT_Say, "Removed client from instance.");
|
||||||
|
} else {
|
||||||
|
initiator->Message(MT_Say, "Failed to remove client from instance.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void QuestManager::RemoveAllFromInstance(uint16 instance_id)
|
||||||
|
{
|
||||||
|
QuestManagerCurrentQuestVars();
|
||||||
|
if(initiator) {
|
||||||
|
std::list<uint32> charid_list;
|
||||||
|
bool removed_all = true;
|
||||||
|
uint16 fail_count = 0;
|
||||||
|
database.GetCharactersInInstance(instance_id,charid_list);
|
||||||
|
auto iter = charid_list.begin();
|
||||||
|
while(iter != charid_list.end()) {
|
||||||
|
if(!database.RemoveClientFromInstance(instance_id, *iter)) {
|
||||||
|
removed_all = false;
|
||||||
|
++fail_count;
|
||||||
|
}
|
||||||
|
++iter;
|
||||||
|
}
|
||||||
|
if (removed_all) {
|
||||||
|
initiator->Message(MT_Say, "Removed all players from instance.");
|
||||||
|
} else {
|
||||||
|
// once the expedition system is in, this message it not relevant
|
||||||
|
initiator->Message(MT_Say, "Failed to remove %i player(s) from instance.", fail_count);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void QuestManager::MovePCInstance(int zone_id, int instance_id, float x, float y, float z, float heading)
|
void QuestManager::MovePCInstance(int zone_id, int instance_id, float x, float y, float z, float heading)
|
||||||
{
|
{
|
||||||
QuestManagerCurrentQuestVars();
|
QuestManagerCurrentQuestVars();
|
||||||
|
|||||||
@ -211,6 +211,10 @@ public:
|
|||||||
void AssignToInstance(uint16 instance_id);
|
void AssignToInstance(uint16 instance_id);
|
||||||
void AssignGroupToInstance(uint16 instance_id);
|
void AssignGroupToInstance(uint16 instance_id);
|
||||||
void AssignRaidToInstance(uint16 instance_id);
|
void AssignRaidToInstance(uint16 instance_id);
|
||||||
|
void RemoveFromInstance(uint16 instance_id);
|
||||||
|
//void RemoveGroupFromInstance(uint16 instance_id); //potentially useful but not implmented at this time.
|
||||||
|
//void RemoveRaidFromInstance(uint16 instance_id); //potentially useful but not implmented at this time.
|
||||||
|
void RemoveAllFromInstance(uint16 instance_id);
|
||||||
void MovePCInstance(int zone_id, int instance_id, float x, float y, float z, float heading);
|
void MovePCInstance(int zone_id, int instance_id, float x, float y, float z, float heading);
|
||||||
void FlagInstanceByGroupLeader(uint32 zone, int16 version);
|
void FlagInstanceByGroupLeader(uint32 zone, int16 version);
|
||||||
void FlagInstanceByRaidLeader(uint32 zone, int16 version);
|
void FlagInstanceByRaidLeader(uint32 zone, int16 version);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user