Added (2) Castle Interior overrides
Added (2) Castle Interior overrides, continued making static NPCs & stores dynamic. added more DMFI language tokens, started working on mod onEnter scripting, got NPCs to fire emotes while walking around.
This commit is contained in:
163
_module/nss/ra_mod_onenter.nss
Normal file
163
_module/nss/ra_mod_onenter.nss
Normal file
@@ -0,0 +1,163 @@
|
||||
void GivePCWands(object oPC)
|
||||
{
|
||||
// items to be give to new players
|
||||
|
||||
string sWndPCFollow = "dmfi_pc_follow";//PC Autofollow Widget
|
||||
string sWndPCDice = "dmfi_pc_dicebag";//PC Dicebag
|
||||
string sWndPCEmote = "dmfi_pc_emote";//PC Emote Wand
|
||||
|
||||
CreateItemOnObject(sWndPCFollow, oPC);
|
||||
CreateItemOnObject(sWndPCDice, oPC);
|
||||
CreateItemOnObject(sWndPCEmote, oPC);
|
||||
}
|
||||
|
||||
void GiveLangTokens(object oPC)
|
||||
{
|
||||
// Give class based language items
|
||||
if( GetLevelByClass(CLASS_TYPE_DRUID, oPC) >= 2 )
|
||||
{
|
||||
if ( GetItemPossessedBy(oPC, "hlslang_108") == OBJECT_INVALID ) // Druidic
|
||||
{
|
||||
DelayCommand(1.0, FloatingTextStringOnCreature("Druidic language token acquired.", oPC));
|
||||
CreateItemOnObject("hlslang_108", oPC);
|
||||
}
|
||||
}
|
||||
|
||||
if( GetLevelByClass(CLASS_TYPE_ROGUE, oPC) >= 2 )
|
||||
{
|
||||
if ( GetItemPossessedBy(oPC, "hlslang_9") == OBJECT_INVALID ) // Thieve's Cant
|
||||
{
|
||||
DelayCommand(1.0, FloatingTextStringOnCreature("Thieve's Cant token acquired.", oPC));
|
||||
CreateItemOnObject("hlslang_9", oPC);
|
||||
}
|
||||
}
|
||||
|
||||
// Give race based language tokens
|
||||
// TODO: Expand for PRC races.
|
||||
|
||||
if( GetRacialType(oPC) == RACIAL_TYPE_ELF )
|
||||
{
|
||||
// DelayCommand(0.5, AdjustReputation(oPC, GetObjectByTag("FACTION_ATHAS_SILVERHAND"), 90)); // Adjust faction reputation
|
||||
|
||||
if ( GetItemPossessedBy(oPC, "hlslang_1") == OBJECT_INVALID )
|
||||
{
|
||||
DelayCommand(1.0, FloatingTextStringOnCreature("Elven language token acquired.", oPC));
|
||||
CreateItemOnObject("hlslang_1", oPC);
|
||||
}
|
||||
}
|
||||
|
||||
if( GetRacialType(oPC) == RACIAL_TYPE_HALFELF )
|
||||
{
|
||||
if ( GetItemPossessedBy(oPC, "hlslang_1") == OBJECT_INVALID )
|
||||
{
|
||||
DelayCommand(1.0, FloatingTextStringOnCreature("Elven language token acquired.", oPC));
|
||||
CreateItemOnObject("hlslang_1", oPC);
|
||||
}
|
||||
}
|
||||
|
||||
if( GetRacialType(oPC) == RACIAL_TYPE_DWARF )
|
||||
{
|
||||
// DelayCommand(0.5, AdjustReputation(oPC, GetObjectByTag("ATHAS_FACTION_KLED"), 90)); // Adjust faction reputation
|
||||
|
||||
if ( GetItemPossessedBy(oPC, "hlslang_4") == OBJECT_INVALID )
|
||||
{
|
||||
DelayCommand(1.0, FloatingTextStringOnCreature("Dwarven language token acquired.", oPC));
|
||||
CreateItemOnObject("hlslang_4", oPC);
|
||||
}
|
||||
}
|
||||
|
||||
if( GetRacialType(oPC) == RACIAL_TYPE_HALFLING )
|
||||
{
|
||||
if ( GetItemPossessedBy(oPC, "hlslang_3") == OBJECT_INVALID )
|
||||
{
|
||||
DelayCommand(1.0, FloatingTextStringOnCreature("Halfling language token acquired.", oPC));
|
||||
CreateItemOnObject("hlslang_3", oPC);
|
||||
}
|
||||
}
|
||||
|
||||
if( GetRacialType(oPC) == 199 ) // Air Genasi
|
||||
{
|
||||
SetColor ( oPC, COLOR_CHANNEL_SKIN, 020);
|
||||
|
||||
if ( GetItemPossessedBy(oPC, "hlslang_101") == OBJECT_INVALID )
|
||||
{
|
||||
DelayCommand(1.0, FloatingTextStringOnCreature("Auran language token acquired.", oPC));
|
||||
CreateItemOnObject("hlslang_101", oPC);
|
||||
}
|
||||
}
|
||||
if( GetRacialType(oPC) == 200 ) // Earth Genasi
|
||||
{
|
||||
SetColor ( oPC, COLOR_CHANNEL_SKIN, 118);
|
||||
|
||||
if ( GetItemPossessedBy(oPC, "hlslang_102") == OBJECT_INVALID )
|
||||
{
|
||||
DelayCommand(1.0, FloatingTextStringOnCreature("Terran language token acquired.", oPC));
|
||||
CreateItemOnObject("hlslang_102", oPC);
|
||||
}
|
||||
}
|
||||
if( GetRacialType(oPC) == 202 ) // Fire Genasi
|
||||
{
|
||||
SetColor ( oPC, COLOR_CHANNEL_SKIN, 103);
|
||||
|
||||
if ( GetItemPossessedBy(oPC, "hlslang_104") == OBJECT_INVALID )
|
||||
{
|
||||
DelayCommand(1.0, FloatingTextStringOnCreature("Ignan language token acquired.", oPC));
|
||||
CreateItemOnObject("hlslang_104", oPC);
|
||||
}
|
||||
}
|
||||
if( GetRacialType(oPC) == 205 ) // Water Genasi
|
||||
{
|
||||
SetColor ( oPC, COLOR_CHANNEL_SKIN, 141);
|
||||
|
||||
if ( GetItemPossessedBy(oPC, "hlslang_103") == OBJECT_INVALID )
|
||||
{
|
||||
DelayCommand(1.0, FloatingTextStringOnCreature("Aquan language token acquired.", oPC));
|
||||
CreateItemOnObject("hlslang_103", oPC);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
#include "dmfi_init_inc"
|
||||
|
||||
void main()
|
||||
{
|
||||
object oPC = GetEnteringObject();
|
||||
|
||||
// Make sure PC isn't set to Plot, for reasons
|
||||
SetPlotFlag(oPC, FALSE);
|
||||
|
||||
// Reset PC size
|
||||
SetObjectVisualTransform(oPC, OBJECT_VISUAL_TRANSFORM_SCALE, 1.0f);
|
||||
|
||||
// Initialize DMFI
|
||||
dmfiInitialize(oPC);
|
||||
|
||||
// Give PC DMFI gear
|
||||
|
||||
if (GetXP(oPC) == 0)
|
||||
{
|
||||
GivePCWands(oPC);
|
||||
}
|
||||
|
||||
// Begin BESIE Spawn System
|
||||
|
||||
int bBESIEWidget;
|
||||
|
||||
if(GetIsDM(oPC))
|
||||
{
|
||||
SetLocalInt(GetModule(), "re_" + GetPCPlayerName(oPC), TRUE);
|
||||
object oItem = GetFirstItemInInventory(oPC);
|
||||
while(GetIsObjectValid(oItem))
|
||||
{
|
||||
if(GetTag(oItem) == "BESIEWidget") bBESIEWidget = TRUE;
|
||||
oItem = GetNextItemInInventory(oPC);
|
||||
}
|
||||
if(!bBESIEWidget) CreateItemOnObject("besiewidget", oPC);
|
||||
}
|
||||
else DeleteLocalInt(GetModule(), "re_" + GetName(oPC));
|
||||
|
||||
// End BESIE Spawn System
|
||||
|
||||
}
|
Reference in New Issue
Block a user