Tuesday, November 28, 2006

Dungeon Books of Tarot Magic Done

Dungeon books of Tarot Magic are in now,
hellband wont compile any more, but I am guessing by the week-end that it should.
This should by the way wrap up this release, I will do the Chaos Knight for another time since I have extensive plans ( again ) for this class.

{ 15, 15, 80, 20, "Ink Blot", "Summons a bizarre creature to help you.",},
{ 24, 24, 70, 25, "The Star", "Heals 150 damage and completely stops bleeding or stunning.",},
{ 26, 26, 70, 30, "Fortitude", "Blesses and also hastes you for a short while.",},
{ 30, 30, 70, 35, "The Emperor", "Makes a nearby monster friendly.",},
{ 35, 70, 80, 100, "Branding of the Minchiate","Brands your weapon with fire, cold and electricity",},
{ 40, 100, 90, 250, "Tarot Ascension", "Attunes you with the planes, altering your body.",},
{ 42, 50, 50, 75, "Death", "Banishes all nearby living creatures.",},
{ 45, 100, 90, 200, "The Devil", "Summons devils to help you.",},

{ 30, 30, 60, 50, "Read The Lay", "Detects secret doors, stairs, traps, treasure, objects and monsters (including invisible ones).",},
{ 35, 50, 90, 100, "The Magician", "Fully identifies an item.",},
{ 36, 80, 80, 150, "Patter", "Confuse surrounding monsters.",},
{ 39, 80, 80, 150, "The Tower", "Surrounding monsters get hit with fire and lightning. Walls will crumble.",},
{ 42, 100, 80, 200, "Lay of The Celtic Cross", "Summons multiple monsters to help you",},
{ 47, 100, 80, 150, "Ten of Pentacles", "Summons Higher Demons to help you.",},
{ 48, 100, 80, 200, "The Traitor", "Summons Fallen Angels.",},
{ 49, 100, 80, 220, "Justice", "Banishes all evil, undead, demons, devils and fallen angels.",},

Tarot Magic!

So, I finally got fed up with the Planar Magic, which really didnt fit too well for me, and I modified it to Tarot Magic, mostly renaming spells and changing them to fit the new descriptions.

First 2 books :

{ 1, 1, 50, 3, "Shift", "Teleports you to a random nearby location.",},
{ 3, 3, 50, 4, "The Challenge", "Harms a nearby monster with psychic energy.",},
{ 5, 5, 75, 8, "Hopes & Fears", "Invokes a random (but usually beneficial) effect from a Tarot card.",},
{ 6, 6, 80, 8, "Restack", "Resets the depth that you will go to with Recall.",},
{ 7, 7, 40, 4, "Fool's Journey", "Teleports you to a random location on the level.",},
{ 9, 9, 60, 6, "Sleight of Hand " "Teleports you to a nearby location that you specify.",},
{ 14, 12, 60, 6, "The High Priestess", "Gives you temporary ESP.",},
{ 17, 15, 60, 5, "The Chariot", "Teleports a creature to a random place on the level.",},

{ 20, 20, 80, 8, "The Wheel of Fortune", "Teleports a nearby object to your hand.",},
{ 23, 5, 50, 5, "Temperance", "(nature)Gives you a temporary resistance to cold, fire and electricity.",},
{ 28, 24, 60, 8, "King of Swords", "Creates a magical beast to serve you.",},
{ 30, 10, 80, 40, "The Lover", "Makes a nearby human friendly.",},
{ 33, 28, 80, 12, "Elements of The Minchiate","Summons a fire elemental to help you",},
{ 35, 30, 70, 10, "The Hermit", "Teleports you off the level you are on, onto either the one above or the one below.",},
{ 40, 35, 80, 15, "Search for the Self", "Teleports you back to the town, or - if you are in the town - down to the deepest dungeon level that you have yet visited.",},
{ 42, 40, 70, 12, "Shuffle", "Teleports all nearby monsters to elsewhere on the level.",},

New class/realm.magic/spells system.


This is how spells will be defined :

