Aller au contenu

Photo

Making The Memory Band Enhance All Experience


  • Veuillez vous connecter pour répondre
1 réponse à ce sujet

#1
RyanFialcowitz

RyanFialcowitz
  • Members
  • 49 messages
As far as I can tell, The Memory Band only enhances combat experience. I would like it to affect all experience. How would I do this? The relevant section of sys_rewards_h:

    // ---------------------------------------------------------------------
        // Support for the Preorder promo for the memory band item
        // ---------------------------------------------------------------------
        if (GetPRCEnabled("DAO_PRC_PROMO_1"))
        {
            //FAB: 2/3 Tag added
            string sTag = "gen_im_acc_rng_exp";
            if (GetTag(GetItemInEquipSlot(INVENTORY_SLOT_RING1, oPartyMember)) == sTag || GetTag(GetItemInEquipSlot(INVENTORY_SLOT_RING2, oPartyMember)) == sTag)
            {
                // -------------------------------------------------------------
                // Memory band adds 1% XP.
                // -------------------------------------------------------------
                nXP += FloatToInt(nXP * 0.01);
            }
        }

EDIT
Seems the Archivist's Sash increases experience derived from obtaining Codex entries but I can't find the code that does this. . .

- Ryan Paul Fialcowitz

Modifié par RyanFialcowitz, 30 janvier 2011 - 10:26 .


#2
Proleric

Proleric
  • Members
  • 2 361 messages
The official system only awards XP for codex entries on placeables. In my campaign, I turn this off, in my placeable script for EVENT_TYPE_USE:

            // Suppress XP for codex entries by setting plot flag ahead of the core script
            object oPlaceable    = OBJECT_SELF;
            string sCodexPlot    = GetLocalString(oPlaceable, PLC_CODEX_PLOT);
            int    nCodexFlag    = GetLocalInt(oPlaceable, PLC_CODEX_FLAG);
            if (sCodexPlot != "" && nCodexFlag >= 0)
              if (!WR_GetPlotFlag(sCodexPlot, nCodexFlag))
                WR_SetPlotFlag(sCodexPlot, nCodexFlag, TRUE, TRUE);

That could be adapted to make an increased award before setting the plot flag.

More generally, AFAIK all the code that awards XP is in sys_rewards_h. You could use DAToolChest to find all the scripts that call those functions, then replace those scripts with custom code.

Modifié par Proleric1, 31 janvier 2011 - 06:54 .