Bug CCS for photocopied monster fights

picklish

Member
This could be just "user error", but I can't seem to get a ccs to work right for a photocopied monster fight.

In my between battle script, I've got something like this:
Code:
use_familiar($familiar[obtuse angel]);
cli_execute("ccs obtuse");
use(1, $item[photocopied monster]);

The entire obtuse.ccs looks like this:
Code:
[ default ]
skill fire a badly romantic arrow
skill fire a boxing-glove arrow
skill fire a poison arrow
skill fire a poison arrow
skill fire a poison arrow
skill fire a poison arrow
skill fire a poison arrow
skill fire a poison arrow
skill fire a poison arrow
skill fire a poison arrow
skill fire a poison arrow
skill fire a poison arrow
attack with weapon

...but when I run the fight, I get this:

Code:
Receiving a fax.
You acquire an item: photocopied monster
You receive a photocopied Blooper from the fax machine.
Successfully got a Blooper fax.
Putting Kwisatz Hatrack the Baby Sandworm back into terrarium...
Taking Pewpewpew the Obtuse Angel out of terrarium...
CCS set to obtuse
Using 1 photocopied monster...

[33] photocopied monster
Encounter: Blooper
Strategy: /home/enne/.kolmafia/ccs/obtuse.ccs [default]
Round 0: picklish wins initiative!
Round 1: picklish executes a macro!
Round 1: picklish attacks!
You lose 10 hit points
Round 2: picklish attacks!
You lose 10 hit points
Round 3: picklish attacks!
You lose 11 hit points
Finished using 1 photocopied monster.
Casting Tongue of the Walrus 1 times...
You gain 31 hit points
You lose an effect: Beaten Up
Tongue of the Walrus was successfully cast.

Is there something I'm doing wrong?
 

Veracity

Developer
Staff member
This has nothing to do with the fact that it's a photocopied monster fight. Note that it correctly identified the monster - Encounter: Blooper - and correctly chose the section of your CCS - Strategy: obtuse.ccs [default].

It just didn't recognize that those combat skills were available to you. I see code in FightRequest.java to handle them. In each case, it enforces the per-day limit on the type of arrow and requires that you be running with your obtuse angel. You had the right kind of familiar. Had you fired all your arrows? What do the "_badlyRomanticArrows" (etc.) settings say?
 

picklish

Member
I hadn't used the obtuse angel yet. Here are my prefs (am I missing any?):

Code:
> ashq foreach str in $strings[_badlyRomanticArrows, _boxingGloveArrows, _fingertrapArrows, _poisonArrows,] { print(str + ":" + get_property(str)); }

_badlyRomanticArrows:0
_boxingGloveArrows:0
_fingertrapArrows:0
_poisonArrows:0

I guess I haven't tried CCS with the obtuse angel with a non-photocopied monster. You're right that that piece of information may be spurious.
 

Veracity

Developer
Staff member
How odd. WIth this CCS:

Code:
[ default ]
skill entangling noodles
skill fire a fingertrap arrow
attack with weapon

I got this:
[1485] Giant's Castle
Encounter: Procrastination Giant
Strategy: tebryn [default]
Round 0: Tebryn wins initiative!
Generated macro:
sub mafiaround
endsub#mafiaround
sub mafiamp
****if hascombatitem 466
********call mafiaround; use 466
********goto mafiampexit
****endif
****abort "No MP restoratives!"
****mark mafiampexit
endsub#mafiamp
#mafiaheader
while mpbelow 1
****call mafiamp
endwhile
if hasskill 3004
****call mafiaround; skill 3004
endif
if hasskill 7111
****call mafiaround; skill 7111
endif
mark mafiafinal
call mafiaround; attack
goto mafiafinal

Round 1: Tebryn executes a macro!
Round 1: Tebryn casts ENTANGLING NOODLES!
Round 2: Tebryn casts FIRE A FINGERTRAP ARROW!
Round 3: Gofflesby shoots the fingertrap arrow upon your opponent, binding two combat-significant parts beside his anatomy together.
Round 3: procrastination giant drops 19 attack power.
Round 3: procrastination giant drops 22 defense.
Round 3: Tebryn attacks!
Round 4: procrastination giant takes 168 damage.
You acquire an effect: Cunctatitis (duration: 5 Adventures)
Round 4: Tebryn wins the fight!
Your familiar gains a pound: Gofflesby, the 3 lb. Obtuse Angel
You gain 146 Meat
After Battle: Gofflesby dances around like a pinhead.
You gain 5 Beefiness
You gain 15 Wizardliness
You gain 12 Cheek
and with this CCS:

Code:
[ default ]
skill fire a fingertrap arrow
skill entangling noodles
attack with weapon
I got this:
[1483] Giant's Castle
Encounter: Furry Giant
Strategy: tebryn [default]
Round 0: Tebryn wins initiative!
Generated macro:
sub mafiaround
endsub#mafiaround
sub mafiamp
****if hascombatitem 466
********call mafiaround; use 466
********goto mafiampexit
****endif
****abort "No MP restoratives!"
****mark mafiampexit
endsub#mafiamp
#mafiaheader
if hasskill 7111
****call mafiaround; skill 7111
endif
while mpbelow 1
****call mafiamp
endwhile
if hasskill 3004
****call mafiaround; skill 3004
endif
mark mafiafinal
call mafiaround; attack
goto mafiafinal

Round 1: Tebryn executes a macro!
Round 1: Tebryn casts ENTANGLING NOODLES!
Round 2: Tebryn attacks!
Round 3: furry giant takes 133 damage.
Round 3: Tebryn attacks!
Round 4: furry giant takes 131 damage.
Round 4: Tebryn wins the fight!
You gain 150 Meat
After Battle: Gofflesby dances around like a pinhead.
You gain 10 Beefiness
You gain 16 Enchantedness
You gain 9 Roguishness
 
Last edited:

StDoodle

Minion
I had a single adventure the other day where my ccs was correctly selected by what mafia showed at the start of combat, yet it still skipped all of the early actions and went to the last action listed. I'm still on 9099, so I didn't bother reporting it, especially as it only happened once. But figured it might be worth mentioning, just in case.
 

Glazius

Member
I'm still seeing this behavior with CCS today. I can't use an obtuse angel's actions in a CCS without putting some other skill to fire before them. Not that this is a problem with the 0 MP plinkers, but it doesn't seem like it should be happening.

Is it trying to set angel actions as like an auto-attack or something?
 

Veracity

Developer
Staff member
Move your eyes farther up the page and look at the note I wrote starting with the words "how odd". I included the generated combat macro with the arrow first and also with the arrow second. That answers your question quite clearly: autoattack is not involved.

With the arrow first, this is the guts of the macro:

if hasskill 7111
****call mafiaround; skill 7111
endif
while mpbelow 1
****call mafiamp
endwhile
if hasskill 3004
****call mafiaround; skill 3004
endif

With the arrow second, this is the guts:

while mpbelow 1
****call mafiamp
endwhile
if hasskill 3004
****call mafiaround; skill 3004
endif
if hasskill 7111
****call mafiaround; skill 7111
endif

You tell me why KoL did not use skill 7111 in the first macro and DID use it in the second one.
 
Top