spell_type spells[MAX_REALM][32] =
/*Miracles */
{/* Level , Mana, Fail, Exp for first time, spellname, spoiler*/
{ 1, 1, 30, 4, "Detect Evil", "Detects all evil creatures that are nearby.",},
{ 3, 2, 35, 4, "Cure Light Wounds", "Cures you of 2d10 damage, and reduces bleeding.",},
{ 4, 3, 35, 4, "Bless", "Blesses you, giving you a +5 bonus to armour class and a +10 bonus to hit.",},
{ 5, 5, 35, 4, "Remove Fear", "Stops you from being afraid. ",},
{ 7, 7, 35, 4, "Call Light", "Lights the area that you are in with a permanent light - possibly damaging some creatures",},
{ 9, 8, 40, 4, "Detect Traps and Secret Doors" "Finds all traps, stairs and secret doors in your surrounding area.",},
{ 12, 12, 40, 3, "Cure Medium Wounds", "Cures you of 4d10 damage, and reduces bleeding.",},
{ 15, 14, 45, 3, "Satisfy Hunger", "Removes all hunger, leaving you comfortably full.",},


This is how class related spell casting will be defined, with 'the mage' as the gold standard.

class_magic realms_info[] = {
/*Warrior */{ 0, 0, A_STR, 0, 99, 0, { NO, NO, NO, NO, NO, NO, NO, NO, NO, },},
/*Mage */{ TV_SORCERY_BOOK, 0, A_INT, 0, 1, 300, { SAME, SAME, SAME, SAME, SAME, SAME, SAME, SAME, SAME, },},
/*Ranger */{ TV_MIRACLES_BOOK, 0, A_INT, 0, 3, 400, { NO, NO, BETTER, WORSE, POOR, WORSE, WORSE, WORSE, NO, },},
/*Paladin */{ TV_MIRACLES_BOOK, 0, A_WIS, 1, 1, 400, { BETTER, NO, NO, NO, NO, NO, NO, NO, NO, },},
/*Hell Knight */{ TV_MIRACLES_BOOK, 0, A_INT, 1, 2, 400, { NO, NO, NO, NO, NO, NO, NO, NO, BETTER, },},
/*Mystic */{ TV_MIRACLES_BOOK, 0, A_WIS, 0, 1, 300, { NO, NO, NO, NO, NO, NO, NO, SUPER, NO, },},
/*Mindcrafter */{ TV_MIRACLES_BOOK, 0, A_WIS, 0, 99, 300, { NO, NO, NO, NO, NO, NO, NO, NO, NO, },},
/*Druid */{ TV_MIRACLES_BOOK, 0, A_WIS, 1, 1, 350, { NO, NO, SUPER, NO, NO, NO, NO, NO, NO, },},

I am planning on
- Deep objects that can increase your skill-level ( Sorcerous Orb, etc ) in 1 realm , potentially more but unlikely
- A race matrix that can increase or decrease your skill level per realm ( ogre descendant should be good with death )
- Catalogue all spells and allow races / birthsigns maybe even classes to be better in a specific set of spells
( example : catalog all spells : violet/non-violent and allow Palladins/Hell Knights to be be more proficient with the violent ones )
( example : catalog all spells with a GF_FLAG, then let kobolds be more proficient with spells that have GF_POISON ( poison cloud etc. )

I have also completely revamped corruptions into something more structured so I can more easily get it into my T-Module :

corruption_type corruptions[COUNT_CORRUPTIONS]={
/*Byte Flag Gain message Odds Loose Message Description */
{ 1, COR1_SPIT_ACID, "You gain the ability to spit acid.", 4,"You lose the ability to spit acid.", " You can spit acid (dam lvl).", },
{ 1, COR1_BR_FIRE, "You gain the ability to breathe fire.", 3,"You lose the ability to breathe fire.", " You can breathe fire (dam lvl * 2).", },
{ 1, COR1_HYPN_GAZE, "Your eyes look mesmerizing...", 2,"Your eyes look uninteresting.", " Your gaze is hypnotic.", },
{ 1, COR1_TELEKINES, "You gain the ability to move objects telekinetically.", 2,"You lose the ability to move objects telekinetically.", " You are telekinetic.", },

Wednesday, November 15, 2006

Fourth book is in svn


fourth book is in, only Malphas' gift needs coding,
coolest spell of the entire game for now : Behemoth's Call.

Spells in :

book 4 [ Lucifer's Spurn ] ( very debatable ]
1 Orb of Impending Doom
2 Temperance
3 True Warding
4 Word of Destruction
5 Gift of Malphas ( Adding weapon flags, Malphas being a friend of artificers ]
6 Pernicious Trade
6 Kiss of Lillith
7 Wish of Behemoth
8 Chaos Rift

Monday, November 13, 2006

3rd book is done

book 3 [Book of the Grigori ]
1 Araqiel's Wrath ( Earthquake )
2 Kokabiel's Call ( Summon Spirits, lots of them )
3 Baraquiel's Guile (detect enchantment on entire level of excellents and specials)
4 Sariel's Ire ( berserk , prayer , heroism, speed, no magic ( which implies 95% prot mag. att )
5 Azazel's Rule ( Charm goats ;)
6 Danel's Deluge ( Hard Core Light Damage )
7 Amaros' Grief ( Banish Angels and Demons )
8 Teachings of Kasyade ( enlightenment potion effect + ESP demons and spirits if possible )

Demonic Magic is on its way

Spells done so far :

book 1 [Lesser pacts]( working title , debatable )

1 Unholy Strength ( Heroism , doing 5 hp damage per 10 levels )
2 Sense Evil
3 Scorch
4 Perilous Shadows
5 Teleport
6 Disintegrate
7 Demonic Sigil
8 Hecate's Radiance ( weak light damage + weak charm/confuse/fear spell )

book 2 [ Ghastly Endeavours ] debatable

1 Abaddon's Rage ( Berserk + Prayer )
2 Mind Leech
3 Blood Leech
4 Glyph of Warding
5 Protection from Evil
6 Summon demons
7 Summon the Fallen
8 Balm of the Cocytus

Oddly enough SUMMON_FALLEN_ANGEL is not yet implemented , so so far only devils get summoned with 'summon the Fallen'


Thursday, November 09, 2006

Squelcher needed


It has been joyfull to play this one :

A Gipsy(sp?) thief born under Plutus which means instant pseudo id at birth, id at level 15 , *id* at level 30. I might decrease *id* at level 25 because really that's about when *id* is needed. The only thing hampering my quick playing was the sorting of the trash. So I could really use an automatizer in Hellband now. Mostly based on EyAngband and I will look at the one of NPP which seems interesting as well, thanks to Pete M for pointing that way.


Thursday, November 02, 2006

Still working

Hmm, continuous updates are not my strongest point,
yet another blog doomed to die ;)

Anyway, races and classes are complete. Just fixing up some stuff, which makes me more stuff that needs fixin' etc. etc.

But if you want to playtest and you have a compiler and svn, go ahead and play around, it should be funner if you like Hellband before.

Right now I am re-orging the 'C' character screen, cramming a bit more information on that screen so that you need to press one 'h' less and you still get to see a new line, the most coveted 'Birth Sign' line ;) If this variant ever does get lift off, then lots of people should play with either Draco or Plutus or even Morui.

I might have overdone the hitpoint thing though, Titan descendant Warriors born under Draco are nigh unkillable ....


Monday, October 16, 2006

No bloggin doesnt mean no work

Andrew Doull,

god bless the guy, has revamped the windows code of Hellband so that it can be compiled from windows and linux. Myself I copied a few lines of code so that I can even cross compile from my Mac ( which starts be horribly outdated, there are too many libraries that are not up to date ... )

The first 26 levels are now named, so you will not see 'level 7' any more but you will see 2nd Circle : Lovers. I have been testing quite a bit and it seems good to go. I also fixed the help system and considering what will be the next stuff to do.

I have also been working on a hellband module for ToME 3.0.0, but it seems to be a long haul project, even with me being 'on vacation' till at least january...

SO that's it for today,

Monday, September 04, 2006

Back from holidays


the Gaspesie in the north of Quebec ( Canada ) is a nice place,
I hope to add some new demons this evening in order to pick up pace again.


Tuesday, August 22, 2006

Background stories

In close cooperation with Ms. Konijn I have worked on some of the 'cutscenes' which just display some text.

Intro at birth :


It is with great urgency that I write you this letter. Christiaan's Quest
for the Celestial City has abruptly ended in Volterra, Italy. His letters
mentioned a magical towncenter in the heart of Volterra. Only accessible
at 6 minutes past 7 muttering the words "Lasciate ogne speranza, voi chi'

Since his disappearance our mystics have collapsed into a catatonic state
and our medium's fail to reach the recently deceased. We fear the Grim
Reaper is playing games with us. At the same time, someone has started to
hunt down all our agents. The network is no longer safe.

The Queen herself is very concerned over this matter and wishes someone
to get to the bottom of this. Your barely existing connections with the
League and your interesting background make you a perfect fit for a trip
to Volterra. With this letter I have added a copy of Dante Alighieri's
'Divine Comedy'. It is annotated by Christiaan and our most competent
exorcists. May the Good Lord bless you and your travels.


Text when entering dungeon

A foul stench wafts into your nose, turning your stomach upside down.
You can barely avoid to throw up and take some time to get back in control.
Suddenly you hear horrible faraway cries and you start to realize that you
are not just descending into the sewers but found the entry to the lower
levels of Hell.

The notes of Christiaan mention that most souls wandering here are sinners
that have not yet been judged by Minos. They can sense outsiders and will
be driven to destroy you.

A special side note mentions Demonic Scribes. They appear to be harmless
on duty, but are quite nasty in their free time! Many an adventurer met
their end at their hands.

Friday, August 18, 2006

Yesss !

Now compiling gives 0 warnings, none, zero, nada, zilch.
The green side in me ( http://www.true-colors.com/true_colors_theory.html ) gets a complete kick out of that. Final circle is DONE, only need to create an entry for Satan and force levels after Dis to not generate citizens from pre-Dis.

Then some more polishing and this game is ready for an alpha release ;)

Enjoy the week-end,

Wednesday, August 16, 2006



- written a script to facilitate updating svn, works like a charm
- High Mages now get first 2 town books
- Anything with an armor class bomus can now be enchant armored
- All thieves are done ( suggestion welcome )
- Evil Counselors are done ( suggestions welcome )


Saturday, August 12, 2006

Note to self : fix 'Thou art growing arrogant, mortal'


seems the summoned monster can be unique, so I am fighting Friar Gomita three times ;)
Fortunately he drops great items.


Friday, August 11, 2006

Implicit flag dependancies


on rgrd I found out that DROP_GREAT without DROP_GOOD doesnt make a lot of sense , and that UNIQUE's really should have FORCE_MAX_HP, so I added this rule to init.c :

/* Process 'F' for "Basic Flags" (multiple lines) */
if (buf[0] == 'F')

/* Minor hack, DROP_GREAT is useless without DROP_GOOD */
/* Instead of modifying the whole codebase, I will just force the */
/* DROP_GOOD flag if I encounter the DROP_GREAT flag */
if (r_ptr->flags1 & (RF1_DROP_GREAT))
r_ptr->flags1 |= RF1_DROP_GOOD;

/* Minor hack, RF1_UNIQUE should be accomapnied by RF1_FORCE_MAXHP */
/* Instead of modifying the r_info now, I will just force the */
/* RF1_FORCE_MAXHP flag if I encounter the RF1_UNIQUE flag */
if (r_ptr->flags1 & (RF1_UNIQUE))
r_ptr->flags1 |= RF1_FORCE_MAXHP;

/* Next... */


Play Legerdemain once !! Or twice


I found another timesink, http://roguelikefiction.com/ .
This stuff seems really good, I sadly enough was not able to reach an inn and feel
reluctant to start all over again.


Thursday, August 10, 2006

The hook

One thing Hellband was missing acutely was a hook, why the hell would a Nibelung Druid want to venture in Dis ?? Should I write a hook for each class/race combination ? My solution, lame but sufficient is that the mighty @ is actually part of the League of Extraordinary Gentleman, lead by Prospero at the very beginning of the 17th Century.

Something seems amiss in Inferno. There are no more dead people arriving in Inferno and the Heavenly forces seem in denial. You have been selected to find out what is going on in Dis and put things back to normal.

Surely, the League can contain any class/race combination ;)


Monday, August 07, 2006

Viva source repositories!


I just lost cave.c and nothing wanted to compile, I simply downloaded the file again from SVN and all was well. Phew !!

Hah. A site

I shamelessly copied the site of Guild ( http://www.guildgame.com/index.htm ) and modified it for Hellband and set it up here : http://hellband.googlepages.com/index.html.

It looks good, I might try to force a large font though.


Google code hosting

The idea of Google is that if they host code, they do just that.

You need to set up your site with googlepages, your blog with blogger, your group with googlegroups. So I created a special user for that purpose ( Hellband ) since I want to keep those 2 Google activities separated. I even downloaded Camino ( a Mac Browser ) that I will only use for Hellband things.