Urist McDwarf mod?

Discussion in 'Modding' started by Farmerbob, Jan 3, 2013.

  1. Farmerbob

    Farmerbob Member

    There's so much DF easter egging in here, has anyone ever done a DF mod?

    Things like "There's a sock over there!" movement power


    "What does this lever do?" to create a cone effect lava attack


    "Martial Trance" melee hit and critical bonuses
    OmniaNigrum likes this.
  2. Kazeto

    Kazeto Member

    No, not really. You are free to tackle that theme if you feel like creating a mod.
    OmniaNigrum likes this.
  3. Farmerbob

    Farmerbob Member

    I normally don't mod games, or even play modded games, but I think I'll have fun with this :)
    Essence, OmniaNigrum and Kazeto like this.
  4. Farmerbob

    Farmerbob Member

    OK, starting to slowly work on this. XML seems like a fairly verbose language, but the last time I did programming, it was in FORTRAN so expect questions. The modwiki is sufficient for now but one thing I wasn't able to quite get. How do I tell if the PNG file I created is a RGB file?

    For instance: UristMcDwarf.png

    Is this png an RGB file?

    Not sure if I can make the actual file visible to the forum or not?
    OmniaNigrum likes this.
  5. Alistaire

    Alistaire Member

    XML is not hard. The language these usurpers from Gaslamp Games use is hard.
    Also; is "the modwiki" dredmod? Because there are quite a few out there, but Dredmod is started by Gaslamp themselves.


    Every png file is an rgb file..
    OmniaNigrum likes this.
  6. Farmerbob

    Farmerbob Member

    I'm not sure what's possible and what isn't yet, but here are my current ideas. Warrior class skillset.

    Start Skill would be dwarven toughness. Various significant physical resistances. Bonus physical stats.
    Start item would be a pick. It will do crushing damage, of course.

    First Skill would be "There's a Sock over there!" which would be a two tile hop straight forward. If possible I would like to limit the hop to passing through barriers, not over moats, lava, water, or pits.

    Second skill would be "Here Kitty Kitty" which would summon a kitten. The effect of the kitten summoning would be to attract the aggro of all enemies currently engaging the dwarf for a short time. The kitten will attempt to flee in a direction opposite from where the player is facing. If the kitten dies before it despawns, the dwarf would gain bonus melee stats for a short while, which will drain their mana. The aggro gathering effect should be resistable, but hard to resist.

    Third skill would be + 2 skill in blacksmithing +more melee stats.

    Fourth skill would be "What Does this lever do?" which spawns a lever in front of the character's current facing. When activated, the lever creates a cone effect of magma directly away from the character.

    Fifth skill would be + more melee stats + 2 skill in tinkering +2 trap visibility range +2 trap disarm and "Build Bridge" which would use a "large pile of stone" which could be bought from vendors or found on level 5 or lower to build a floor over a water/lava/pit tile. (( Not sure if actually building floor tiles is possible. If not, then change "Build Bridge" to an ability to use blacksmithing to infuse armor with "adamantine" which would be found on L5 or below making it much tougher, and use tinkering to infuse weapons with "adamantine" to give critical damage bonuses.))

    Sixth skill would be "Martial Trance" Brief massive evade & resist bonuses, and massive +hit and +crit. Mana bar must be full to activate. Drains entire mana bar on activation. Long cooldown

    Seventh skill would be "Fell Mood" Instant kill of a single enemy with fewer current hit points than the dwarf. The ability will create an item, "strange leather and bone artifact" which would be a single use item that will cause a brief AE fear effect when thrown. Long cooldown.

    Eighth skill would be Tantrum Spiral. Very powerful melee bonuses, but periodic loss of health and loss of mana. No mana regen is possible when active, but every kill gives a bit of health back. Health gain is only possible from kills, no other health gain works when in Tantrum Spiral. Can only be activated when full health and full mana. When mana is gone, the effect ends. Long cooldown.

    Of course I have no clue whether or not all of these things are possible, but most of them should be, I'd think?
    OmniaNigrum likes this.
  7. Farmerbob

    Farmerbob Member

    Aye dredmod is the site. Here's what has me concerned:

    "This is the art file for your mod. It must be a 64x64 RGB .png file (see here for more information about RGB vs. indexed .png's and when to use one or the other)."

    The link "here" goes to a empty page.
    OmniaNigrum likes this.
  8. Alistaire

    Alistaire Member

    Don't mind the "tutorials" for true information. Please look at the Reference pages (I've made them). They are for better reference.

    Start skill: Good
    First: The hop is possible, but the part with not jumping over moats I think not.
    Second: I don't think that's possible.
    Third: Well, a bit unbalanced, but possible.
    Fourth: I think you can't spawn levers.
    Fifth: Seems impossible. Also, only way to "infuse" something, is by encrusting (CotW)
    Sixth: I don't think it's really possible, but I might aswell be wrong.
    Seventh: Very possible.
    Eighth: Could work, by removebuffbyname'ing every food effect and healing effect.
    Vitellozzo and OmniaNigrum like this.
  9. Farmerbob

    Farmerbob Member

    The kitty effect need not be so complex. Perhaps simply summon a kitten, which immediately dies, driving the dwarf into a rage as described.

    If you cannot actually spawn a real ingame lever, then you could simply create an item in inventory called a "mysterious lever" which, when activated, causes some sort of magma effect.

    Can the blacksmithing +2 be limited to characters with base blacksmithing skill of 0? In essence making sure the character is a competent blacksmith but not a master unless they actually get the blacksmithing skill? The same with the other skill bonuses?

    What part of the martial trance wouldn't be possible?

    The Tantrum Spiral ability would work like vampirism for health gain, except only on killing blows? Is it not possible to use the vampirism limitations temporarily? Or were you referring to the "only on killing blows part?
    OmniaNigrum likes this.
  10. Kazeto

    Kazeto Member

    This part.

    That is, if you only used one skill for triggering the whole thing.
    If you were willing to have two skills, both of which would have to be used one after another to activate the thing (and a single skill tier can give you more than one skill so it's not impossible to give both on the same tier) then it is actually fairly easy.
    OmniaNigrum likes this.
  11. Farmerbob

    Farmerbob Member

    Ah ok, so there's no way to monitor for full mana for skill activation?

    Or no way to declare that all mana is used to activate a skill?

    Or both?

    *edit add*

    I'll look at this stuff again tomorrow and rewrite the abilities based on the discussion in here, and see if they are still broken, lol.
    OmniaNigrum likes this.
  12. Kazeto

    Kazeto Member

    This one, not really.

    And this one sort of.

    As I wrote earlier, it's easy if you are willing to use two skills instead of one (meaning that the activation process will take two turns instead of one, just to make it clear).
    First of all, the skill with the cooldown will do nothing more than drain mana equal to your maximum minus 1 (that much we can do), put a one-turn lasting dummy buff on you. If the buff is still there at the beginning of your next turn, it will disappear by itself and give you back your mana (also easy to do).
    Now the second skill. This one will not have a cooldown but instead a cost of 1 mana, and this one will activate the ability you want, but only if the buff mentioned before is present. Because one can go into negative mana as a result of mana drain but has to have enough mana when casting spells, that ensures you will only be able to cast it if your mana was full when you started the whole thing.
    Vitellozzo and OmniaNigrum like this.
  13. Farmerbob

    Farmerbob Member

    The difference between draining all but one mana and draining all mana is negligible. I don't see a need to create a extra skill just to make sure one last mana gets used. At work right now, so can't put a lot of thought into the rest, but that's a slam dunk.
  14. Kazeto

    Kazeto Member

    The difference is that your version will allow it to trigger even when you are all out of mana, and my version will require full mana.
    Vitellozzo and OmniaNigrum like this.
  15. Farmerbob

    Farmerbob Member

    Wait, you said that a skill can be used to use maximum mana -1, I thought? I'm very confused here. Are you saying that there is a feature in game which allows you to drain all but one mana but it's impossible to actually attach that affect to a skill directly?
    OmniaNigrum likes this.
  16. Farmerbob

    Farmerbob Member

    As an alternate, is it possible to simply attach some sort of automatic dodge to a mana cost? Activate a skill, disallow mana regen, and mana is drained on every dodge until mana is gone, at which point the skill ends?
    OmniaNigrum likes this.
  17. OmniaNigrum

    OmniaNigrum Member

    If Kazeto is confusing you, welcome to the forums! :p

    He knows a whole lot and every time I think I understand a portion of something he says he turns it around and I am lost again. That is one of the many reasons Essence has him listed as a badass.
    Turbo164, Essence and Kazeto like this.
  18. Farmerbob

    Farmerbob Member

    Heh, at work I frequently find myself caught between customers on one end and software developers on another. I'm logical enough to understand coders, generally, and user-oriented enough to be able to explain coderspeak to customers. A couple more back and forths, and a bit of time playing with it, and I'll figure out what Kazeto is trying to tell me :)
    OmniaNigrum and Kazeto like this.
  19. Kazeto

    Kazeto Member

    You can't check if there's "maximum mana", but you can check if there is "1 or more mana", and you can "drain mana equal to maximum minus 1".
    The problem being that you can't perform the "1 or more mana" check after initialising a skill, only in the exact moment you do so, and thus you need to first do the "drain mana equal to maximum minus 1" thing and then the "1 or more mana" check, doing which will emulate what you need.

    Which is why, when you are a beginner in something, you don't make arbitrary changes to solutions posted by other people. Because the solution I gave you is something people (me not being included in that group) aren't even using as it's a code shenanigan and not something "proper", experimenting with it without knowing the ins-and-outs of it will only make it stop working. But that is another thing entirely, I'm just someone whose code isn't exactly newbie-friendly.

    Well, of course there is a more "elegant" way to do that, with just one skill. But you do not want to go there, and you (not only you) likely wouldn't even be able to make it work by now; heck, I'm still experimenting with the idea myself instead of using it, which does say much because of my tendency to be a code kamikaze and make bits of code which explode. I can post it once it's usable if you want, though; just prepare some mind-affecting liquids (green tea will do splendidly).
    OmniaNigrum likes this.
  20. Farmerbob

    Farmerbob Member

    OK, so there is a way, but it's very-not-pretty. Perhaps I'll look at it later if I decide I like modding.

    So rather than trigger a single mass-mana-loss event of a quantity that is variable, I should trigger a single mana-loss event of a specific quantity, and if I want it to drain the mana pool, I should code something in to simply trigger several additional mana drains.

    For example:

    User Clicks "Drain My Mana skill"
    Game charges character 30 mana.
    Then a function is started which drains all the rest of the mana using a loop like this
    IF mana > 1 THEN mana = mana -1

    Can recursives be defined inside skills?
    OmniaNigrum likes this.