mirror of
https://github.com/EQEmu/Server.git
synced 2026-04-15 12:52:25 +00:00
Fix an issue where emote messages would overflow the buffer of 256 by increasing the size and changing some of the initialization
Added a custom Health Update message that will display in the middle of the players screen, to enable this server wide you must enable rule 'Character:MarqueeHPUpdates' (Haynar) Fixed some runspeed issues with Perl and LUA scripts (Haynar) Updated #showstats and #npcstats for new speed calcs to display speeds again in familiar float format. (Haynar) Improved client movement while AI Controlled, such as feared and charmed. Movement will be much smoother from clients perspective.
This commit is contained in:
parent
b71e856c8c
commit
2bf49be855
@ -1,5 +1,12 @@
|
||||
EQEMu Changelog (Started on Sept 24, 2003 15:50)
|
||||
-------------------------------------------------------
|
||||
== 7/1/2015 ==
|
||||
Akkadius: Fix an issue where emote messages would overflow the buffer of 256 by increasing the size and changing some of the initialization
|
||||
Akkadius: Added a custom Health Update message that will display in the middle of the players screen, to enable this server wide you must enable rule 'Character:MarqueeHPUpdates'
|
||||
Akkadius: (Haynar) Fixed some runspeed issues with Perl and LUA scripts
|
||||
Akkadius: (Haynar) Updated #showstats and #npcstats for new speed calcs to display speeds again in familiar float format.
|
||||
Akkadius: (Haynar) Improved client movement while AI Controlled, such as feared and charmed. Movement will be much smoother from clients perspective.
|
||||
|
||||
== 06/12/2015 ==
|
||||
Uleat: Adjusted SessionStats to better reflect a sister implementation
|
||||
|
||||
|
||||
@ -114,6 +114,7 @@ RULE_INT(Character, TradeskillUpPottery, 4) // Pottery skillup rate adjust. Lowe
|
||||
RULE_INT(Character, TradeskillUpResearch, 1) // Research skillup rate adjust. Lower is faster.
|
||||
RULE_INT(Character, TradeskillUpTinkering, 2) // Tinkering skillup rate adjust. Lower is faster.
|
||||
RULE_BOOL(Character, SpamHPUpdates, false) // if your server has stupid amounts of HP that causes client display issues, turn this on!
|
||||
RULE_BOOL(Character, MarqueeHPUpdates, false) // Will show Health % in center of screen < 100%
|
||||
RULE_CATEGORY_END()
|
||||
|
||||
RULE_CATEGORY(Mercs)
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
Manifest: https://github.com/EQEmu/Server/blob/master/utils/sql/db_update_manifest.txt
|
||||
*/
|
||||
|
||||
#define CURRENT_BINARY_DATABASE_VERSION 9084
|
||||
#define CURRENT_BINARY_DATABASE_VERSION 9085
|
||||
#define COMPILE_DATE __DATE__
|
||||
#define COMPILE_TIME __TIME__
|
||||
#ifndef WIN32
|
||||
|
||||
@ -338,6 +338,7 @@
|
||||
9082|2015_05_25_npc_types_texture_fields.sql|SHOW COLUMNS FROM `npc_types` LIKE 'armtexture'|empty|
|
||||
9083|2015_06_07_aa_update.sql|SHOW COLUMNS FROM `character_alternate_abilities` LIKE 'charges'|empty|
|
||||
9084|2015_06_30_runspeed_adjustments.sql|SELECT `runspeed` FROM `npc_types` WHERE `runspeed` > 3|not_empty|
|
||||
9085|2015_7_1_Marquee_Rule.sql|SELECT * FROM `rule_values` WHERE `rule_name` LIKE '%Character:MarqueeHPUpdates%'|empty|
|
||||
|
||||
|
||||
# Upgrade conditions:
|
||||
|
||||
1
utils/sql/git/required/2015_7_1_Marquee_Rule.sql
Normal file
1
utils/sql/git/required/2015_7_1_Marquee_Rule.sql
Normal file
@ -0,0 +1 @@
|
||||
INSERT INTO `rule_values` (`rule_name`, `rule_value`, `notes`) VALUES ('Character:MarqueeHPUpdates', 'false', 'Will show Health % in center of screen < 100%');
|
||||
@ -3582,6 +3582,9 @@ void Mob::CommonDamage(Mob* attacker, int32 &damage, const uint16 spell_id, cons
|
||||
//final damage has been determined.
|
||||
|
||||
SetHP(GetHP() - damage);
|
||||
|
||||
if (IsClient())
|
||||
this->CastToClient()->SendHPUpdateMarquee();
|
||||
|
||||
if(HasDied()) {
|
||||
bool IsSaved = false;
|
||||
|
||||
@ -8639,3 +8639,16 @@ void Client::QuestReward(Mob* target, uint32 copper, uint32 silver, uint32 gold,
|
||||
QueuePacket(outapp, false, Client::CLIENT_CONNECTED);
|
||||
safe_delete(outapp);
|
||||
}
|
||||
|
||||
void Client::SendHPUpdateMarquee(){
|
||||
if (!RuleB(Character, MarqueeHPUpdates))
|
||||
return;
|
||||
|
||||
/* Health Update Marquee Display: Custom*/
|
||||
uint32 health_percentage = (uint32)(this->cur_hp * 100 / this->max_hp);
|
||||
if (health_percentage == 100)
|
||||
return;
|
||||
|
||||
std::string health_update_notification = StringFormat("Health: %u%%", health_percentage);
|
||||
this->SendMarqueeMessage(15, 510, 0, 3000, 3000, health_update_notification);
|
||||
}
|
||||
@ -1261,6 +1261,9 @@ public:
|
||||
void QuestReward(Mob* target, uint32 copper = 0, uint32 silver = 0, uint32 gold = 0, uint32 platinum = 0, uint32 itemid = 0, uint32 exp = 0, bool faction = false);
|
||||
|
||||
void ResetHPUpdateTimer() { hpupdate_timer.Start(); }
|
||||
|
||||
void SendHPUpdateMarquee();
|
||||
|
||||
protected:
|
||||
friend class Mob;
|
||||
void CalcItemBonuses(StatBonuses* newbon);
|
||||
|
||||
@ -1357,6 +1357,9 @@ void Mob::SendHPUpdate(bool skip_self)
|
||||
bool dospam = RuleB(Character, SpamHPUpdates);
|
||||
// send to self - we need the actual hps here
|
||||
if(IsClient() && (!skip_self || dospam)) {
|
||||
|
||||
this->CastToClient()->SendHPUpdateMarquee();
|
||||
|
||||
EQApplicationPacket* hp_app2 = new EQApplicationPacket(OP_HPUpdate,sizeof(SpawnHPUpdate_Struct));
|
||||
SpawnHPUpdate_Struct* ds = (SpawnHPUpdate_Struct*)hp_app2->pBuffer;
|
||||
ds->cur_hp = CastToClient()->GetHP() - itembonuses.HP;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user