FORUM ARCHIVED

Modding Monsters--what am I doing wrong?

Discussion in 'Modding' started by lccorp2, Mar 2, 2012.

  1. lccorp2

    lccorp2 Member

    Hey, all. I've tried my hand at modding a few monsters, and tried using the flamer monsters as an experiment at first. While I can get the monsters' properties and spells working, and can command them to spawn by specifying them in a room, I can't get Dragon Whelps and Radiant Wyrms to spawn randomly on the floor they're specified on (Obsidian guardians are special).

    Does anyone have any idea what I'm doing wrong? Here's the entirety of my monDB:

    Also, does anyone know if there's a palette tint number to make a flamer monster black? I can't seem to find it.

    Thanks in advance.

    Edit: PFFFFFFT. I can get the code to randomly spawn the monsters if I put it (minus the monDB tags) into the main game's monDB, yet it doesn't work when I load it in from the mod. Something's fishy here.

    Code:
    <monDB>
    
    <monster type="4" subtype="23" name="Dragon Whelp" level="0"  tiny="1" terrain="2" taxa="Animal" special="0" >
        <idleSprite
            left="sprites/monster/fire/fire_Walk_Left.spr"
            right="sprites/monster/fire/fire_Walk_Right.spr"
            up="sprites/monster/fire/fire_Walk_Up.spr"
            down="sprites/monster/fire/fire_Walk_Down.spr"/>
        <attackSprite
            left="sprites/monster/fire/fire_Atk_left.spr"
            right="sprites/monster/fire/fire_Atk_right.spr"
            up="sprites/monster/fire/fire_Atk_up.spr"
            down="sprites/monster/fire/fire_Atk_down.spr"/>
        <beamSprite
            left="sprites/monster/fire/fire_Atk_left.spr"
            right="sprites/monster/fire/fire_Atk_right.spr"
            up="sprites/monster/fire/fire_Atk_up.spr"
            down="sprites/monster/fire/fire_Atk_down.spr"/>
        <hitSprite
            left="sprites/monster/fire/fire_Hit_left.spr"
            right="sprites/monster/fire/fire_Hit_right.spr"
            up="sprites/monster/fire/fire_Hit_up.spr"
            down="sprites/monster/fire/fire_Hit_down.spr"/>
    
        <castSpellSprite name="sprites/monster/fire/fire_Cast.spr"/>
        <dieSprite name="sprites/monster/fire/fire_Die.spr"/>
        <sfx attack="large_attack" hit="large_hit" die="large_die" spell="large_spell"/>
    
        <stats numFig="3" xpValue="12"/>
        <resistances conflagratory="2" hyperborean="-1"/> <!-- Basing this off diggle, but a little stronger. -->
        <secondarybuff id="4" amount="-5"/> <!-- crit -->
        <damage blast="1" conflagratory="2"/>
        <ai aggressiveness="3" span="10" />
        <info latin="(draconis ignitis)" text="We've got whelps! That's a fifty DKP minus."/>
    
        <monster type="3" subtype="25" name="Radiant Wyrm" level="12" terrain="2" special="0" > <!-- Mage Killer, but very weak to melee. Since there aren't enough monsters on DL13, I thought I'd spice it up. -->
            <stats numRog="5" numWiz="20" xpValue="200"/>
            <resistances righteous="20" conflagratory="10"/>
            <secondarybuff id="10" amount="-10"/>
            <secondarybuff id="11" amount="50"/>
            <secondarybuff id="22" amount="50"/>
            <damage righteous="10" />
            <onhit spell="Greater Targeted Mana Drain" onechancein="1"/>
            <palette tint="50"/>
            <info latin="(draconis radianta)" text="A dragon formed of blinding, radiant energy trapped within a fragile, scaly shell. Spells have nothing on this thing."/>
            <ai aggressiveness="3" span="6" spellPercentage="20"/>
            <spell name="Greater Targeted Mana Drain"/>
            <spell name="Major Lutefisk Smite" />
        </monster>
        
        <monster type="3" subtype="25" name="Obsidian Guardian" level="13" terrain="2" special="1"> <!-- Special boss monster for Lower Obsidia shrines. Lower Obsidia shrines will have a certain chance of holding one perfect obsidian and five of these guys. -->
            <stats numFig="30" numRog="5" xpValue="300"/>
            <resistances conflagratory="30"/>
            <secondarybuff id="0" amount="75"/> <!-- As the mother goddess' favoured, they're going to be really healthy. -->
            <secondarybuff id="10" amount="25"/> <!-- armour. And tough, too. -->
            <secondarybuff id="7" amount="15"/> <!-- block -->
            <damage crushing="10" conflagratory="10" />
            <onhit spell="Gog's Tactical Pyre" onechancein="3"/>
            <palette tint="-125"/>
            <info latin="(draconis osbidis)" text="A dragon that has dedicated its life to the draconic mother goddess Obsidia, its dark, gleaming scales testament to the goddess' favour."/>
            <ai aggressiveness="3" span="6" spellPercentage="25"/>
            <spell name="Obvious Fireball"/>
        </monster>
    
    </monster>
    
    </monDB>
     
  2. r_b_bergstrom

    r_b_bergstrom Will Mod for Digglebucks

    Yep, Fax had discovered this bug before while he was making his Monstrous Menagerie. When the game spawns monsters randomly, it only checks it's own files. Modded monsters may be specifically called by name in new rooms, but will not spawn on their own otherwise. So, if you want these dragons to appear, you'll have to make rooms for them.
     
  3. blob

    blob Member

    Ugh, that sucks...
    Dont really want to make new monsters in that condition :/
     
  4. Daynab

    Daynab Community Moderator Staff Member

    Would it work if you simply added the monsters to the core game files?
     
  5. Kazeto

    Kazeto Member

    Yup, it would.
     
  6. r_b_bergstrom

    r_b_bergstrom Will Mod for Digglebucks

    It would. Of course, that's side-stepping the mod launcher, and gets complicated if a lot of people start doing it, as you'd have to "Mac Pack" everyone's mods together. That (plus lack of time) is what has deterred me from adding monsters to Interior Dredmorating so far.
     
  7. Just to doublecheck, this is no longer true, right?
     
  8. r_b_bergstrom

    r_b_bergstrom Will Mod for Digglebucks

    That has been fixed, mods can now call monsters, Fax and Lccorp have both proven it works with 1.0.10.
    New monsters now show up scattered across the floor unless you use special="1" which prevents them from spawning unless called by name by a room or spell.

    The trick now is not upsetting floor balance or theme, as every new monster thins out the numbers of the base types on that level. Some floors are more moddable than others, at least in terms of not upsetting play balance and theme. I recommend all modders take a close look at the monster stats, and make sure you read the Exotic Damages and You thread.

    I've got one monster (a bear for banjo) finished and ready to go for ID 2.0, and have a couple others in the works. I'm honestly a little torn from making the new monsters really fit the floors mechanically (in which case, one wonders "why bother to make new monsters at all") or instead set them all special="1" so they're only triggered by specific rooms that are also special="1" (which is totally something I could have and should have done back before 1.0.10 came out). If the monster only shows up on-command, you've got a bit more leeway in terms of power-balance, and can use them as bosses, which is what I've done with the bear. The downside is that a new monster is so much work, you hate to go to that effort if it's only going to show up in one or two rooms.