Template talk:Spellcaster

From CrawlWiki
Jump to: navigation, search

What do people think of this? I can see three possible advantages to it:

  • It seems more bot-friendly, though it may have to be made to include HD if we want to derive spell damages for it (I'm not sure there).
  • It better shows the relative frequency of spells, i.e. that ice fiends can be expected to spam their bolts of cold at you, or that hell sentinels have a reasonable probability to use their melee spell.
  • It's a little neater.

Anyway, do people think it's worth putting this in articles? If not, I can gladly delete this page. -Ion frigate 18:48, 23 January 2013 (CET)

Y'know what, I like this. Nice work here Ion. Any arguments against adding this in? --MoogleDan 18:50, 23 January 2013 (CET)
Thanks. One problem I can see is monsters with multiple spell sets, the worst being wizards. You can make multiple templates appear side-by-side by leaving out any lines between them, but even then, it might look more cluttered than just a spell list. Still though, I think it's worth it, since it much better shows how spellcasting actually works. -Ion frigate 19:02, 23 January 2013 (CET)
I like it. The bot can easily obtain the hit dice. Currently, my modified version of monster-trunk can do everything except flags, spells, genus, and habitat. It can also get the exact value of a resistance or vulnerability, but I'm not sure how to display that info in a clear way. --CommanderC 19:26, 23 January 2013 (CET)
Sounds like this is a good idea then. As for displaying the exact value of a resistance, I can think of two ways:
  • The way the learndb does it, where it's fire, fire++, fire+++
  • The way it is on artefacts, i.e. rF+, rF++, rF+++
Either way, it can be linked to the appropriate page for the resistance. Would you be able to modify your bot to scrape the spells? Even if not, there actually aren't so many spellcasters that it'd be impossible to do by hand. -Ion frigate 19:37, 23 January 2013 (CET)
Regarding resistances, I'd say use the full word. rAsphyx and rWind never really show up in game, do they? --MoogleDan 19:44, 23 January 2013 (CET)
I think this template will be done by a different bot. That way I can get it working sooner. The first implementation I've made displays the resistances as follows:
{{monster
|name=bone dragon
|glyph={{LightGray|D}}
|tile=[[File:Bone dragon.png]]
|flags=, evil, sense invisible, fly|resistances={{Fire resistance}}, {{Cold resistance}}, {{Electricity resistance}}, {{Poison resistance 3}}, {{Drown resistance}}, {{Rot resistance 3}}, {{Negative energy resistance 3}}, {{Torment resistance}}
|vulnerabilities={{Holy vulnerability 2}}
|max_chunks=0
|meat={{No corpse}}
|xp=2362
|holiness={{Undead}}
|magic_resistance=106
|hp_range=205-275
|armour_class=20
|evasion=4
|speed= 8
|size=Huge
|item_use={{Uses nothing}}
|attack1=30 ({{Bite type}}: {{Plain flavour}})
|attack2=20 ({{Claw type}}: {{Plain flavour}})
|attack3=20 ({{Trample type}}: {{Plain flavour}})
|attack4=
|hit dice=20
|intelligence={{Animal intelligence}}
|genus=dragon
|}
The advantage is that those templates ({{Holy vulnerability 2}}, etc.) can be defined to display the info in any way we want. One problem is the lack of control over line breaks. --CommanderC 20:08, 23 January 2013 (CET)
Would this eventual bot be able to add different sorts of resistance down the line? If we have to add a few more categories to do so, that'd be fine. Resistance, immunity, and absorption (it's admittedly rare) are all very different things I'd like us to track, though I've been justifying the current arrangement to myself by thinking that knowledge of any level of resistance is usually enough for most players to know not to do it.
Also, we're currently manually tracking a decent number of special vulnerabilities (dragon-slaying, orc-slaying, and silver at least) that the knowledge bots don't seem to follow. Would it be possible to still incorporate those in an automated system? --MoogleDan 21:35, 23 January 2013 (CET)
I'll add those special vulnerabilies. --CommanderC 22:30, 23 January 2013 (CET)

Wow, this was easier than expected. Here is the output when I run 'monster-trunk lich':

{{Spellcaster
|name=Lich
|slot1=[[Bolt of Cold]] (3d29)
|slot2=[[Paralyse]]
|slot3=[[Summon Greater Demon]]
|slot4=[[Animate Dead]]
|slot5=[[Iron Shot]] (3d34)
|slot6=[[Teleport Self]]
}}
{{Spellcaster
|name=Lich
|slot1=[[Bolt of Draining]] (3d24)
|slot2=[[Animate Dead]]
|slot3=[[Summon Undead]]
|slot4=[[Throw Frost]] (3d11)
|slot5=[[Lehudib's Crystal Spear]] (3d40)
|slot6=[[Summon Undead]]
}}
{{Spellcaster
|name=Lich
|slot1=[[Bolt of Fire]] (3d29)
|slot2=[[Confuse]]
|slot3=[[Haste]]
|slot4=[[Bolt of Draining]] (3d24)
|slot5=[[Summon Greater Demon]]
|slot6=[[Banishment]]
}}
{{Spellcaster
|name=Lich
|slot1=[[Iskenderun's Mystic Blast]] (3d24)
|slot2=[[Bolt of Cold]] (3d29)
|slot3=[[Invisibility]]
|slot4=[[Animate Dead]]
|slot5=[[Orb of Destruction]] (8d17)
|slot6=[[Invisibility]]
}}

Any suggestions? --CommanderC 22:30, 23 January 2013 (CET)

Just a question: does it handle monsters that have empty slots or repeated spells well? A good one to test would be hellions: they have nothing but hellfire, with an empty 3rd slot (this is used for self-enchantments and summonings, which hellfire doesn't fit into). And a question about wording: do you think we should try to have the template reflect the spell roles? They supposedly go:
  • Slot 1: Conjuration
  • Slot 2: Conjuration
  • Slot 3: Self-enchantment or summoning
  • Slot 4: Hex or Conjuration
  • Slot 5: Hex or Conjuration
  • Slot 6: Emergency
The problem is, the only ones that are used completely consistently are 3 and 6. 1, 2, 4, and 5 seem to be "generic offensive spell", including summonings, hexes, etc. I'm thinking it'd be better to just write an article on monster spellcasting explaining this, and leave the template as-is. -Ion frigate 23:49, 23 January 2013 (CET)
Yes. The only problematic monsters are shapeshifters and pan lords. For those the program will print:
{{Spellcaster
|number=
|slot1=''random''
|slot2=''random''
|slot3=''random''
|slot4=''random''
|slot5=''random''
|slot6=''random''
}}
Should we add this template to monsters with fake spells? I can easily filter them out. I think we should add that info. For example:
#An alligator
{{Spellcaster
|number=
|slot1=''none''
|slot2=''none''
|slot3=[[Swiftness]]
|slot4=''none''
|slot5=''none''
|slot6=''none''
}}
#A steam dragon
{{Spellcaster
|number=
|slot1=[[Steam Ball]] (3d10)
|slot2=[[Steam Ball]] (3d10)
|slot3=''none''
|slot4=[[Steam Ball]] (3d10)
|slot5=[[Steam Ball]] (3d10)
|slot6=''none''
}}
Just add a link to the article inside the template. --CommanderC 15:22, 24 January 2013 (CET)