Temple Plus - Craft Magic Arms and Armors extending ideas

Discussion in 'General Modification' started by anatoliy, Nov 8, 2020.

Remove all ads!
  1. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    635
    Likes Received:
    201
    This post is about ideas how to improve Craft Magic Arms and Armors in the game.

    While testing and improving ZMOD's SGoS module I started to think how Craft MAaM could be used, improved and what nice things to add. The post is about Level 6 PCs, who have 10k gold. Barbarian half-orc, two-weapon human fighter, cleric, and wizard.

    I have not found any information what exact list of weapon / armor enchantments Temple Plus has. So, I had to open craft_maa_specs.tab in Excel, open DMG and MIC to understand all requirements, access, and price.

    Weapons
    Weapon-wise there are no good enchantments at all up to Holy at level 7, which costs 8k gold to enchant +1 weapon (8k = (18000-2000)/2).

    There are some interesting options from MIC (Magic Item Compendium) like Precise (for bows), Brash or Blessed, etc. But essentially the best option is additional damage. +2 or more weapon enchantment simply is not worth.

    Interestingly, Knights of the Chalice redesigned Craft. So, they have Holy at caster level 5, not 7.

    Additional damage weapon properties become accessible from level 10. With exceptions of Holy or some niche properties from MIC like Deadly Precision additional 1d6 with sneak attack available at level 5. I will write about these properties in later posts.

    PC building wise – it is reasonable to take CMAaM feat for Cleric on level 6 aiming on Holy weapon enchantment.

    Armors
    Current implementation of Temple Plus (83) does not have good options for Armor Crafting aside of simple Armor enchantment like. An +3 armor enchantment would cost 4k to upgrade from +1. Which is nice option IMHO. But it requires caster level 9.

    Elemental Resistance property like Cold or Fire Resistance is missing from the T+. And I suspect it is due to current implementation of Cost only works with enchantment price calculation. I would say we improve it. So, Fire Resistance would cost pure 9k which is very nice.

    Contrary to Weapons though, Armor properties in Magic Item Compendium are exceptionally good. Notable properties on caster level 5 are:
    • Healing. 1 /day healed of 2d8+5 damage. +8,000 gp
    • Mobility. Gain benefit of Mobility feat, light armor only. +1 bonus
    • Blurring. 3/day blur for 5 rounds. +1 bonus
    • Displacement. 1 /day displacement for 5 rounds. +1 bonus
    • Stamina. +1 on Fortitude saves. +500 gp
    • Speed. 3/day haste for 1 round. +6,000 gp
    • Agility. +1 on Reflex saves. +500 gp
    • Quickness. +5 ft. to land speed. +5,000 gp
    • Commander. +2 on Diplomacy, allies within 30 ft. gain +1 on Will saves and -5 on Hide. +2,000 gp
    I have already implemented Blurring and Displacement properties. Activation of these spells is swift action, which is free action in ToEE. Blur's 20% miss chance is like -4 to opponent attack, so 1500 gp investment is incredibly potent.

    If we would to add so many additional Armor properties, especially cheap ones, like 500 gp cost, I propose to expand T+ with new Dispatcher Type like OnBuildDescription (bonlist) which would allow dynamic creation of Extended Description.

    Overall having these additional Armor properties empowers necessity of Craft Magic Arms and Armor feat for Wizard as well as Cleric.
     
    August and _doug_ like this.
  2. _doug_

    _doug_ Established Member

    Joined:
    Jul 9, 2009
    Messages:
    318
    Likes Received:
    143
    I am up for helping you add some stuff from the MIC to temple+. I would like to see some more options also.
     
    August and anatoliy like this.
  3. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    635
    Likes Received:
    201
    Thank you @_doug_ :)

    Currently LegacyDescriptionSystem::GetLongDescription simply gets parent proto long description. I propose to alter it.
    1. Create new dispTypeBuildItemDescription with DispIoBonusList event object. And fill evt_obj.bonus_list with initial parent proto long description.
    2. Dispatch dispTypeBuildItemDescription and collect additional lines in evt_obj.bonus_list.
    Usage in Python:
    Code:
    def Armor_Blurring_OnBuildItemDescription(attachee, args, evt_obj):
        assert isinstance(attachee, toee.PyObjHandle)
        assert isinstance(args, tpdp.EventArgs)
        assert isinstance(evt_obj, tpdp.EventObjBonusList)
        evt_obj.bonus_list.add(1, 0, "")
        evt_obj.bonus_list.add(1, 0, "Armor Property: Blurring")
        evt_obj.bonus_list.add(1, 0, "This armor appears indistinct, as though its edges were smeared.")
        evt_obj.bonus_list.add(1, 0, "When you activate this armor, your appearance becomes distorted and hazy, as if you were affected by a blur spell.")
        evt_obj.bonus_list.add(1, 0, "The blurring property functions three times per day, and the effect lasts for 5 rounds.")
        return 0
    
    @_doug_ , @Sitra Achara fill free to completely redesign this approach. I just need the Python API.

    Thanks!
     
  4. _doug_

    _doug_ Established Member

    Joined:
    Jul 9, 2009
    Messages:
    318
    Likes Received:
    143
    What is the advantage of doing it this way? I was able to add a new armor type without that change.
     
  5. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,627
    Likes Received:
    538
    That kind of thing belongs in the game wiki IMO.
     
    anatoliy likes this.
  6. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    635
    Likes Received:
    201
    Makes sense. But how would player know if crafted item even has a property and where to look?

    Let's say I'm going to alter Purple Elven Chain and add Blurring. New name will be Blurring Purple Elven Chain.

    Then add Healing, Stamina, Speed and Agility. What name it would be then?
    Healing Stamina Speed Agility Blurring Purple Elven Chain?

    Knights of the Chalice simply proposes name (as I recall correctly) - Marvelous Full Plate. But you can inspect the item and click on specific property and see what it does.
     
  7. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    635
    Likes Received:
    201
    Another feature is to allow additional column in the craft_maa_specs.tab - gold cost.

    Either expand ItemEnhancementSpec and add new field. Or perhaps reuse effBonus with minus as gold spec.

    This is to allow adding small fixed price properties without altering total effective bonus.
     
  8. _doug_

    _doug_ Established Member

    Joined:
    Jul 9, 2009
    Messages:
    318
    Likes Received:
    143
    How about values larger than 10 are gold cost instead of bonus?
     
    anatoliy likes this.
  9. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,627
    Likes Received:
    538
    Are you talking about prefab items or player crafted items?
    For the latter, the player names it whatever.
    The former, yes obviously some catchy short name is better. The long description can spell out the list of properties, and the player can look them up in the wiki.
     
    anatoliy likes this.
  10. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,627
    Likes Received:
    538
    Eh, just add the field, no need for dirty hacks here.
     
    anatoliy likes this.
  11. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    635
    Likes Received:
    201
    I'm talking about altered Armor or Weapon through the Craft. Should we modify long description to let player remember which properties he added and how should he seek them in the wiki?
     
  12. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    635
    Likes Received:
    201
  13. _doug_

    _doug_ Established Member

    Joined:
    Jul 9, 2009
    Messages:
    318
    Likes Received:
    143
    What fun is coding without dirty hacks? :D
     
  14. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,627
    Likes Received:
    538
    I'm guessing you won't like this, but noncore materials have to be flagged as such.

    As for long descriptions. Unfortunately I don't think they generate hyperlinks. I don't think it's so important to list the player added enchantments, but it could be nice to have I guess. I think a brief list of enchantments would be enough, and then it could also fit in the tooltip description I think.
    But then you may as well grab the description string used in the crafting UI...
     
    anatoliy likes this.
  15. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    635
    Likes Received:
    201
    I'm perfectly fine with that. We have this option - let's use it.

    I think description addition would be like:
    Properties: Armor Healing, Armor Stamina, Armor Speed, Armor Agility, Armor Blurring.

    If we would use the simplest route. The question is who should generate such text - T+ cpp or Python via condition?
     
Our Host!