//Script Name: everpcrest /////////////////////////////////////// //Created by Genisys / Guile //Created on: 3/11/08 (Updated 8/10/08 ////////////////////////////////////// /* This is my premier OnPlayerRest Module Properties Event script to handle rest within all of my module.. */ ////////////////////////////////////// //Redundant Variable effect eEffect; //Main Script void main() { //Declare Major Variables object oPC=GetLastPCRested(); object oPP = oPC; location lSaved = GetLocation(oPP); int nRestType=GetLastRestEventType(); int nHD = GetHitDice(oPC); //Determine which Event has happened and run the script for that event. switch (nRestType) { ///////////////////////////////////////////////////////////////////////////// case REST_EVENTTYPE_REST_STARTED: { //Dark the screen out on the PC.. FadeToBlack(oPC, FADE_SPEED_FAST); //Your code goes here. } break; //////////////////////////////////////////////////////////////////////////// case REST_EVENTTYPE_REST_FINISHED: { //remove the black out from thier screen.. FadeFromBlack(oPC, FADE_SPEED_SLOW); //Store the PC's location, so they can come back here after relogging SetCampaignLocation(GetName(GetModule()), "SAVED_LOC", lSaved, oPP); //Tell the PC their location was saved.. SendMessageToPC(oPP, "Location Saved!"); FloatingTextStringOnCreature("Your character was saved.", oPC); //Delete the // below to activate autosave when pc's finish resting. // DelayCommand(1.0, ExportSingleCharacter(oPC)); if(nHD == 40) { //If the player is Legendary Level 60 give them a cool power! if(GetXP(oPC) >5000000) { //The legendary character is immune to death! eEffect = EffectImmunity(IMMUNITY_TYPE_ABILITY_DECREASE); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oPC); //The legendary character is immune to poison! eEffect = EffectImmunity(IMMUNITY_TYPE_KNOCKDOWN); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oPC); } //Make ALL level 40s have 40% concealment //Make them harder to hit 40% miss chance... eEffect = EffectConcealment(40); eEffect = SupernaturalEffect(eEffect); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oPC); //Apply the Ghost Like Visual to all Level 40 PCs DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, SupernaturalEffect(EffectVisualEffect(VFX_DUR_GLOW_WHITE)), oPC)); } //if the PC is immortal (has the immotoken) if (GetItemPossessedBy(oPC, "immotoken")!= OBJECT_INVALID) { //See this script to adjust the immortal options.. ExecuteScript("powerimmortal", oPC); } //Your code goes here. } break; //////////////////////////////////////////////////////////////////////// case REST_EVENTTYPE_REST_CANCELLED: { FloatingTextStringOnCreature("Your character was not saved!", oPC); FadeFromBlack(oPC, FADE_SPEED_MEDIUM); //Your code goes here. } break; ///////////////////////////////////////////////////////////////////////// default: //You will probably never see this message.. SendMessageToPC(oPC, "If you see this message tell the DMs there is an error in the rest event script."); //Switch Statement end.. } //Main Script end }