Jump to content

Can someone help explain some rookie mistakes I'm making?


Recommended Posts

I'm working on a MM config that does some simple things; 

1. Increases cost of parts and resources, to match real world prices. Falcon 9 type rocket should be around 50-100mil

2. Increase rewards from contracts - BEYOND the 1000% in the settings. Basically, if rewardFunds then multiple that by 200 so that a satellite/rescue mission gives 100m+ in funding

3. Add an asteroid with special Exotic Minerals that can be mined and sent back to Kerbin for profit to pay for other things. 

 

Below is my code,  I have around 200+ errors, and none of the contracts seem to be increased in funding. 

 

The reason I have CONTRACT and CONTRACT_TYPE and other filters, because different mods will have something like Contract_type -> parameter -> rewardFunds. So I have to access multiple layers to get to the reward funds value. 

 

Can someone please tell me what syntax mistakes I'm making here and why this isn't making contracts worth 200x more? (it works for parts and resources) 

 

 

@CONTRACT_TYPE:HAS[@PARAMETER[#rewardFunds[*]]]:FINAL
{
   
   @rewardFunds *= 200
 
}
@CONTRACT_TYPE:HAS[*[#rewardFunds[*]]]:FINAL
{
   
   @rewardFunds *= 69
 
}
@CONTRACT_TYPE:HAS[#rewardFunds[*],#advanceFunds[*]]
{
   
   @rewardFunds *= 200
   @advanceFunds *= 100
}
@CONTRACT_TYPE[#rewardFunds&#advanceFunds]:FINAL
{
   
   @rewardFunds *= 200
   @advanceFunds *= 100
}
@CONTRACT_TYPE:HAS[#rewardFunds]:FINAL
{
   
   @rewardFunds *= 200
 
}


 
@Contracts[*]:HAS[*[Funds]]:FINAL
    {
        @Funds
        {
        @BaseReward *= 70
        @BaseAdvance *= 70
        }
         @BaseReward *= 70
        @BaseAdvance *= 70
    }  


 
@PART[*]:FINAL
{
    @cost *= 150.0
}
 
@RESOURCE_DEFINITION[*]:FINAL
{
    @unitCost *= 150.0
}
@Kopernicus:AFTER[Kopernicus]
{
    Asteroid
    {
       
        name = PreciousMetals
        Locations
        {
           
            Nearby
            {
                Body
                {
                   
                    body = Duna
                   
                    probability = 75
                   
                    reached = false
                }
            }
           
           
            Flyby
            {
                Body
                {
                   
                    body = Kerbin
                   
                    minDuration = 60
                    maxDuration = 90
                   
                    probability = 66
                   
                    reached = false
                }
            }
           
           
            Around
            {
                Body
                {
                   
                    body = Minmua
                    minAltitude = 18133960
                    maxAltitude = 20606775
                    probability = 13
                    reached = false
                }
            }
        }
       
        interval = 15
       
        maxUntrackedLifetime = 20
        minUntrackedLifetime = 20
       
        probability = 55
        spawnGroupMinLimit = 3
        spawnGroupMaxLimit = 8
       
        %resourceAmount = 0
        Size
        {
            key = 0   0
            key = 0.3 0.25
            key = 0.7 0.45
            key = 1   0.7
            @resourceAmount = key
        }
        RESOURCE
    {
       
        name = ExoticMinerals
     
        amount = resourceAmount * 500
       
        maxAmount = resourceAmount * 5000
    }
    }
}
Link to comment
Share on other sites

This is my new code with some other changes - although not sure if its going to work, waiting 30 mins for KSP to load..... 

 

@CONTRACT_TYPE[*]:HAS[@PARAMETER[*]:HAS[#rewardFunds[*]]]:FINAL
{
   
   @rewardFunds *= 200
 
}
@CONTRACT_TYPE[*]:HAS[*:HAS[#advanceFunds[*]]]:FINAL
{
   
   @advanceFunds *= -69
 
}
@CONTRACT_TYPE[*]:HAS[#rewardFunds[*],#advanceFunds[*]]
{
   
   @rewardFunds *= 200
   @advanceFunds *= 100
}
@CONTRACT_TYPE[*]:HAS[#rewardFunds&#advanceFunds]:FINAL
{
   
   @rewardFunds *= 200
   @advanceFunds *= 100
}
@CONTRACT_TYPE[*]:FINAL
{
   
   @rewardFunds *= 200
 
}


 
@Contracts[*]:HAS[@Funds[*]]:FINAL
    {
        @Funds
        {
        @BaseReward *= 70
        @BaseAdvance *= 70
        }
         @BaseReward *= 70
        @BaseAdvance *= 70
    }  


 
@PART[*]:FINAL
{
    @cost *= 150.0
}
 
@RESOURCE_DEFINITION[*]:FINAL
{
    @unitCost *= 150.0
}
@Kopernicus:AFTER[Kopernicus]
{
    Asteroid
    {
       
        name = PreciousMetals
        Locations
        {
           
            Nearby
            {
                Body
                {
                   
                    body = Duna
                   
                    probability = 75
                   
                    reached = false
                }
            }
           
           
            Flyby
            {
                Body
                {
                   
                    body = Kerbin
                   
                    minDuration = 60
                    maxDuration = 90
                   
                    probability = 66
                   
                    reached = false
                }
            }
           
           
            Around
            {
                Body
                {
                   
                    body = Minmua
                    minAltitude = 18133960
                    maxAltitude = 20606775
                    probability = 13
                    reached = false
                }
            }
        }
       
        interval = 15
       
        maxUntrackedLifetime = 20
        minUntrackedLifetime = 20
       
        probability = 55
        spawnGroupMinLimit = 3
        spawnGroupMaxLimit = 8
       
        %resourceAmount = 0
        Size
        {
            key = 0   0
            key = 0.3 0.25
            key = 0.7 0.45
            key = 1   0.7
            @resourceAmount = key
        }
        RESOURCE
    {
       
        name = ExoticMinerals
     
        amount = resourceAmount * 500
       
        maxAmount = resourceAmount * 5000
    }
    }
}

You can see why I have so many cases for rewardFunds, here is a GAP conrtact.cfg and look at how it handles rewardFunds - how would you modify this?

 

 

// -----------------------------------------------------------------
//  CONTRACT:  KSRGAP05-CommercialFlights3 - Trans Kerbin Airlines - Trans Kerbin Airlines - Passenger flights to Open bases
//  Author: Caerfinon
//  Credits:
//  {
//      Original GAP: Author - inigma
//      Original Kerbin side GAP: Author - Keniamin
//      expression requirements: from from "Field Research" - Author - nightingale
//  }
// -----------------------------------------------------------------
CONTRACT_TYPE
{
//CONTRACT DESCRIPTION
    sortKey = KSRGAP05-CommercialFlights3
    name = KSRGAP05-CommercialFlights3
    title = TKA Flight @KSRGAP:siteFlightNum3.ElementAt(@/fltLocationSelection) - KSC to @KSRGAP:siteFullName.ElementAt(@/fltLocationSelection)
    genericTitle = Passenger flights to Open bases
    group = Trans Kerbin Airlines Prime
    agent = Trans Kerbin Airlines
 
    description = Trans Kerbin Airlines is proud to offer air transportation service to @KSRGAP:siteFullName.ElementAt(@/fltLocationSelection) for KSC staff and visitors. &br;&br;Fly out @/numPassengers passengers to @KSRGAP:siteName.ElementAt(@/fltLocationSelection), wait 30 seconds to disembark and embark passengers at the terminal, take off and return back to KSC.
    genericDescription = Fly passengers a to their destination airport and then make a return flight to the KSC
    synopsis = Fly passengers to an airport that Trans Kerbin Airlines has existing landing rights at.
    completedMessage = Flight Completed!&br;&br;Pretzels and Soda served: @/numSnacks&br;Air sickness bags used: @/numAirSickness&br;&br;Trans Kerbin Airlines thanks you for flying and reminds you the sky is no longer the limit.
    notes = @KSRGAP:siteNotes.ElementAt(@/fltLocationSelection)
 
//Contract Limits
    maxCompletions = 0
    maxSimultaneous = 1
    autoAccept = false
    declinable = true
    cancellable = true
    minExpiry = 1.0
    maxExpiry = 1.0
    deadline = 0
 
//Contract Reward Modifiers
    prestige = Trivial
    targetBody = Kerbin
   
//Contract Rewards
    rewardFunds = (3000000 + @KSRGAP:siteFltDistance.ElementAt(@/fltLocationSelection) + (200 * @/numPassengers )) * Random(1.0, 1.15)
    advanceFunds = (@/rewardFunds * 0.25 )
    rewardReputation = 1.0
    rewardScience = 1.0
 
//Contract Penalties
    failureFunds =  (@/rewardFunds * 1.15) * Random(1.0, 1.25)  
    failureReputation = 10 + ( @/numPassengers)
   
// -----------------------------------------------------------------    
// REQUIREMENTS FOR CONTRACT TO APPEAR
// -----------------------------------------------------------------    
//
 
// Requires that Flight progress in persistent storage be a value between 0 and x (depending on mods installed)
   
    REQUIREMENT
    {
        name = CompleteContract
        type = CompleteContract
        title =  KAA Certification
        contractType = KSRGAP01-LetsStartAnAirline
        minCount = 1
    }
 
    REQUIREMENT
    {
        name = Expression
        type = Expression
        title = Flight Progess must have started
        expression = $ksrgapFlightProgress >= 0
    }
   
// requires MK3 passenger
    REQUIREMENT
    {
        name = PartUnlocked
        type = PartUnlocked
        part = mk3CrewCabin
    }
 
// -----------------------------------------------------------------    
//DATA NODES TO PROCESS FOR CONTRACT USE
// -----------------------------------------------------------------
 
// Pick a destination of open airports based on Flight Progression
    DATA
    {
        type = int
        fltLocationSelection = Random(0, $ksrgapFlightProgress)
        hidden = true
    }
 
//
 
//Contract Specific VesselParameterGroup Definition Key (to prevent conflict with other active contracts)
    DATA
    {
        type = string
        craft = "KSRGAPCommercialFlights" + @KSRGAP:siteFlightNum3.ElementAt(@/fltLocationSelection)
        // insure it is unique so only one flight to one airport at a time
        uniquenessCheck = GROUP_ACTIVE
        hidden = true
    }
 
//List of Possible ATC genders
    DATA
    {
        type = List<string>
        ATCGender = ["M" ,"F"]
        hidden = true
    }
   
// Merge random gender to Group siteATC type to select dialog image
    DATA
    {
        type = string
        site1ATCImage = @KSRGAP:siteATC.ElementAt(0) + @/ATCGender.Random()
        hidden = true
       
    }
   
    DATA
    {
        type = string
        site2ATCImage = @KSRGAP:siteATC.ElementAt(@/fltLocationSelection) + @/ATCGender.Random()
        hidden = true
       
    }
 
//Passenger Data
    DATA
    {
        type = int
        numPassengers = Random(12, 80)
   
    }
   
//Snacks
    DATA
    {
        type = double
       
        numSnacks = Round(@numPassengers * 1.05)
        numAirSickness = Round(Random( 0 , @numPassengers / 6))
       
    }
   
 
// -----------------------------------------------------------------
//BEHAVIOURS TO DO WHEN CREATING CONTRACT
// -----------------------------------------------------------------
//
   
    BEHAVIOUR
    {
        name = SpawnPassengers
        type = SpawnPassengers
        count = @/numPassengers  
        kerbalType = Tourist
        removePassengers = true
    }
 
// Eliminate craft on contract failure to prevent tourist spam in Astronaut Complex
   
    BEHAVIOUR
    {
        name = DestroyVessel
        type = DestroyVessel
        onState = CONTRACT_FAILED
        vessel = @/craft
    }
 
    BEHAVIOUR
    {
        name = WaypointGenerator
        type = WaypointGenerator
       
        WAYPOINT
        {
            name = KSC Runway
            icon = ContractPacks/KerbinSideRemasteredGAP/Assets/Icons/Airport
            latitude = @KSRGAP:kscRunwayLAT
            longitude = @KSRGAP:kscRunwayLON
            altitude = 0
        }
       
        WAYPOINT
        {
            name = the Air Terminal
            icon = ContractPacks/KerbinSideRemasteredGAP/Assets/Icons/terminal
            altitude = 0
            latitude = @KSRGAP:kscTerminalLAT
            longitude = @KSRGAP:kscTerminalLON
            parameter = RequestLandingLaunch
           
        }
 
        WAYPOINT
        {
            name = @KSRGAP:siteName.ElementAt(@/fltLocationSelection)
            icon = ContractPacks/KerbinSideRemasteredGAP/Assets/Icons/Airport
            altitude = 0
            latitude = @KSRGAP:siteLAT.ElementAt(@/fltLocationSelection)
            longitude = @KSRGAP:siteLON.ElementAt(@/fltLocationSelection)
           
        }
       
        WAYPOINT
        {
            name = the Air Terminal
            icon = ContractPacks/KerbinSideRemasteredGAP/Assets/Icons/terminal
            altitude = 0
            latitude = @KSRGAP:siteVikTerminalLAT.ElementAt(@/fltLocationSelection)
            longitude = @KSRGAP:siteVikTerminalLON.ElementAt(@/fltLocationSelection)
            parameter = RequestLandingSite2
           
        }
 
    }
 
// Mission Dialog boxes
    BEHAVIOUR
    {
        name = DialogBox
        type = DialogBox
 
        DIALOG_BOX
        {
            condition = PARAMETER_COMPLETED
            parameter = RequestTakeoffLaunch
            position = CENTER
           
            TEXT
            {
                text = Trans Flight, you are cleared for depature and immediate take off. Fly safe.
                fontSize = 20
                textColor = #BADA55
            }
           
            IMAGE
            {
                url = ContractPacks/KerbinSideRemasteredGAP/Assets/Characters/@/site1ATCImage
                characterName = KSC Air Traffic Control
            }
           
        }
       
        DIALOG_BOX
        {
            condition = PARAMETER_COMPLETED
            parameter = RequestLandingSite2
           
            position = CENTER
           
            TEXT
            {
                text = Trans Flight, we have you on approach. You are cleared for landing. On touchdown proceed to the indicated airport terminal. Directions have been transmited to you.
                fontSize = 20
                textColor = #BADA55
            }
           
            IMAGE
            {
                url = ContractPacks/KerbinSideRemasteredGAP/Assets/Characters/@/site2ATCImage
                characterName = Local Air Traffic Control
            }
           
        }
       
        DIALOG_BOX
        {
            condition = PARAMETER_COMPLETED
            parameter = RequestTakeoffSite2
           
            position = CENTER
           
            TEXT
            {
                text = Trans Flight, you are cleared for departure. Please proceed to the runway for immediate takeoff  
                fontSize = 20
                textColor = #BADA55
            }
           
            IMAGE
            {
                url = ContractPacks/KerbinSideRemasteredGAP/Assets/Characters/@/site2ATCImage
                characterName = Local Air Traffic Control
            }
           
        }
       
        DIALOG_BOX
        {
            condition = PARAMETER_COMPLETED
            parameter = RequestLandingLaunch
           
            position = CENTER
           
            TEXT
            {
                text = Trans Flight, we have you on approach. You are cleared for landing. On touchdown proceed to the indicated airport terminal. Directions have been transmited to you. Welcome back.
                textColor = #BADA55
            }
           
            IMAGE
            {
                url = ContractPacks/KerbinSideRemasteredGAP/Assets/Characters/@/site1ATCImage
                characterName = KSC Air Traffic Control
            }
           
        }
       
// failed misssion dialog
        DIALOG_BOX
        {
            condition = CONTRACT_FAILED
            position = CENTER
            title = <b>Sometimes Things Go Wrong</b>
            titleColor = #B00B1E
           
            TEXT
            {
                text = Trans Flight, Are you there? please respond. Trans Flight, weve lost you on radar, do you copy? Are you declaring an emergency?.... and you were doing so well.
                fontSize = 20
                textColor = #B00B1E
            }
           
            IMAGE
            {
                url = ContractPacks/KerbinSideRemasteredGAP/Assets/Characters/@/site1ATCImage
                characterName = Air Traffic Control
            }
        }
    }
 
// -----------------------------------------------------------------
//PARAMETERS FOR CONTRACT COMPLETION
// -----------------------------------------------------------------
//
//Craft definition
    PARAMETER
    {
        name = Initialization
        type = VesselParameterGroup
        title = Your aircraft must meet all requirements
        define = @/craft
        completeInSequence = true
        dissassociateVesselsOnContractFailure = false
 
        PARAMETER
        {
            name = HasCrew
            type = HasCrew
            title = have two certified pilots
            trait = Pilot
            minCrew = 2
            disableOnStateChange = false
            hideChildren = true
        }
       
        PARAMETER
        {
            name = HasCrew
            type = HasCrew
            title = have a flight engineer
            trait = Engineer
            minCrew = 1
            disableOnStateChange = false
            hideChildren = true
        }
       
        PARAMETER
        {
            name = PartValidation
            type = PartValidation
            title = have wings
            category = Aero
            disableOnStateChange = false
            hideChildren = true
        }
       
        PARAMETER
        {
            name = HasCrewCapacity
            type = HasCrewCapacity
            title = have seating for passengers and crew
            minCapacity = @/numPassengers + 3
            disableOnStateChange = false
        }
       
        //Passenger Manifest - Load Passengers
        PARAMETER
        {
            name = HasPassengers
            type = HasPassengers
            title = load all @/numPassengers passengers
            count = @/numPassengers            
            hideChildren = true
        }
    }
   
//Launch Site
    PARAMETER
    {
        name = LaunchSite
        type = VesselParameterGroup
        title = begin at the KSC Runway
        vessel = @/craft
        completeInSequence = true
        disableOnStateChange = true
        hideVesselName = true
       
        PARAMETER
        {
            name = VisitWaypoint
            type = VisitWaypoint
            index = 0
            distance = 1600
            hideOnCompletion = false
            completeInSequence = true
            disableOnStateChange = false
            hideChildren = true
        }
       
    }
 
    PARAMETER
    {
        name = RequestTakeoffLaunch
        type = Duration
        duration = 5s
        preWaitText = request clearance for takeoff:
        waitingText = requesting clearance for takeoff:
        completionText = be cleared for takeoff
        completeInSequence = true
        disableOnStateChange = true
    }
 
// -----------------------------------------------------------------    
// Trip to Site2
// -----------------------------------------------------------------
 
    PARAMETER
    {
        name = RequestLandingSite2
        type = VesselParameterGroup
        vessel = @/craft
        completeInSequence = true
        disableOnStateChange = true
        hideChildren = true
        hidden = true
       
        PARAMETER
        {
            name = VisitWaypoint
            type = VisitWaypoint
            index = 2
            distance = 19000
            hideOnCompletion = true
            completeInSequence = true
            disableOnStateChange = false
            hideChildren = true
            hidden = true
        }
    }
 
    PARAMETER
    {
        name = LandingSite2
        type = VesselParameterGroup
        title = complete flight to @KSRGAP:siteFullName.ElementAt(@/fltLocationSelection)
        vessel = @/craft
        disableOnStateChange = true
        hideVesselName = true
        completeInSequence = true
   
        PARAMETER
        {
            name = ReachState
            type = ReachState
            title = land at @KSRGAP:siteName.ElementAt(@/fltLocationSelection) runway
            notes = land and move to within 50 meters of the terminal
            targetBody = Kerbin
            situation = LANDED
            maxSpeed = 0.0
            disableOnStateChange = false
            hideChildren = true
        }  
 
        PARAMETER
        {
            name = Site2Terminal
            type = VisitWaypoint
            title = then taxi to the terminal and stop
            index = 3
            distance = 50
            horizontalDistance = 50
            showMessages =  true
            disableOnStateChange = false
        }
        PARAMETER
        {
            name = TerminalrampSite2
            type = Duration
           
            duration = 10s
            preWaitText = wait for terminal ramp:
            waitingText = ramp being positioned:
            completionText = ramp is in place begin deplaning  
 
            completeInSequence = true
            disableOnStateChange = false
        }
    }
       
    PARAMETER
    {
        name = All
        type = All
        title = complete passenger exchange
        disableOnStateChange = true
        completeInSequence = true
           
        PARAMETER
        {
            name = ReachState
            type = ReachState
            situation = LANDED
            maxSpeed = 0.0
            disableOnStateChange = false
            hideChildren = true
            hidden = true
            completeInSequence = true
        }      
   
        PARAMETER
        {
            name = Duration
            type = Duration    
            duration = 30s
            preWaitText = wait to exchange passengers for:
            waitingText = exchanging passengers now:
            completionText = all passengers exchanged!
            startCriteria = PARAMETER_COMPLETION
            parameter = LandingSite2
        }      
    }
   
    PARAMETER
    {
        name = RequestTakeoffSite2
        type = Duration    
        duration = 5s
        preWaitText = request clearance for takeoff:
        waitingText = requesting clearance for takeoff:
        completionText = be cleared for takeoff
        completeInSequence = true
        disableOnStateChange = true
    }
   
// -----------------------------------------------------------------    
// Retun Trip to KSC
// -----------------------------------------------------------------
 
    PARAMETER
    {
        name = RequestLandingLaunch
        type = VesselParameterGroup
        vessel = @/craft
        completeInSequence = true
        disableOnStateChange = true
        hideChildren = true
        hidden = true
       
        PARAMETER
        {
            name = VisitWaypoint
            type = VisitWaypoint
            index = 0
            distance = 19000
            hideOnCompletion = true
            completeInSequence = true
            disableOnStateChange = false
            hideChildren = true
            hidden = true
        }
    }
 
    PARAMETER
    {
        name = LandingSite
        type = VesselParameterGroup
        title = return to the KSC
        notes = land and move to within 50 meters of the terminal
        vessel = @/craft
        disableOnStateChange = true
        completeInSequence = true
        hideVesselName = true
           
        PARAMETER
        {
            name = KSCTerminal
            type = VisitWaypoint
            title = taxi to the terminal
            index = 1
            distance = 50
            horizontalDistance = 50
            showMessages =  true
            disableOnStateChange = false
        }
           
        PARAMETER
        {
            name = ReachState
            type = ReachState
            title = your arcraft must be parked
            targetBody = Kerbin
            situation = LANDED
            maxSpeed = 0.0
            disableOnStateChange = false
            hideChildren = true
        }
       
        PARAMETER
        {
            name = TerminalrampKSC
            type = Duration
           
            duration = 10s
            preWaitText = wait for terminal ramp:
            waitingText = ramp being positioned:
            completionText = ramp is in place begin deplaning  
 
            completeInSequence = true
            disableOnStateChange = false
        }          
    }
 
    PARAMETER
    {
        name = All
        type = All
        title = safely
        completeInSequence = true
        disableOnStateChange = true
       
        PARAMETER
        {
            name = VesselNotDestroyed
            type = VesselNotDestroyed
            title = without destroying your aircraft
            vessel = @/craft
        }
       
        PARAMETER
        {
            name = KerbalDeaths
            type = KerbalDeaths
            title = or killing anyone
            vessel = @/craft
        }
    }
   
//Recovery Parameter - Recover Kerbals
    PARAMETER
    {
        name = RecoverKerbal
        type = RecoverKerbal
        title = and recover all @/numPassengers passengers
        completeInSequence = true
        hideChildren = true
    }
 
// -----------------------------------------------------------------
// END OF CONTRACT
// -----------------------------------------------------------------
}


 
   


 
   
Link to comment
Share on other sites

1 hour ago, spaded1 said:

here is a GAP conrtact.cfg

Personally, I like the way I wrote it. It takes into account  the distance flown, the number of passengers and little random voodoo. 

If you're looking to change contract rewards en masse there is a mod for it. It's a little dusty but it might do the trick for you. 

 

Link to comment
Share on other sites

Can you  help me out with my syntax? 

 

How do I take the random values you have in GAP rewards like 

rewardFunds = Random(2, 5)

 

and then multiply that by 100? 

Your code:
rewardFunds = Random(2, 5)

My Code: 
@rewardFunds *= 100 // ERROR CANNOT DO MATH OPERATION, MOD VALUE ="100" ORIGINAL VALUE ="RANDOM(2,5)"

 

So my code looks like this: 

 

@CONTRACT_TYPE[*]:HAS[#rewardFunds,!#advanceFunds]:FINAL
{
    %addedCost = 100
    @addedCost *= #$rewardFunds$
    @rewardFunds = #$addedCost$
   
 
}

Is this right? 

 

How come for very basic contracts, like science around the KSC - the rewards are only like 3,000, even though my code below should make it like 300,000

 

@Contracts[*]:HAS[@Funds[*]]:FINAL
{
   @Funds
   {
        @BaseReward *= 100
        @BaseAdvance *= 70
    }
}
@Contracts[*]:HAS[@Funds[*]]:FINAL
{
   @Funds
   {
        @BaseReward *= 100
        @BaseAdvance *= 70
    }
}

And finally, how do I access all @Contracts[*] without the Funds Module, to multiply the rewards, but not double multiple if it has @Funds modules. Hence the code above with two changes, if HAS funds and just ALL

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...