Date: Tuesday August 8, 2000 @ 22:31 Author: cvs Update of /home/cvs/CVS/crossfire/doc/spoiler-html In directory boltzmann.eecs.berkeley.edu:/tmp/cvs-serv19755 Modified Files: Makefile.in empty.pbm makeps.pl spoiler.html Log Message: doc/spoiler.html/(Makefile.in,empty.pbm, makeps.pl, spoiler.html): Modify to make gif images from png source instead of xpm images. A valid question to ask is why convert to gif at all and not just keep in PNG format. The answer right now is that png support in netscape at least still is not very good, and it displays gifs better. MSW 8/8/2000 **************************************** Index: crossfire/doc/spoiler-html/Makefile.in diff -u crossfire/doc/spoiler-html/Makefile.in:1.2 crossfire/doc/spoiler-html/Makefile.in:1.3 --- crossfire/doc/spoiler-html/Makefile.in:1.2 Sun Mar 19 20:05:25 2000 +++ crossfire/doc/spoiler-html/Makefile.in Tue Aug 8 22:31:50 2000 @@ -1,7 +1,7 @@ FILES = Makefile.in monster-extract spells-extract stats-extract arm-extract\ spoiler.html spoiler.shtml helm-extract mag-extract shield-extract \ - items-extract makeps makeps.pl empty.pbm bow-extract arche-extract\ + items-extract makeps.pl empty.pbm bow-extract arche-extract\ weap-extract HTML = monput.html spells.html stats.html weap.html shield.html helmet.html\ @@ -36,26 +36,26 @@ $(RM) *.gif touch .bmaps -items: .bmaps in_items makeps items.gif +items: .bmaps in_items makeps.pl items.gif makeps.pl libdir=$(CROSSRC)/lib archdir=$(CROSSRC)/lib/ size=0.4 input=in_items inarch=$(datadir)/archetypes > items in_items: items-extract $(datadir)/archetypes $(CROSSRC)/common/living.c $(AWK) -v living_c=$(CROSSRC)/common/living.c -f items-extract $(datadir)/archetypes > in_items -stats.html: .bmaps in_stats makeps stats.gif +stats.html: .bmaps in_stats makeps.pl stats.gif makeps.pl libdir=$(CROSSRC)/lib archdir=$(CROSSRC)/lib/ size=0.4 input=in_stats inarch=$(datadir)/archetypes > stats.html in_stats: stats-extract $(datadir)/archetypes $(CROSSRC)/common/living.c $(AWK) -v living_c=$(CROSSRC)/common/living.c -f stats-extract $(datadir)/archetypes > in_stats -monput.html: .bmaps in_monput makeps monsters.gif +monput.html: .bmaps in_monput makeps.pl monsters.gif makeps.pl libdir=$(CROSSRC)/lib archdir=$(CROSSRC)/lib/ size=0.4 input=in_monput inarch=$(datadir)/archetypes > monput.html in_monput: monster-extract $(CROSSBIN) $(datadir)/treasures $(datadir)/archetypes $(CROSSBIN) -m2 | sort -f | $(AWK) -F'|' -f monster-extract > in_monput -spells.html: .bmaps in_spells makeps spells.gif +spells.html: .bmaps in_spells makeps.pl spells.gif makeps.pl libdir=$(CROSSRC)/lib archdir=$(CROSSRC)/lib/ size=0.4 input=in_spells inarch=$(datadir)/archetypes > spells.html in_spells: spells-extract $(INCDIR)/spellist.h $(CROSSBIN) $(datadir)/archetypes Index: crossfire/doc/spoiler-html/empty.pbm Index: crossfire/doc/spoiler-html/makeps.pl diff -u crossfire/doc/spoiler-html/makeps.pl:1.2 crossfire/doc/spoiler-html/makeps.pl:1.3 --- crossfire/doc/spoiler-html/makeps.pl:1.2 Thu Apr 13 21:37:40 2000 +++ crossfire/doc/spoiler-html/makeps.pl Tue Aug 8 22:31:50 2000 @@ -18,6 +18,8 @@ $\ = "\n"; # set output record separator $size=0.4; +$IMAGE_SIZE=32; # Size of PNG images +$BG="\\#ab0945"; # Set colour to 1 if you want colour postscript. $colour = 1; @@ -25,12 +27,13 @@ # appropriately. IT looks much nicer if you can do it. $giftrans = 1; + if ($colour) { - $xpm2ps = 'xpmtoppm | pnmdepth 255 | ppmtogif'; + $png2ps = 'echo'; $ppm2ps = 'pnmdepth 255 | ppmtogif'; } else { - $xpm2ps = 'xpmtoppm | pnmdepth 255 | ppmtopgm | pnmtops'; + $png2ps = 'echo'; $ppm2ps = 'pnmdepth 255 | ppmtopgm | pnmtops'; } @@ -148,8 +151,9 @@ } } -system('rm -f work.pbm tmp.pbm'); +system('rm -f work.pbm tmp.pbm empty.pbm'); # clean up a little +system("pbmmake -white $IMAGE_SIZE $IMAGE_SIZE > empty.pbm"); # We've created a number of Postscript-files - now we need to # patch the filenames and sizes into the TeX-files. @@ -173,7 +177,7 @@ sub assemble { local($w, $h, $ppm, $buff, $i, $j, $bmap_file, $ps_file) = @_; - $bmap_file = $archdir.$bmap{$faces{0,0}}.".xpm"; + $bmap_file = $archdir.$bmap{$faces{0,0}}.".png"; $ps_file = $faces{0, 0} . '.gif'; $ps_file =~ s/[_ ]/-/g; @@ -181,12 +185,11 @@ $h = $ymax - $ymin + 1; if (! -e $ps_file) { if (($w == 1) && ($h == 1)) { + # Maybe ln -s instead? if ($giftrans) { - system("sed 's/[Nn]one/#fafbfc/g' < $bmap_file | $xpm2ps > tmp.gif"); - system("giftrans -t \\#fafbfc tmp.gif > $ps_file"); - } - else { - system("sed 's/[Nn]one/white/g' < $bmap_file | $xpm2ps > $ps_file"); + system("pngtopnm -mix -background $BG $bmap_file | ppmtogif | giftrans -t $BG $ppm > $ps_file"); + } else { + system("pngtopnm -mix -background $BG $bmap_file | ppmtogif > $ps_file"); } } else { @@ -207,26 +210,18 @@ for ($j = $ymin; $j <= $ymax; $j++) { print STDERR 'Processing ' . $bmap{$faces{$i, $j}}; - $valx = ($i - $xmin) * 24; - $valy = ($j - $ymin) * 24; - if ($giftrans) { - system("sed 's/[Nn]one/#fafbfc/g' < $archdir$bmap{$faces{$i,$j}}.xpm | xpmtoppm > tmp.ppm"); - } - else { - system("sed 's/[Nn]one/white/g' < $archdir$bmap{$faces{$i,$j}}.xpm | xpmtoppm > tmp.ppm"); - } + $valx = ($i - $xmin) * $IMAGE_SIZE; + $valy = ($j - $ymin) * $IMAGE_SIZE; +# print STDERR "pngtopnm -background #ABCD01239876 $archdir$bmap{$faces{$i,$j}}.png > tmp.ppm\n"; + system("pngtopnm -mix -background $BG $archdir$bmap{$faces{$i,$j}}.png > tmp.ppm"); system("pnmpaste tmp.ppm $valx $valy $ppm > tmp2.ppm"); rename("tmp2.ppm", $ppm); } } if ($giftrans) { - system("cat $ppm | $ppm2ps > tmp.gif"); - system("giftrans -t \\#fafbfc tmp.gif > $ps_file"); - } - else { - system("cat $ppm | $ppm2ps > $ps_file"); - - ; + system("ppmtogif $ppm | giftrans -t $BG > $ps_file"); + } else { + system("ppmtogif $ppm > $ps_file"); } } } Index: crossfire/doc/spoiler-html/spoiler.html diff -u crossfire/doc/spoiler-html/spoiler.html:1.2 crossfire/doc/spoiler-html/spoiler.html:1.3 --- crossfire/doc/spoiler-html/spoiler.html:1.2 Mon Mar 20 18:27:51 2000 +++ crossfire/doc/spoiler-html/spoiler.html Tue Aug 8 22:31:50 2000 @@ -7,7 +7,7 @@ <center> <h1> Crossfire Spoiler </h1> <b> -Crossfire v0.95.5 +Crossfire v0.95.6 </b> </center> @@ -113,9 +113,9 @@ <table border=1 cellpadding = 5> <tr><th>Name</th><td></td><th>Dam</th><th>Speed</th><th>Weight</th></tr> <tr><th>Magnifying glass </th><td><img src=magnifier.111.gif> </td><td>1 </td><td>2.00</td><td>2.0 </td></tr> -<tr><th>Harakiri sword </th><td><img src=harakiri.111.gif> </td><td>30 </td><td>6.00</td><td>5.0 </td></tr> <tr><th>Dagger of fortune </th><td><img src=dagger-f.111.gif> </td><td>2 </td><td>5.00</td><td>2.0 </td></tr> <tr><th>Unknown Sword </th><td><img src=uk-sd.111.gif> </td><td>40 </td><td>6.00</td><td>111.0 </td></tr> +<tr><th>Harakiri sword </th><td><img src=harakiri.111.gif> </td><td>30 </td><td>6.00</td><td>5.0 </td></tr> <tr><th>Axe </th><td><img src=axe-1.111.gif> </td><td>7 </td><td>10.00</td><td>9.0 </td></tr> <tr><th>Axe </th><td><img src=axe-2.111.gif> </td><td>6 </td><td>10.00</td><td>6.0 </td></tr> <tr><th>Axe </th><td><img src=axe-3.111.gif> </td><td>8 </td><td>10.00</td><td>12.0 </td></tr> @@ -234,7 +234,7 @@ <tr><th>Mjøllnir +3 </th><td><img src=mjoellnir.111.gif> </td><td>10</td><td>8.00</td><td>Strength +1<br> Attacks: electricity<br> Protected: electricity </td></tr> <tr><th>Mournblade +4 </th><td><img src=mournblade.111.gif> </td><td>9</td><td>8.00</td><td>Strength +1, spell-point regeneration +1<br> Attacks: drain, weaponmagic<br> Protected: magical<br> Immune: drain </td></tr> <tr><th>Skullcleaver +3 </th><td><img src=skullcleav.111.gif> </td><td>20</td><td>11.00</td><td>Attacks: physical<br> Skull-slaying </td></tr> -<tr><th>Staff of the Magi +5 </th><td><img src=magi-staff.111.gif> </td><td>20</td><td>0.00</td><td>Intelligence +1, power +2, spell-point regeneration +2<br> Attacks: physical, weaponmagic<br> Protected: magical </td></tr> +<tr><th>Staff of the Magi +5 </th><td><img src=magi-staff.111.gif> </td><td>20</td><td>0.00</td><td>Intelligence +1, power +1, spell-point regeneration +2<br> Attacks: physical, weaponmagic<br> Protected: magical </td></tr> <tr><th>Sting +3 </th><td><img src=sting.111.gif> </td><td>5</td><td>6.00</td><td>Attacks: physical<br> Troll-slaying </td></tr> <tr><th>Stormbringer +4 </th><td><img src=stormbring.111.gif> </td><td>9</td><td>8.00</td><td>Strength +1, hit-point regeneration +1<br> Attacks: electricity, drain<br> Protected: magical, electricity<br> Immune: drain </td></tr> <tr><th>Unicorn horn +3 </th><td><img src=u-horn.111.gif> </td><td>9</td><td>9.00</td><td> </td></tr> @@ -266,7 +266,7 @@ <tr><th>Dress </th><td><img src=dress3.111.gif> </td><td>0</td><td>0</td><td>4.5</td><td>0.80</td><td>Charisma +1 </td></tr> <tr><th>Gale Armour </th><td><img src=gale.111.gif> </td><td>4</td><td>40</td><td>10.0</td><td>5.00</td><td>Dexterity +2<br> Protected: electricity </td></tr> <tr><th>Leather armour </th><td><img src=leather-ar.111.gif> </td><td>3</td><td>5</td><td>20.0</td><td>1.30</td><td> </td></tr> -<tr><th>Midnight Robe +5 </th><td><img src=robe-midnight.111.gif> </td><td>5</td><td>0</td><td>5.0</td><td>1.20</td><td>Dexterity +1, intelligence +2, power +2, reflect spells<br> Protected: magical, fire, cold, drain, slow, paralyze<br> Immune: acid<br> Vulnerable: ghosthit, depletion </td></tr> +<tr><th>Midnight Robe +5 </th><td><img src=robe-midnight.111.gif> </td><td>5</td><td>0</td><td>5.0</td><td>1.20</td><td>Dexterity +1, intelligence +2, wisdom +2, reflect spells<br> Protected: magical, fire, cold, drain, slow, paralyze<br> Immune: acid<br> Vulnerable: ghosthit, depletion </td></tr> <tr><th>Mithril chainmail </th><td><img src=mithril-ar.111.gif> </td><td>4</td><td>25</td><td>15.0</td><td>1.80</td><td> </td></tr> <tr><th>Mithril chainmail of lightning +3 </th><td><img src=mithril-ar.111.gif> </td><td>4</td><td>40</td><td>15.0</td><td>2.70</td><td>Charisma +1, strength +1, speed +1<br> Protected: electricity </td></tr> <tr><th>Plate mail </th><td><img src=plate-mail.111.gif> </td><td>5</td><td>40</td><td>100.0</td><td>0.70</td><td> </td></tr> @@ -298,7 +298,7 @@ <tr><th>Kabuto of Geisya </th><td><img src=kog.111.gif> </td><td>3</td><td>10</td><td>2.0</td><td>Wisdom +1, charisma +2, intelligence +1 </td></tr> <tr><th>Turban </th><td><img src=turban.111.gif> </td><td>0</td><td>1</td><td>0.5</td><td> </td></tr> <tr><th>Wig </th><td><img src=wig.111.gif> </td><td>0</td><td>0</td><td>0.5</td><td>Charisma +1 </td></tr> -<tr><th>Wizard Hat </th><td><img src=wiz-hat.111.gif> </td><td>1</td><td>0</td><td>1.0</td><td>Intelligence +1, power +1, spell-point regeneration +5<br> Protected: fire, cold, drain, slow, paralyze </td></tr> +<tr><th>Wizard Hat </th><td><img src=wiz-hat.111.gif> </td><td>1</td><td>0</td><td>1.0</td><td>Intelligence +2, spell-point regeneration +4<br> Protected: fire, cold, drain, slow, paralyze </td></tr> </table> </center> <p> @@ -774,7 +774,7 @@ <tr><th>Demon Lord </th><td><img src=demon-lord.E11.gif></td><td></td><td> 90000</td><td>3000</td><td>-11</td><td>Fast movement, see invisible, spellcaster, Spell abilities, hellfire, fear, lightning spells, magic missile spell, paralyze spells, Attacks, physical, fire, Immune, fire, cold, fear, Protected, magical</td></tr> -<tr><th>Devourers </th><td><img src=grimreaper.112.gif></td><td></td><td> 1</td><td> 350</td><td>-12</td><td>Very fast movement, infravision, undead, wield weapon, wear armour, spellcaster, Attacks, drain, depletion, death, Immune, drain, fear, depletion, death, Protected, drain, fear, depletion, death, Vulnerable, fire, Attuned, Death, Repelled, Protection, Abjuration, Denied, Fire, Restoration, Turning, Light</td></tr> +<tr><th>Devourers </th><td><img src=grimreaper.112.gif></td><td><img src=altardevo.111.gif></td><td> 1</td><td> 350</td><td>-12</td><td>Very fast movement, infravision, undead, wield weapon, wear armour, spellcaster, Attacks, drain, depletion, death, Immune, drain, fear, depletion, death, Protected, drain, fear, depletion, death, Vulnerable, fire, Attuned, Death, Repelled, Protection, Abjuration, Denied, Fire, Restoration, Turning, Light</td></tr> <tr><th>Dog </th><td><img src=dog.111.gif></td><td></td><td> 30</td><td> 10</td><td> 4</td><td>Fast movement</td></tr> @@ -830,7 +830,7 @@ <tr><th>Fly ant </th><td><img src=fly-ant.131.gif></td><td></td><td> 20</td><td> 1</td><td> 10</td><td>Fast movement, levitate</td></tr> -<tr><th>Gaea </th><td><img src=ent.111.gif></td><td></td><td> 1</td><td>1000</td><td> -5</td><td>Normal movement, armour+50, slay undead, chess, unnatural, wear armour, spellcaster, Attacks, fear, Immune, drain, depletion, death, Protected, drain, depletion, death, Vulnerable, fear, Attuned, Summoning, Abjuration, Restoration, Creation, Light, Repelled, Fire, Frost, Electricity, Missiles, Denied, Wounding, Death</td></tr> +<tr><th>Gaea </th><td><img src=ent.111.gif></td><td><img src=altargaea.111.gif></td><td> 1</td><td>1000</td><td> -5</td><td>Normal movement, armour+50, slay undead, chess, unnatural, wear armour, spellcaster, Attacks, fear, Immune, drain, depletion, death, Protected, drain, depletion, death, Vulnerable, fear, Attuned, Summoning, Abjuration, Restoration, Creation, Light, Repelled, Fire, Frost, Electricity, Missiles, Denied, Wounding, Death</td></tr> <tr><th>Gaelotroll </th><td><img src=gaelotroll.111.gif></td><td></td><td> 70000</td><td>3000</td><td>-15</td><td>Fast movement, infravision, wield weapon, skill user, Attacks, physical, acid, Protected, physical, fear, Vulnerable, fire</td></tr> @@ -846,7 +846,7 @@ <tr><th>Giant cobra </th><td><img src=cobra.111.gif></td><td></td><td> 150</td><td> 30</td><td> -2</td><td>Slow movement, Attacks, physical, poison</td></tr> -<tr><th>Gnarg </th><td><img src=troll.171.gif></td><td></td><td> 1</td><td>1000</td><td> -5</td><td>Fast movement, armour+40, slay faerie, dwarf, wield weapon, wear armour, spellcaster, Attacks, poison, Immune, poison, Protected, poison, Vulnerable, fear, Attuned, Missiles, Wounding, Repelled, Restoration, Turning</td></tr> +<tr><th>Gnarg </th><td><img src=troll.171.gif></td><td><img src=altargnarg.111.gif></td><td> 1</td><td>1000</td><td> -5</td><td>Fast movement, armour+40, slay faerie, dwarf, wield weapon, wear armour, spellcaster, Attacks, poison, Immune, poison, Protected, poison, Vulnerable, fear, Attuned, Missiles, Wounding, Repelled, Restoration, Turning</td></tr> <tr><th>Gnoll </th><td><img src=gnoll.111.gif></td><td><img src=gnoll-gen.111.gif></td><td> 30</td><td> 8</td><td> 13</td><td>Slow movement, skill user</td></tr> @@ -856,7 +856,7 @@ <tr><th>Golem of Necromancer</th><td><img src=gol.131.gif></td><td></td><td>100000</td><td>10000</td><td>-40</td><td>Very fast movement, see invisible, wield weapon, archer, wear armour, wear ring, read scroll, fire wand, use rod, spellcaster, Spell abilities, paralyze spells, fear, fear, lightning spells, lightning spells, slow spell, Immune, electricity, fear, Protected, magical</td></tr> -<tr><th>Gorokh </th><td><img src=devil.111.gif></td><td></td><td> 1</td><td> 350</td><td> -5</td><td>Fast movement, armour+50, slay angel, wield weapon, wear armour, spellcaster, Attacks, fear, Immune, confusion, fear, Protected, confusion, fear, Attuned, Wounding, Death, Denied, Protection, Mind</td></tr> +<tr><th>Gorokh </th><td><img src=devil.111.gif></td><td><img src=altargoro.111.gif></td><td> 1</td><td> 350</td><td> -5</td><td>Fast movement, armour+50, slay angel, wield weapon, wear armour, spellcaster, Attacks, fear, Immune, confusion, fear, Protected, confusion, fear, Attuned, Wounding, Death, Denied, Protection, Mind</td></tr> <tr><th>Greater Demon </th><td><img src=GreatDemon.111.gif></td><td></td><td>150000</td><td>8000</td><td>-11</td><td>Fast movement, infravision, see invisible, wield weapon, archer, wear armour, wear ring, read scroll, fire wand, use rod, skill user, spellcaster, Spell abilities, paralyze spells, fear, fire, summon fire, Attacks, physical, fire, poison, Immune, fire, confusion, poison, Protected, magical, god power, holy power</td></tr> @@ -918,7 +918,7 @@ <tr><th>Lord Eureca (commanded by Ghothwolte)</th><td><img src=lord-e.111.gif></td><td></td><td> 10000</td><td>10000</td><td>-50</td><td>Lightning fast movement, armour+50, undead, archer, wear ring, read scroll, fire wand, skill user, Attacks, magical, fire, electricity, cold, Immune, fire, electricity, cold, Vulnerable, confusion, slow, paralyze</td></tr> -<tr><th>Lythander </th><td><img src=elf-1.111.gif></td><td></td><td> 1</td><td> 350</td><td> -7</td><td>Fast movement, armour+50, luck+2, stealth, slay goblin, troll, wield weapon, wear armour, spellcaster, Attacks, confusion, Immune, confusion, Protected, confusion, Vulnerable, confusion, Attuned, Turning, Repelled, Missiles, Wounding</td></tr> +<tr><th>Lythander </th><td><img src=elf-1.111.gif></td><td><img src=altarlyth.111.gif></td><td> 1</td><td> 350</td><td> -7</td><td>Fast movement, armour+50, luck+2, stealth, slay goblin, troll, wield weapon, wear armour, spellcaster, Attacks, confusion, Immune, confusion, Protected, confusion, Vulnerable, confusion, Attuned, Turning, Repelled, Missiles, Wounding</td></tr> <tr><th>Mabu suke </th><td><img src=mabu.111.gif></td><td></td><td> 1500</td><td> 250</td><td> 1</td><td>Slow movement, wield weapon, skill user, Protected, electricity</td></tr> @@ -938,7 +938,7 @@ <tr><th>Minor djinn </th><td><img src=djinn.131.gif></td><td></td><td> 70000</td><td>2500</td><td>-15</td><td>Very fast movement, see invisible, wield weapon, wear armour, wear ring, read scroll, fire wand, use rod, use horn, spellcaster, Spell abilities, paralyze spells, fear, major healing, make dance, lightning spells, ice, summon fire, summon earth, slow spell, Attacks, physical, magical, Immune, confusion, acid, ghosthit, poison, fear, Protected, physical, magical, fire, electricity, cold, Vulnerable, drain, weaponmagic, chaos</td></tr> -<tr><th>Mostrai </th><td><img src=dwarf.111.gif></td><td></td><td> 1</td><td> 350</td><td>-10</td><td>Fast movement, armour+75, slay goblin, giant, wield weapon, wear armour, spellcaster, Attacks, weaponmagic, Protected, fire, Attuned, Creation, Transmutation, Repelled, Summoning</td></tr> +<tr><th>Mostrai </th><td><img src=dwarf.111.gif></td><td><img src=altarmostr.111.gif></td><td> 1</td><td> 350</td><td>-10</td><td>Fast movement, armour+75, slay goblin, giant, wield weapon, wear armour, spellcaster, Attacks, weaponmagic, Protected, fire, Attuned, Creation, Transmutation, Repelled, Summoning</td></tr> <tr><th>Mouse </th><td><img src=mouse.111.gif></td><td><img src=mouse.111.gif></td><td> 5</td><td> 1</td><td> 7</td><td>Slow movement</td></tr> @@ -994,7 +994,7 @@ <tr><th>Royal Guard </th><td><img src=knight.111.gif></td><td></td><td> 1500</td><td> 250</td><td> 0</td><td>Slow movement, armour+75, reflect spells, reflect missiles, see invisible, spellcaster, unaggressive, Immune, magical</td></tr> -<tr><th>Ruggilli </th><td><img src=ruggilli.111.gif></td><td></td><td> 1</td><td> 800</td><td> -5</td><td>Extremely fast movement, armour+20, reflect missiles, wield weapon, spellcaster, Attacks, physical, fire, Immune, fire, Protected, physical, magical, fire, Vulnerable, cold, Attuned, Fire, Wounding, Repelled, Frost, Restoration, Creation, Information, Denied, Protection, Mind, Transmutation, Turning</td></tr> +<tr><th>Ruggilli </th><td><img src=ruggilli.111.gif></td><td><img src=altarrugg.111.gif></td><td> 1</td><td> 800</td><td> -5</td><td>Extremely fast movement, armour+20, reflect missiles, wield weapon, spellcaster, Attacks, physical, fire, Immune, fire, Protected, physical, magical, fire, Vulnerable, cold, Attuned, Fire, Wounding, Repelled, Frost, Restoration, Creation, Information, Denied, Protection, Mind, Transmutation, Turning</td></tr> <tr><th>Rustmonster </th><td><img src=rustmonste.111.gif></td><td></td><td> 300</td><td> 100</td><td>-10</td><td>Extremely fast movement, hitback, Attacks, acid, Vulnerable, fire</td></tr> @@ -1038,7 +1038,7 @@ <tr><th>Snake </th><td><img src=snake.111.gif></td><td></td><td> 50</td><td> 10</td><td> 5</td><td>Slow movement, Attacks, physical, poison, Immune, poison</td></tr> -<tr><th>Sorig </th><td><img src=para-light.111.gif></td><td></td><td> 1</td><td> 300</td><td> -5</td><td>Very fast movement, armour+40, wield weapon, wear armour, spellcaster, Attacks, electricity, Immune, electricity, Protected, electricity, Attuned, Electricity, Missiles, Wounding, Repelled, Restoration, Denied, Protection, Mind, Turning</td></tr> +<tr><th>Sorig </th><td><img src=para-light.111.gif></td><td><img src=altarsori.111.gif></td><td> 1</td><td> 300</td><td> -5</td><td>Very fast movement, armour+40, wield weapon, wear armour, spellcaster, Attacks, electricity, Immune, electricity, Protected, electricity, Attuned, Electricity, Missiles, Wounding, Repelled, Restoration, Denied, Protection, Mind, Turning</td></tr> <tr><th>Spectre </th><td><img src=spectre.111.gif></td><td></td><td>100000</td><td> 500</td><td> -5</td><td>Slow movement, undead, see invisible, wear ring, read scroll, fire wand, spellcaster, Attacks, physical, cold, Protected, physical, magical</td></tr> @@ -1070,7 +1070,7 @@ <tr><th>Unusual kobold </th><td><img src=unusual-kobold.111.gif></td><td></td><td> 5000</td><td>10000</td><td>-100</td><td>Very fast movement, armour+100, Vulnerable, cold</td></tr> -<tr><th>Valriel </th><td><img src=archangel.115.gif></td><td></td><td> 1</td><td> 350</td><td> -7</td><td>Fast movement, armour+50, slay demon, wield weapon, wear armour, spellcaster, Attacks, fear, Immune, confusion, fear, Protected, confusion, fear, Attuned, Protection, Mind, Denied, Wounding, Death</td></tr> +<tr><th>Valriel </th><td><img src=archangel.115.gif></td><td><img src=altarvalr.111.gif></td><td> 1</td><td> 350</td><td> -7</td><td>Fast movement, armour+50, slay demon, wield weapon, wear armour, spellcaster, Attacks, fear, Immune, confusion, fear, Protected, confusion, fear, Attuned, Protection, Mind, Denied, Wounding, Death</td></tr> <tr><th>Vampire </th><td><img src=vampire.111.gif></td><td><img src=vampiregen.111.gif></td><td> 2000</td><td> 150</td><td> 0</td><td>Very fast movement, infravision, undead, wield weapon, wear armour, wear ring, read scroll, fire wand, use rod, spellcaster, Spell abilities, fear, fear, fear, slow spell, paralyze spells, Immune, physical, electricity</td></tr>