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
+19 -1
View File
@@ -93,7 +93,10 @@ const char *QuestEventSubroutines[_LargestEventID] = {
"EVENT_CLICK_OBJECT",
"EVENT_DISCOVER_ITEM",
"EVENT_DISCONNECT",
"EVENT_CONNECT"
"EVENT_CONNECT",
"EVENT_ITEM_TICK",
"EVENT_DUEL_WIN",
"EVENT_DUEL_LOSE"
};
extern Zone* zone;
@@ -739,6 +742,13 @@ void PerlembParser::EventCommon(QuestEventID event, uint32 objid, const char * d
ExportVar(packagename.c_str(), "itemname", iteminst->GetItem()->Name);
break;
}
case EVENT_ITEM_TICK:
{
ExportVar(packagename.c_str(), "itemid", objid);
ExportVar(packagename.c_str(), "itemname", iteminst->GetItem()->Name);
ExportVar(packagename.c_str(), "invslot", extradata);
break;
}
case EVENT_ITEM_CLICK_CAST:
case EVENT_ITEM_CLICK: {
ExportVar(packagename.c_str(), "itemid", objid);
@@ -796,6 +806,14 @@ void PerlembParser::EventCommon(QuestEventID event, uint32 objid, const char * d
break;
}
case EVENT_DUEL_WIN:
case EVENT_DUEL_LOSE:
{
ExportVar(packagename.c_str(), "enemyname", data);
ExportVar(packagename.c_str(), "enemyid", extradata);
break;
}
//nothing special about these events
case EVENT_DEATH:
case EVENT_SPAWN: