Magic Missile - Wrath of the Beige Warlock

Discussion in 'Modding' started by Shaxarok, Jun 10, 2012.

  1. Shaxarok

    Shaxarok Member

    So after my previous mod idea was shot out from under me (no harm no foul), I went to another idea I had rattling around, this one honestly simpler and probably should have done first anyway and saved myself the trouble.

    The skill in question would be a wizard skill with two spells, tops, one offensive (guess which one?) and one utility.

    In keeping with the incredible lack of imagination of the Beige Warlock, a spell tree is born, focused around the least imaginative spell ever created: Magic Missile.

    Now, my plan for this skill tree is to make a single spell useful all the way from Eelies to Dredmor (likely dependent on other skill trees to make it work), if not overpowering. Actually, more like a spammable single target shot, too expensive/weak if you're not a wizard.

    Skill Tree would look something like this:

    1 - Magic Missile
    Insert pithy D&D reference here
    Creates a bolt of (probably transmutative) damage that flies dumbly in the direction you fling it.
    1 point transmutative resistance

    2 - I Attack The Darkness!
    Adds single space knockback chance and breakable wall destruction to spell (this may need to be higher in the tree to be less must-have)
    Your practice flinging magic bolts willy-nilly has shown you that, while breaking a priceless Ming vase is cool, breaking a shoddy false wall is cooler.

    3 - Couldn't Name This Level
    Gives better dmg/mp ratio to Magic Missile
    Doing the same thing over and over has made you really good at doing that thing.
    [If I can't delete versions of Magic Missile, will probably fold this function into I Attack The Darkess! and move Attack the Darkness to level 3, with a considerably blander bonus for Couldn't Name This Level now at level 2]

    4 - Be The Bolt
    Use same firing rules as Magic Missile, do no damage on impact, teleport to space before it? (probably take damage to avoid taking away from Xeuclid's Translation)
    You almost can't believe it took you this long to realize you could reverse the polarity.
    2 points transmutative resistance (if memory serves, transmutative is rare and not powerful from enemies, don't need a whole lot of it rattling about, especially to avoid minimizing self damage from this spell too much)

    5 - Wrath of the Beige Warlock
    They all laughed at you for not being very creative. Well, what they create, you can DESTROY! Sometimes all this destruction gets out of hand, though.
    Better scaling on magic missile/change to Magic Missile Massacre: launches three in a cone, one on the same trajectory as original missile
    Gives on-cast effect with percentile chance: Leaves behind lingering transmutative damage (can harm player?) like leftover fire.

    So, thoughts? Anyone want this? Anyone got a good reason it can't be done (I'm not sure we can remove/modify a spell with later skill levels. . . might just have to do it as MM - MM2.0 - MMv3 - MMM, each one left over)? Balance issues with it? (I intend to make you regret jumping to Wrath of the Beige Warlock too early, with the cost being prohibitive for its damage 'til late game)

    Basically, I'm drafting the idea to you guys before I get too into this particular idea. And yes, this is not a suggestion, I will make it.


    Edit to add: two new prospective abilities up in the air; one of which being a Rook nuke (I'll make it a Queen nuke if that's even possible), called Magic Laser; the other is a variant on Vengeful Magic Missile, wherein you autoretaliate for 1.?x standard magic missile damage for the next 5~ hits on you. Maybe I can turn this more into a Gish thing and give it a sister buff for missiles on the next few attacks as well.
     
  2. mining

    mining Member

  3. Shaxarok

    Shaxarok Member

    You make a fair point. I largely went with Transmutative due to being unique, and also sounding sufficiently lame. My imagining was that this magic missile (since we don't really have a "neutral" or "force" damage type) just hits and YOINKS matter out of the target, in a surprisingly lethal yet simultaneously underwhelming effect.

    You also raise a fair point to have more magic missile options, which may be a valid choice. Probably, based on that, split off a grapeshot magic missile, but leave the afterburn for the more devastating missiles.Vengeful missile would make a good defensive spell, especially if it can counterattack enemy mages.
     
  4. OmniaNigrum

    OmniaNigrum Member

    Is it possible to randomly select a damage type?

    Say at first level you have 100% chance of :dmg_transmutative:. At second you have 50% chance each of that and :dmg_aphyxiative: too. At third, 33% :dmg_existential:, fourth, 25% :dmg_aethereal:, fifth 20% chance of :dmg_righteous:. (Each time changing the numbers, but remaining the same damage amount and scaling.)
     
  5. Shaxarok

    Shaxarok Member

    I actually had that thought as well, but figured it was unlikely. I don't know of a random component to any spell outside of triggering.

    Actually, based on what I recall reading, it's not entirely impossible, would have to do something with randomizing triggers. Probably diving into Wild Magic will give me what I need to do that.
     
  6. OmniaNigrum

    OmniaNigrum Member

    Someone will likely explain how or tell us if it is not possible. (Hopefully.)
     
  7. Daynab

    Daynab Community Moderator Staff Member

    You certainly can. I don't know the syntax though :p but it's called triggerfromlist. So you could have a chance to cast it in transmutative, celestial etc.
    I'm sure someone will post how to do it.
     
  8. OmniaNigrum

    OmniaNigrum Member

    Now that you mention that, I have seen plenty of examples of this in all manner of effects/spells/skills/items.

    This from the Druid Magic mod is perfect as an example:
    (Note that both parts are required.)

    Code:
    <spell name="Dispense Wrath" type="target">
        <description text="Placeholder."/>
        <effect type="triggerfromlist">
            <option name="Wrath Boulder"/>
            <option name="Wrath Fire"/>
            <option name="Wrath Lightning"/>
            <option name="Wrath Frost"/>
        </effect>
        <anim sprite="sprites/sfx/energyring/energyring" frames="8" framerate="100" sfx="flame" centerEffect="1"/>
    </spell>
     
     
    <spell name="Nature's Wrath" type="self" icon="skills/wizard/spell_fire0_32.png">
        <requirements mp="15" savvyBonus="0.20" mincost="6"/>
        <anim sprite="sprites/sfx/energyring/energyring" frames="8" framerate="100" sfx="flame" centerEffect="1"/>
        <buff useTimer="0" removable="1" manaUpkeep="1" allowstacking="0" icon="skills/wizard/spell_fire0_64.png" smallicon="skills/wizard/spell_fire0_32.png">
        <primarybuff id="0" amount="1"/>
        <primarybuff id="1" amount="1"/>
        <damagebuff voltaic="1" conflagratory="1" hyperborean="1"/>
        <targetHitEffectBuff percentage="65" name="Dispense Wrath"/>
        </buff>
        <description text="Your enchanted weapon is casting spells when it makes contact with face."/>
    </spell>
     
  9. mining

    mining Member

    I'm pretty sure that because only one trigger on cast can be called, by using a series of 0 turn buffs... Maybe it'd be best to pseudo explain it:


    Level 2 gives castbuff A 20%, for A and B as 0 turn buffs with no bonuses [unless you want to give magic power?]
    Level 3 gives castbuff B 10%
    (numbers would need to be chosen carefully)


    Spell X triggers an effect P if it has buff C.
    If there's no C, but there is B, it triggers effect Q.
    If there's no B, it triggers affect R.

    You can use a similar method to create skills which scale up, but use 100% castbuff, for example.
     
  10. Syphonix

    Syphonix Member

    It's entirely possible, with the exception of, maybe, the better savvy scaling on Magic Missle as you continue down the skill tree (I'm not 100 percent on that though). The XML for this is probably going to be alot more involved than you may think, however. If you need ideas on how to go about it, I'd be happy to help. I'm not exactly an XML ninja, but this looks doable.
     
    OmniNegro likes this.
  11. OmniaNigrum

    OmniaNigrum Member

    Fans of the Druid Magic Mod would disagree on that. :)
     
  12. Shaxarok

    Shaxarok Member

    I've about got the skills done, if I can get a working magic missile in the first place, I'll hit you up. Thanks for the offer of assistance.
     
  13. Syphonix

    Syphonix Member

    Yeah, that's gonna be a real pain. Since you can't replace the spell itself every new tier, the XML for the Magic Missile is going to be quite insane. I wish you luck.
     
  14. Shaxarok

    Shaxarok Member

    Figures that what is intended to be an extremely simplistic spell will end up requiring tons of work going on behind the scenes. Hell, it's perfect.
     
  15. Syphonix

    Syphonix Member

    It's almost as if life imitates XML, isn't it?

    As a side thought, while it may or may not be possible to alter the mp scaling, you could do something like have mana restored by higher tier skills when Magic Missile is cast.
     
  16. Shaxarok

    Shaxarok Member

    Code:
    <skill name="Beige Warlock" skillName="Beige" type="wizard" description="You're not very creative. You're so terribly dull that it actually makes you very dangerous. And that is what makes you a Beige Warlock.">
      <loadout type="armor" subtype="Robe of the Beige Warlock" always="1" />
      <art icon="skills/warlockery64.png" />
      </skill>
     
    <ability name="Beige Magic" icon="skills/warlockery64.png" skill="Beige" startSkill="1">
        <description text="It's time to put that lack of creativity to work, through brute force." />
        </ability>
     
    <ability name="Magic Missile" icon="skills/puissant_touch64.png" skill="Beige"  level="0">
        <description text="So you're a wizard. Warlock. Whatever. That means you use magic. In this case, you use magic to hurt things. Your magic bolts transmute part of your target into something less helpful for breathing."/>
        <secondaryBuff id="7" amount="2"/> <!-- block -->
        <spell name="Magic Missile"/>
        </ability>
     
    <ability name="The Level With No Name" icon="skills/battle_form64.png" skill="Beige" level="1">
        <description text="It would take way longer for you to name this level than is strictly feasible for dungeoneering. You're better, that's what matters. You've also worked out how to create null bolts that tend to cause vacuums when they land, but you don't have any real control over when that happens." />
      </ability>
     
    <ability name="I Attack The Darkness" icon="skills/warlocks_challenge64.png" skill="Beige"  level="2">
        <description text="You're getting a lot better with throwing arbitrary bolts of magic. You can break priceless ming vases with it, or hurl someone away from you, or break false walls. Sweet. Sometimes your bolts YOINK some of the target out of existence."/>
        </ability>
     
    <ability name="Now With Lasers" icon="skills/supercharged64.png" skill="Beige" level="3">
        <description text="You finally came up with something different to cast than magic missile. It makes you uncomfortable, but fortunately it's pretty simple, you call it. . . Magic Laser. That took so much out of you, you didn't even find a way to do different damage." />
        <spell name="Magic Laser"/>
        </ability>
     
    <ability name="Magic Shield" icon="skills/chronomantic_twist64.png" skill="Beige"  level="4">
        <description text="You're going back to your roots after that experiment. You've figured out an autocast function for Magic Missile, when you're attacked. Sometimes your magic calls up the power of the aetherial planes"/>
        <spell name="Magic Autocannon"/>
        </ability>
     
    <ability name="Wrath of the Beige Warlock" icon="skills/puissant_field64.png" skill="Beige"  level="5">
        <description text="All you're life they've mocked you for being uncreative. Well, what they create, you can DESTROY! All this smugness gives you some righteous magic, too."/>
        <spell name="Magic Barrage"/>
        </ability>
    Yes I used Warlockery as a template. No I didn't include SkillDB tags.

    That's what I've got so far; didn't include stat bonuses. Just want to do a quick doublecheck while I'm working. Also, for the knockback function, would it be possible to add that as a guaranteed effect to Magic Missile, as well as the list triggers for the damage types? I'm still muddling through the spell documentation, if I don't get an answer maybe I'll figure it out while stumbling through it.

    Since I'm here; I have no idea how to do mana scaling for an ability to useful both early and late, yet still be spammable. . .

    OK, I think I get what mining was saying to some degree. Each level will add a oncastbuff which does nothing but trigger routines for magic missile. To minimize headaches, probably the castbuffs will all link back to one Ur-Missile spell, which leads to submissiles for each type. For knockback. . . guh. . . can I do AND operations with this thing? My idea is to check for damage type buff and knockback buff, and direct to separate missiles for each. I'm not sure how to do the buff percentages that mining was talking about.

    It could be simpler to give a guaranteed cast buff for each level which overrides the previous ones somehow, and directs to the modified magic missile. E.g. at level two get cast buff which redirects to tranmutative/asphyxiative missile, at level 3 get buff which redirects to trans/asphyx/exist + knockback missile, etc.
     
  17. mining

    mining Member

    You essentially can, its really painful but I'm always happy to help. Drop in the IRC and see if I'm on or post up something thats not working and I'll try and boot it into shape.
     
  18. Syphonix

    Syphonix Member

    Your second idea is good. You could triggeroncast a spell which has <effect type="consumebuffbyname" > and do that for each previous buff that would be granted by the Beige Warlock.. Magic Missile could check which buff is active via a series of requirebuffontriggers.
     
  19. Shaxarok

    Shaxarok Member

    Awesome. I'm really not sure how that would look, but I'll try it.

    Where's the IRC, anyway?
     
  20. Daynab

    Daynab Community Moderator Staff Member