Spellcasting

version 2 by Jim Aikin

  • Home page
  • Beginning
  • Previous
  • Next



  • Section 3 - New Actions

    Zapping is an action applying to two things. Understand "[magic-spell] [something]" as zapping.

    Carry out zapping:
        try casting the noun at the second noun instead.

    Casting is an action applying to one thing. Understand "[magic-spell]" and "cast [something]" as casting.

    Check casting:
        let found-it be a truth state;
        let found-it be false;
        let its-learned be a truth state;
        let its-learned be false;
        repeat with N running from 1 to the number of rows in the Table of Spells:
            if the spell in row N of the Table of Spells is the noun:
                now found-it is true;
                if the noun is learned:
                    now its-learned is true;
        if found-it is true:
            if its-learned is false:
                say "[unlearned-spell]";
                stop the action;
            otherwise:
                continue the action;
        otherwise:
            say "[not-a-spell]";
            stop the action.
            
    Carry out casting:
        repeat with N running from 1 to the number of rows in the Table of Spells:
            if the spell in row N of the Table of Spells is the noun:
                say "[output in row N of the Table of Spells][line break]".

    Casting it at is an action applying to two things. Understand "cast [something] at [something]" as casting it at.

    Check casting it at:
        let found-it be a truth state;
        let found-it be false;
        let its-learned be a truth state;
        let its-learned be false;
        repeat with N running from 1 to the number of rows in the Table of Spells:
            if the spell in row N of the Table of Spells is the noun:
                now found-it is true;
                if the noun is learned:
                    now its-learned is true;
        if found-it is true:
            if its-learned is false:
                say "[unlearned-spell]";
                stop the action;
            otherwise:
                continue the action;
        otherwise:
            say "[not-a-spell]";
            stop the action.
            
    Carry out casting it at:
        repeat with N running from 1 to the number of rows in the Table of Spells:
            if the spell in row N of the Table of Spells is the noun:
                say "[directed output in row N of the Table of Spells][line break]".