mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 13:41:31 +00:00
Merge branch 'master' of https://github.com/EQEmu/Server
This commit is contained in:
commit
ce3fc0f2c3
@ -4,6 +4,9 @@ EQEMu Changelog (Started on Sept 24, 2003 15:50)
|
|||||||
Uleat: Reworked bard bot spell twisting and updated their spell (song) list
|
Uleat: Reworked bard bot spell twisting and updated their spell (song) list
|
||||||
Uleat: Added ability to shift to pre-combat song buffing by selecting a non-pet npc target, eliminating the need to mix all bard buff songs together
|
Uleat: Added ability to shift to pre-combat song buffing by selecting a non-pet npc target, eliminating the need to mix all bard buff songs together
|
||||||
|
|
||||||
|
== 2/19/2017 ==
|
||||||
|
Akkadius: Added a fix for limiting the amount of items sold in a stack when the resulting return coin is higher than the supporting struct for returning coin
|
||||||
|
|
||||||
== 01/31/2017 ==
|
== 01/31/2017 ==
|
||||||
Uleat: Modifed bot movement behavior in an attempt to 'normalize' it. This is a hack fix and will be revisited at some point. (Probably just need a follow function rather than use movement, when the leader of the follow chain is moving.)
|
Uleat: Modifed bot movement behavior in an attempt to 'normalize' it. This is a hack fix and will be revisited at some point. (Probably just need a follow function rather than use movement, when the leader of the follow chain is moving.)
|
||||||
|
|
||||||
|
|||||||
@ -235,6 +235,9 @@ enum { //some random constants
|
|||||||
|
|
||||||
#define ZONE_CONTROLLER_NPC_ID 10
|
#define ZONE_CONTROLLER_NPC_ID 10
|
||||||
|
|
||||||
|
// Timer to update aggrometer
|
||||||
|
#define AGGRO_METER_UPDATE_MS 1000
|
||||||
|
|
||||||
//Some hard coded statuses from commands and other places:
|
//Some hard coded statuses from commands and other places:
|
||||||
enum {
|
enum {
|
||||||
minStatusToBeGM = 40,
|
minStatusToBeGM = 40,
|
||||||
|
|||||||
@ -114,7 +114,7 @@ RULE_BOOL(Character, CheckCursorEmptyWhenLooting, true) // If true, a player can
|
|||||||
RULE_BOOL(Character, MaintainIntoxicationAcrossZones, true) // If true, alcohol effects are maintained across zoning and logging out/in.
|
RULE_BOOL(Character, MaintainIntoxicationAcrossZones, true) // If true, alcohol effects are maintained across zoning and logging out/in.
|
||||||
RULE_BOOL(Character, EnableDiscoveredItems, true) // If enabled, it enables EVENT_DISCOVER_ITEM and also saves character names and timestamps for the first time an item is discovered.
|
RULE_BOOL(Character, EnableDiscoveredItems, true) // If enabled, it enables EVENT_DISCOVER_ITEM and also saves character names and timestamps for the first time an item is discovered.
|
||||||
RULE_BOOL(Character, EnableXTargetting, true) // Enable Extended Targetting Window, for users with UF and later clients.
|
RULE_BOOL(Character, EnableXTargetting, true) // Enable Extended Targetting Window, for users with UF and later clients.
|
||||||
RULE_BOOL(Character, EnableAggroMeter, true) // Enable Aggro Meter, for users with RoF and later clients.
|
RULE_BOOL(Character, EnableAggroMeter, false) // Enable Aggro Meter, for users with RoF and later clients.
|
||||||
RULE_BOOL(Character, KeepLevelOverMax, false) // Don't delevel a character that has somehow gone over the level cap
|
RULE_BOOL(Character, KeepLevelOverMax, false) // Don't delevel a character that has somehow gone over the level cap
|
||||||
RULE_INT(Character, FoodLossPerUpdate, 35) // How much food/water you lose per stamina update
|
RULE_INT(Character, FoodLossPerUpdate, 35) // How much food/water you lose per stamina update
|
||||||
RULE_INT(Character, BaseInstrumentSoftCap, 36) // Softcap for instrument mods, 36 commonly referred to as "3.6" as well.
|
RULE_INT(Character, BaseInstrumentSoftCap, 36) // Softcap for instrument mods, 36 commonly referred to as "3.6" as well.
|
||||||
|
|||||||
@ -68,7 +68,7 @@ void CatchSignal(int sig_num);
|
|||||||
Console::Console(EmuTCPConnection* itcpc)
|
Console::Console(EmuTCPConnection* itcpc)
|
||||||
: WorldTCPConnection(),
|
: WorldTCPConnection(),
|
||||||
timeout_timer(RuleI(Console, SessionTimeOut)),
|
timeout_timer(RuleI(Console, SessionTimeOut)),
|
||||||
prompt_timer(1000)
|
prompt_timer(1)
|
||||||
{
|
{
|
||||||
tcpc = itcpc;
|
tcpc = itcpc;
|
||||||
tcpc->SetEcho(true);
|
tcpc->SetEcho(true);
|
||||||
|
|||||||
@ -154,7 +154,7 @@ Client::Client(EQStreamInterface* ieqs)
|
|||||||
afk_toggle_timer(250),
|
afk_toggle_timer(250),
|
||||||
helm_toggle_timer(250),
|
helm_toggle_timer(250),
|
||||||
light_update_timer(600),
|
light_update_timer(600),
|
||||||
aggro_meter_timer(1000),
|
aggro_meter_timer(AGGRO_METER_UPDATE_MS),
|
||||||
m_Proximity(FLT_MAX, FLT_MAX, FLT_MAX), //arbitrary large number
|
m_Proximity(FLT_MAX, FLT_MAX, FLT_MAX), //arbitrary large number
|
||||||
m_ZoneSummonLocation(-2.0f,-2.0f,-2.0f),
|
m_ZoneSummonLocation(-2.0f,-2.0f,-2.0f),
|
||||||
m_AutoAttackPosition(0.0f, 0.0f, 0.0f, 0.0f),
|
m_AutoAttackPosition(0.0f, 0.0f, 0.0f, 0.0f),
|
||||||
@ -7430,7 +7430,7 @@ void Client::ProcessXTargetAutoHaters()
|
|||||||
auto &haters = GetXTargetAutoMgr()->get_list();
|
auto &haters = GetXTargetAutoMgr()->get_list();
|
||||||
for (auto &e : haters) {
|
for (auto &e : haters) {
|
||||||
auto *mob = entity_list.GetMob(e.spawn_id);
|
auto *mob = entity_list.GetMob(e.spawn_id);
|
||||||
if (!IsXTarget(mob)) {
|
if (mob && !IsXTarget(mob)) {
|
||||||
auto slot = empty_slots.front();
|
auto slot = empty_slots.front();
|
||||||
empty_slots.pop();
|
empty_slots.pop();
|
||||||
XTargets[slot].dirty = true;
|
XTargets[slot].dirty = true;
|
||||||
|
|||||||
@ -12447,7 +12447,7 @@ void Client::Handle_OP_ShopPlayerSell(const EQApplicationPacket *app)
|
|||||||
uint32 i;
|
uint32 i;
|
||||||
|
|
||||||
if (RuleB(Merchant, UsePriceMod)) {
|
if (RuleB(Merchant, UsePriceMod)) {
|
||||||
for (i = 0; i < cost_quantity; i++) {
|
for (i = 1; i <= cost_quantity; i++) {
|
||||||
price = (uint32)((item->Price * i)*(RuleR(Merchant, BuyCostMod))*Client::CalcPriceMod(vendor, true) + 0.5); // need to round up, because client does it automatically when displaying price
|
price = (uint32)((item->Price * i)*(RuleR(Merchant, BuyCostMod))*Client::CalcPriceMod(vendor, true) + 0.5); // need to round up, because client does it automatically when displaying price
|
||||||
if (price > 4000000000) {
|
if (price > 4000000000) {
|
||||||
cost_quantity = i;
|
cost_quantity = i;
|
||||||
@ -12457,7 +12457,7 @@ void Client::Handle_OP_ShopPlayerSell(const EQApplicationPacket *app)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
for (i = 0; i < cost_quantity; i++) {
|
for (i = 1; i <= cost_quantity; i++) {
|
||||||
price = (uint32)((item->Price * i)*(RuleR(Merchant, BuyCostMod)) + 0.5); // need to round up, because client does it automatically when displaying price
|
price = (uint32)((item->Price * i)*(RuleR(Merchant, BuyCostMod)) + 0.5); // need to round up, because client does it automatically when displaying price
|
||||||
if (price > 4000000000) {
|
if (price > 4000000000) {
|
||||||
cost_quantity = i;
|
cost_quantity = i;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user