Rudy's Item Mod

Discussion in 'General Modification' started by Rudy, Mar 12, 2015.

Remove all ads!
  1. Rudy

    Rudy Established Member

    Joined:
    Jan 30, 2005
    Messages:
    345
    Likes Received:
    2
    No, my question is even dumber than that, I'm afraid.

    I mostly follow what you wrote in that link, but I'm not asking how to make a new python function. I'm asking the following newb question:

    you wrote, for example, obj.inventory_item(n) as a usable python function. Clearly that function does not exist yet on my computer. What do I need to place on my computer, and where do I place it, before I can actually use that specific function in the .py code for a spell?

    I'm about to create a github account, then will let you know.
     
  2. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    Ok, I'm not sure which element you lack, so I'm going to list them all:

    - Visual Studio
    - Git client (you can download one from Github, or Source Tree) - use it to clone the repository. It should create a folder (where you tell it to) with all the files from the repository.
    - That's it :)
    You can configure the project to run ToEE with the VS debugger: right click on the TemplePlus solution (second item in the image), choose properties, Configuration Properties -> Debugging -> Working Directory

    [​IMG]
     
    Last edited: Mar 25, 2015
  3. Rudy

    Rudy Established Member

    Joined:
    Jan 30, 2005
    Messages:
    345
    Likes Received:
    2
    Ok; I have the visual studio, and I'll figure out the git client.

    Just as a forewarning, you shouldn't expect contributions from me on that any time soon. As you can tell from my fumbling, I'm extremely rusty, and likely the next week or more will just be me trying to understand how it works. And I'm going to want to do a few more things on my items mod before I delve too deeply, besides.

    I *will*, however, avoid doing anything on my mod that is better done in Temple Plus, such as the multiple level potions, and I'll leave off the helm of reading magic for that obj.inventory_item function as well.

    Thanks.
     
  4. DarkStorm

    DarkStorm Established Member

    Joined:
    Oct 2, 2003
    Messages:
    514
    Likes Received:
    3
    Please let us know if you have issues getting it to run. It's pretty rough around the edges and any obstacles you encounter, we need to address :)

    Also, we need to populate the README file on github with those steps, basically.
     
  5. Rudy

    Rudy Established Member

    Joined:
    Jan 30, 2005
    Messages:
    345
    Likes Received:
    2
    While I have the utmost respect for vampire puppy's efforts, and don't think I could do a better job, I think that the graphics I borrowed from Call Lightning look significantly better than the explosion graphic he created for Scintillating Sphere (attached). His projectile graphic, however, is better than the one I was borrowing from Magic Missile.

    I will just go ahead and move over all of his graphics to partsys1.tab, and make comments in the .py files for the spells what the original graphics are where I choose not to use them.
     

    Attached Files:

  6. Rudy

    Rudy Established Member

    Joined:
    Jan 30, 2005
    Messages:
    345
    Likes Received:
    2
    Good as time as any to release 0.7. Changelog; details for each item are in the google doc.

    * Added a large number (22 I think) of potions for existing spells.

    * Renamed new internal spells to have (INTERNAL) in name for consistency

    * Nerfed Celestial Chain to +5 armor, Celestial plate to +8 armor, +5 max dex; I had mistakenly been using the base armor values from Pathfinder, instead of 3.5

    * Fixed text error in long description of celestial plate

    * Fix for CL 9 version of protection from cold/sonic (thanks marc1967 for pointing this out)

    * Removed “Poison” (8019) from list of craftable potions

    * Removed internal resist/protection spells from cleric spell list, which I had placed there by mistake

    * Removed the “Potion of “ from names of potions in the Brew Potion window.

    * Fixed Remove Curse/Bestow Curse bugs

    * Tweaked duration of Endure Elements

    * Fix for sound/graphics bugs of resist elements/endure elements/protection from x

    * Fixed price of Potion of Enlarge Person to the correct 50gp.

    * Moved scintillating sphere/great shout to ids 797 and 798, and restored Dispel Magic Area, Dispel Magic Target to 800, 801. Dispel Magic Area and Dispel Magic Target do not seem to be implemented, but I figure better leave them anyway.

    * Removed Call Lightning Storm (12575), Chain Lightning (12560) and Control Plants (12079) from the list of craftable wands; too high level

    * Imported custom graphics created by vampire puppy. Ended up using only one: the projectile graphic for Scintillating Sphere; I did not personally care for the look of the others, though I left comments in the .py files for the spells noting how to activate the custom graphics.

    * Edited names of fireball/magic missile/scorching ray/lightning bolt wands to reflect more relevant stats.

    * Removed higher level fireball/magic missile/scorching ray/lightning bolt wands from list of craftable wands, since the caster level is set based on the creator, not which wand you select. So, it was plainly wrong to have them there.
     
  7. Rudy

    Rudy Established Member

    Joined:
    Jan 30, 2005
    Messages:
    345
    Likes Received:
    2
    Got a rudimentary Heward's Handy Haversack by just creating a magical item with a weight of -50. This isn't quite accurate to how the Haversack works, but I figure it's a nice stand-in. Made it a nice little icon. This can cause carried weight to be negative in some cases, but no problems so far.

    Working on re-skinning a few things, too. Created a "Masterwork Battlestaff", which his just a reskinned version of the Mastework Rake. It uses the stats of the rake, and the visuals of the Staff of Defense.
     
  8. Rudy

    Rudy Established Member

    Joined:
    Jan 30, 2005
    Messages:
    345
    Likes Received:
    2
    :)

    Got the chargometer working, finally. Specifically, I have a wand with unlimited charges (usable by anyone) which targets any item in the inventory and floats text over the user corresponding to one of several possible messages:

    "Unlimited Charges"

    "Not Charged"

    "1 Charge Remaining"

    "X Charges Remaining" (up to 50)

    "51+ Charges Remaining" (I don't think any such items exist, but why not include it?)

    In order to avoid encroaching upon more spell ids, I used marc's idea to double up on spells. I placed the code inside the Armour Oil code (since that conveniently already allowed the targeting of any item in the inventory). For caster level 29 (which the Wand of Charge Detection has) the internal Armour Oil spell does charge detection. For any other caster level it defaults to the normal Armour Oil effect.

    Yay! Was so annoyed with not knowing how many charges a wand or other item had remaining.
     
  9. marc1967

    marc1967 Established Member

    Joined:
    Jan 19, 2014
    Messages:
    578
    Likes Received:
    60
    That's freeking awsome! Now I can use wands again. Up until now I've just stacked up a bunch of scrolls and pretended they were wands, so I could know the number of "charges". I think I'll be incorporating this as a feature into the Helm of Reading Magic. Can't wait to steal the code from you. :)

    Wandometer.jpg
     
  10. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,654
    Likes Received:
    352
    Great idea Rudy, that's very useful. For anyone who bothers to use Cerulean's Condensor to give potion's extra 'charges', they can now check which is which. :p
    That's just such a modding hack, I love it. :notworthy:
     
  11. DarkStorm

    DarkStorm Established Member

    Joined:
    Oct 2, 2003
    Messages:
    514
    Likes Received:
    3
    Can I interest you in making custom item tooltips with Python?
     
  12. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,654
    Likes Received:
    352
    Is this part of the UI changes that have been floated previously? Because I always mentally sat those out :blush: But yes, we'd love those - one of the biggest wishlist things from the punters is the ability to hover over things in stores and see what they do before buying: if 'custom tooltips' is that sort of thing then yes, we'd love 'em and we'd find many a use for 'em!

    EDIT: Btw Rudy,
    I always had the feeling that graphic was the wrong size, like it was meant to be a tiny sprite played thousands of times, and instead it was a giant thing played once. Just a thought.
     
  13. DarkStorm

    DarkStorm Established Member

    Joined:
    Oct 2, 2003
    Messages:
    514
    Likes Received:
    3
    I will add custom item tooltips to the issue tracker on github then.
     
  14. Rudy

    Rudy Established Member

    Joined:
    Jan 30, 2005
    Messages:
    345
    Likes Received:
    2
    Here's version 0.8 Not *too* much new stuff, but it's been a while, so...

    Notable:

    * Added a Handy Haversack at 12678; all it does is reduce carried weight by 50. Not craftable yet.
    * Charge sensor created at 12520; code was added into the Armour Oil spell to prevent excessive use of spell ids.
    * Nerfed the heck out of the non-core Periapt of Wound Closure.

    The core version of the Periapt of Wound Closure is supposed to do nothing more than prevent bleeding wounds, and allow you to heal wounds that normally do not heal normally. The designers decided to have the item make you regenerate like a troll instead. It cannot be overstated how broken this is, than a 15,000gp amulet makes obsolete all other methods of healing. This is just shiveringly absurd.

    Noting that in core, a ring of regeneration costs 90,000gp and requires CL 15, I changed the amulet to match that, AND reduced the regeneration from 5 per round to 1 per round. This is STILL better than the core ring of regeneration, which only regenerates hits points PER HOUR equal to your character level. Finally, I removed fire and acid bypassing the regeneration, because there is no reason the item's regeneration should function like that of a troll.

    Overall, the item is still really good, just not frighteningly broken, and the award for most broken item can be returned to the Co8 created ring of resonance.

    Minor:

    * Added “Masterwork Battlestaff” as a reskinning of “Masterwork Rake” at id 4505.
    * Fixed long_description.mes entries for rake/masterwork rake.
    * Fixed armor check penalties for some armors (leather scale, as well as my custom armors). The confusion arose because masterwork gives a +1 bonus to affected skills in ToEE rather than reducing the listed armor check (which is weird, but whatever).
    * Fixed wand prices for Wand of Protection from Chaos/Evil/Good/Law
    * Fixed prices of scroll of remove fear, scroll of freedom of movement, scroll of silence


    link in first post, details of changes in the online readme.
     
  15. Rudy

    Rudy Established Member

    Joined:
    Jan 30, 2005
    Messages:
    345
    Likes Received:
    2
    Re-Uploaded 0.8; the changed price of the periapt of wound closure wasn't in the first one I uploaded. I forgot to copy over the protos.tab file to my mod folder after editing that, as that is the last thing I did.

    That is the *only* difference, so if you don't care about the price of the periapt of wound closure, no need to re-download 0.8.
     
Our Host!