Add content warning
This commit is contained in:
parent
dd46a76f54
commit
e3bc5a0dc6
@ -136,10 +136,10 @@ function cursor:draw_at(l,i)
|
||||
local x,y=l:place_card(i)
|
||||
local card_fg=self.ruleset.deck:draw_card(x,y,card,{rotate=l.rotated})
|
||||
local fg=card_fg
|
||||
draw_layout_hint(l,i,9,false,0,0)
|
||||
draw_layout_hint(l,i,9,false)
|
||||
else
|
||||
local filled=false
|
||||
if (i<1) i=1 filled=true
|
||||
draw_layout_hint(l,i,12,filled,0,0)
|
||||
draw_layout_hint(l,i,12,filled)
|
||||
end
|
||||
end
|
@ -1,8 +1,6 @@
|
||||
function draw_layout_hint(l,i,fg,filled,dx,dy)
|
||||
function draw_layout_hint(l,i,fg,filled,tut_border)
|
||||
-- layout, index
|
||||
local x,y=l:place_card(i)
|
||||
x+=dx
|
||||
y+=dy
|
||||
|
||||
if (l.obscured) filled=false
|
||||
if filled then
|
||||
@ -12,10 +10,28 @@ function draw_layout_hint(l,i,fg,filled,dx,dy)
|
||||
rectfill(x,y,x+8,y+15,fg)
|
||||
end
|
||||
else
|
||||
if tut_border then
|
||||
local exclude=1+flr(time()*3)%3
|
||||
pal(1,14)
|
||||
pal(2,14)
|
||||
pal(3,14)
|
||||
palt(13,true)
|
||||
pal(exclude,13)
|
||||
if l.rotated then
|
||||
spr(32,x-5,y+5,3,2)
|
||||
else
|
||||
-- rect(x-3,y-3,x+11,y+18,13)
|
||||
spr(14,x-2,y-2,2,3)
|
||||
end
|
||||
pal()
|
||||
palt()
|
||||
return
|
||||
end
|
||||
if l.rotated then
|
||||
rect(x-4,y+6,x+13,y+16,fg)
|
||||
else
|
||||
rect(x-1,y-1,x+9,y+16,fg)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
2
main.lua
2
main.lua
@ -12,7 +12,7 @@ function main:init()
|
||||
self.state_manager:push(state_wonround:new(b))
|
||||
]]
|
||||
|
||||
if (completion_tracker:should_show_tutorial()) self.state_manager:push(state_ironman:new(tutorial))
|
||||
if (completion_tracker:should_show_tutorial()) self.state_manager:push(state_ironman:new(tutorial)) self.state_manager:push(state_content_warning:new())
|
||||
end
|
||||
|
||||
function main:update()
|
||||
|
59
main.p8
59
main.p8
@ -24,6 +24,7 @@ __lua__
|
||||
#include seeds.lua
|
||||
#include sounds.lua
|
||||
#include state_archaeology.lua
|
||||
#include state_content_warning.lua
|
||||
#include state_excavate_menu.lua
|
||||
#include state_manager.lua
|
||||
#include state_menu.lua
|
||||
@ -44,35 +45,35 @@ for i=1,10 do
|
||||
end
|
||||
stop()]]
|
||||
__gfx__
|
||||
00000000000000000000000000000000777770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000007000000777000000070000700070000707070000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
07070000007000000777000000700000707070000077770000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00700000007000000777000000700000707070000770700000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
07070000077700000070000007000000777070000077777000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000007000000777000007000000700070000700777000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000707770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000070000000700000007000000000000000000000000000000000000000000000000000
|
||||
00000000000070000000700000700070007000700070007000700070007000700070007000700070070707000707070007070700000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000070000000700000007000007777000077770000777700000000000000000000000000
|
||||
00007000000000000000700000000000000070000070007000707070000000000070007000700070077070000770700007707000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000070000000000000007000007777700077777000777770000000000000000000000000
|
||||
00000000000070000000700000700070007000700070007000700070007000700070007000700070070077700700777007007770000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000070000000700000007000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000077777000000000000000000000000000000000000000000000000000000000000000000000000000ddddddddddddd000
|
||||
0000000000700000077700000007000070007000070707000000000000000000000000000000000000000000000000000000000000000000d31231231231d000
|
||||
0707000000700000077700000070000070707000007777000000000000000000000000000000000000000000000000000000000000000000d20000000002d000
|
||||
0070000000700000077700000070000070707000077070000000000000000000000000000000000000000000000000000000000000000000d10000000003d000
|
||||
0707000007770000007000000700000077707000007777700000000000000000000000000000000000000000000000000000000000000000d30000000001d000
|
||||
0000000000700000077700000700000070007000070077700000000000000000000000000000000000000000000000000000000000000000d20000000002d000
|
||||
0000000000000000000000000000000070777000000000000000000000000000000000000000000000000000000000000000000000000000d10000000003d000
|
||||
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d30000000001d000
|
||||
0000000000000000000000000000000000000000000000000000000000007000000070000000700000000000000000000000000000000000d20000000002d000
|
||||
0000000000007000000070000070007000700070007000700070007000700070007000700070007007070700070707000707070000000000d10000000003d000
|
||||
0000000000000000000000000000000000000000000000000000000000007000000070000000700000777700007777000077770000000000d30000000001d000
|
||||
0000700000000000000070000000000000007000007000700070707000000000007000700070007007707000077070000770700000000000d20000000002d000
|
||||
0000000000000000000000000000000000000000000000000000000000007000000000000000700000777770007777700077777000000000d10000000003d000
|
||||
0000000000007000000070000070007000700070007000700070007000700070007000700070007007007770070077700700777000000000d30000000001d000
|
||||
0000000000000000000000000000000000000000000000000000000000007000000070000000700000000000000000000000000000000000d20000000002d000
|
||||
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d10000000003d000
|
||||
dddddddddddddddddddd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d30000000001d000
|
||||
d123123123123123123d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d20000000002d000
|
||||
d300000000000000001d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d13213213213d000
|
||||
d200000000000000002d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ddddddddddddd000
|
||||
d100000000000000003d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
d300000000000000001d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
d200000000000000002d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
d100000000000000003d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
d300000000000000001d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
d200000000000000002d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
d100000000000000003d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
d321321321321321321d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
dddddddddddddddddddd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
|
@ -1,8 +1,13 @@
|
||||
music_manager={}
|
||||
add(modules,music_manager)
|
||||
function music_manager:init()
|
||||
self._allow=true
|
||||
end
|
||||
function music_manager:allow(a)
|
||||
self._allow=a
|
||||
end
|
||||
function music_manager:update()
|
||||
if (not self._allow) music(-1,0) return
|
||||
local is_playing = stat(54) != -1
|
||||
local should_be_playing = completion_tracker:get_music_preference()
|
||||
if (is_playing and not should_be_playing) music(-1,500)
|
||||
|
42
state_content_warning.lua
Normal file
42
state_content_warning.lua
Normal file
@ -0,0 +1,42 @@
|
||||
state_content_warning=klass()
|
||||
function state_content_warning:init(prior_menu)
|
||||
self.prior_menu=prior_menu
|
||||
self.frame=0
|
||||
self.frames=4
|
||||
self.progress=0
|
||||
end
|
||||
function state_content_warning:enter() music_manager:allow(false) end
|
||||
function state_content_warning:exit(new_top) music_manager:allow(true) end
|
||||
|
||||
function state_content_warning:reenter() end
|
||||
function state_content_warning:suspend() end
|
||||
function state_content_warning:update()
|
||||
for i=0,6 do
|
||||
if (btnp(i)) self.done=true
|
||||
end
|
||||
end
|
||||
function state_content_warning:draw()
|
||||
cls(0)
|
||||
print([[
|
||||
raven's rood explores post-
|
||||
colonial subject matter,
|
||||
including violent conflict
|
||||
leading to genocide.
|
||||
|
||||
these themes are artistically
|
||||
essential and inseparable from
|
||||
the overall content of the game.
|
||||
|
||||
we understand all games are not
|
||||
suitable for every individual.
|
||||
we hope you enjoy our game
|
||||
despite the bleak nature of its
|
||||
subject matter.
|
||||
|
||||
once you continue, the tutorial
|
||||
will begin, and you will not
|
||||
encounter this message again.
|
||||
]],2,2,6)
|
||||
|
||||
print("🅾️ continue",2,121,15)
|
||||
end
|
32
tutorial.lua
32
tutorial.lua
@ -3,32 +3,32 @@ tutorial={
|
||||
-- function() return watcher:new(progression[6]) end,
|
||||
function()
|
||||
return watcher:new(progression[1], 10,{
|
||||
tutorial_grab:new(1,4),
|
||||
tutorial_grab:new(5,1),
|
||||
tutorial_grab:new(1,4,"stack cards ascending..."),
|
||||
tutorial_grab:new(5,1,"... or descending."),
|
||||
tutorial_grab:new(4,3),
|
||||
tutorial_grab:new(2,4),
|
||||
tutorial_grab:new(2,4,"fill the wells."),
|
||||
})
|
||||
end,
|
||||
function()
|
||||
return watcher:new(progression[2], 10,{
|
||||
tutorial_grab:new(1,6),
|
||||
tutorial_grab:new(1,2),
|
||||
tutorial_grab:new(1,5),
|
||||
tutorial_grab:new(1,5),
|
||||
tutorial_grab:new(2,1),
|
||||
tutorial_grab:new(2,1),
|
||||
tutorial_grab:new(6,1),
|
||||
tutorial_grab:new(1,6,"use the extra slot."),
|
||||
tutorial_grab:new(1,2,"it blocks the wells."),
|
||||
tutorial_grab:new(1,5,"it blocks the wells."),
|
||||
tutorial_grab:new(1,5,"it blocks the wells."),
|
||||
tutorial_grab:new(2,1,"it blocks the wells."),
|
||||
tutorial_grab:new(2,1,"it blocks the wells."),
|
||||
tutorial_grab:new(6,1,"drag it down."),
|
||||
})
|
||||
end,
|
||||
function()
|
||||
return watcher:new(progression[3],3,{
|
||||
tutorial_grab:new(7,6),
|
||||
tutorial_undo:new(),
|
||||
tutorial_grab:new(7,6,"here are more cards."),
|
||||
tutorial_undo:new("undo. (or hold to restart.)"),
|
||||
tutorial_grab:new(6,7),
|
||||
tutorial_grab:new(6,8),
|
||||
tutorial_grab:new(2,6),
|
||||
tutorial_grab:new(2,4),
|
||||
tutorial_grab:new(3,1),
|
||||
tutorial_grab:new(6,8,"they have their own well."),
|
||||
tutorial_grab:new(2,6,"it can't be blocked."),
|
||||
tutorial_grab:new(2,4,"stack ascending or descending."),
|
||||
tutorial_grab:new(3,1,"collect the last scroll\nto read it!"),
|
||||
})
|
||||
end,
|
||||
standard_watcher_cb(4),
|
||||
|
25
watcher.lua
25
watcher.lua
@ -28,16 +28,25 @@ function watcher:draw(board)
|
||||
x+=1
|
||||
y+=20
|
||||
local lx=x+3
|
||||
line(lx,y-4,lx,y,15)
|
||||
rectfill(x-2,y-2,x+w,y+h,1)
|
||||
rect(x-2,y-2,x+w,y+h,15)
|
||||
print(text,x,y,15)
|
||||
|
||||
local note=stage.note
|
||||
if (not note) return
|
||||
local w,h=measure_text(note)
|
||||
local x=64-w\2
|
||||
local y=88
|
||||
rectfill(x-1,y-1,x+w-1,y+h-1,1)
|
||||
rect(x-2,y-2,x+w,y+h,15)
|
||||
print(note,x,y,15)
|
||||
end
|
||||
|
||||
tutorial_grab=klass()
|
||||
function tutorial_grab:init(src,dst)
|
||||
function tutorial_grab:init(src,dst,note)
|
||||
self.src=src
|
||||
self.dst=dst
|
||||
self.note=note
|
||||
end
|
||||
|
||||
function tutorial_grab:active()
|
||||
@ -50,16 +59,16 @@ function tutorial_grab:intercept(x, slot)
|
||||
end
|
||||
function tutorial_grab:draw(board,layouts)
|
||||
local layout,i,text
|
||||
if board.cursor:acceptance_state() == acceptance_state.not_grabbed then
|
||||
if board.cursor:grabbed_card() == nil then
|
||||
-- show a hint for grabbing
|
||||
layout=layouts:slot(self.src)
|
||||
i=#board.slots[self.src].contents
|
||||
draw_layout_hint(layout,i,15,false,0,0)
|
||||
draw_layout_hint(layout,i,15,false,true)
|
||||
text="🅾️"
|
||||
else
|
||||
layout=layouts:slot(self.dst)
|
||||
i=#board.slots[self.dst].contents+1
|
||||
draw_layout_hint(layout,i,15,false,0,0)
|
||||
draw_layout_hint(layout,i,15,false,true)
|
||||
text="🅾️"
|
||||
end
|
||||
return layout,i,text
|
||||
@ -67,7 +76,9 @@ end
|
||||
|
||||
|
||||
tutorial_undo=klass()
|
||||
function tutorial_undo:init() end
|
||||
function tutorial_undo:init(note)
|
||||
self.note=note
|
||||
end
|
||||
function tutorial_undo:active()
|
||||
return true
|
||||
end
|
||||
@ -77,7 +88,7 @@ end
|
||||
function tutorial_undo:draw(board,layouts)
|
||||
local layout,i,text
|
||||
layout=layouts:checkpoint()
|
||||
draw_layout_hint(layout,0,15,false,0,0)
|
||||
draw_layout_hint(layout,0,15,false,true)
|
||||
text="❎"
|
||||
return layout,i,text
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user