UW2_PRC8/_module/nss/tell_time_ou.nss
Jaysyn904 5197ad9a4d Initial upload
Initial upload
2023-09-25 20:24:01 -04:00

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