mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-17 07:18:37 +00:00
Dungeon Crawl custom code merge
Added numerous modding hooks. Added rules: Character:KeepLevelOverMax - Don't delevel a character if they are found to be over max level rule. Spells:UseCHAScribeHack - Optionally omit spells with CHA in effect12 when using scribespells and traindiscs Combat:MonkACBonusWeight - Adjust the weight threshold for monk AC bonus Combat:ClientStunLevel - Adjust the level clients kicks and bashes start to roll for stuns Combat;QuiverWRHasteDiv - Adjust the divisor applied to weight reduction for haste calcs Combat:UseArcheryBonusRoll - Make archery stationary bonus a roll Combat:ArcheryBonusChance - Archery stationary bonus chance Added account flags and associated perl wrappers Added EVENT_ITEM_TICK for interactive items Added EVENT_DUEL_WIN and EVENT_DUEL_LOSE, which exports $enemyname and $enemyid Added timer and interval to console worldshutdown command Added EQW interface for worldshutdown and server-wide messages
This commit is contained in:
+9
-2
@@ -68,7 +68,7 @@ Spawn2::Spawn2(uint32 in_spawn2_id, uint32 spawngroup_id,
|
||||
float in_x, float in_y, float in_z, float in_heading,
|
||||
uint32 respawn, uint32 variance, uint32 timeleft, uint32 grid,
|
||||
uint16 in_cond_id, int16 in_min_value, bool in_enabled, EmuAppearance anim)
|
||||
: timer(100000)
|
||||
: timer(100000), killcount(0)
|
||||
{
|
||||
spawn2_id = in_spawn2_id;
|
||||
spawngroup_id_ = spawngroup_id;
|
||||
@@ -219,6 +219,10 @@ bool Spawn2::Process() {
|
||||
|
||||
currentnpcid = npcid;
|
||||
NPC* npc = new NPC(tmp, this, x, y, z, heading, FlyMode3);
|
||||
|
||||
//DCBOOKMARK
|
||||
npc->mod_prespawn(this);
|
||||
|
||||
npcthis = npc;
|
||||
npc->AddLootTable();
|
||||
npc->SetSp2(spawngroup_id_);
|
||||
@@ -328,7 +332,7 @@ void Spawn2::ForceDespawn()
|
||||
}
|
||||
|
||||
//resets our spawn as if we just died
|
||||
void Spawn2::DeathReset()
|
||||
void Spawn2::DeathReset(bool realdeath)
|
||||
{
|
||||
//get our reset based on variance etc and store it locally
|
||||
uint32 cur = resetTimer();
|
||||
@@ -338,6 +342,9 @@ void Spawn2::DeathReset()
|
||||
//zero out our NPC since he is now gone
|
||||
npcthis = NULL;
|
||||
|
||||
//DCBOOKMARK
|
||||
if(realdeath) { killcount++; }
|
||||
|
||||
//if we have a valid spawn id
|
||||
if(spawn2_id)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user