Jump to content

Are my assumptions about this script correct? (Companion)


WaffleCheesebread

Recommended Posts

I'm making Boone weaker. I already did it, it seemed to work, but then I double checked and found a problem. What I did was I made his level multiplier .40, instead of 1.00. The result is that he's always .40 your level, and thus weaker, but still pretty damn strong the stronger you get.

 

BUT!

 

His script includes the following:

 

;set up base stats

if (bLoadedOnce == 0)

SetActorValue guns 75;

SetActorValue energyweapons 60;

SetActorValue meleeweapons 55;

SetActorValue unarmed 40;

SetActorValue medicine 50;

SetActorValue sneak 100;

set bLoadedOnce to 1;

endif

 

Is this undermining that change? Is it automatically setting his base stats to NOT be auto-calculated? My change of .40 is based on what the stat screen shows his stats will be. If I remove this section of the script, will his stats at any given level match what the stat box in the editor says they are?

Link to comment
Share on other sites

i can't say for sure, but i don't think that the script sets his skills per level

according to the line before the script, this sets the base stats, not the current stats

now, i'm not sure about the companion leveling system, so i'm not sure if their stats ever increase with levels, but as it seems, it shouldn't cause a problem

 

again, i'm not sure, so i can't really tell, but this makes sense to me........

 

maybe if you could write the whole script (the whole Begin\End block) i (or someone else) could give you a better answer

Link to comment
Share on other sites

When you edit a companion's stats, you can select the lowest and highest level where stats are auto-calculated. As you change the lowest level value, the stats on the screen change. That tells me that yes, their stats do change based on their levels.

 

But the stats for level 5 were lower than the stats that script seems to setup. The base stats seem to be set independently based on his TAG skills and SPECIAL.

 

Which is why I want to get rid of this part of the script- so that ONLY his Tag skills, SPECIAL, and *my* level will determine what his stats are.

 

This is becaues, for example, at level 10, the default boone (also level 10) will have 71 guns (according to the stat page), and at level 10 with .40 multiplier boone (at level 4) will only have 51. It's a lot more balanced. But if his stats are being set by the script it's throwing off that balance.

Link to comment
Share on other sites

That was the whole part of that bit, but here's the whole script:

 

scn BooneSCRIPT

 

short HasBeenHired

short WeaponOut

short CombatStyleRanged

short CombatStyleMelee

short IsFollowingDefault

short IsFollowingShort

short IsFollowingLong

short FollowerSwitchAggressive ; 0 = Passive (wait for player), 1 = Aggressive (attack when see enemy)

short Waiting

short DoOnce

short bEquippedBeret

short bGotRevenge

short bInNest

short bLoadedOnce;

 

; Beret TRACKING!!!

short bCheckedOnce;

float fLastCheckHour;

short nLastCheckDay;

short nLastBeretCount;

short nBeretCount;

 

Begin OnLoad

; set up base stats

if (bLoadedOnce == 0)

SetActorValue guns 75;

SetActorValue energyweapons 60;

SetActorValue meleeweapons 55;

SetActorValue unarmed 40;

SetActorValue medicine 50;

SetActorValue sneak 100;

set bLoadedOnce to 1;

endif

End

 

Begin OnTriggerEnter CraigBooneREF

set CraigBooneREF.bInNest to 1

End

 

Begin OnTriggerLeave CraigBooneREF

set CraigBooneREF.bInNest to 0

End

 

BEGIN GameMode

 

if ( DoOnce == 0 )

if ( GetDistance Player <= 1400 )

set DoOnce to 1

evp

endif

endif

 

END

 

 

BEGIN OnCombatEND

 

if ( GetPlayerTeammate == 1 )

resethealth

restoreav perceptioncondition 100

restoreav endurancecondition 100

restoreav leftattackcondition 100

restoreav leftmobilitycondition 100

restoreav rightattackcondition 100

restoreav rightmobilitycondition 100

endif

 

END

 

BEGIN OnDeath

if (GetQuestCompleted VMS53 == 0)

SetStage VMS53 255;

endif

if (GetQuestCompleted VMS39 == 0)

SetStage VMS39 80;

endif

if ( VNPCFollowers.bBooneHired == 1 )

set VNPCFollowers.nCurrentFollowers to VNPCFollowers.nCurrentFollowers - 1;

if (VNPCFollowers.nCurrentFollowers == 0)

set VNPCFollowers.bPlayerHasFollower to 0

endif

set VNPCFollowers.bBooneHired to 0

set VNPCFollowers.bHumanoidInParty to 0;

Player.RemoveFromFaction VBooneFaction

ShowMessage FollowerMessageDeadBoone

player.RemovePerk Spotting

ShowMessage FollowerMessagePerkBooneRemove

endif

if (GetQuestCompleted VMS39 && VDialogueCraigBoone.bHeardWifeStory)

AddItem VBooneLastLetterNote 1;

endif

 

set VNPCFollowers.bBooneDead to 1

END ;OnDeath

 

; track in here to see if the player gives Veronica a dress.

BEGIN MenuMode 1008; container

if (GameHour > fLastCheckHour || GameDaysPassed > nLastCheckDay)

set fLastCheckHour to GameHour;

set nLastCheckDay to GameDaysPassed;

 

Set nBeretCount to GetItemCount RepairNVHatNCRBeret;

 

; react only if the player has just now taken his last beret

if (nBeretCount < nLastBeretCount && nBeretCount == 0)

SayTo player VDialogueCraigBooneNoBeretReact;

endif

set nLastBeretCount to nBeretCount;

endif

 

END ;MenuMode 1008 - container

Link to comment
Share on other sites

well, as far as i can say, what this does is just set his skills when he is loaded for the first time, so that he will have skills, if you attack him or something

but as far as i understand, when you hire him, his skills are set based on your level and all

basically, like any NPC, his skills aren't based on your level (at least i think that NPCs aren't leveled)

in which case, he has to have a base skill set, but it is changed when he is hired

anyhow, don't remove that part

i'm not sure what it will do, and i wouldn't take that risk

 

if you want to make him weaker, just tweak how he is leveled up, and how his skills are calculated

Link to comment
Share on other sites

as far as i understand, yes

the command OnLoad is activated when the 3D model is loaded first into the game, so it's the first time you are in the cell with him

and it doesn't have an effect afterwords, so this shouldn't have any effect on him as a companion

 

i'm not 100% sure that what i say is correct, but that seems to make sense, and so i think that is your answer

 

i hope that was helpful :)

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...