mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-13 14:41:28 +00:00
Removed my bookmark comments and cleaned up itemtick for cases where there are no tick items.
This commit is contained in:
parent
824b101831
commit
f983d19e01
@ -1102,7 +1102,6 @@ bool IsShortDurationBuff(uint16 spell_id)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
const char* GetSpellName(int16 spell_id)
|
const char* GetSpellName(int16 spell_id)
|
||||||
{
|
{
|
||||||
return( spells[spell_id].name );
|
return( spells[spell_id].name );
|
||||||
|
|||||||
@ -459,7 +459,6 @@ void EQW::ResolveBug(const char *id) {
|
|||||||
safe_delete_array(query);
|
safe_delete_array(query);
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
void EQW::SendMessage(uint32 type, const char *msg) {
|
void EQW::SendMessage(uint32 type, const char *msg) {
|
||||||
zoneserver_list.SendEmoteMessage(0, 0, 0, type, msg);
|
zoneserver_list.SendEmoteMessage(0, 0, 0, type, msg);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -716,7 +716,6 @@ void ZSList::GetZoneIDList(vector<uint32> &zones) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
void ZSList::WorldShutDown(uint32 time, uint32 interval)
|
void ZSList::WorldShutDown(uint32 time, uint32 interval)
|
||||||
{
|
{
|
||||||
if( time > 0 ) {
|
if( time > 0 ) {
|
||||||
|
|||||||
@ -318,7 +318,6 @@ bool Mob::CheckHitChance(Mob* other, SkillType skillinuse, int Hand, int16 chanc
|
|||||||
if(skillinuse == ARCHERY)
|
if(skillinuse == ARCHERY)
|
||||||
chancetohit -= (chancetohit * RuleR(Combat, ArcheryHitPenalty)) / 100.0f;
|
chancetohit -= (chancetohit * RuleR(Combat, ArcheryHitPenalty)) / 100.0f;
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
chancetohit = mod_hit_chance(chancetohit, skillinuse, attacker);
|
chancetohit = mod_hit_chance(chancetohit, skillinuse, attacker);
|
||||||
|
|
||||||
// Chance to hit; Max 95%, Min 30%
|
// Chance to hit; Max 95%, Min 30%
|
||||||
@ -399,7 +398,6 @@ bool Mob::AvoidDamage(Mob* other, int32 &damage, bool CanRiposte)
|
|||||||
if (!ghit) { //if they are not using a garunteed hit discipline
|
if (!ghit) { //if they are not using a garunteed hit discipline
|
||||||
bonus = 2.0 + skill/60.0 + (GetDEX()/200);
|
bonus = 2.0 + skill/60.0 + (GetDEX()/200);
|
||||||
bonus *= riposte_chance;
|
bonus *= riposte_chance;
|
||||||
//DCBOOKMARK
|
|
||||||
bonus = mod_riposte_chance(bonus, attacker);
|
bonus = mod_riposte_chance(bonus, attacker);
|
||||||
RollTable[0] = bonus + (itembonuses.HeroicDEX / 25); // 25 heroic = 1%, applies to ripo, parry, block
|
RollTable[0] = bonus + (itembonuses.HeroicDEX / 25); // 25 heroic = 1%, applies to ripo, parry, block
|
||||||
}
|
}
|
||||||
@ -439,7 +437,6 @@ bool Mob::AvoidDamage(Mob* other, int32 &damage, bool CanRiposte)
|
|||||||
|
|
||||||
if (!ghit) { //if they are not using a garunteed hit discipline
|
if (!ghit) { //if they are not using a garunteed hit discipline
|
||||||
bonus = 2.0 + skill/35.0 + (GetDEX()/200);
|
bonus = 2.0 + skill/35.0 + (GetDEX()/200);
|
||||||
//DCBOOKMARK
|
|
||||||
bonus = mod_block_chance(bonus, attacker);
|
bonus = mod_block_chance(bonus, attacker);
|
||||||
RollTable[1] = RollTable[0] + (bonus * block_chance);
|
RollTable[1] = RollTable[0] + (bonus * block_chance);
|
||||||
}
|
}
|
||||||
@ -492,7 +489,6 @@ bool Mob::AvoidDamage(Mob* other, int32 &damage, bool CanRiposte)
|
|||||||
if (!ghit) { //if they are not using a garunteed hit discipline
|
if (!ghit) { //if they are not using a garunteed hit discipline
|
||||||
bonus = 2.0 + skill/60.0 + (GetDEX()/200);
|
bonus = 2.0 + skill/60.0 + (GetDEX()/200);
|
||||||
bonus *= parry_chance;
|
bonus *= parry_chance;
|
||||||
//DCBOOKMARK
|
|
||||||
bonus = mod_parry_chance(bonus, attacker);
|
bonus = mod_parry_chance(bonus, attacker);
|
||||||
RollTable[2] = RollTable[1] + bonus;
|
RollTable[2] = RollTable[1] + bonus;
|
||||||
}
|
}
|
||||||
@ -567,7 +563,6 @@ void Mob::MeleeMitigation(Mob *attacker, int32 &damage, int32 minhit)
|
|||||||
int armor = 0;
|
int armor = 0;
|
||||||
float weight = 0.0;
|
float weight = 0.0;
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
float monkweight = RuleI(Combat, MonkACBonusWeight);
|
float monkweight = RuleI(Combat, MonkACBonusWeight);
|
||||||
monkweight = mod_monk_weight(monkweight, attacker);
|
monkweight = mod_monk_weight(monkweight, attacker);
|
||||||
|
|
||||||
@ -653,7 +648,6 @@ void Mob::MeleeMitigation(Mob *attacker, int32 &damage, int32 minhit)
|
|||||||
}
|
}
|
||||||
mitigation_rating *= 0.847;
|
mitigation_rating *= 0.847;
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
mitigation_rating = mod_mitigation_rating(mitigation_rating, attacker);
|
mitigation_rating = mod_mitigation_rating(mitigation_rating, attacker);
|
||||||
|
|
||||||
if(attacker->IsClient())
|
if(attacker->IsClient())
|
||||||
@ -665,7 +659,6 @@ void Mob::MeleeMitigation(Mob *attacker, int32 &damage, int32 minhit)
|
|||||||
attack_rating = (attacker->GetATK() + (attacker->GetSkill(OFFENSE)*1.345) + ((attacker->GetSTR()-66) * 0.9));
|
attack_rating = (attacker->GetATK() + (attacker->GetSkill(OFFENSE)*1.345) + ((attacker->GetSTR()-66) * 0.9));
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
attack_rating = attacker->mod_attack_rating(attack_rating, this);
|
attack_rating = attacker->mod_attack_rating(attack_rating, this);
|
||||||
|
|
||||||
float d = 10.0;
|
float d = 10.0;
|
||||||
@ -1246,7 +1239,6 @@ bool Client::Attack(Mob* other, int Hand, bool bRiposte, bool IsStrikethrough, b
|
|||||||
else
|
else
|
||||||
damage = MakeRandomInt(min_hit, max_hit);
|
damage = MakeRandomInt(min_hit, max_hit);
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
damage = mod_client_damage(damage, skillinuse, Hand, weapon, other);
|
damage = mod_client_damage(damage, skillinuse, Hand, weapon, other);
|
||||||
|
|
||||||
mlog(COMBAT__DAMAGE, "Damage calculated to %d (min %d, max %d, str %d, skill %d, DMG %d, lv %d)",
|
mlog(COMBAT__DAMAGE, "Damage calculated to %d (min %d, max %d, str %d, skill %d, DMG %d, lv %d)",
|
||||||
@ -1487,7 +1479,6 @@ void Client::Death(Mob* killerMob, int32 damage, uint16 spell, SkillType attack_
|
|||||||
if (killerMob->IsNPC()) {
|
if (killerMob->IsNPC()) {
|
||||||
parse->EventNPC(EVENT_SLAY, killerMob->CastToNPC(), this, "", 0);
|
parse->EventNPC(EVENT_SLAY, killerMob->CastToNPC(), this, "", 0);
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
mod_client_death_npc(killerMob);
|
mod_client_death_npc(killerMob);
|
||||||
|
|
||||||
uint16 emoteid = killerMob->GetEmoteID();
|
uint16 emoteid = killerMob->GetEmoteID();
|
||||||
@ -1506,7 +1497,6 @@ void Client::Death(Mob* killerMob, int32 damage, uint16 spell, SkillType attack_
|
|||||||
killerMob->CastToClient()->SetDuelTarget(0);
|
killerMob->CastToClient()->SetDuelTarget(0);
|
||||||
entity_list.DuelMessage(killerMob,this,false);
|
entity_list.DuelMessage(killerMob,this,false);
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
mod_client_death_duel(killerMob);
|
mod_client_death_duel(killerMob);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@ -1880,7 +1870,6 @@ bool NPC::Attack(Mob* other, int Hand, bool bRiposte, bool IsStrikethrough, bool
|
|||||||
damage = (max_dmg+eleBane);
|
damage = (max_dmg+eleBane);
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
damage = mod_npc_damage(damage, skillinuse, Hand, &weapon_inst, other);
|
damage = mod_npc_damage(damage, skillinuse, Hand, &weapon_inst, other);
|
||||||
|
|
||||||
int32 hate = damage;
|
int32 hate = damage;
|
||||||
@ -2137,7 +2126,6 @@ void NPC::Death(Mob* killerMob, int32 damage, uint16 spell, SkillType attack_ski
|
|||||||
if (kr->members[i].member != NULL) { // If Group Member is Client
|
if (kr->members[i].member != NULL) { // If Group Member is Client
|
||||||
parse->EventNPC(EVENT_KILLED_MERIT, this, kr->members[i].member, "killed", 0);
|
parse->EventNPC(EVENT_KILLED_MERIT, this, kr->members[i].member, "killed", 0);
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
mod_npc_killed_merit(kr->members[i].member);
|
mod_npc_killed_merit(kr->members[i].member);
|
||||||
|
|
||||||
if(RuleB(TaskSystem, EnableTaskSystem))
|
if(RuleB(TaskSystem, EnableTaskSystem))
|
||||||
@ -2181,7 +2169,6 @@ void NPC::Death(Mob* killerMob, int32 damage, uint16 spell, SkillType attack_ski
|
|||||||
Client *c = kg->members[i]->CastToClient();
|
Client *c = kg->members[i]->CastToClient();
|
||||||
parse->EventNPC(EVENT_KILLED_MERIT, this, c, "killed", 0);
|
parse->EventNPC(EVENT_KILLED_MERIT, this, c, "killed", 0);
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
mod_npc_killed_merit(c);
|
mod_npc_killed_merit(c);
|
||||||
|
|
||||||
if(RuleB(TaskSystem, EnableTaskSystem))
|
if(RuleB(TaskSystem, EnableTaskSystem))
|
||||||
@ -2229,7 +2216,6 @@ void NPC::Death(Mob* killerMob, int32 damage, uint16 spell, SkillType attack_ski
|
|||||||
/* Send the EVENT_KILLED_MERIT event */
|
/* Send the EVENT_KILLED_MERIT event */
|
||||||
parse->EventNPC(EVENT_KILLED_MERIT, this, give_exp_client, "killed", 0);
|
parse->EventNPC(EVENT_KILLED_MERIT, this, give_exp_client, "killed", 0);
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
mod_npc_killed_merit(give_exp_client);
|
mod_npc_killed_merit(give_exp_client);
|
||||||
|
|
||||||
if(RuleB(TaskSystem, EnableTaskSystem))
|
if(RuleB(TaskSystem, EnableTaskSystem))
|
||||||
@ -2363,7 +2349,6 @@ void NPC::Death(Mob* killerMob, int32 damage, uint16 spell, SkillType attack_ski
|
|||||||
Mob *oos = killerMob->GetOwnerOrSelf();
|
Mob *oos = killerMob->GetOwnerOrSelf();
|
||||||
parse->EventNPC(EVENT_DEATH, this, oos, "", 0);
|
parse->EventNPC(EVENT_DEATH, this, oos, "", 0);
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
mod_npc_killed(oos);
|
mod_npc_killed(oos);
|
||||||
|
|
||||||
uint16 emoteid = this->GetEmoteID();
|
uint16 emoteid = this->GetEmoteID();
|
||||||
@ -3457,7 +3442,7 @@ void Mob::CommonDamage(Mob* attacker, int32 &damage, const uint16 spell_id, cons
|
|||||||
if (damage > 0 && ((skill_used == BASH || skill_used == KICK) && attacker))
|
if (damage > 0 && ((skill_used == BASH || skill_used == KICK) && attacker))
|
||||||
{
|
{
|
||||||
// NPCs can stun with their bash/kick as soon as they recieve it.
|
// NPCs can stun with their bash/kick as soon as they recieve it.
|
||||||
// Clients can stun mobs under level 56 with their bash/kick when they get level 55 or greater. -- DCBOOKMARK for rules
|
// Clients can stun mobs under level 56 with their bash/kick when they get level 55 or greater.
|
||||||
if( attacker->IsNPC() || (attacker->IsClient() && attacker->GetLevel() >= RuleI(Combat, ClientStunLevel) && GetLevel() < RuleI(Spells, BaseImmunityLevel)) )
|
if( attacker->IsNPC() || (attacker->IsClient() && attacker->GetLevel() >= RuleI(Combat, ClientStunLevel) && GetLevel() < RuleI(Spells, BaseImmunityLevel)) )
|
||||||
{
|
{
|
||||||
if (MakeRandomInt(0,99) < (RuleI(Character, NPCBashKickStunChance)) || attacker->IsClient())
|
if (MakeRandomInt(0,99) < (RuleI(Character, NPCBashKickStunChance)) || attacker->IsClient())
|
||||||
|
|||||||
@ -326,7 +326,6 @@ Client::Client(EQStreamInterface* ieqs)
|
|||||||
}
|
}
|
||||||
MaxXTargets = 5;
|
MaxXTargets = 5;
|
||||||
XTargetAutoAddHaters = true;
|
XTargetAutoAddHaters = true;
|
||||||
//DCBOOKMARK
|
|
||||||
LoadAccountFlags();
|
LoadAccountFlags();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -845,7 +844,7 @@ void Client::ChannelMessageReceived(uint8 chan_num, uint8 language, uint8 lang_s
|
|||||||
safe_delete(pack);
|
safe_delete(pack);
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK - Return true to proceed, false to return
|
//Return true to proceed, false to return
|
||||||
if(!mod_client_message(message, chan_num)) { return; }
|
if(!mod_client_message(message, chan_num)) { return; }
|
||||||
|
|
||||||
// Garble the message based on drunkness
|
// Garble the message based on drunkness
|
||||||
@ -2343,7 +2342,7 @@ bool Client::CheckIncreaseSkill(SkillType skillid, Mob *against_who, int chancem
|
|||||||
if( against_who->SpecAttacks[IMMUNE_AGGRO] || against_who->IsClient() ||
|
if( against_who->SpecAttacks[IMMUNE_AGGRO] || against_who->IsClient() ||
|
||||||
GetLevelCon(against_who->GetLevel()) == CON_GREEN )
|
GetLevelCon(against_who->GetLevel()) == CON_GREEN )
|
||||||
{
|
{
|
||||||
//DCBOOKMARK - false by default
|
//false by default
|
||||||
return mod_can_increase_skill(skillid, against_who);
|
return mod_can_increase_skill(skillid, against_who);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2357,7 +2356,6 @@ bool Client::CheckIncreaseSkill(SkillType skillid, Mob *against_who, int chancem
|
|||||||
Chance = 1; // Make it always possible
|
Chance = 1; // Make it always possible
|
||||||
Chance = (Chance * RuleI(Character, SkillUpModifier) / 100);
|
Chance = (Chance * RuleI(Character, SkillUpModifier) / 100);
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
Chance = mod_increase_skill_chance(Chance, against_who);
|
Chance = mod_increase_skill_chance(Chance, against_who);
|
||||||
|
|
||||||
if(MakeRandomFloat(0, 99) < Chance)
|
if(MakeRandomFloat(0, 99) < Chance)
|
||||||
@ -2728,7 +2726,6 @@ bool Client::BindWound(Mob* bindmob, bool start, bool fail){
|
|||||||
max_percent = 70 + 10 * maxHPBonus;
|
max_percent = 70 + 10 * maxHPBonus;
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
max_percent = mod_bindwound_percent(max_percent, bindmob);
|
max_percent = mod_bindwound_percent(max_percent, bindmob);
|
||||||
|
|
||||||
int max_hp = bindmob->GetMaxHP()*max_percent/100;
|
int max_hp = bindmob->GetMaxHP()*max_percent/100;
|
||||||
@ -2750,7 +2747,6 @@ bool Client::BindWound(Mob* bindmob, bool start, bool fail){
|
|||||||
|
|
||||||
bindhps += bindhps*bindBonus / 100;
|
bindhps += bindhps*bindBonus / 100;
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
bindhps = mod_bindwound_hp(bindhps, bindmob);
|
bindhps = mod_bindwound_hp(bindhps, bindmob);
|
||||||
|
|
||||||
//if the bind takes them above the max bindable
|
//if the bind takes them above the max bindable
|
||||||
@ -7624,7 +7620,6 @@ some day.
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
void Client::LoadAccountFlags()
|
void Client::LoadAccountFlags()
|
||||||
{
|
{
|
||||||
char errbuf[MYSQL_ERRMSG_SIZE];
|
char errbuf[MYSQL_ERRMSG_SIZE];
|
||||||
@ -7675,6 +7670,8 @@ void Client::TickItemCheck()
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
if(zone->tick_items.empty()) { return; }
|
||||||
|
|
||||||
//Scan equip slots for items
|
//Scan equip slots for items
|
||||||
for(i = 0; i <= 21; i++)
|
for(i = 0; i <= 21; i++)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1133,7 +1133,6 @@ public:
|
|||||||
void DuplicateLoreMessage(uint32 ItemID);
|
void DuplicateLoreMessage(uint32 ItemID);
|
||||||
void GarbleMessage(char *, uint8);
|
void GarbleMessage(char *, uint8);
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
void TickItemCheck();
|
void TickItemCheck();
|
||||||
void TryItemTick(int slot);
|
void TryItemTick(int slot);
|
||||||
int16 GetActSTR() { return( min(GetMaxSTR(), GetSTR()) ); }
|
int16 GetActSTR() { return( min(GetMaxSTR(), GetSTR()) ); }
|
||||||
@ -1466,7 +1465,6 @@ private:
|
|||||||
|
|
||||||
struct XTarget_Struct XTargets[XTARGET_HARDCAP];
|
struct XTarget_Struct XTargets[XTARGET_HARDCAP];
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
Timer ItemTickTimer;
|
Timer ItemTickTimer;
|
||||||
std::map<std::string,std::string> accountflags;
|
std::map<std::string,std::string> accountflags;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1415,7 +1415,6 @@ int Client::CalcHaste() {
|
|||||||
h += spellbonuses.hastetype3;
|
h += spellbonuses.hastetype3;
|
||||||
h += ExtraHaste; //GM granted haste.
|
h += ExtraHaste; //GM granted haste.
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
h = mod_client_haste(h);
|
h = mod_client_haste(h);
|
||||||
|
|
||||||
if (spellbonuses.inhibitmelee){
|
if (spellbonuses.inhibitmelee){
|
||||||
|
|||||||
@ -2076,7 +2076,6 @@ void Client::Handle_OP_ItemVerifyRequest(const EQApplicationPacket *app)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
int r;
|
int r;
|
||||||
bool tryaug = false;
|
bool tryaug = false;
|
||||||
ItemInst* clickaug = 0;
|
ItemInst* clickaug = 0;
|
||||||
@ -2147,7 +2146,7 @@ void Client::Handle_OP_ItemVerifyRequest(const EQApplicationPacket *app)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (tryaug) //DCBOOKMARK
|
else if (tryaug)
|
||||||
{
|
{
|
||||||
if (clickaug->GetCharges() == 0)
|
if (clickaug->GetCharges() == 0)
|
||||||
{
|
{
|
||||||
@ -2662,7 +2661,6 @@ void Client::Handle_OP_Consider(const EQApplicationPacket *app)
|
|||||||
con->faction = FACTION_DUBIOUS;
|
con->faction = FACTION_DUBIOUS;
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
mod_consider(tmob, con);
|
mod_consider(tmob, con);
|
||||||
|
|
||||||
QueuePacket(outapp);
|
QueuePacket(outapp);
|
||||||
@ -3260,7 +3258,6 @@ void Client::Handle_OP_ItemLinkClick(const EQApplicationPacket *app)
|
|||||||
|
|
||||||
if((response).size() > 0)
|
if((response).size() > 0)
|
||||||
{
|
{
|
||||||
//DCBOOKMARK
|
|
||||||
if( !mod_saylink(response, silentsaylink) ) { return; }
|
if( !mod_saylink(response, silentsaylink) ) { return; }
|
||||||
|
|
||||||
if(this->GetTarget() && this->GetTarget()->IsNPC())
|
if(this->GetTarget() && this->GetTarget()->IsNPC())
|
||||||
@ -7778,7 +7775,6 @@ void Client::Handle_OP_EnvDamage(const EQApplicationPacket *app)
|
|||||||
|
|
||||||
if(GetHP() <= 0)
|
if(GetHP() <= 0)
|
||||||
{
|
{
|
||||||
//DCBOOKMARK
|
|
||||||
mod_client_death_env();
|
mod_client_death_env();
|
||||||
|
|
||||||
Death(0, 32000, SPELL_UNKNOWN, HAND_TO_HAND);
|
Death(0, 32000, SPELL_UNKNOWN, HAND_TO_HAND);
|
||||||
|
|||||||
@ -646,7 +646,6 @@ bool Client::Process() {
|
|||||||
CalcBonuses();
|
CalcBonuses();
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
if(ItemTickTimer.Check())
|
if(ItemTickTimer.Check())
|
||||||
{
|
{
|
||||||
TickItemCheck();
|
TickItemCheck();
|
||||||
|
|||||||
@ -1888,7 +1888,6 @@ void EntityList::QueueClientsStatus(Mob* sender, const EQApplicationPacket* app,
|
|||||||
void EntityList::DuelMessage(Mob* winner, Mob* loser, bool flee) {
|
void EntityList::DuelMessage(Mob* winner, Mob* loser, bool flee) {
|
||||||
LinkedListIterator<Client*> iterator(client_list);
|
LinkedListIterator<Client*> iterator(client_list);
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
if(winner->GetLevelCon(winner->GetLevel(), loser->GetLevel()) > 2)
|
if(winner->GetLevelCon(winner->GetLevel(), loser->GetLevel()) > 2)
|
||||||
{
|
{
|
||||||
parse->EventPlayer(EVENT_DUEL_WIN, winner->CastToClient(), loser->GetName(), loser->CastToClient()->CharacterID());
|
parse->EventPlayer(EVENT_DUEL_WIN, winner->CastToClient(), loser->GetName(), loser->CastToClient()->CharacterID());
|
||||||
|
|||||||
@ -290,7 +290,6 @@ void Client::SetEXP(uint32 set_exp, uint32 set_aaxp, bool isrezzexp) {
|
|||||||
if(check_level > maxlevel) {
|
if(check_level > maxlevel) {
|
||||||
check_level = maxlevel;
|
check_level = maxlevel;
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
if(RuleB(Character, KeepLevelOverMax))
|
if(RuleB(Character, KeepLevelOverMax))
|
||||||
{
|
{
|
||||||
set_exp = GetEXPForLevel(GetLevel()+1);
|
set_exp = GetEXPForLevel(GetLevel()+1);
|
||||||
|
|||||||
@ -376,7 +376,6 @@ void NPC::AddLootTable() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
void NPC::AddLootTable(uint32 ldid) {
|
void NPC::AddLootTable(uint32 ldid) {
|
||||||
if (npctype_id != 0) { // check if it's a GM spawn
|
if (npctype_id != 0) { // check if it's a GM spawn
|
||||||
database.AddLootTableToNPC(this,ldid, &itemlist, &copper, &silver, &gold, &platinum);
|
database.AddLootTableToNPC(this,ldid, &itemlist, &copper, &silver, &gold, &platinum);
|
||||||
|
|||||||
@ -4675,7 +4675,6 @@ FACTION_VALUE Mob::GetSpecialFactionCon(Mob* iOther) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
bool Mob::HasSpellEffect(int effectid)
|
bool Mob::HasSpellEffect(int effectid)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|||||||
@ -789,7 +789,6 @@ public:
|
|||||||
inline void SetEmoteID(uint16 emote) { emoteid = emote; }
|
inline void SetEmoteID(uint16 emote) { emoteid = emote; }
|
||||||
inline uint16 GetEmoteID() { return emoteid; }
|
inline uint16 GetEmoteID() { return emoteid; }
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
bool HasSpellEffect(int effectid);
|
bool HasSpellEffect(int effectid);
|
||||||
int mod_effect_value(int effect_value, uint16 spell_id, int effect_type, Mob* caster);
|
int mod_effect_value(int effect_value, uint16 spell_id, int effect_type, Mob* caster);
|
||||||
float mod_hit_chance(float chancetohit, SkillType skillinuse, Mob* attacker);
|
float mod_hit_chance(float chancetohit, SkillType skillinuse, Mob* attacker);
|
||||||
|
|||||||
@ -1895,7 +1895,7 @@ void NPC::ModifyNPCStat(const char *identifier, const char *newValue)
|
|||||||
|
|
||||||
if(id == "special_attacks")
|
if(id == "special_attacks")
|
||||||
{
|
{
|
||||||
//DCBOOKMARK - Added reset flag.
|
//Added reset flag.
|
||||||
NPCSpecialAttacks(val.c_str(), 0, 1);
|
NPCSpecialAttacks(val.c_str(), 0, 1);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -2416,7 +2416,6 @@ bool NPC::IsFactionListAlly(uint32 other_faction) {
|
|||||||
return(CheckNPCFactionAlly(other_faction) == FACTION_ALLY);
|
return(CheckNPCFactionAlly(other_faction) == FACTION_ALLY);
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
int NPC::GetScore()
|
int NPC::GetScore()
|
||||||
{
|
{
|
||||||
int lv = min(70, (int)GetLevel());
|
int lv = min(70, (int)GetLevel());
|
||||||
|
|||||||
@ -454,7 +454,6 @@ public:
|
|||||||
|
|
||||||
void PrintOutQuestItems(Client* c);
|
void PrintOutQuestItems(Client* c);
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
uint32 GetSpawnKillCount();
|
uint32 GetSpawnKillCount();
|
||||||
int GetScore();
|
int GetScore();
|
||||||
void mod_prespawn(Spawn2 *sp);
|
void mod_prespawn(Spawn2 *sp);
|
||||||
|
|||||||
@ -234,7 +234,6 @@ void Mob::MakePoweredPet(uint16 spell_id, const char* pettype, int16 petpower, c
|
|||||||
if (petpower == -1) {
|
if (petpower == -1) {
|
||||||
if (this->IsClient()) {
|
if (this->IsClient()) {
|
||||||
act_power = CastToClient()->GetFocusEffect(focusPetPower, spell_id);
|
act_power = CastToClient()->GetFocusEffect(focusPetPower, spell_id);
|
||||||
//DCBOOKMARK
|
|
||||||
act_power = CastToClient()->mod_pet_power(act_power, spell_id);
|
act_power = CastToClient()->mod_pet_power(act_power, spell_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -834,7 +834,7 @@ uint16 QuestManager::scribespells(uint8 max_level, uint8 min_level) {
|
|||||||
spells[curspell].classes[initiator->GetPP().class_-1] <= max_level && //maximum level
|
spells[curspell].classes[initiator->GetPP().class_-1] <= max_level && //maximum level
|
||||||
spells[curspell].classes[initiator->GetPP().class_-1] >= min_level && //minimum level
|
spells[curspell].classes[initiator->GetPP().class_-1] >= min_level && //minimum level
|
||||||
spells[curspell].skill != 52 &&
|
spells[curspell].skill != 52 &&
|
||||||
( RuleB(Spells, UseCHAScribeHack) && spells[curspell].effectid[EFFECT_COUNT - 1] != 10 ) //DCBOOKMARK
|
( RuleB(Spells, UseCHAScribeHack) && spells[curspell].effectid[EFFECT_COUNT - 1] != 10 )
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (book_slot == -1) //no more book slots
|
if (book_slot == -1) //no more book slots
|
||||||
@ -874,7 +874,7 @@ uint16 QuestManager::traindiscs(uint8 max_level, uint8 min_level) {
|
|||||||
spells[curspell].classes[initiator->GetPP().class_-1] <= max_level && //maximum level
|
spells[curspell].classes[initiator->GetPP().class_-1] <= max_level && //maximum level
|
||||||
spells[curspell].classes[initiator->GetPP().class_-1] >= min_level && //minimum level
|
spells[curspell].classes[initiator->GetPP().class_-1] >= min_level && //minimum level
|
||||||
spells[curspell].skill != 52 &&
|
spells[curspell].skill != 52 &&
|
||||||
( RuleB(Spells, UseCHAScribeHack) && spells[curspell].effectid[EFFECT_COUNT - 1] != 10 ) //DCBOOKMARK
|
( RuleB(Spells, UseCHAScribeHack) && spells[curspell].effectid[EFFECT_COUNT - 1] != 10 )
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if(IsDiscipline(curspell)){
|
if(IsDiscipline(curspell)){
|
||||||
|
|||||||
@ -220,7 +220,6 @@ bool Spawn2::Process() {
|
|||||||
currentnpcid = npcid;
|
currentnpcid = npcid;
|
||||||
NPC* npc = new NPC(tmp, this, x, y, z, heading, FlyMode3);
|
NPC* npc = new NPC(tmp, this, x, y, z, heading, FlyMode3);
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
npc->mod_prespawn(this);
|
npc->mod_prespawn(this);
|
||||||
|
|
||||||
npcthis = npc;
|
npcthis = npc;
|
||||||
@ -342,7 +341,6 @@ void Spawn2::DeathReset(bool realdeath)
|
|||||||
//zero out our NPC since he is now gone
|
//zero out our NPC since he is now gone
|
||||||
npcthis = NULL;
|
npcthis = NULL;
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
if(realdeath) { killcount++; }
|
if(realdeath) { killcount++; }
|
||||||
|
|
||||||
//if we have a valid spawn id
|
//if we have a valid spawn id
|
||||||
|
|||||||
@ -71,7 +71,6 @@ public:
|
|||||||
bool NPCPointerValid() { return (npcthis!=NULL); }
|
bool NPCPointerValid() { return (npcthis!=NULL); }
|
||||||
void SetNPCPointer(NPC* n) { npcthis = n; }
|
void SetNPCPointer(NPC* n) { npcthis = n; }
|
||||||
void SetTimer(uint32 duration) { timer.Start(duration); }
|
void SetTimer(uint32 duration) { timer.Start(duration); }
|
||||||
//DCBOOKMARK
|
|
||||||
uint32 GetKillCount() { return killcount; }
|
uint32 GetKillCount() { return killcount; }
|
||||||
protected:
|
protected:
|
||||||
friend class Zone;
|
friend class Zone;
|
||||||
@ -94,7 +93,6 @@ private:
|
|||||||
bool enabled;
|
bool enabled;
|
||||||
EmuAppearance anim;
|
EmuAppearance anim;
|
||||||
bool IsDespawned;
|
bool IsDespawned;
|
||||||
//DCBOOKMARK
|
|
||||||
uint32 killcount;
|
uint32 killcount;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -48,7 +48,6 @@ int Mob::GetKickDamage() {
|
|||||||
int32 mindmg = 1;
|
int32 mindmg = 1;
|
||||||
ApplySpecialAttackMod(KICK, dmg,mindmg);
|
ApplySpecialAttackMod(KICK, dmg,mindmg);
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
dmg = mod_kick_damage(dmg);
|
dmg = mod_kick_damage(dmg);
|
||||||
|
|
||||||
return(dmg);
|
return(dmg);
|
||||||
@ -70,7 +69,6 @@ int Mob::GetBashDamage() {
|
|||||||
int32 mindmg = 1;
|
int32 mindmg = 1;
|
||||||
ApplySpecialAttackMod(BASH, dmg, mindmg);
|
ApplySpecialAttackMod(BASH, dmg, mindmg);
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
dmg = mod_bash_damage(dmg);
|
dmg = mod_bash_damage(dmg);
|
||||||
|
|
||||||
return(dmg);
|
return(dmg);
|
||||||
@ -287,7 +285,6 @@ void Client::OPCombatAbility(const EQApplicationPacket *app) {
|
|||||||
int32 min_dmg = 0;
|
int32 min_dmg = 0;
|
||||||
DoAnim(anim2HSlashing);
|
DoAnim(anim2HSlashing);
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
max_dmg = mod_frenzy_damage(max_dmg);
|
max_dmg = mod_frenzy_damage(max_dmg);
|
||||||
|
|
||||||
if (GetLevel() < 51)
|
if (GetLevel() < 51)
|
||||||
@ -500,7 +497,7 @@ int Mob::MonkSpecialAttack(Mob* other, uint8 unchecked_type)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK -- This can potentially stack with changes to kick damage
|
//This can potentially stack with changes to kick damage
|
||||||
ht = ndamage = mod_monk_special_damage(ndamage, skill_type);
|
ht = ndamage = mod_monk_special_damage(ndamage, skill_type);
|
||||||
|
|
||||||
DoSpecialAttackDamage(other, skill_type, ndamage, min_dmg, ht, reuse);
|
DoSpecialAttackDamage(other, skill_type, ndamage, min_dmg, ht, reuse);
|
||||||
@ -675,7 +672,6 @@ void Mob::RogueBackstab(Mob* other, bool min_damage, int ReuseTime)
|
|||||||
ndamage = -5;
|
ndamage = -5;
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
ndamage = mod_backstab_damage(ndamage);
|
ndamage = mod_backstab_damage(ndamage);
|
||||||
|
|
||||||
DoSpecialAttackDamage(other, BACKSTAB, ndamage, min_hit, hate, ReuseTime);
|
DoSpecialAttackDamage(other, BACKSTAB, ndamage, min_hit, hate, ReuseTime);
|
||||||
@ -897,7 +893,6 @@ void Mob::DoArcheryAttackDmg(Mob* other, const ItemInst* RangeWeapon, const Item
|
|||||||
bool dobonus = false;
|
bool dobonus = false;
|
||||||
if(GetClass() == RANGER && GetLevel() > 50)
|
if(GetClass() == RANGER && GetLevel() > 50)
|
||||||
{
|
{
|
||||||
//DCBOOKMARK
|
|
||||||
int bonuschance = RuleI(Combat, ArcheryBonusChance);
|
int bonuschance = RuleI(Combat, ArcheryBonusChance);
|
||||||
|
|
||||||
bonuschance = mod_archery_bonus_chance(bonuschance, RangeWeapon);
|
bonuschance = mod_archery_bonus_chance(bonuschance, RangeWeapon);
|
||||||
@ -954,7 +949,6 @@ void Mob::DoArcheryAttackDmg(Mob* other, const ItemInst* RangeWeapon, const Item
|
|||||||
TotalDmg += other->GetAdditionalDamage(this, 0, true, ARCHERY);
|
TotalDmg += other->GetAdditionalDamage(this, 0, true, ARCHERY);
|
||||||
TotalDmg += (itembonuses.HeroicDEX / 10) + (TotalDmg * other->GetSkillDmgTaken(ARCHERY) / 100) + GetSkillDmgAmt(ARCHERY);
|
TotalDmg += (itembonuses.HeroicDEX / 10) + (TotalDmg * other->GetSkillDmgTaken(ARCHERY) / 100) + GetSkillDmgAmt(ARCHERY);
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
TotalDmg = mod_archery_damage(TotalDmg, dobonus);
|
TotalDmg = mod_archery_damage(TotalDmg, dobonus);
|
||||||
|
|
||||||
TryCriticalHit(other, ARCHERY, TotalDmg);
|
TryCriticalHit(other, ARCHERY, TotalDmg);
|
||||||
@ -974,7 +968,7 @@ void Mob::DoArcheryAttackDmg(Mob* other, const ItemInst* RangeWeapon, const Item
|
|||||||
TryWeaponProc(RangeWeapon, other, 11);
|
TryWeaponProc(RangeWeapon, other, 11);
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK - Arrow procs because why not?
|
//Arrow procs because why not?
|
||||||
if((Ammo != NULL) && GetTarget() && other && (other->GetHP() > -10))
|
if((Ammo != NULL) && GetTarget() && other && (other->GetHP() > -10))
|
||||||
{
|
{
|
||||||
TryWeaponProc(Ammo, other, 11);
|
TryWeaponProc(Ammo, other, 11);
|
||||||
@ -1126,7 +1120,6 @@ uint16 Mob::GetThrownDamage(int16 wDmg, int32& TotalDmg, int& minDmg)
|
|||||||
if(MaxDmg < minDmg)
|
if(MaxDmg < minDmg)
|
||||||
MaxDmg = minDmg;
|
MaxDmg = minDmg;
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
MaxDmg = mod_throwing_damage(MaxDmg);
|
MaxDmg = mod_throwing_damage(MaxDmg);
|
||||||
|
|
||||||
return MaxDmg;
|
return MaxDmg;
|
||||||
|
|||||||
@ -2809,7 +2809,6 @@ int Mob::CalcSpellEffectValue(uint16 spell_id, int effect_id, int caster_level,
|
|||||||
mlog(SPELLS__BARDS, "Effect value %d altered with bard modifier of %d to yeild %d", oval, mod, effect_value);
|
mlog(SPELLS__BARDS, "Effect value %d altered with bard modifier of %d to yeild %d", oval, mod, effect_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
effect_value = mod_effect_value(effect_value, spell_id, spells[spell_id].effectid[effect_id], caster);
|
effect_value = mod_effect_value(effect_value, spell_id, spells[spell_id].effectid[effect_id], caster);
|
||||||
|
|
||||||
return(effect_value);
|
return(effect_value);
|
||||||
|
|||||||
@ -440,7 +440,6 @@ bool Mob::DoCastSpell(uint16 spell_id, uint16 target_id, uint16 slot,
|
|||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
cast_time = mod_cast_time(cast_time);
|
cast_time = mod_cast_time(cast_time);
|
||||||
|
|
||||||
// ok we know it has a cast time so we can start the timer now
|
// ok we know it has a cast time so we can start the timer now
|
||||||
@ -2373,7 +2372,6 @@ int Mob::CalcBuffDuration(Mob *caster, Mob *target, uint16 spell_id, int32 caste
|
|||||||
IsBlindSpell(spell_id))
|
IsBlindSpell(spell_id))
|
||||||
res += 1;
|
res += 1;
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
res = mod_buff_duration(res, caster, target, spell_id);
|
res = mod_buff_duration(res, caster, target, spell_id);
|
||||||
|
|
||||||
mlog(SPELLS__CASTING, "Spell %d: Casting level %d, formula %d, base_duration %d: result %d",
|
mlog(SPELLS__CASTING, "Spell %d: Casting level %d, formula %d, base_duration %d: result %d",
|
||||||
@ -2479,7 +2477,6 @@ int Mob::CheckStackConflict(uint16 spellid1, int caster_level1, uint16 spellid2,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
int modval = mod_spell_stack(spellid1, caster_level1, caster1, spellid2, caster_level2, caster2);
|
int modval = mod_spell_stack(spellid1, caster_level1, caster1, spellid2, caster_level2, caster2);
|
||||||
if(modval < 2) { return(modval); }
|
if(modval < 2) { return(modval); }
|
||||||
|
|
||||||
@ -4139,7 +4136,6 @@ float Mob::ResistSpell(uint8 resist_type, uint16 spell_id, Mob *caster, bool use
|
|||||||
resist_chance += resist_modifier;
|
resist_chance += resist_modifier;
|
||||||
resist_chance += target_resist;
|
resist_chance += target_resist;
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
resist_chance = mod_spell_resist(resist_chance, level_mod, resist_modifier, target_resist, resist_type, spell_id, caster);
|
resist_chance = mod_spell_resist(resist_chance, level_mod, resist_modifier, target_resist, resist_type, spell_id, caster);
|
||||||
|
|
||||||
//Do our min and max resist checks.
|
//Do our min and max resist checks.
|
||||||
|
|||||||
@ -1016,7 +1016,6 @@ bool Client::TradeskillExecute(DBTradeskillRecipe_Struct *spec) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
chance = mod_tradeskill_chance(chance, spec);
|
chance = mod_tradeskill_chance(chance, spec);
|
||||||
|
|
||||||
if (((spec->tradeskill==75) || GetGM() || (chance > res)) || MakeRandomInt(0, 99) < AAChance){
|
if (((spec->tradeskill==75) || GetGM() || (chance > res)) || MakeRandomInt(0, 99) < AAChance){
|
||||||
@ -1111,7 +1110,6 @@ void Client::CheckIncreaseTradeskill(int16 bonusstat, int16 stat_modifier, float
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
chance_stage2 = mod_tradeskill_skillup(chance_stage2);
|
chance_stage2 = mod_tradeskill_skillup(chance_stage2);
|
||||||
|
|
||||||
if (chance_stage2 > MakeRandomFloat(0, 99)) {
|
if (chance_stage2 > MakeRandomFloat(0, 99)) {
|
||||||
|
|||||||
@ -252,7 +252,6 @@ int32 Client::TributeItem(uint32 slot, uint32 quantity) {
|
|||||||
//figure out what its worth
|
//figure out what its worth
|
||||||
int32 pts = inst->GetItem()->Favor;
|
int32 pts = inst->GetItem()->Favor;
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
pts = mod_tribute_item_value(pts);
|
pts = mod_tribute_item_value(pts);
|
||||||
|
|
||||||
if(pts < 1) {
|
if(pts < 1) {
|
||||||
|
|||||||
@ -1166,7 +1166,6 @@ bool Zone::Init(bool iStaticZone) {
|
|||||||
|
|
||||||
LogFile->write(EQEMuLog::Status, "Init Finished: ZoneID = %d, Time Offset = %d", zoneid, zone->zone_time.getEQTimeZone());
|
LogFile->write(EQEMuLog::Status, "Init Finished: ZoneID = %d, Time Offset = %d", zoneid, zone->zone_time.getEQTimeZone());
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
LoadTickItems();
|
LoadTickItems();
|
||||||
|
|
||||||
//MODDING HOOK FOR ZONE INIT
|
//MODDING HOOK FOR ZONE INIT
|
||||||
@ -1491,7 +1490,6 @@ bool Zone::Process() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
if(hotzone_timer.Check()) { UpdateHotzone(); }
|
if(hotzone_timer.Check()) { UpdateHotzone(); }
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -2672,7 +2670,6 @@ void Zone::ReloadWorld(uint32 Option){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
void Zone::LoadTickItems()
|
void Zone::LoadTickItems()
|
||||||
{
|
{
|
||||||
char errbuf[MYSQL_ERRMSG_SIZE];
|
char errbuf[MYSQL_ERRMSG_SIZE];
|
||||||
|
|||||||
@ -70,7 +70,6 @@ struct ZoneEXPModInfo {
|
|||||||
float AAExpMod;
|
float AAExpMod;
|
||||||
};
|
};
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
struct item_tick_struct {
|
struct item_tick_struct {
|
||||||
uint32 itemid;
|
uint32 itemid;
|
||||||
uint32 chance;
|
uint32 chance;
|
||||||
@ -263,7 +262,6 @@ public:
|
|||||||
|
|
||||||
LinkedList<NPC_Emote_Struct*> NPCEmoteList;
|
LinkedList<NPC_Emote_Struct*> NPCEmoteList;
|
||||||
|
|
||||||
//DCBOOKMARK
|
|
||||||
void LoadTickItems();
|
void LoadTickItems();
|
||||||
uint32 GetSpawnKillCount(uint32 in_spawnid);
|
uint32 GetSpawnKillCount(uint32 in_spawnid);
|
||||||
void UpdateHotzone();
|
void UpdateHotzone();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user