Creating a "It belongs in a musem" + "map markers mod" need pointers

Discussion in 'Modding' started by lujo86, Oct 17, 2012.

  1. Kazeto

    Kazeto Member

    Ok, now that I'm back, here you go:

    1. First of all, you need to create a polymorphed form; the easy way would be to just copy data from some other monster and change its graphics and abilities to match what you want there (average stats and eyebrowed person's sprite for graphics); this you do in "monDB.xml".
    2. Then, you create a buff that would polymorph you into that form - you can either make it time-based (with timer, so that it disappears on its own) or "permanent" (no timer, and not breakable from taking or dealing damage); if you make it permanent (it's optional if it's timer-based), add another spell that will do one thing - remove the aforementioned buff; you also add a version of "It Belongs to a Museum" that has a cooldown of 0 and a different name (adding a space at the end of the name works); you do that in "spellDB.xml".
    3. Now, you create the room. You make one tile in the centre of it (that you mark in any way you want) that will cast the buff that changes you into the polymorphed form you created; you can make its use repeatable or not, but you'll have to insert some fail-safes into it if you make it repeatable (I will tell you what they would need to be and why if you choose to do so and will want to know, but for now I don't want to make it more complicated). Then, if you decided for the buff to be permanent (it is not required if it is timer-based, though still recommended) you make every tile on the border of the room (meaning every tile that is near a wall or doors) cast the spell that removes the buff from you; you make these repeatable if the transformation-inducing tile was repeatable. These changes are done in "rooms.xml".
    4. And the last, you add a tier-0 ('level="0"' in the data file) skill to every skill tree (ID 0 to 33 and 45 to 46 for basic game, additional 34 to 40 for RotDG, additional 41 to 44 for YHtNtEP, and additional 47 to 52 for CotW) that will do nothing more than add the modified IBtaM spell to the polymorphed form (the same way Werediggle Curse does it) - it is preferable that you do it with the core files, but there is a chance that it will work if you create it as an outright mod since skill trees are allowed multiple abilities of the same tier; this change is done in "skillDB.xml".
    So that's it. Good luck and just ask if you have any questions (because I might have botched the explanation somewhere).
     
  2. mining

    mining Member

    For the record, I tried adding stuff to a skill using a different skillDB, and I believe it worked (had two copies of a mod ticked, got double the stat bonuses)
     
    Kazeto likes this.
  3. Kazeto

    Kazeto Member

    Thank you for that, mining.
     
  4. lujo86

    lujo86 Member

    Ty both, and not to sound ungratefull, but to give a sense of what I can figure out and do - I figured out the first 3 steps on my own, but the 4th one was puzzling me, but if it can really be done with an external skillDB, then it will certanly be doable (provided it works as described) to the satisfaction of everyone who wants to ditch archeology and not lose a nice quasi-core mechanic :)

    Givin it a shot tommorow or the day after tommorow, RL interfearing with gaming which is probably good :)

    EDIT: Any other trigger I could use beside a pollymorph? Maybe a specific invisible buff? If the external skillB thing works, and I use the pollymorph as a trigger, then werdiggles are gonna get an unintended and confusing buff. Or can I specify and exact polymorph? Hmmmmm.
     
    Essence and Kazeto like this.
  5. lujo86

    lujo86 Member

    Ok, so I've basicaly done it and ran into more trouble while doing it. At least were getting somewhere.


    So what I've found out is that it's possible to mod core skill trees through separate skillDB's and not in fact fiddle with the core files as such, BUT:

    PROBLEM No. 1)

    The separate skillDB requires me to name all the skills - if I only put abilities in there to "tack them on", the validator tells me that the skill id isn't recognized.

    solution: Name skills, ofc. Now, I've only used the sword skill tree, and I used the Diggle polymorphs tag (others can be used, so anyone I pestered with it can tell me to bugger off freely, figured it out on my own, sorry to bother). I used this for testing purposes, so I can pick whatever skill I'm fiddling with and the werediggle and check if it's working.

    concequences: Not much, really, unless skill i'd numbers change. Would love to know if this step can be avoided anyway.

    PROBLEM No. 2)

    If I name the skills, and just put in the ability, the game seems to think it's supposed to REPLACE the original ability with the new one instead of adding one more ability. Maybe I'm doing something wrong, but "ability" seems to refer to a point in the skill tree rather than a "spell" which that ability grants you.

    Workaround: Use the fact that you can actually replace a single "ability" with ones from an outside skillDB to simply copy all the lvl 0 (first skill point, or rather abitlity) skills of every skill tree with the added funcionality of having a "sacrificeartifact" effect tacked on"

    concequences: now every lvl 0 skill has a 0 cooldown "sacrificeartifact" ability tacked onto it which looks ugly, and also stacks with each other filling up the skillbar -.- Not to mention the problem no.3

    PROBLEM No. 3)

    I cant seem to be able to actually put a "polymorphedonly" tag on a spell. Theyre put on abilities which grant spells! So if I solve either of the first 2 problems, I cant get the "sacrificeartifact" thing to only work while polymorphed and get stuck with having 7 "IBIAM" buttons regardless of the build.


    Solution: Go vigorously support the "rant on modding" thread and try to harangue devs into cutting me / us some slac if at all possible in the next patch, or ask any of you wether you can think of something.

    Concequences: Quite a bit of frustration, I must say, and this is coming from a guy who wouldn't mind copy pasting and edditing all the core skills if that'd get the job done .
     
  6. Null

    Null Will Mod for Digglebucks

    1. isn't part of the core game, and the validator is open source. Glazed appears not to be here much anymore though and I'm not quite sure where the source is hosted.

    2.If you add a skill and give it a name as such then yes it will understand that you mean you want a skill added.

    3.This will work just fine and you can add it to each level without error
     
  7. Kazeto

    Kazeto Member

    Re.3: You add the "polymorphedonly" thing to the abilities, and the abilities then call the spell in question (the one that is supposed to only be for the polymorphed form). Sorry for not making that clearer.
     
  8. Vitellozzo

    Vitellozzo Member

    Instead of such unelegant gimmicks, I think that the most simple solution is to give to this polymorph a destroyonmove="1" (like the celestial circle) to the <buff ...> tag.
     
  9. Kazeto

    Kazeto Member

    You could do that too. But that would only make it usable in a single spot instead of the whole room.

    Whichever way one prefers is better, I guess.
     
    Vitellozzo likes this.
  10. Vitellozzo

    Vitellozzo Member

    You could make the spot near the "altar" then, and if you think every Lutefisk statue is reacheable by only one tile.
     
    lujo86 and Kazeto like this.
  11. lujo86

    lujo86 Member

    Well the part about how the polymorph room works would probably work best if it only worked in one square simmillar to actual shrines, but the bigger problem currently is that because of what I listed - the entire scheme falls apart. I seem to not have explained the problems well enough.

    But if what null said about targeting in th other lace, that is if I can make a level "piskupitem" first and then "sacrificeitem", and that solves the issue of "sacrificeartifact" not working on items on the floor, then the whole polymorph plan isnt necessary and this thing can be wrapped very soon. We'll see how it goes tommorrow, most likely :)
     
    Kazeto likes this.
  12. mining

    mining Member

    The validator will die - ignore it :)
     
    Kazeto likes this.
  13. mining

    mining Member

    <skillDB>


    <ability name="Empowered Mana Weave" icon="skills/warweaver1l.png" skill="0" level="0">
    <description text="Turns out that with a little practice, you can quite comfortably weave your mana into raw arcan power!"/>
    <damagebuff slashing="100" />
    </ability>


    </skillDB>

    This adds a 100 slashing damage to the swords skill.

    I just cannibalized one of my old mods to throw it on, so ignore ability name, icon and descriptions text :)
     
    Kazeto likes this.
  14. Vitellozzo

    Vitellozzo Member

    I'm sorry, but I just cannot see the point of this.
     
  15. lujo86

    lujo86 Member

    Point is showing me how to add features to an existing skill rank. I have to check if it can be done with activated abilities.
     
  16. mining

    mining Member

    It's actually super useful because it means you can add, say, for your polymorph skill, a bonus for having other skill trees maxed out, etc.
     
    Kazeto likes this.
  17. Vitellozzo

    Vitellozzo Member

    Oh, right.
    Since I didn't see the id for the skill, I didn't thought this.
    So the skill="x" is the tag for the skill id="x", understood.
    And if it's like that, I don't think there are problems for "activated abilities", namely the <spell name="activated ability name" />

    And this means I still can do a "polymorph rebalance" thing without changing the relative skilldbs.
     
    Kazeto likes this.
  18. lujo86

    lujo86 Member

    This also replaces the current 1st lvl sword ability with the "Empowered Mana Weave" ability. However:

    Code:
      <ability skill="0" level="0">
      <damagebuff slashing="100" />
    </ability>
    Does add 100 slashing damage to the ability, but doesn't show it. It still replaces the original ability - but I'm fiddling about it right now to see if I can make such an overlap that the original ability and it's bonuses end up "on top". I'm still having trouble with coding in an invisible "polymorphed only" ability into a skill slot.

    Not to mention all of Null's advice not working for me - I cant even get the lever to simply grab an item in the room essence wrote :( - got it working :)
     
    Vitellozzo likes this.
  19. lujo86

    lujo86 Member

    And now I got it to both pick stuff up an convert it the way Null said using Essences room! Whoo hooo!

    HTML:
    <spell name="Grab" type="targetflooritem" icon="skills/confiscate_evidence32.png" >
      <effect type="grabitem" />
      <effect type="sacrificeartifact"/>
      <description text="Cast on items far away to shove them in your inventory. Nothing exceeds the reach of the law!"/>
      </spell> 
    I can not for the life of me say what I was doing wrong before, but folks I think we got urselves a custom Archeology-light shrine!

    And as for the pollymorph idea - I also got info on that. Will do a writeup on what replaces what and in what order if anyone's interested ,and now I'm interested in seeing it done for other modding purposes.

    The game seems to crash an awfull lot when you experiment with it, and behaves oddly around the polymorphed only tags.
     
    Kazeto and Vitellozzo like this.
  20. Vitellozzo

    Vitellozzo Member

    I luv u.:life_regen:
    You could add every level="0" ability before the current IBIAM effect, so this is hidden and nothing get touched.

    Anyway, did you figure how to polymorph into another thing aside from diggle form? I can help you, but it should be easy enough to figure it yourself. ^^

    On the note of flavor text, did you choose a name for the anti art god? Something like Fahrenheit could work well, and you could add magma pools and something like that to mantain the citation from Fahrenheit 451, where there is a police force which has to cancel art from the world, in short.