How to use the Attack Extension by Victor Gijsbers

Hello. I have been trying to get this extension running for a while. I first spent plenty of time trying to modify as many of the error causing bits as I could, but it just seems that there is something else that this extension is reliant on. I am using the version that comes with Kerkerkruip. If it helps, the error I am getting goes something like:
Report on Translation: Failed
Produced by Inform 7 (build 6M62)

(Each time Go or Replay is clicked, Inform tries to translate the source text into a working story, and updates this report.)
In Volume - Kerkerkruip Additions, Chapter - Faculties, Section - Faculty increase in the extension Kerkerkruip Attack by Victor Gijsbers:
Problem. You wrote ‘Last status skill rule (this is the unallocated faculty rule)’ C:\Users\Owner\Documents\Inform\Extensions\victor gijsbers\kerkerkruip attack.i7x#line2758: but the punctuation here ‘:’ makes me think this should be a definition of a phrase and it doesn’t begin as it should, with either ‘To’ (e.g. ‘To flood the riverplain:’), ‘Definition:’, a name for a rule (e.g. ‘This is the devilishly cunning rule:’), ‘At’ plus a time (e.g. ‘At 11:12 PM:’ or ‘At the time when the clock chimes’) or the name of a rulebook, possibly followed by some description of the action or value to apply to (e.g. ‘Instead of taking something:’ or ‘Every turn:’).
/doc329.htmlSee the manual: 19.3 > 19.3. New rules

In Section - Cleaning the Table of Delayed Actions in the extension Kerkerkruip Attack by Victor Gijsbers:
Problem. You wrote ‘A killing rule (this is the reset killed-guy rule)’ C:\Users\Owner\Documents\Inform\Extensions\victor gijsbers\kerkerkruip attack.i7x#line2860: again, the punctuation here ‘:’ makes me think this should be a definition of a phrase and it doesn’t begin as it should.
Problems occurring in translation prevented the game from being properly created. (Correct the source text to remove these problems and click on Go once again.)
I have also tried with 6l38, but get similar results.

1 Like

It looks like you’ve got some Github code mixed in with the extension code here. Have you tried:
Going to the extension page
Right-clicking the “Raw” button just above the window where the code displays
Choosing “Save Link As…” (or whatever, may vary depending on browser/OS)?

This should give you a file with the raw Inform 7 code, which you can open in Inform 7 and install.

If for some reason this isn’t working, you can go to the page for the raw code, select all, copy, and paste into a blank extension in Inform 7.

Hmm. Same problem. To note, I just have the extension itself in a new project. In fact, let me go ahead and give the relevant code.
(usual title and author line)

Include Kerkerkruip Attack by Victor Gijsbers.

The test is a room.

OK, I downloaded the extension and checked that you get these errors without the extra fluff code.

The issue seems to be that a couple of the rulebooks are defined in other extensions in the project.

The status skill rules are defined in: Kerkerkruip Actions and UI.

The killing rules are defined in Kerkerkruip Events.

…in fact, now that I look at it, if you’re trying to use ATTACK in a project that’s not Kerkerkruip, you probably just want to edit out the whole “Kerkerkruip Additions” volume, which I think interacts with things that are specific to Kerkerkruip. There are also issues with reading and snorting, which are actions that are defined elsewhere. I haven’t checked what happens without this volume, but it looks like a bunch of it is specific to Kerkerkruip–though you could pick and choose what you want from it. (I think the license allows for this, but you might want to check against the license.)

Hmm. Nope. Actually, it seems that this extension is filled with kerkruip specific code. I had made an attempt at a good portion of it when I was last working this out, but the more of these errors I solved, the more just kept popping up in its place. As for license, it’s GPL v3. So long as the code is marked as modified, that shouldn’t be an issue. I’d be more than happy to release a general modified version if I could get this working. Oh, and if the new inform update doesn’t just simply nuke a bunch of the code. Hmm. Actually, I wonder if Mr. Gijsbers is around, actually. Oh well. Barring that, I will go ahead and comb through the errors, and solve each one in turn. Perhaps I’ll prepare a place for me to keep a working version of the code as it is as I work so I can refer others to it as errors continue to pop up. I just don’t want to cause a bunch of untraceable problems.

1 Like

Yeah, looks like there are a bunch of Kerkerkruip-specific things there.

