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:
Tabasco
2013-04-24 15:58:51 -05:00
parent b15cb08f54
commit 56490400ca
45 changed files with 1321 additions and 156 deletions
+9 -2
View File
@@ -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)
{