Added DMFI
Added DMFI. Set Diamond Golem appearance size to large. Full compile. Updated release archive.
This commit is contained in:
217
_module/nss/dmfi_init_inc.nss
Normal file
217
_module/nss/dmfi_init_inc.nss
Normal file
@@ -0,0 +1,217 @@
|
||||
|
||||
#include "dmfi_db_inc"
|
||||
|
||||
const int DMFI_DEFAULT_EMOTES_MUTED = FALSE;
|
||||
|
||||
int dmfiInitialize(object oUser)
|
||||
{
|
||||
//*************************************INITIALIZATION CODE***************************************
|
||||
//***************************************RUNS ONE TIME ***************************************
|
||||
|
||||
//voice stuff is module wide
|
||||
|
||||
if (GetLocalInt(GetModule(), "dmfi_initialized") != 1)
|
||||
{
|
||||
SendMessageToPC(oUser,":: DMFI Wands & Widgets System ::");
|
||||
int iLoop = 20610;
|
||||
string sText;
|
||||
while (iLoop < 20680)
|
||||
{
|
||||
sText = GetDMFIPersistentString("dmfi", "hls" + IntToString(iLoop));
|
||||
SetCustomToken(iLoop, sText);
|
||||
iLoop++;
|
||||
}
|
||||
SendMessageToAllDMs("DMFI voice custom tokens initialized.");
|
||||
|
||||
SetLocalInt(GetModule(), "dmfi_initialized", 1);
|
||||
}
|
||||
|
||||
|
||||
//remainder of settings are user based
|
||||
|
||||
if ((GetLocalInt(oUser, "dmfi_initialized")!=1) && (GetIsDM(oUser) || GetIsDMPossessed(oUser)))
|
||||
{
|
||||
//if you have campaign variables set - use those settings
|
||||
if (GetDMFIPersistentInt("dmfi", "Settings", oUser)==1)
|
||||
{
|
||||
FloatingTextStringOnCreature("DMFI Settings Restored", oUser, FALSE);
|
||||
// SendMessageToPC(oUser, "DMFI Settings Restored");
|
||||
|
||||
int n = GetDMFIPersistentInt("dmfi", "dmfi_alignshift", oUser);
|
||||
SetCustomToken(20781, IntToString(n));
|
||||
SetLocalInt(oUser, "dmfi_alignshift", n);
|
||||
SendMessageToPC(oUser, "Settings: Alignment shift: "+IntToString(n));
|
||||
|
||||
n = GetDMFIPersistentInt("dmfi", "dmfi_safe_factions", oUser);
|
||||
SetLocalInt(oUser, "dmfi_safe_factions", n);
|
||||
SendMessageToPC(oUser, "Settings: Factions (1 is DMFI Safe Faction): "+IntToString(n));
|
||||
|
||||
n = GetDMFIPersistentInt("dmfi", "dmfi_damagemodifier", oUser);
|
||||
SetLocalInt(oUser, "dmfi_damagemodifier",n);
|
||||
SendMessageToPC(oUser, "Settings: Damage Modifier: "+IntToString(n));
|
||||
|
||||
n = GetDMFIPersistentInt("dmfi","dmfi_buff_party",oUser);
|
||||
SetLocalInt(oUser, "dmfi_buff_party", n);
|
||||
if (n==1)
|
||||
SetCustomToken(20783, "Party");
|
||||
else
|
||||
SetCustomToken(20783, "Single Target");
|
||||
|
||||
SendMessageToPC(oUser, "Settings: Buff Party (1 is Party): "+IntToString(n));
|
||||
|
||||
string sLevel = GetDMFIPersistentString("dmfi", "dmfi_buff_level", oUser);
|
||||
SetCustomToken(20782, sLevel);
|
||||
SetLocalString(oUser, "dmfi_buff_level", sLevel);
|
||||
SendMessageToPC(oUser, "Settings: Buff Level: "+ sLevel);
|
||||
|
||||
n = GetDMFIPersistentInt("dmfi", "dmfi_dicebag", oUser);
|
||||
SetLocalInt(oUser, "dmfi_dicebag", n);
|
||||
|
||||
string sText;
|
||||
if (n==0)
|
||||
{
|
||||
SetCustomToken(20681, "Private");
|
||||
sText = "Private";
|
||||
}
|
||||
else if (n==1)
|
||||
{
|
||||
SetCustomToken(20681, "Global");
|
||||
sText = "Global";
|
||||
}
|
||||
else if (n==2)
|
||||
{
|
||||
SetCustomToken(20681, "Local");
|
||||
sText = "Local";
|
||||
}
|
||||
else if (n==3)
|
||||
{
|
||||
SetCustomToken(20681, "DM Only");
|
||||
sText = "DM Only";
|
||||
}
|
||||
SendMessageToPC(oUser, "Settings: Dicebag Reporting: "+sText);
|
||||
|
||||
n = GetDMFIPersistentInt("dmfi", "dmfi_dice_no_animate", oUser);
|
||||
SetLocalInt(oUser, "dmfi_dice_no_animate", n);
|
||||
SendMessageToPC(oUser, "Settings: Roll Animations (1 is OFF): "+IntToString(n));
|
||||
|
||||
float f = GetDMFIPersistentFloat("dmfi", "dmfi_reputation", oUser);
|
||||
SetLocalFloat(oUser, "dmfi_reputation", f);
|
||||
SendMessageToPC(oUser, "Settings: Reputation Adjustment: "+FloatToString(f));
|
||||
|
||||
f = GetDMFIPersistentFloat("dmfi", "dmfi_effectduration", oUser);
|
||||
SetLocalFloat(oUser, "dmfi_effectduration", f);
|
||||
SendMessageToPC(oUser, "Settings: Effect Duration: "+FloatToString(f));
|
||||
|
||||
f = GetDMFIPersistentFloat("dmfi", "dmfi_sound_delay", oUser);
|
||||
SetLocalFloat(oUser, "dmfi_sound_delay", f);
|
||||
SendMessageToPC(oUser, "Settings: Sound Delay: "+FloatToString(f));
|
||||
|
||||
f = GetDMFIPersistentFloat("dmfi", "dmfi_beamduration", oUser);
|
||||
SetLocalFloat(oUser, "dmfi_beamduration", f);
|
||||
SendMessageToPC(oUser, "Settings: Beam Duration: "+FloatToString(f));
|
||||
|
||||
f = GetDMFIPersistentFloat("dmfi", "dmfi_stunduration", oUser);
|
||||
SetLocalFloat(oUser, "dmfi_stunduration", f);
|
||||
SendMessageToPC(oUser, "Settings: Stun Duration: "+FloatToString(f));
|
||||
|
||||
f = GetDMFIPersistentFloat("dmfi", "dmfi_saveamount", oUser);
|
||||
SetLocalFloat(oUser, "dmfi_saveamount", f);
|
||||
SendMessageToPC(oUser, "Settings: Save Adjustment: "+FloatToString(f));
|
||||
|
||||
f = GetDMFIPersistentFloat("dmfi", "dmfi_effectdelay", oUser);
|
||||
SetLocalFloat(oUser, "dmfi_effectdelay", f);
|
||||
SendMessageToPC(oUser, "Settings: Effect Delay: "+FloatToString(f));
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
FloatingTextStringOnCreature("DMFI Default Settings Initialized", oUser, FALSE);
|
||||
// SendMessageToPC(oUser, "DMFI Default Settings Initialized");
|
||||
|
||||
//Setting FOUR campaign variables so 1st use will be slow.
|
||||
//Recommend initializing your preferences with no players or
|
||||
//while there is NO fighting.
|
||||
// SetLocalInt(oUser, "dmfi_initialized", 1);
|
||||
SetDMFIPersistentInt("dmfi", "Settings", 1, oUser);
|
||||
|
||||
SetCustomToken(20781, "5");
|
||||
SetLocalInt(oUser, "dmfi_alignshift", 5);
|
||||
SetDMFIPersistentInt("dmfi", "dmfi_alignshift", 5, oUser);
|
||||
SendMessageToPC(oUser, "Settings: Alignment shift: 5");
|
||||
|
||||
SetCustomToken(20783, "Single Target");
|
||||
SetLocalInt(oUser, "dmfi_buff_party", 0);
|
||||
SetDMFIPersistentInt("dmfi", "dmfi_buff_party", 0, oUser);
|
||||
SendMessageToPC(oUser, "Settings: Buff set to Single Target: ");
|
||||
|
||||
SetCustomToken(20782, "Low");
|
||||
SetLocalString(oUser, "dmfi_buff_level", "LOW");
|
||||
SetDMFIPersistentString("dmfi", "dmfi_buff_level", "LOW", oUser);
|
||||
SendMessageToPC(oUser, "Settings: Buff Level set to LOW: ");
|
||||
|
||||
SetLocalInt(oUser, "dmfi_dicebag", 0);
|
||||
SetCustomToken(20681, "Private");
|
||||
SetDMFIPersistentInt("dmfi", "dmfi_dicebag", 0, oUser);
|
||||
SendMessageToPC(oUser, "Settings: Dicebag Rolls set to PRIVATE");
|
||||
|
||||
SetLocalInt(oUser, "", 0);
|
||||
SetDMFIPersistentInt("dmfi", "dmfi_safe_factions", 0, oUser);
|
||||
SendMessageToPC(oUser, "Settings: Factions set to BW base behavior");
|
||||
|
||||
SetLocalFloat(oUser, "dmfi_reputation", 5.0);
|
||||
SetCustomToken(20784, "5");
|
||||
SetDMFIPersistentFloat("dmfi", "dmfi_reputation", 5.0, oUser);
|
||||
SendMessageToPC(oUser, "Settings: Reputation adjustment: 5");
|
||||
|
||||
SetDMFIPersistentFloat("dmfi", "dmfi_effectduration", 60.0, oUser);
|
||||
SetLocalFloat(oUser, "dmfi_effectduration", 60.0);
|
||||
SetDMFIPersistentFloat("dmfi", "dmfi_sound_delay", 0.2, oUser);
|
||||
SetLocalFloat(oUser, "dmfi_sound_delay", 0.2);
|
||||
SetDMFIPersistentFloat("dmfi", "dmfi_beamduration", 5.0, oUser);
|
||||
SetLocalFloat(oUser, "dmfi_beamduration", 5.0);
|
||||
SetDMFIPersistentFloat("dmfi", "dmfi_stunduration", 1000.0, oUser);
|
||||
SetLocalFloat(oUser, "dmfi_stunduration", 1000.0);
|
||||
SetDMFIPersistentFloat("dmfi", "dmfi_saveamount", 5.0, oUser);
|
||||
SetLocalFloat(oUser, "dmfi_saveamount", 5.0);
|
||||
SetDMFIPersistentFloat("dmfi", "dmfi_effectdelay", 1.0, oUser);
|
||||
SetLocalFloat(oUser, "dmfi_effectdelay", 1.0);
|
||||
|
||||
SendMessageToPC(oUser, "Settings: Effect Duration: 60.0");
|
||||
SendMessageToPC(oUser, "Settings: Effect Delay: 1.0");
|
||||
SendMessageToPC(oUser, "Settings: Beam Duration: 5.0");
|
||||
SendMessageToPC(oUser, "Settings: Stun Duration: 1000.0");
|
||||
SendMessageToPC(oUser, "Settings: Sound Delay: 0.2");
|
||||
SendMessageToPC(oUser, "Settings: Save Adjustment: 5.0");
|
||||
}
|
||||
}
|
||||
//********************************END INITIALIZATION***************************
|
||||
|
||||
// inits for all users (DM & player)
|
||||
if (GetLocalInt(oUser, "dmfi_initialized")!=1)
|
||||
{
|
||||
int bEmotesMuted;
|
||||
if (GetDMFIPersistentInt("dmfi", "Settings", oUser)==1)
|
||||
{
|
||||
bEmotesMuted = GetDMFIPersistentInt("dmfi", "dmfi_emotemute", oUser);
|
||||
}
|
||||
else
|
||||
{
|
||||
bEmotesMuted = DMFI_DEFAULT_EMOTES_MUTED;
|
||||
SetDMFIPersistentInt("dmfi", "dmfi_emotemute", bEmotesMuted, oUser);
|
||||
}
|
||||
SetLocalInt(oUser, "hls_emotemute", bEmotesMuted);
|
||||
SendMessageToPC(oUser, "Settings: Emotes "+(bEmotesMuted ? "muted" : "unmuted"));
|
||||
|
||||
SetLocalObject(oUser, "dmfi_VoiceTarget", OBJECT_INVALID);
|
||||
SendMessageToPC(oUser, "Settings: Voice throw target cleared");
|
||||
|
||||
SetLocalObject(oUser, "dmfi_univ_target", oUser);
|
||||
SendMessageToPC(oUser, "Settings: Command target set to self");
|
||||
|
||||
SetLocalInt(oUser, "dmfi_initialized", 1);
|
||||
}
|
||||
|
||||
return TRUE; // no errors detected
|
||||
}
|
||||
|
Reference in New Issue
Block a user