OK. I commented out the Icy Peak monsters. I made my CCS look like this:
Code:
[ default ]
consult consult.ash
try to steal an item
attack with weapon
consult.ash looks like this:
Code:
void main( string round, string encounter, string text )
{
print( "Consult: In round " + round + " fighting " + encounter );
}
I got this:
[310120] Icy Peak
Encounter: Knott Yeti
Strategy: brianna [default]
Round 0: Brianna wins initiative!
Consult: In round 1 fighting knott yeti
Round 1: Brianna tries to steal an item!
Round 2: Brianna attacks!
Round 3: knott yeti takes 1489 damage.
Round 3: Brianna wins the fight!
After Battle: Gort winks at you.
You gain 584 Meat
You gain 12 Fortitude
You gain 5 Mysteriousness
You gain 12 Smarm
Let me try with a monster type:
Code:
void main( string round, monster encounter, string text )
{
print( "Consult: In round " + round + " fighting " + encounter );
}
which gives me:
[310121] Icy Peak
Encounter: upgraded ram
Strategy: brianna [default]
Round 0: Brianna wins initiative!
Bad monster value: "upgraded ram"
Round 1: Brianna tries to steal an item!
Round 2: Brianna attacks!
Round 3: upgraded ram takes 1484 damage.
Round 3: Brianna wins the fight!
After Battle: Gort winks at you.
You gain 296 Meat
You acquire an item: ram horns
You gain 10 Beefiness
You gain 7 Wizardliness
You gain 11 Cheek
I see the "Bad monster value". I don't see the "aborts execution and you have to finish in the relay browser". You are correct in that it did not call my consult script. It just moved on to the next line in the CCS.
I don't see any reason to write an override for monsters.txt. I see a couple possibilities if we cannot coerce the encounter name into a monster:
- Give you $monster[none]
- Enter it into the internal monster table with null attributes, which will give you the monster name, at least.