Jump to content


Photo

RegainPaladinHood() script help


  • Please log in to reply
2 replies to this topic

#1 Mornmagor

Mornmagor
  • Member
  • 2 posts

Posted 27 October 2012 - 12:07 AM

Hello folks :]

I recently involved myself with trying to learn how to mod certain things in the game, but truth be told, although i'm slowly getting the hang of this, i have some serious trouble regarding an issue.

I made a kit for Paladins, a darker type of paladin, my version of the antipaladin if you want.

What i want to do is script it so that when the guy falls, he regains his paladinhood immediately, kind of like when you regain your status in the paladin stronghold quest if you're fallen.

I'm going to assume that RegainPaladinHood() sets your rep back to 10 as well, although i'm not sure.

So far i'm thinking of scripting it like this :

IF
  Kit(Myself,AAA) // If AAA is the name of the Kit
  FallenPaladin(Myself)
   // In this line i don't know what to put about reputation
   // Again i don't know if i should put another line, like a global something, i have no idea, i think it should work without it?
THEN
  RESPONSE #100
RegainPaladinHood() // Or maybe ActionOverride(Myself,RegainPaladinHood()) ?

I honestly have no idea, i tried to make it work but it won't :/

The action.ids file is in the override folder.

Any help would be greatly appreciated :]

I feel like i've stepped in an area beyond my comprehension for now, but i still don't want to give up D:

Edit: Supposedly adding this to the BALDUR.BCS file should work :
IF
  FallenPaladin(Player1)
  OR(3)
  Alignment(Player1,LAWFUL_EVIL)
  Alignment(Player1,NEUTRAL_EVIL)
  Alignment(Player1,CHAOTIC_EVIL)
THEN
  RESPONSE #100
    ActionOverride(Player1,RegainPaladinHood())
END

But it still doesn't work, i have no idea what to do to make it work :/

Edited by Mornmagor, 27 October 2012 - 03:17 AM.


#2 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 27 October 2012 - 01:41 PM

Is player1 the fallen paladin? If not, you'll need a block for player1-6 there instead. Also, those OR checks are not really necessary (assuming a paladin could be neutral and still fall). You'll also need a Kit() check for your kit, otherwise every fallen paladin will immediately regain paladinhood. If it doesn't reset reputation (I'm not sure) you'll need a ReputationSet() command too. See iesdp.gibberlings3.net for triggers and actions - should have all the info you need.

What I see the problem might be is that paladins automatically fall if not good (or evil anyway), therefore that block will always loop, because they'll always fall, regain paladinhood, refall etc. You'll need to test that. It really might make more sense making a fighter kit that simulates antipaladinhood (like a blackguard or whatever).

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#3 Mornmagor

Mornmagor
  • Member
  • 2 posts

Posted 29 October 2012 - 06:07 AM

Hey Miloch, thanks for the answer, unfortunetely, i can't make the script to work anyway to test how to do things, i know that regainpaladinhood sets rep to 10, and that evil paladins don't fall immediately, for some reason the game only makes you fall if your alignment shifts to neutral evil in the hell trials.

But only because of the evil choice, not the alignment itself, for some reason.

Unfortunetely, i dropped the idea, i created the kit fine, but it will still have to fall at 6 rep, since i can't make the game read the script anyway. I am probably doing something wrong in the basics.

Thanks again.