(Greater) Sanctuary Fix without Gimp

Post your tips, ideas for improvements, requests for new features, etc. here
Locked
Terminal Insanity
Newbie Helper
Posts: 348
Joined: Thu Nov 27, 2003 1:24 pm
Location: I am Jacks hate.

(Greater) Sanctuary Fix without Gimp

Post by Terminal Insanity »

Why not leave a decent save on regular sanc so its at least more usable then Invisability, but...
For Greater Sanc have NO save. You are completly undetectable untill you make a hostile move. "but its exploitable!" well instead of literaly turning it into the equivalent of a lvl2 spell... Make it so you can only cast Greater Sanc when no enemys are near?

This way a mage cannot sanc/igms/sanc/igms, and its not gimped, and its usable again, and worthey of a lvl8 spell slot

Lokey
-2 Penalty in Daylight
Posts: 3094
Joined: Mon Dec 16, 2002 6:49 pm
Contact:

Post by Lokey »

It suxxors doesn't give us much to work with--what is it doing in game? Is the level 2 spell too powerful?

-----

Here's how you can get Bioware etherealness into the game:

1) Donate in the $1000 range or a comp similar too our current servers: you get the Bioware version with all the cruise control you want. Or we'll plot your pcs, give you permanent invisibility or something else.

2) Donate in the $50 000 range--we'll make a corresponding ethereal plane area for each ingame area and shadow real world objects into the ethereal plane and so forth. We'll make some eerie Ethereal Plane sounds and visuals too.

-----

Regardless, Etherealness isn't directly doable in Aurora (you can rewrite the engine as a 3rd option) and just shouldn't have been put in the game (along with Bigby's which could have been done right, Black Blade of Disaster...probably some others).
Tep wrote:I login and there's a dwarf to kill. You can't ask for much more than that.
Alkapwn wrote:NC has the most amazing melee build there is. Its a friggin unstopable juggernaut of pain.

Terminal Insanity
Newbie Helper
Posts: 348
Joined: Thu Nov 27, 2003 1:24 pm
Location: I am Jacks hate.

Post by Terminal Insanity »

it cant possibly be that hard.
It just cant.

At the spot it calls EffectEtherial... just do a quick check if any enemys are in the area, if so, end the script.

The code for that is more then likely already in the bioware code for use with something else... just cut+paste? lol

But honestly... did you even read the suggestion or just see "fix" and "sanctuary"...

If something this simple cant be done... lol sorry but it CAN be done. Theres no reason why the simple check cant be added. You added a Will save to it, remove that and just check for enemys instead. Finished. Unexploitable.

Terminal Insanity
Newbie Helper
Posts: 348
Joined: Thu Nov 27, 2003 1:24 pm
Location: I am Jacks hate.

Post by Terminal Insanity »

For determining if a char can cast sanc...
http://www.nwnlexicon.com/compiled/func ... ombat.html

For checking if GS should be dispelled due to PP...
http://www.nwnlexicon.com/compiled/func ... urbed.html

Lokey
-2 Penalty in Daylight
Posts: 3094
Joined: Mon Dec 16, 2002 6:49 pm
Contact:

Post by Lokey »

You can donate in the million dollar range and get a license to do whatever you want to the engine too ;)

-----

Inventory item disturbed and related functions are more bugged than the Lexicon states--it's an old entry. Even so, it's an after-the-fact fix...

The only way I can think of to do those checks is through a maintainance routine that you fire every 0.5 second or less. Possibly...I think there are some action modes that can't be caught no matter what you do. Assuming you can catch everything you need to, it's still a lot of testing to make it work right. Here's something quick that misses tons of things--think it'll take you 5 seconds to find a way around it. Save as x0_s0_ether in a module and mess around.

Code: Select all

//::///////////////////////////////////////////////
//:: Etherealness
//:: x0_s0_ether.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
    Like sanctuary except almost always guaranteed
    to work.
    Lasts one turn per level.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Jan 7, 2002
//:://////////////////////////////////////////////

#include "x2_inc_spellhook"
#include "x0_i0_spells"

void EtherealCheck(object oCaster)
{
    SendMessageToPC(oCaster, "<c ê >Checking for G Sanc cheese</c>");

    if(!GetHasSpellEffect(SPELL_ETHEREALNESS))
    {
        SendMessageToPC(oCaster, "<c  ê>Ending G Sanc check</c>");
        return;
    }

    int nMode = GetCurrentAction(oCaster);

    if(nMode == ACTION_ANIMALEMPATHY ||
       nMode == ACTION_CASTSPELL ||
       nMode == ACTION_DISABLETRAP ||
       nMode == ACTION_EXAMINETRAP ||
       nMode == ACTION_FLAGTRAP ||
       nMode == ACTION_ITEMCASTSPELL ||
       nMode == ACTION_OPENDOOR ||
       nMode == ACTION_OPENLOCK ||
       nMode == ACTION_PICKPOCKET ||
       nMode == ACTION_PICKUPITEM ||
       nMode == ACTION_SETTRAP ||
       nMode == ACTION_USEOBJECT)
    {
        SendMessageToPC(oCaster, "<cê  >You can't do that and be ethereal, punk</c>");
        RemoveSpellEffects(SPELL_ETHEREALNESS, oCaster, oCaster);
    }

    DelayCommand(0.5, EtherealCheck(oCaster));
}

void main()
{

/*
  Spellcast Hook Code
  Added 2003-06-20 by Georg
  If you want to make changes to all spells,
  check x2_inc_spellhook.nss to find out more

*/

    if (!X2PreSpellCastCode())
    {
    // If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
        return;
    }

// End of Spell Cast Hook


    //Declare major variables
    object oTarget = GetSpellTargetObject();
    effect eVis = EffectVisualEffect(VFX_DUR_SANCTUARY);
    effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
    effect eSanc = EffectEthereal();

    effect eLink = EffectLinkEffects(eVis, eSanc);
    eLink = EffectLinkEffects(eLink, eDur);

    int nDuration = GetCasterLevel(OBJECT_SELF);
    //Enter Metamagic conditions
    int nMetaMagic = GetMetaMagicFeat();
    if (nMetaMagic == METAMAGIC_EXTEND)
    {
        nDuration = nDuration *2; //Duration is +100%
    }
    //Fire cast spell at event for the specified target
    SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_ETHEREALNESS, FALSE));
    //Apply the VFX impact and effects
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, TurnsToSeconds(nDuration));

    DelayCommand(1.1, EtherealCheck(oTarget));
}
Tep wrote:I login and there's a dwarf to kill. You can't ask for much more than that.
Alkapwn wrote:NC has the most amazing melee build there is. Its a friggin unstopable juggernaut of pain.

User avatar
IcemanXV
Newbie Helper
Posts: 252
Joined: Tue Dec 17, 2002 10:32 pm
Location: MI
Contact:

Post by IcemanXV »

Ah yes, dreaded onHeartbeat effects and such make the server do way more cycles than warrants a decent spell fix.

I'm sure with enough brainstorming something can be accomplished. Maybe fix the DC to a spell equivalent to others. Spell level + 10 + wis/int/cha bonus. So it becomes more useful the higher you get. Low levels will get a good benefit, with it tapering off at higher levels, depending on your foes.

This has some good effects, for the fact that most of the time casters use this stuff to run from melee chars. Melee chars usually have low will saves unless you're a battle cleric, in which case i hate you ;) A trained caster/magekiller won't be as easily fooled by this spell, but you can probably pull it off on most melee types that lack in the will department.

Plus, since clerics get it earlier, it will have a lower save for them by 2 :)

Gil-Este
Newbie Helper
Posts: 280
Joined: Mon Dec 29, 2003 11:09 pm

Post by Gil-Este »

so i've never played in a mod with the generic, canned bioware version of GS, but isn't it at least semisafe to assume the canned version works like etherealness is supposed to? ok i guess it is a bit much to expect from bioware, so if that is not the case, ignore the rest of the post, but if it is, why not just add like three lines of code to check on casting for whether the PC is near any enemies?
O heat, dry up my brains! Tears seven times salt
Burn out the sense and virtue of mine eyes!

JesterOI
Resident Spam King
Posts: 1016
Joined: Wed Jan 15, 2003 4:14 am
Location: SPAM!!!ville
Contact:

Post by JesterOI »

How about make Greater Sanctuary make you ethereal, but make the spell do this:

Physical Damage Immunities: +75%
Elemental Damage Immunities: -25%
Movement Speed: -50%
Concealment: +50%
Duration: 1 turn / level
Attacking or Casting ends the spell.

Or something like that.
LVL 69 LFGS!!!
Image
Image
The Hasselhoff 4 3v3r!!! Metis n3v3r!!!

DrakhanValane
Arrogant Snob
Posts: 1064
Joined: Thu Jan 02, 2003 7:25 pm
Location: Five Minutes Before the End of Eternity (or Maryland, take your pick)
Contact:

Post by DrakhanValane »

throw in a 100% casting failure? heheh
If you tilt your head far enough and squint hard enough, anything becomes as simple or complex as you'd like--regardless of whether it is or not. -- A lesson learned from Stephen Wolfram's A New Kind of Science

JesterOI
Resident Spam King
Posts: 1016
Joined: Wed Jan 15, 2003 4:14 am
Location: SPAM!!!ville
Contact:

Post by JesterOI »

DrakhanValane wrote:throw in a 100% casting failure? heheh
Good one! Add what Drak said.
LVL 69 LFGS!!!
Image
Image
The Hasselhoff 4 3v3r!!! Metis n3v3r!!!

Locked

Return to “NS4 Ideas and Suggestions”