Skip to content

fix: used field not working #6

@gretmn102

Description

@gretmn102

Actual

Image

Expected

Image

Reproduce steps

  • mkdir game
  • add game/main3.lua with:

    game.act = "Не работает."
    game.use = "Это не поможет."
    game.inv = "Зачем мне это?"
    
    local tableId = "стол"
    
    local apple = obj {
      nam = "яблоко",
      disp = "Яблоко",
      dsc = function (this)
        if this:where() == _(tableId) then
          return "На столе лежит {яблоко}."
        end
        return "На полу валяется {яблоко}."
      end,
      tak = "Беру яблоко.",
    }
    
    local table = obj {
      nam = tableId,
      disp = "Стол",
      dsc = "В углу стоит {стол}.",
      used = function (this, another)
        if another.nam == apple.nam then
          place(apple, this)
          return true
        end
        return false
      end,
    }
    
    room {
      nam = "main",
      disp = "Комната",
    }:with { apple, table }
  • start game:

    instead-cli game
  • input:

    1
    2, 1
    

Notes

Сперва я думал, что дело в устаревшем Instead, который использует эта утилита версии 1.6, в котором, возможно, еще не завезли used. Собрал последний коммит — та же ошибка. Покопался в исходниках самого Instead и выяснил, что used появился еще в далеком stead2, так что он точно должен быть (наверное). Значит, какой-то косяк в утилите. Почините, пожалуйста, очень надо 🥺

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions