Jump to content

Trying to alter rewards for a Quest


Recommended Posts

Hello,

I want to increase the caps rewarded for completing the repeatable 'A Spoonful of Whiskey' quest to better reflect the cost of materials used to make the Moonshine. I've found the related script in the GECK starting with DLC04FF03aSCRIPT & ending with DLC04FF03StillSCRIPT, but perhaps it isn't what I am looking for. I also checked in the DLCFFO3 section of Actor Data>Quest and index 101 of the Quest Stages has the text I'm looking for, but it doesn't display the caps that are rewarded, only the xp. I would also like to add an 'if' statement that will change the amount of caps rewarded based on whether Refined Punga Fruit or Wild Punga Fruit are used. The quick solution is to increase the value of Moonshine to 69 to offset the loss of revenue when 'Wild' Punga Fruit is used, which I did for my plug-in but I'm still interested in learning how to make these script adjustments. Any help would be appreciated.

Edit:

I found it! 'Quest>DLC04FFO3>Topics>(Editor ID)GREETING. Can someone help me write an if statement for the code needed to compensate the player depending on which variant of punga fruit is used to craft the moonshine? if wild punga then 413 caps rewarded. If refined punga then 513 caps rewarded. If the mod is ever published I'll be sure to mention you.

Edit:

Original study

-Adjust the resell value of the Moonshine to make up for the total loss:

-Fission Battery = 75 caps

-Yeast = 21 caps

-Wild Punga Fruit = 10 caps

-Refined Punga Fruit = 30 caps

-Moonshine = 50caps; materials needed: 6 Fission Battery (450c), 3 Yeast (63c), 20 Wild Punga Fruit (200c) or 10 Refined Punga Fruit (300c)

-Using Wild Punga Fruit vs Refined Punga Fruit = Reward: 6 Moonshine (300c) plus the 300c payment is 600c potential revenue vs cost of materials at 450c+63c+200c=713c (a loss of 113c to craft using Wild Punga Fruit). Selling Refined Punga Fruit is more cost effective at 30c per 1 unit. Utilizing Refined Punga Fruit would increase the loss further to 213c (813c total).

(Note: I use the Moonshine as my +2 strength booster opposed to using Buffout, as I sell the Buffout for the cave fungus with the Fungus Deal quest for maximum yields and profits. SPECIAL stats will need modding to allow them to go to 15, or 12 at the very least, so this mod is not made entirely in vain. The reason for this is that with the Almost Perfect skill, and in game rewards, the player can cap their SPECIAL at 10. This makes any SPECIAL buffing item in the game useless for end game characters, effectively eliminating a large portion of end game activities in Fallout 3 such as farming for Moonshine to sell Buffout for Cave Fungus to be used as revenue gains with resell.

However, Changing the system to allow SPECIAL stats to be boosted to 12 or 15 would not solve this predicament, as this would just result with the same issue that is currently present. Once a player reaches 10 and is able to then increase their Strength to 12, for example, they will still hit a proverbial wall where SPECIAL boosting items will not increase their stats further. There must be a way to have the game allow SPECIAL boosting items to boost the player's SPECIAL points past their locked integer, currently 10. I'm told this is already a factor in the game with Skill boosting items, but not SPECIAL boosting items. So, the code must be there somewhere.)

-I'm seeking assistance with making Solution 1-

Solution 1: Increase reward payment to 413c if Wild Punga Fruit is used and 513c if Refined Punga Fruit is used.

Solution 2: Adjust quantity (and possibly value) of items needed to craft the Moonshine to balance the revenue loss/gain.

Solution 3: Increase Moonshine value to 69c netting 414c instead of 300c. This makes up for the revenue loss using Wild Punga Fruit, and the player will gain 1 cap. It also makes collecting and selling Refined Punga Fruit ideal, as there is still a loss of revenue if Refined Punga Fruit is used to make Moonshine. I'm currently using this solution for my plug-in.

Disregarded Solution: Increase Moonshine value to 85c netting 510c. This compensates for the loss of potential revenue using Refined Punga Fruit, but is unbalanced as there is still a loss of 3 caps and will reward extra caps if the player uses Wild Punga Fruit instead.

=====================================================

setObjectiveDisplayed DLC04FF03 10 1

; Player has agreed to fetch ingredients
set DLC04FF03a.batchActive to 1
setObjectiveDisplayed DLC04FF03 40 1
setObjectiveDisplayed DLC04FF03 50 1
setObjectiveDisplayed DLC04FF03 70 1

setObjectiveDisplayed DLC04FF03 40 1

setObjectiveCompleted DLC04FF03 40 1
setObjectiveDisplayed DLC04FF03 50 1

setObjectiveCompleted DLC04FF03 50 1
;setObjectiveDisplayed DLC04FF03 60 1

;setObjectiveCompleted DLC04FF03 60 1
setObjectiveDisplayed DLC04FF03 70 1

set DLC04FF03a.ingredientsDone to 1
setObjectiveCompleted DLC04FF03 80 1
setObjectiveDisplayed DLC04FF03 90 1

=====================================================

DLC04QuestPungaTurnIn02

R | GetItemCount | Ingestible: 'DLC04PungaWild' | >= | 20.0 | AND

S | GetIsID            | NPC: 'DLC04FF03Marguerite' | == | 1.0    | AND

player.removeItem DLC04PungaWild 20
set DLC04FF03a.fruitDone to 1
setObjectiveCompleted DLC04FF03 40 1
    if DLC04FF03a.batchActive && DLC04FF03a.ingredientsDone == 0
        if DLC04FF03a.fruitDone == 1
            if DLC04FF03a.yeastDone == 1
                ;if DLC04FF03a.waterDone == 1
                    if DLC04FF03a.batteriesDone == 1

                        ; got all the stuff, advance.
                        setStage DLC04FF03 90
                        set DLC04FF03a.brewDay to gameDaysPassed
                             set DLC04FF03a.ingredientsDone to 1
                    endif
                ;endif
            endif
        endif
    endif

R | GetItemCount | Ingestible: 'DLC04PungaRefined' | >= | 10.0 | AND

S | GetIsID            | NPC: 'DLC04FF03Marguerite'       | == | 1.0   | AND

player.removeItem DLC04PungaRefined 10
set DLC04FF03a.fruitDone to 1
setObjectiveCompleted DLC04FF03 40 1
    if DLC04FF03a.batchActive && DLC04FF03a.ingredientsDone == 0
        if DLC04FF03a.fruitDone == 1
            if DLC04FF03a.yeastDone == 1
                ;if DLC04FF03a.waterDone == 1
                    if DLC04FF03a.batteriesDone == 1

                        ; got all the stuff, advance.
                        setStage DLC04FF03 90
                        set DLC04FF03a.brewDay to gameDaysPassed
                             set DLC04FF03a.ingredientsDone to 1
                    endif
                ;endif
            endif
        endif
    endif

setObjectiveDisplayed DLC04FF03 50 1

setStage DLC04FF03 15

player.addItem DLC04FF03Moonshine 1
set DLC04FF03.tonicSample to 1

setStage DLC04FF03 101
player.additem DLC04FF03Moonshine 6
player.additem caps001 300

=====================================================

-The following code(s) below  is(are) from a part of the GECK  that I'm not sure if changing the code will make a difference with regard to the solutions goals. It is for the same quest character though.-

=====================================================

scn DLC04FF03aSCRIPT

; this quest is just to hold quest variables we wish to reset.

short fruitDone
short waterDone
short yeastDone
short batteriesDone

short ingredientsDone

float brewDay
float currDay
short brewSoon                    ; flag when we're within "hours" of the brew being ready.
short brewReady
short batchActive                    ; flag when we're working on a batch.  For repeatable quest 

=====================================================

scn DLC04FF03dummySCRIPT
; this script lives with Marguerite and runs constantly

;=====================================================

