doodle/dev-assets/doodads/doors
Noah Petherbridge d7a96d1770 Thief and Inventory APIs
This commit adds the Thief character with starter graphics
(no animations).

The Thief walks back and forth and will steal items from other
doodads, including the player. For singleton items that have no
quantity, like the Colored Keys, the Thief will only steal one
if he does not already have it. Quantitied items like the
Small Key are always stolen.

Flexibility in the playable character is introduced: Boy,
Azulian, Bird, and Thief all respond to playable controls.
There is not currently a method to enable these apart from
modifying balance.PlayerCharacterDoodad at compile time.

New and Changed Doodads

* Thief: new doodad that walks back and forth and will steal
  items from other characters inventory.
* Bird: has no inventory and cannot pick up items, unless player
  controlled. Its hitbox has also been fixed so it collides with
  floors correctly - not something normally seen in the Bird.
* Boy: opts in to have inventory.
* Keys (all): only gives themselves to actors having inventories.

JavaScript API - New functions available

* Self.IsPlayer() - returns if the current actor IS the player.
* Self.SetInventory(bool) - doodads must opt-in to having an
  inventory. Keys should only give themselves to doodads having
  an inventory.
* Self.HasInventory() bool
* Self.AddItem(filename, qty)
* Self.RemoveItem(filename, qty)
* Self.HasItem(filename)
* Self.Inventory() - returns map[string]int
* Self.ClearInventory()
* Self.OnLeave(func(e)) now receives a CollideEvent as parameter
  instead of the useless actor ID. Notably, e.Actor is the
  leaving actor and e.Settled is always true.

Other Changes

* Play Mode: if playing as a character which doesn't obey gravity,
  such as the bird, antigravity controls are enabled by default.
  If you `import antigravity` you can turn gravity back on.
* Doodad collision scripts are no longer run in parallel
  goroutines. It made the Thief's job difficult trying to steal
  items in many threads simultaneously!
2021-08-09 22:42:22 -07:00
..
blue-closed.png New Doodads: Bigger Doors 2020-12-29 17:24:42 -08:00
blue-key.png 1st Round of Doodad Sprites + Improve Doodad Tool 2019-04-17 00:02:41 -07:00
blue-left.png New Doodads: Bigger Doors 2020-12-29 17:24:42 -08:00
blue-right.png New Doodads: Bigger Doors 2020-12-29 17:24:42 -08:00
blue-unlocked.png New Doodads: Bigger Doors 2020-12-29 17:24:42 -08:00
blue1.png 1st Round of Doodad Sprites + Improve Doodad Tool 2019-04-17 00:02:41 -07:00
blue2.png 1st Round of Doodad Sprites + Improve Doodad Tool 2019-04-17 00:02:41 -07:00
build.sh Doodads: Electric Trapdoor and Resettable Box 2021-08-08 20:10:42 -07:00
colored-door.js Doodads: Small Key Door + Bigger Crumbly Floor 2021-01-03 17:06:33 -08:00
electric-door.js Various updates 2021-03-30 23:40:41 -07:00
electric.gif Initial Guidebook code 2020-03-09 22:21:59 -07:00
electric1.png New Doodads: Bigger Doors 2020-12-29 17:24:42 -08:00
electric2.png New Doodads: Bigger Doors 2020-12-29 17:24:42 -08:00
electric3.png New Doodads: Bigger Doors 2020-12-29 17:24:42 -08:00
electric4.png New Doodads: Bigger Doors 2020-12-29 17:24:42 -08:00
green-closed.png New Doodads: Bigger Doors 2020-12-29 17:24:42 -08:00
green-key.png 1st Round of Doodad Sprites + Improve Doodad Tool 2019-04-17 00:02:41 -07:00
green-left.png New Doodads: Bigger Doors 2020-12-29 17:24:42 -08:00
green-right.png New Doodads: Bigger Doors 2020-12-29 17:24:42 -08:00
green-unlocked.png New Doodads: Bigger Doors 2020-12-29 17:24:42 -08:00
green1.png 1st Round of Doodad Sprites + Improve Doodad Tool 2019-04-17 00:02:41 -07:00
green2.png 1st Round of Doodad Sprites + Improve Doodad Tool 2019-04-17 00:02:41 -07:00
keys.js Thief and Inventory APIs 2021-08-09 22:42:22 -07:00
locked-door.js Tighten Doodad JavaScript API, User Documentation 2020-04-21 23:50:45 -07:00
Makefile Doodads: Electric Trapdoor and Resettable Box 2021-08-08 20:10:42 -07:00
README.md 1st Round of Doodad Sprites + Improve Doodad Tool 2019-04-17 00:02:41 -07:00
red-closed.png New Doodads: Bigger Doors 2020-12-29 17:24:42 -08:00
red-key.png 1st Round of Doodad Sprites + Improve Doodad Tool 2019-04-17 00:02:41 -07:00
red-left.png New Doodads: Bigger Doors 2020-12-29 17:24:42 -08:00
red-right.png New Doodads: Bigger Doors 2020-12-29 17:24:42 -08:00
red-unlocked.png New Doodads: Bigger Doors 2020-12-29 17:24:42 -08:00
red1.png 1st Round of Doodad Sprites + Improve Doodad Tool 2019-04-17 00:02:41 -07:00
red2.png 1st Round of Doodad Sprites + Improve Doodad Tool 2019-04-17 00:02:41 -07:00
small-closed.png Doodads: Small Key Door + Bigger Crumbly Floor 2021-01-03 17:06:33 -08:00
small-key.png Doodads: Small Key Door + Bigger Crumbly Floor 2021-01-03 17:06:33 -08:00
small-left.png Doodads: Small Key Door + Bigger Crumbly Floor 2021-01-03 17:06:33 -08:00
small-right.png Doodads: Small Key Door + Bigger Crumbly Floor 2021-01-03 17:06:33 -08:00
small-unlocked.png Doodads: Small Key Door + Bigger Crumbly Floor 2021-01-03 17:06:33 -08:00
yellow-closed.png New Doodads: Bigger Doors 2020-12-29 17:24:42 -08:00
yellow-key.png 1st Round of Doodad Sprites + Improve Doodad Tool 2019-04-17 00:02:41 -07:00
yellow-left.png New Doodads: Bigger Doors 2020-12-29 17:24:42 -08:00
yellow-right.png New Doodads: Bigger Doors 2020-12-29 17:24:42 -08:00
yellow-unlocked.png New Doodads: Bigger Doors 2020-12-29 17:24:42 -08:00
yellow1.png 1st Round of Doodad Sprites + Improve Doodad Tool 2019-04-17 00:02:41 -07:00
yellow2.png 1st Round of Doodad Sprites + Improve Doodad Tool 2019-04-17 00:02:41 -07:00

Button Doodads

doodad convert -t "Red Door" red1.png red2.png red-door.doodad
doodad convert -t "Blue Door" blue1.png blue2.png blue-door.doodad
doodad convert -t "Green Door" green1.png green2.png green-door.doodad
doodad convert -t "Yellow Door" yellow1.png yellow2.png yellow-door.doodad

doodad convert -t "Red Key" red-key.png red-key.doodad
doodad convert -t "Blue Key" blue-key.png blue-key.doodad
doodad convert -t "Green Key" green-key.png green-key.doodad
doodad convert -t "Yellow Key" yellow-key.png yellow-key.doodad

doodad convert -t "Electric Door" electric{1,2,3,4}.png electric-door.doodad