211 lines
5.1 KiB
Plaintext
211 lines
5.1 KiB
Plaintext
void main()
|
|
{
|
|
object oMe = OBJECT_SELF;
|
|
int nMonth = GetCalendarMonth();
|
|
int nDay = GetCalendarDay();
|
|
int nHour = GetTimeHour();
|
|
int nDHr;
|
|
int nTHr;
|
|
string sSufix;
|
|
string sSufix2;
|
|
string sSufix3;
|
|
|
|
//The color set in the time_keeper script..
|
|
string sColor = GetLocalString(oMe, "MODULECOLOR");
|
|
|
|
//Hour
|
|
if(nHour>12)
|
|
{ nDHr = nHour - 12; }
|
|
else if(nHour==0)
|
|
{ nDHr = 12; }
|
|
else
|
|
{ nDHr = nHour; }
|
|
|
|
//Hour Suffix
|
|
if(nDHr==3)
|
|
{ sSufix = "rd "; }
|
|
else if(nDHr==2)
|
|
{ sSufix = "nd "; }
|
|
else if(nDHr==1)
|
|
{ sSufix = "rst "; }
|
|
else
|
|
{ sSufix = "th "; }
|
|
|
|
//Day Suffix
|
|
if(nDay==3)
|
|
{ sSufix2 = "rd "; }
|
|
else if(nDay==2)
|
|
{ sSufix2 = "nd "; }
|
|
else if(nDay==1)
|
|
{ sSufix2 = "rst "; }
|
|
else
|
|
{ sSufix2 = "th "; }
|
|
|
|
//Month Suffix
|
|
if(nMonth==3)
|
|
{ sSufix3 = "rd "; }
|
|
else if(nMonth==2)
|
|
{ sSufix3 = "nd "; }
|
|
else if(nMonth==1)
|
|
{ sSufix3 = "rst "; }
|
|
else
|
|
{ sSufix3 = "th "; }
|
|
|
|
string sMsg;
|
|
sMsg = sColor;
|
|
sMsg += "It's currently the ";
|
|
sMsg += IntToString(nDHr);
|
|
sMsg += sSufix;
|
|
sMsg += " Hour, of the ";
|
|
sMsg += IntToString(nDay);
|
|
sMsg += sSufix2;
|
|
sMsg += " Day, in the ";
|
|
sMsg += IntToString(nMonth);
|
|
sMsg += sSufix3;
|
|
sMsg += " Month, of the Year ";
|
|
sMsg += IntToString(GetCalendarYear());
|
|
|
|
///Anti Spamming Message System :)
|
|
if(GetLocalInt(GetLastUsedBy(), "TIMESPAM")==1)
|
|
{
|
|
SetLocalInt(GetLastUsedBy(), "TIMESPAM", 2);
|
|
AssignCommand(oMe, ActionSpeakString("I told you the time, now get lost.", TALKVOLUME_TALK));
|
|
}
|
|
else if(GetLocalInt(GetLastUsedBy(), "TIMESPAM")==2)
|
|
{
|
|
SetLocalInt(GetLastUsedBy(), "TIMESPAM", 3);
|
|
AssignCommand(oMe, ActionSpeakString("Are you deaf? I said get lost!", TALKVOLUME_TALK));
|
|
}
|
|
else if(GetLocalInt(GetLastUsedBy(), "TIMESPAM")==3)
|
|
{
|
|
SetLocalInt(GetLastUsedBy(), "TIMESPAM", 3);
|
|
AssignCommand(oMe, ActionSpeakString("So, you wish to play? Well, Let's play then!", TALKVOLUME_TALK));
|
|
|
|
|
|
//Torture the offendee!
|
|
object oPC = GetLastUsedBy();
|
|
|
|
if (!GetIsPC(oPC)) return;
|
|
|
|
object oTarget;
|
|
oTarget = oPC;
|
|
|
|
|
|
int nInt;
|
|
nInt = GetObjectType(oTarget);
|
|
|
|
effect eEffect;
|
|
eEffect = EffectVisualEffect(VFX_FNF_WORD);
|
|
|
|
if (nInt != OBJECT_TYPE_WAYPOINT)
|
|
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oTarget));
|
|
else
|
|
DelayCommand(1.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget)));
|
|
|
|
oTarget = oPC;
|
|
|
|
DelayCommand(1.2,AssignCommand(oTarget, ActionMoveAwayFromObject(OBJECT_SELF, TRUE, 20.0f)));
|
|
|
|
oTarget = oPC;
|
|
|
|
eEffect = EffectTurned();
|
|
|
|
eEffect = SupernaturalEffect(eEffect);
|
|
|
|
DelayCommand(2.0, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 30.0f));
|
|
|
|
oTarget = oPC;
|
|
|
|
nInt = GetObjectType(oTarget);
|
|
|
|
eEffect = EffectVisualEffect(VFX_FNF_SCREEN_SHAKE);
|
|
|
|
if (nInt != OBJECT_TYPE_WAYPOINT)
|
|
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oTarget));
|
|
else
|
|
DelayCommand(3.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget)));
|
|
|
|
|
|
oTarget = oPC;
|
|
|
|
nInt = GetObjectType(oTarget);
|
|
|
|
eEffect = EffectVisualEffect(VFX_FNF_UNDEAD_DRAGON);
|
|
|
|
if (nInt != OBJECT_TYPE_WAYPOINT)
|
|
DelayCommand(4.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oTarget));
|
|
else
|
|
DelayCommand(4.5, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget)));
|
|
|
|
oTarget = oPC;
|
|
eEffect = EffectSlow();
|
|
|
|
eEffect = SupernaturalEffect(eEffect);
|
|
|
|
DelayCommand(5.2, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 60.0f));
|
|
|
|
oTarget = oPC;
|
|
nInt = GetObjectType(oTarget);
|
|
|
|
eEffect = EffectVisualEffect(VFX_IMP_HARM);
|
|
|
|
if (nInt != OBJECT_TYPE_WAYPOINT)
|
|
DelayCommand(7.2, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oTarget));
|
|
else
|
|
DelayCommand(7.2, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget)));
|
|
|
|
oTarget = oPC;
|
|
//take all but 80 life (if they have that much
|
|
eEffect = EffectDamage(GetCurrentHitPoints(oTarget)-80, DAMAGE_TYPE_NEGATIVE, DAMAGE_POWER_ENERGY);
|
|
|
|
DelayCommand(7.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oPC));
|
|
|
|
|
|
object oCaster;
|
|
oCaster = OBJECT_SELF;
|
|
|
|
oTarget = oPC;
|
|
|
|
DelayCommand(8.0, AssignCommand(oCaster, ActionCastSpellAtObject(SPELL_ISAACS_GREATER_MISSILE_STORM, oTarget, METAMAGIC_ANY, TRUE, 40, PROJECTILE_PATH_TYPE_DEFAULT, TRUE)));
|
|
|
|
oTarget = oPC;
|
|
|
|
nInt = GetObjectType(oTarget);
|
|
|
|
eEffect = EffectVisualEffect(VFX_DUR_DARKNESS);
|
|
|
|
if (nInt != OBJECT_TYPE_WAYPOINT)
|
|
DelayCommand(9.0, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 26.0));
|
|
else
|
|
DelayCommand(9.0, ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eEffect, GetLocation(oTarget), 26.0));
|
|
|
|
oTarget = oPC;
|
|
nInt = GetObjectType(oTarget);
|
|
|
|
eEffect = EffectVisualEffect(VFX_FNF_SUNBEAM);
|
|
|
|
if (nInt != OBJECT_TYPE_WAYPOINT)
|
|
DelayCommand(10.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oTarget));
|
|
else
|
|
DelayCommand(10.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget)));
|
|
|
|
DelayCommand(10.0, ActionSpeakString("That will teach you to mess with me!"));
|
|
|
|
oTarget = oPC;
|
|
eEffect = EffectBlindness();
|
|
|
|
eEffect = SupernaturalEffect(eEffect);
|
|
|
|
DelayCommand(11.0, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 19.0f));
|
|
|
|
}
|
|
|
|
else
|
|
{
|
|
SetLocalInt(GetLastUsedBy(), "TIMESPAM", 1);
|
|
DelayCommand(30.0, SetLocalInt(GetLastUsedBy(), "TIMESPAM", 0));
|
|
AssignCommand(oMe, ActionSpeakString(sMsg, TALKVOLUME_TALK));
|
|
}
|
|
|
|
}
|