WoR_PRC8/_module/nss/rhun_on_cl_enter.nss

85 lines
2.7 KiB
Plaintext
Raw Permalink Normal View History

2025-04-03 11:49:34 -04:00
////////////////////////////////////////////////////////////////////////////////
//
// Updated on: 7.24.09
//
// Updated By: Birdman076
//
// Reason: Server message
//
////////////////////////////////////////////////////////////////////////////////
#include "persist_loc"
#include "x0_i0_campaign"
#include "taip_r_header"
//#include "sha_subr_methds"
#include "dem_color_text"
#include "sha_artif_syste2"
int CheckHasDied(object oPC)
{
return GetCampaignDBInt(oPC, "PLAYERHASDIED");
}
void main()
{
object oPC = GetEnteringObject();
int nCurrentXP = GetXP(oPC);
// Check for Database item on player
object oDatabase = GetItemPossessedBy(oPC, "Database");
AddJournalQuestEntry("xprules", 1, oPC, TRUE, FALSE, FALSE);
AddJournalQuestEntry("lvl_adj", 1, oPC, TRUE, FALSE, FALSE);
if (!GetIsObjectValid(oDatabase))
{
// Now create the database on the PC
CreateItemOnObject("database", oPC, 1);
}
if (nCurrentXP == 0)
{
// Now create the gift on the PC
CreateItemOnObject("bootsofrhunning", oPC, 1);
}
if(!GetLocalInt(oPC, "RHUN_ONCE"))
{
DelayCommand (1.0, SendMessageToPC(oPC, ColorText("Welcome to the Rhuniverse!", "red")));
DelayCommand (1.5, SendMessageToPC(oPC, ColorText("PRC'd by: Jaysyn, Hosted by: Altpersona, build v1.15[prc]", "green")));
DelayCommand (2.0, SendMessageToPC(oPC, ColorText("Check with Doc OOC in the OOC area to the South East corner of the gateway for more information.", "cyan")));
DelayCommand (2.2, SendMessageToPC(oPC, ColorText("You will be teleported to you last saved location shortly.", "cyan")));
}
//SubraceOnClientEnter(); //:: Handled by the PRC now
if(!GetLocalInt(oPC, "RHUN_ONCE"))
{
SendMessageToPC(oPC, "Checking faction.");
ExecuteScript("s_factions", oPC);
SetLocalInt(oPC, "RHUN_ONCE", TRUE);
}
//CheckItemLevelRestriction(oPC); //:: Handled by prc_irl.nss now
//Jump code. Send them where they last rested. || This is handled by the PRC now
// DelayCommand(25.0, AssignCommand(oPC, ClearAllActions() ) );
// DelayCommand(25.5, LodPlayer(oPC));
if(CheckHasDied(oPC))
{
object oPlayer = oPC;
DelayCommand(7.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, SupernaturalEffect(EffectDeath()), oPlayer));
SendMessageToPC(oPlayer, "You have died previously, and your death did not cause any consequence.");
if(GetTag(GetArea(oPlayer)) == "GatewaytoRhun")
{
PopUpDeathGUIPanel(oPlayer, TRUE, FALSE);
}
else
{
ExecuteScript("s_pc_death", oPlayer);
}
}
DelayCommand(10.0, ExecuteScript("rude_deathrow", oPC));
}