begin gameMode

    set DLC04FF03a.currDay to gameDaysPassed

    if DLC04FF03a.ingredientsDone == 1
        if DLC04FF03a.currDay >= (DLC04FF03a.brewDay + 0.75)
            if DLC04FF03a.brewSoon == 0
                set DLC04FF03a.brewSoon to 1
            endif
        endif
        
        
        if DLC04FF03a.currDay >= (DLC04FF03a.brewDay + 1.0) && DLC04FF03a.brewReady == 0
            set DLC04FF03a.brewReady to 1
            setStage DLC04FF03 100
            set DLC04FF03.lastBrewDay to gameDaysPassed
            set DLC04FF03.willBrewAgain to 0
        else
            ; do nothing
        endif
    endif

    if DLC04FF03a.batchActive && DLC04FF03a.ingredientsDone == 0
        if DLC04FF03a.fruitDone == 1
            if DLC04FF03a.yeastDone == 1
                ;if DLC04FF03a.waterDone == 1
                    if DLC04FF03a.batteriesDone == 1

                        ; got all the stuff, advance.
                        setStage DLC04FF03 90
                        set DLC04FF03a.brewDay to gameDaysPassed
                             set DLC04FF03a.ingredientsDone to 1
                    endif
                ;endif
            endif
        endif
    endif

    if getStageDone DLC04FF03 101 == 1
        if  DLC04FF03a.currDay >= (DLC04FF03.lastBrewDay + 0.01)        ;  TEMP - setting this way down, reset to 3 days for final
            set DLC04FF03.willBrewAgain to 1
        endif
    endif
        

end

=========================================================

scn DLC04FF03MargueriteSCRIPT

begin onDeath

    if getStage DLC04FF03 >= 10 && getStageDone DLC04FF03 101 == 0
        setStage DLC04FF03 200                        ; fail quest if Marg is killed before 1st batch completed
    endif

end

========================================================

-The following lines of code belong to another portion of Marguerite's quest. This part is done before bringing her the ingredients to craft the Moonshine, and pertains to repairing the still.-

========================================================

scn DLC04FF03script

short tonicTop
short tonicSample

short repairJob
short repairJobRefused
short repairJobDone
short repairJobProBono
short repairJobEarly                                ; player set repairJobDone early
short repairJobEarlyRewarded                    ; player has been rewarded for repairing still early
short repair2Xfee

short spChallAttempt
short spChallWon

float lastBrewDay
short willBrewAgain

========================================================

scn DLC04FF03StillSCRIPT

; activator script on this quest object
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
short active
short button
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
begin onActivate player

    if DLC04FF03.repairJobDone == 0
        showMessage DLC04FF03StillRepairMSG
        set active to 1
    else
        showMessage DLC04FF03StillRepairDoneMSG
    endif

end

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

begin gameMode

    if active == 1
        set button to getButtonPressed
        if button > -1
            if button == 0
                ; do nothing
            elseif button == 1
                if player.getAV repair >= 44
                    set DLC04FF03.repairJobDone to 1
                    rewardxp 25
                    
                    if DLC04FF03.repairJob == 0
                        set DLC04FF03.repairJobEarly to 1
                    endif

                else
                    showMessage DLC04FF03StillRepairFailMSG
                endif
            endif
        endif
        set active to 0
    endif
    
end
    

DLC04Quest00TopLvl.png

DLC04QuestBatteries.png

DLC04QuestPunga.png

DLC04QuestPungaTurnIn01.png

DLC04QuestPungaTurnIn02.png

DLC04QuestYeast.png

DLC04QuestzWaiting.png

DLC04Tonic00TopLvl.png

DLC04TonicQuestAccept.png

DLC04TonicQuestReject.png

DLC04TonicQuestSample.png

DLC04TonicReallyCureQuery.png

DLC04TonicWhyHelpYou.png

GREETING.png

SpeechChallengeFailure.png

Edited by Naz2527
grammar, added text code
Link to comment
Share on other sites

  • Recently Browsing   0 members

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