@VictorGijsbers was just here not long ago, doing the 2019 IF Top 50, so maybe if I @ him he’ll chime in! (Though I would not be too surprised if he said “It’s awesome that you’re willing to take out the Kerkerkruip-specific stuff and do a standalone extension.”)

Hi! Let’s see. There’s an Inform ATTACK and a Kerkerkruip ATTACK. If you’re not using other Kerkerkruip code, you’re probably better of using the non-Kerkerkruip version. I must admit that I’m not sure whether it works out of the box with current Inform 7, but if not, I might be able to help you.

As for licensing, I recently released all of my source code under your choice of GPL orCreative Commons Attribution-NonCommercial. So as long as you credit me and don’t make money off of your game, you can do whatever you want! I guess I haven’t explicitly extended this to the Github repositories, but I’m doing so here and now. :slight_smile:

Great to hear that you’re planning to use ATTACK, by the way!

3 Likes

Okay. Thank you very much. I have come to enjoy this combat system and have been looking to use it in some way. Actually, I do happen to have a copy of the Inform Attack as well. I do believe it needs to be updated as well. Though, first things first, does the inform attack core extension also need to be included in the main file, or do I just need to import Inform Attack?

There’s no real difference between Including the extension (“Include Inform ATTACK by Victor Gijsbers”) or copy-pasting it into your main file: when you compile the game, Inform does the copy-paste for you when you’ve put in the Include statement. Usually, it is better to Include so as not to clutter up your main file.

Oh. My apologies. I meant as far as the need to include Inform Attack Core. Though, now that I have slept and used a bit of common sense, inform attack already includes attack core. My apologies for the question. That being said, I will go ahead and begin making modifications as needed.

Okay. I have an error that I am not sure how to proceed with.
Problem. In the line ‘say “[The actor] [if the maximum load t […] f the noun]ing[end if] [the noun].”’ C:\Users\Owner\Documents\Inform\Extensions\victor gijsbers\inform attack.i7x#line1250, I was expecting that ‘es’ would be something to ‘say’, but it didn’t look like any form of ‘say’ that I know. So I tried to read ‘es’ as a value of some kind (because it’s legal to say values), but couldn’t make sense of it that way either.
Sometimes this happens because punctuation has gone wrong - for instance, if you’ve omitted a semicolon or full stop at the end of the ‘say’ phrase.
It sounds like this has something to do with an old plurality extension that has since been removed, but some relevant code has not been? I’m not sure what the best way to go about fixing it is, though.

So that’s from
“[The actor] [if the maximum load time of the noun is 1][reload text of the noun][s][otherwise]finish[es] [reload stem text of the noun]ing[end if] [the noun].”

It’s a little complicated to unwind. The Kerkerkruip version of that is:

Report an actor reloading (this is the standard report reloading rule):
if the current load time of the noun is the maximum load time of the noun:
	say "[The actor] [if the maximum load time of the noun is 1][adapt reload verb of the noun][otherwise][finish] [present participle of reload verb of the noun][end if] [the noun].";
otherwise:
	say "[The actor] [if the current load time of the noun plus 1 is the maximum load time of the noun][start][otherwise][continue][end if] [present participle of reload verb of the noun] [the noun].".

That also requires:

 To finish is a verb.

to enable Inform to conjugate “[finish]”.

You also need to define the reload verb rather than the reload text, using this from Kerkerkruip ATTACK:

A weapon has a verb called the reload verb. The reload verb of a weapon is usually the verb reload.

I think you also have to add

 To start is a verb.

to take care of “[start]” in the second clause.

If anyone would be interested in updating the code in the Attack Github repository let me know and I’ll give you access.

Okay. Thank you for the information matt_weiner.
At Dannii I would be interested in doing those updates. Just tell me what you will need, and the best way to get that information to you.

The extension compiles with minimal test code. The next steps would be to put this thing through its paces, but it builds now.

1 Like

Just a Github account name.

Right. My Github name is Jaseoffire.

Great! I expect that once it compiles, there will be no further problems. As far as I recall, the Inform updates broke some syntax, but they did not introduce weird new bugs.

Hello. I went ahead and sent my updates to a side branch. Hopefully that can be checked and approved.

I’m also interested in the attack extension. Anyone able to get it working in the current inform?