Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
(1 edit)

1. There are two armors, one of which blocks the entrance.
2. I equip myself with one of the armors.
3. I attack the other armor, opening the entrance.


so you want GET ARMOUR to just choose an armour at random to take?

No, it's the one with the shield that's in the way and I'm equipping myself with the other one.

Just write your own get and drop handlers for the verbs.

As far as the system command disambiguation, then that's currently not able to be switched off, but I'll think about this some more.

start_at = my_location
locations {
   my_location : location "You are in a room." ;
}
objects {
   red_armour   : object "red armour" at = "my_location" ;
   green_armour : object "green armour" at = "my_location" ;
}
on_command {
   : match "get armour"  {
      : if (is_beside "red_armour" && is_beside "green_armour") {
         : get "red_armour" ; // Red armour has 'get' priority
      }
   }
   : match "drop armour"  {
      : if (is_carried "red_armour" && is_carried "green_armour") {
         : drop "red_armour" ; // Red armour has 'drop' priority
      }
   }
}
(1 edit)

I've made three objects and it works (also with examine):

armor_1 : scenery "armours" at = "armourfloor" ;
armor_2 : object "an armour" wearable = "true" ;
armor_3 : scenery "an armour";