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)); } }