From fec169823671ae2df56da10101d1882de3168dad Mon Sep 17 00:00:00 2001 From: shoofle Date: Sat, 27 Jan 2024 12:52:01 -0500 Subject: [PATCH] bootched compression pass and also finishing up --- ateli8.p8 | 72 ++++++++++++++++++++------------------ library.lua | 31 ++++++++++------ notes.md | 19 ++++++++-- screen_crafting.lua | 15 +++++--- screen_letters.lua | 2 +- screen_title.lua | 4 +-- screen_walkaround.lua | 30 +++++++++++----- screen_workbench.lua | 7 ++-- script_charcoal_seller.lua | 19 ++++++++-- script_lenore.lua | 12 ++++--- script_library.lua | 19 +++++----- script_neighbor.lua | 1 + script_witch.lua | 2 +- utils.lua | 8 ++--- 14 files changed, 153 insertions(+), 88 deletions(-) diff --git a/ateli8.p8 b/ateli8.p8 index df511e2..9d42bb2 100644 --- a/ateli8.p8 +++ b/ateli8.p8 @@ -72,20 +72,20 @@ __gfx__ 00000000000000055606060650000000000000000000000000000009900000000000000009090909000000003333333331110000000001133333333333333333 0000000000000000000000000000000054555545000999990099990033333333333333333333333300000113000000003111000000000000000000000001116c 00000000000000000000000000000000545555450009444409999990333333333f33fff333333333000011130000000031111000000000000b00b00b6711176c -0088888000ccccc000bbbbb00022222054555545009444449999aa993333ffffffffffffffff11330000011100000000111000000000000000b0b0b066616667 +0088888000ccccc000bbbbb00022222054555545009444449999aa9933334fff4ffff4ff4fff11330000011100000000111000000000000000b0b0b066616667 0088888000ccccc000bbbbb000222220545555450094444499999a991111ffffffffffffffff111100000111010000001100000000000101b0b0b0b016676661 -0088888000ccccc000bbbbb000222220545555450944444499999999111ffffccffccffcfffff11100000011110000000010000000001011b0b0b0b016676633 -0088888000ccccc000bbbbb000222220545555450944444499999999ffffffcccccccccccfffffff00000000111100000000000000000111b0b0b0b033663333 +0088888000ccccc000bbbbb000222220545555450944444499999999111ffffccffccffcfff4f11100000011110000000010000000001011b0b0b0b016676633 +0088888000ccccc000bbbbb000222220545555450944444499999999fff4ffccccccccccc8ffffff00000000111100000000000000000111b0b0b0b033663333 0088888000ccccc000bbbbb0002222205455554594444444099999900fffcccccccccccccccffff00000000011100000000000000001111100b000b033333333 0000000000000000000000000000000054555545999999990099990000fccccccccccccccccccf00000000003111000000000000000011130000000033333333 -000000000066660000000000000700000066660005555550000000000000000000000000055555500000000000000000009999a000000b000000000000000000 -00000000000660000000000000007000066886605cccccc5670006c00009c000000000005555555500000000000000000999999a00000b000000000000000000 -00000000000660000003033000555500068668605555555566606670009cc8000000000088888844000000000000000099999999a00000000000000000000000 -00066000006cc6000303b0000555655006666860544444450667660009ccccc00000000088448888000000000000000099999999a22222220009900000000000 -00d6660006cc7760030b3300055555500068866005444450066670000cc9ccc000000000888888880008800000dddd0056666666222222220009900000000110 -7d66666706cccc6003b00000055555500066660005444450006600000099cb0000000000448dd888008888000dddddd0566dd6665555555500999a0000011110 -07766770006cc6000b333000005555000068600005444450006600000009900000000000888dd44808888880dddddddd566dd66666666665099999a001111111 -007770000006600000000000000000000066600000555500000000000000000000000000888dd88888888888dddddddd566dd666666666659999999a11111111 +00000000006666000000000000070000006666000555555000000000000000000000aaa0055555500000000000000000009999a000000b000000000000000000 +00000000000660000000000000007000066886605cccccc5670006c00009c000000aa0005555555500000000000000000999999a00000b000000000000000000 +00000000000660000003033000555500068668605555555566606670009cc8000078870088888844000000000000000099999999a00000000000000000000000 +00066000006cc6000303b0000555655006666860544444450667660009ccccc00088770088448888000000000000000099999999a22222220009900000000000 +00d6660006cc7760030b3300055555500068866005444450066670000cc9ccc000877800888888880008800000dddd0056666666222222220009900000000110 +7d66666706cccc6003b00000055555500066660005444450006600000099cb0000778800448dd888008888000dddddd0566dd6665555555500999a0000011110 +07766770006cc6000b333000005555000068600005444450006600000009900000788700888dd44808888880dddddddd566dd66666666665099999a001111111 +007770000006600000000000000000000066600000555500000000000000000000887700888dd88888888888dddddddd566dd666666666659999999a11111111 00044800000448000444444004444440004444000044440000000000555555555555555554444445566444455446648500228800024244907777777750000006 00448800004488000488ff400488ff400444444004444440000000005444444444444444544664455664444554466445022288802442449077b7766755066066 044f7f00044f7f0004f7f74004f7f7400244a4400244a4400000000054c4c4c4c4c4c4c454466445544446655444444522200888555555557bbb766755556666 @@ -158,18 +158,18 @@ c900c9000000000000000000009c009c000900999999000000009000009000005555555555555555 000000c990000099990000099c000000000909000909000000000009000000005555cccdacaccccacccccacacdcccccc111111111dddddddddddffffffff1111 0000000cc99909000090999cc000000000099900099900000000000000000000555cccdaccaccccaccccaccacddccccc1111111111111fffffffffffffff1111 000000000ccc09999990ccc00000000000000000000000000000000000000000555cccdccccccccccccccccccddccccc1111111111111ffffffffffffffff111 -00000000000000000000000000000000000000005555555555555555500000002222222221111211111111112222222233333333333000000050003003333333 -00000000009999999999990000000000888888855555555555555555558888882222222112111110000000011122222233333330000000500000000003333333 -00000009999000000099099900000000000055555555444444555555555000002222111111110000022200000112222233333330000000000000000000033333 -00000099000000000990000990000000000555555554844444844455555500002211111110000000000020000011221133333000050000000500005000003333 -00000990000000009900000099000000888555555544844444844445555588881211111000000000000000000001111133333500000000000000000000050333 -00009900000000009000000009000000005555544444844444844444555550001111110000000200000000000000011133330005000000000000000000003333 -0000900999000009000000000900000905555548444484444484444445555000111112000f000020000200000000002133330000000000000000000000000333 -000090000900000900000000090000098555554844448499998844444555558811111200fff00002000020000000002233333000000000000000000000500333 -00009000090000900000000009000090055554484444994444994444445555002111120ffffff000000002000000000233330000000005000000000000003333 -00009000990009900000000009000090055544484444944444894444845555002211120ffffffff0000000000020000033330000000000000000000000000333 -000099999000090000000000990009900555444844498444448494448445555012111203fff333ff000000000002000033333304444400444444500000500333 -00000000000099000000000990000900555544484449844444849444844555502121112ffffffffff00000000002000033333334666444446664400000003333 +00000000000000000000000000000000222222225555555555555555522222222222222221111211111111112222222233333333333000000050003003333333 +00000000009999999999990000000000222222255555555555555555552222222222222112111110000000011122222233333330000000500000000003333333 +00000009999000000099099900000000222255555555444444555555555222222222111111110000022200000112222233333330000000000000000000033333 +00000099000000000990000990000000222555555554844444844455555522222211111110000000000020000011221133333000050000000500005000003333 +00000990000000009900000099000000222555555544844444844445555522221211111000000000000000000001111133333500000000000000000000050333 +00009900000000009000000009000000225555544444844444844444555552221111110000000200000000000000011133330005000000000000000000003333 +0000900999000009000000000900000925555548444484444484444445555222111112000f000020000200000000002133330000000000000000000000000333 +000090000900000900000000090000092555554844448499998844444555552211111200fff00002000020000000002233333000000000000000000000500333 +00009000090000900000000009000090255554484444994444994444445555222111120ffffff000000002000000000233330000000005000000000000003333 +00009000990009900000000009000090255544484444944444894444845555222211120ffffffff0000000000020000033330000000000000000000000000333 +000099999000090000000000990009902555444844498444448494448445555212111203fff333ff000000000002000033333304444400444444500000500333 +00000000000099000000000990000900555544484449844444849444844555522121112ffffffffff00000000002000033333334666444446664400000003333 000000000000900000000990000099005555444844498444448494448444555521221123fff333ffff0000000000000033333334074444440744450000000333 00000000000900000099990000009000555544484449844444849444844455552111112173f7177ffff000020000000033333334074444440744450000005333 00000000000999999990000000009000555444484444944444894444844455552212112173fffff3ff3f00002002000033333334444466444444450000503333 @@ -324,12 +324,12 @@ __gff__ 0000000000000000000080808080000000000000000000808080808000000080000000000000000000814040818040400000000000000080808080808181808000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 __map__ -0202020202030011110010101000130000000000121200000000000000001010100000000000000011110000000000000000131300000000000000000012120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0202020202030000110000101000131313000000001200000000000000001000000000000000000011110000000000000000131300000000000000001212000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0202020202030000111100001000131300000000001212000000000000001000000000000000000000000000000000000000001300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0202020202030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0202020202030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0404040404000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0202020202030011110010101000130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0202020202030000110000101000131313000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0202020202030000111100001000131300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0202020202030012120010101000001100001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0202020202030012120000100000111100121212000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0404040404000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 @@ -342,19 +342,19 @@ __map__ 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1d0b0b0b0b1f1f0b0b0b0b0b0b0b0b1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0d0e3d2c2d0e0e0e0e00000e3c0e0f0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0d0f0f0e0e0e0e000000000e0e0e0e0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0d0f0f0e000e0e000000000e0e0e0e0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0d00002a2b2f2a0f00000000000e000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0d00003b3b3b3b00002e2b2a2b0e000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0d00003a3a3a3900003e3a393b0e000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0d000000000e2a0f00000e2f2b0e000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0d00002b2f2a3b0028282b3a3900000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0d00002b2f2a3b0000002b3a3900000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0d0f003a393a3a0037383b00000e0e0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0d0f000000000f002a2b0f000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0d0000290f002a003a393d000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0d0f0000000f3b000000000000000e0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0d000000000f0000000f0f0f00001e0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0d00000000000000000f003f001e1e0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0d0e0e000000000000000000001e000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0d000000000f0000000f0f0f001e1e0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0d00000000000000000f003f1e1e1e0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0d0e0e0000000000000000001e1e1e0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1a0a0a17181818190a0a0a0a0a0a0a1c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 __sfx__ 000100001f0701907014070100700e0700e0700e0700f07011070150601a06021060280601a6701767014670116700f6700c6700b670076700666005660046600365003640036400263002630026200160001600 @@ -363,3 +363,7 @@ __sfx__ 000100000c62000620220000000000000220002100000000000002200021000000002300000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000 000200000145001450014500144001440024500245002450034500345004450044400444005440054400744008440094200b4100e42014220182301c2302022024220282202a2202d2102e210302103121031250 00030000063500b3500e350123501535018350263500a3500f35015350193501e350213502a3500f35013350173501c35020350243502d3501f6501d6401b630196301762015620136201261010610106000e600 +000400000160001610026200463006630086400b6400c6400e64010640126301363013640136401364012650116500f6500e6500c6500a6500764005640036400364002630026300162000620006200061000600 +0002000014650106500d65015650126500e6500e65016650126501065015640116201161008600086000000005600056000560005600056000560000000000000000000000000000000000000000000000000000 +000200001b65010650076503960039600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +c60300003d0503d2503f6503e600296000f6000d6000a60022600216000000000000000000000000000000000000037000370000000000000000000000000000000002c0002c0000000000000000000000000000 diff --git a/library.lua b/library.lua index 5e21e11..61c02d5 100644 --- a/library.lua +++ b/library.lua @@ -10,17 +10,16 @@ story = { got_gunpowder_book=false, got_crystal_book=false, } -story.main = 1 library={} library.traits={ large={"large", 10,0, 3,3}, shiny={"shiny", 14,0, 3,3}, - fine={"fine", 27,0, 3,2}, - red={"red", 29,0, 3,3}, - blue={"blue", 7,0, 3,3}, - green={"green", 17,0, 3,3}, + fine={"fine", 7,3, 2,2}, + red={"red", 10,3, 3,2}, + blue={"blue", 14,3, 2,3}, + green={"green", 17,3, 3,2}, } library.item_blueprints = { @@ -48,14 +47,14 @@ library.item_blueprints = { crystal = { title="crystal", quality_base=40, quality_range=60, - trait_pool={"shiny", "large", "blue"}, trait_chance=50, + trait_pool={"shiny", "large", "red"}, trait_chance=50, description="cliff \ncrystals", sprite=38, }, sand = { title="sand", quality_base=30, quality_range=40, - trait_pool={"fine"}, trait_chance=40, + trait_pool={"fine", "red"}, trait_chance=40, description="beach sand", sprite=32, sprite_recolor={[6]=15} }, @@ -108,6 +107,13 @@ library.item_blueprints = { trait_pool={"shiny","large"}, trait_chance=40, description="starshine \ngem!~", sprite=39, + }, + fireworks={ + title="fireworks", + quality_base=80, quality_range=30, + trait_pool={"large","red","green","blue","shiny"}, trait_chance=50, + description="box of \nfireworks", + sprite=40, } } @@ -124,7 +130,7 @@ library.recipes={ }, bomb={ title="small bomb", - ingredients={"gunpowder", "fuel"}, + ingredients={"gunpowder", "gunpowder", "gunpowder"}, result="bomb" }, gunpowder={ @@ -145,10 +151,15 @@ library.recipes={ starshine_gem={ title="starshine", ingredients={"crystal", "polish", "reagent"}, - result="starshine_gem" + result="starshine_gem", + }, + fireworks={ + title="fireworks", + ingredients={"gunpowder", "charcoal", "crystal"}, + result="fireworks", } } inventory = {} -grimoire = {library.recipes.distilled_water, library.recipes.potion} \ No newline at end of file +grimoire = {library.recipes.distilled_water} \ No newline at end of file diff --git a/notes.md b/notes.md index ced5b95..495eb39 100644 --- a/notes.md +++ b/notes.md @@ -198,5 +198,20 @@ phoebe: and thank you for playing my game! atelier door: thank you for completing atelier phoebe! this was a labor of love and bafflement. why did i make an atelier fangame in pico-8? i couldn't tell you. but i hope you enjoyed it! you can find me online as shoofle in most places, most frequently @shoofle@beach.city. gimme a shout and tell me if you got to the end of this game! i hope you enjoyed it! -# sound effects to add -1. sounds for every gatherable +# final touches 1/26 +done! 1. sounds for every gatherable + done charcoal 7 + done herbs 8 + done crystal 9 + done sand 6 +2. bandages? +3. more letters! +done! 4. background color of door sprite (make it better) +done! 5. green, fine traits doesn't have working tiles? +done! 6. make sure cursor resets when you're placing a new trait +done! 7. make it so you can unselect final traits. + +1. green T piece is bugged? +2. when starting to finalize traits it sshould reset cursors + +art for main screen, or "press z to start" \ No newline at end of file diff --git a/screen_crafting.lua b/screen_crafting.lua index 167ac93..f86ae89 100644 --- a/screen_crafting.lua +++ b/screen_crafting.lua @@ -55,8 +55,10 @@ function crafting_choice_update() requirement = current_recipe.ingredients[c.ing_slot] filtered_ingredients = filter_list( inventory, - function(ing) return requirement == ing.title or contains(ing.tags, requirement) end - ) + function(ing) + if contains(ingredients, ing) then return false end + return requirement == ing.title or contains(ing.tags, requirement) + end) current_ingredient = filtered_ingredients[c.ing_idx] @@ -94,6 +96,7 @@ function crafting_choice_update() final_trait_options = filter_list(traits, function(x) return x.active end) choosing_ingredient = false placing_trait = false + final_selected_traits = {} finalizing = true c.trait_slot = 0 c.ing_idx = 1 @@ -143,6 +146,7 @@ function crafting_place_update() add(traits, new_trait) + c.x, c.y = 0,0 if c.trait_slot < #current_ingredient.traits then -- if there's more traits to set, then we should keep setting traits. @@ -165,6 +169,7 @@ function crafting_place_update() choosing_ingredient = false placing_trait = false finalizing = true + final_selected_traits = {} c.trait_slot = 0 c.ing_slot = 1 end @@ -191,8 +196,10 @@ function crafting_finalize_update() end local i = 2*c.y + c.x + 1 - if btnp(4) and not big_button and #final_selected_traits < 2 then - if not contains(final_selected_traits, i) then + if btnp(4) and not big_button then + if contains(final_selected_traits, i) then + del(final_selected_traits, i) + elseif #final_selected_traits < 2 then add(final_selected_traits, i) end end diff --git a/screen_letters.lua b/screen_letters.lua index 173a376..318fee4 100644 --- a/screen_letters.lua +++ b/screen_letters.lua @@ -133,7 +133,7 @@ function draw_letter_on_paper(letter, x, y) end screen_letters = {draw=letters_draw, update=letters_update} -screen_letters = screen_conversation({{phoebe_portrait, [[oh jeez my pile of letters!]]}}, +screen_letters = screen_conversation({{phoebe_portrait, "ah. pile of letters i should be reading."}}, function() screen_letters = {draw=letters_draw, update=letters_update} change_screen(screen_letters) diff --git a/screen_title.lua b/screen_title.lua index f47238b..116961b 100644 --- a/screen_title.lua +++ b/screen_title.lua @@ -4,8 +4,8 @@ function title_update() {phoebe_portrait, "hi! i'm phoebe! welcome to pilton!"}, {phoebe_portrait, "this is a small town known for our fireworks festival."}, {phoebe_portrait, "or we would be. my grandfather, the town's best alchemist, died suddenly and"}, - {phoebe_portrait, "hadn't taught me about fireworks. my mother is an adventurer instead"}, - {phoebe_portrait, "of learning alchemy, so now there's no one to carry on the tradition."}, + {phoebe_portrait, "hadn't taught me about fireworks. my mother took up adventuring"}, + {phoebe_portrait, "instead of alchemy, so now there's no one to carry on the tradition."}, {phoebe_portrait, "the town's pretty broken up about it but i'm doing my best to carry on."}, {phoebe_portrait, "but i only know the basics of picking herbs and purifying water."}, }, diff --git a/screen_walkaround.lua b/screen_walkaround.lua index cd03279..cb0f40f 100644 --- a/screen_walkaround.lua +++ b/screen_walkaround.lua @@ -7,6 +7,7 @@ locations = {} function crystals(story_state) add(inventory, make_item(library.item_blueprints.crystal)) change_screen(screen_conversation({{phoebe_portrait, "you can use these crystals for a lot."}})) + sfx(9) toast("received crystal!") end locations["5,0"]=crystals @@ -42,19 +43,27 @@ function herbs(story_state) change_screen(screen_conversation({ {phoebe_portrait, "ooh, healing herbs! i'll take some. not more than 1/3 the patch though!"} })) + sfx(8) toast("received herbs!") end +locations["13,12"] = herbs locations["14,12"] = herbs -locations["14,13"] = herbs + +locations["12,13"] = herbs locations["13,13"] = herbs +locations["14,13"] = herbs + +locations["12,14"] = herbs locations["13,14"] = herbs +locations["14,14"] = herbs function beach(story_state) add(inventory, make_item(library.item_blueprints.sand)) change_screen(screen_conversation({ {phoebe_portrait, "how many grains of sand does it take before it becomes a pile?"} })) + sfx(6) toast("received sand!") end @@ -134,7 +143,7 @@ screen_walkaround = {update=walkaround_update, draw=walkaround_draw} screen_walkaround = screen_conversation({ {phoebe_portrait, [[oh, and this is the town! all sorts of things to do here.]]}, {phoebe_portrait, [[like i could go get water from the well to the east,]]}, - {phoebe_portrait, [[or go pick up some charcoal from the red house to the southwest!]]}, + {phoebe_portrait, [[or pick up some charcoal from the red house to the southwest!]]}, {phoebe_portrait, [[just face a building and press ❎!]]} }, function() @@ -148,11 +157,11 @@ stars = {} drag = 0.1 fireworks_frequency = 8 function work(f) - local vel = sqrt(f.vx*f.vx+f.vy*f.vy) + local vel = sqrt(f.vx*f.vx + f.vy*f.vy) f.x += f.vx f.y += f.vy - f.vx = f.vx*(1-drag*velocity) - f.vy = f.vy*(1-drag*velocity) + f.vx = f.vx*(1-(drag*vel)) + f.vy = f.vy*(1-(drag*vel)) return vel end @@ -171,24 +180,27 @@ function fireworks_update() }) end for f in all(fireworks) do - if work(f) < 0.2 then + local v = work(f) + if v < 0.2 or v > 100 then for i=1,10 do local theta = rnd(2) add(new_stars,{ x=f.x, y=f.y, - vx = sin(theta)*2, - vy = cos(theta)*2, + vx=sin(theta)*2, + vy=cos(theta)*2, c=f.c }) end + sfx(8) else add(new_fireworks, f) end end for s in all(stars) do - if work(f) > 0.2 then + local v = work(s) + if v > 0.2 and v < 100 then add(new_stars, s) end end diff --git a/screen_workbench.lua b/screen_workbench.lua index e426c37..600b0b6 100644 --- a/screen_workbench.lua +++ b/screen_workbench.lua @@ -42,9 +42,10 @@ end screen_workbench = {draw=bench_draw, update=bench_update} screen_workbench = screen_conversation({ - {phoebe_portrait, [[this is my workbench.]]}, - {phoebe_portrait, [[if you press left or right you can see my letters or recipes.]]}, - {phoebe_portrait, [[then press ❎ to get back to the workbench.]]}, + {phoebe_portrait, "this is my workbench."}, + {phoebe_portrait, "if you press left or right you can see my letters or recipes"}, + {phoebe_portrait, "and the drawer where i keep ingredients is up top."}, + {phoebe_portrait, "you can press ❎ to back out to the workbench."}, }, function() screen_workbench = {draw=bench_draw, update=bench_update} diff --git a/script_charcoal_seller.lua b/script_charcoal_seller.lua index 6f8d6f9..c4d996d 100644 --- a/script_charcoal_seller.lua +++ b/script_charcoal_seller.lua @@ -7,6 +7,7 @@ function script_charcoal_seller(s) -- the brick house! {phoebe_portrait, "yeah."}, {seller_portrait, "well, you can take as much as you need.", function() add(inventory, make_item(library.item_blueprints.charcoal)) + sfx(7) toast("received charcoal!") end}, })) @@ -15,6 +16,7 @@ function script_charcoal_seller(s) -- the brick house! change_screen(screen_conversation({ {seller_portrait, "hey phoebe. charcoal's out back.", function() add(inventory, make_item(library.item_blueprints.charcoal)) + sfx(7) toast("received charcoal!") end}, })) @@ -22,19 +24,24 @@ function script_charcoal_seller(s) -- the brick house! elseif s.main == 7 then if s.branch_hans == 1 then change_screen(screen_conversation({ - {seller_portrait, "if you get me the fireworks, i can set up a show. three boxes should do it."} + {seller_portrait, "if you get me the fireworks, i can run the show. 3 boxes should do it."} })) s.branch_hans = 2 elseif s.branch_hans == 2 then fireworks = player_has("fireworks", 3) if fireworks == nil then change_screen(screen_conversation({ - {seller_portrait, "i need three boxes of fireworks if we're gonna do a show."} + {seller_portrait, "i need three boxes of fireworks if we're gonna do a show."}, + {seller_portrait, "oh, and i figure you'll need charcoal still.", function() + add(inventory, make_item(library.item_blueprints.charcoal)) + sfx(7) + toast("received charcoal!") + end} })) else change_screen(screen_conversation({ {seller_portrait, "this looks good. fantastic quality."}, - {seller_portrait, "i'll set up the show and meet you at the library for viewing!"}, + {seller_portrait, "i'll set up the show and meet you at the library for viewing!"} })) for x in all(fireworks) do del(inventory, x) end @@ -47,6 +54,9 @@ function script_charcoal_seller(s) -- the brick house! change_screen(screen_conversation({ {seller_portrait, "i'll meet you at the library for viewing when you're ready."}, })) + add(inventory, make_item(library.item_blueprints.charcoal)) + sfx(7) + toast("received charcoal!") end -- end hans branch elseif story_state.main == 8 then change_screen(screen_conversation({ @@ -54,5 +64,8 @@ function script_charcoal_seller(s) -- the brick house! })) elseif story_state.main == 9 then change_screen(screen_conversation({{door_portrait, "[no one is here.]"}})) + sfx(7) + add(inventory, make_item(library.item_blueprints.charcoal)) + toast("received charcoal!") end end \ No newline at end of file diff --git a/script_lenore.lua b/script_lenore.lua index cc2b347..0ae28e5 100644 --- a/script_lenore.lua +++ b/script_lenore.lua @@ -22,7 +22,8 @@ function script_lenore(story_state) del(inventory, water) add(inventory, make_item(library.item_blueprints.reagent)) add(grimoire, library.recipes.reagent) - toast("received reagent recipe!") + add(grimoire, library.recipes.potion) + toast("received recipes!") end} })) story_state.main = 2 @@ -42,20 +43,21 @@ function script_lenore(story_state) if story_state.branch_lenore == 1 then change_screen(screen_conversation({ {lenore_portrait, [[whoa, you can't just set off fireworks willy-nilly.]]}, - {lenore_portrait, "get me 3 distilled water for cleaning bandages and 3 buckets of well water for fire."}, + {lenore_portrait, "get me 3 distilled water for cleaning bandages"}, + {lenore_portrait, "and 3 buckets of well water for fire."}, {phoebe_portrait, [[you got it!!]]}, })) story_state.branch_lenore = 2 elseif story_state.branch_lenore == 2 then - local clean_water = player_has("distilled water", 3) + local clean_water = player_has("pure water", 3) local well_water = player_has("well water", 3) if clean_water == nil or well_water == nil then change_screen(screen_conversation({ - {lenore_portrait, [[i need 3 clean bandages and a distilled water.]]} + {lenore_portrait, [[i need 3 distilled water and 3 buckets of well water.]]} })) else change_screen(screen_conversation({ - {lenore_portrait, [[thanks. this looks good. i'll meet you at the library for viewing when you're ready.]]} + {lenore_portrait, [[thanks. i'll meet you at the library for viewing when you're ready.]]} })) for x in all(clean_water) do del(inventory, x) end for x in all(well_water) do del(inventory, x) end diff --git a/script_library.lua b/script_library.lua index 097d683..71982d8 100644 --- a/script_library.lua +++ b/script_library.lua @@ -38,44 +38,45 @@ function script_library(s) {phoebe_portrait, "hmm... \nhmm..."}, {phoebe_portrait, "hmm... \nhmm... \nhmm..."}, {phoebe_portrait, [[okay so i need raw crystal, polishing powder, and reagent.]], function() - add(grimoire, library.recipes.starshine_crystal) add(grimoire, library.recipes.polishing_powder) + add(grimoire, library.recipes.starshine_gem) + toast("received recipes!") end}, {phoebe_portrait, "i can get crystal from the cliffs and sand from the beach!"}, })) s.got_crystal_book = true else change_screen(screen_conversation({ - {phoebe_portrait, "thanks for the book, \nstef!"}, + {phoebe_portrait, "thanks for the book, stef!"}, {librarian_portrait, [[that's my job!]]}, })) end elseif s.main == 7 then change_screen(screen_conversation({ - {librarian_portrait, "fireworks festival,\nhuh? well, the library\nwill be a great\nplace to watch from!"} + {librarian_portrait, "fireworks festival, huh? well, this would be a great place to watch from!"} })) elseif s.main == 8 or s.main == 9 then change_screen(screen_conversation({ {librarian_portrait, [[a fireworks festival after all, huh?]]}, - {neighbor_portrait, [[i thought it was done for after the old alchemist passed away, rest his soul.]]}, + {neighbor_portrait, [[i thought it was done for after the alchemist passed away, rest his soul.]]}, {seller_portrait, [[well it looks like phoebe took up the reins!]]}, {phoebe_portrait, [[aw shucks!]]}, {lenore_portrait, [[thanks for making this happen, lil alchemist.]]}, {neighbor_portrait, [[thanks, phoebe!]]}, {seller_portrait, [[thanks, phoebe.]]}, - {phoebe_portrait, [[thank you all for helping out so much. i couldn't have done it without you.]]}, + {phoebe_portrait, [[thank you all for helping so much. i couldn't have done it without you.]]}, }, nil, {update=fireworks_update, draw=fireworks_draw})) screen_walkaround = {update=fireworks_update, draw=fireworks_draw} screen_workbench = screen_conversation({ {phoebe_portrait, "thank you for completing atelier phoebe!"}, {phoebe_portrait, "this was a labor of love and bafflement."}, - {phoebe_portrait, "why did i make an atelier fangame in pico-8? i couldn't tell you."}, - {phoebe_portrait, "but i hope you enjoyed it! you can find me online as shoofle"}, - {phoebe_portrait, "lately i spend my time @shoofle@beach.city."}, + {phoebe_portrait, "why did i make an atelier fangame in pico-8? i dunno."}, + {phoebe_portrait, "but i hope you enjoyed it! you can find me online as shoofle."}, + {phoebe_portrait, "lately i spend my time @shoofle\n@beach.city."}, {phoebe_portrait, "gimme a shout if you enjoyed atelier phoebe!"}, }, function() - screen_workbench = {update=workbench_update, draw=workbench_draw} + screen_workbench = {update=bench_update, draw=bench_draw} change_screen(screen_workbench) end, screen_workbench) diff --git a/script_neighbor.lua b/script_neighbor.lua index 9d82170..c18c8e1 100644 --- a/script_neighbor.lua +++ b/script_neighbor.lua @@ -11,6 +11,7 @@ function script_neighbor(s) {phoebe_portrait, [[hello! i was asked to bring you a potion!]]}, {neighbor_portrait, [[that's so kind! i injured my back trying to get a rock out]]}, {neighbor_portrait, [[of my field. this potion will fix me right up.]]}, + {neighbor_portrait, "i'm brigitte, by the way."}, {neighbor_portrait, [[... hey, you're an alchemist, right?]]}, {phoebe_portrait, [[of course!]]}, {neighbor_portrait, [[i've heard that alchemists can make explosives. a bomb could get rid of]]}, diff --git a/script_witch.lua b/script_witch.lua index b3a310d..ed10b09 100644 --- a/script_witch.lua +++ b/script_witch.lua @@ -53,7 +53,7 @@ time! local crystal = player_has("starshine", 1, {"red", "shiny"}) if crystal == nil then change_screen(screen_conversation({ - {door_portrait, "[there is no answer to your knocking.]"} + {door_portrait, "starshine gem. red and shiny."} })) else change_screen(screen_conversation({ diff --git a/utils.lua b/utils.lua index 0b2e73d..51f7277 100644 --- a/utils.lua +++ b/utils.lua @@ -64,10 +64,7 @@ function make_item(blueprint) --end item = deepcopy(blueprint) - --item.sprite_recolor = blueprint.sprite_recolor - --item.sprite = blueprint.sprite - --item.title = blueprint.title - --item.description = blueprint.description + item.quality = flr(blueprint.quality_base + rnd(blueprint.quality_range)) if blueprint.tags then item.tags = deepcopy(blueprint.tags) else item.tags = {} end @@ -76,7 +73,8 @@ function make_item(blueprint) add(item.traits, rnd(blueprint.trait_pool)) end if rnd(100) < blueprint.trait_chance then - add(item.traits, rnd(blueprint.trait_pool)) + local t = rnd(blueprint.trait_pool) + if not contains(item.traits, t) then add(item.traits, t) end end return item end