Compare commits
3 Commits
ff3552bc45
...
do_rearm
Author | SHA1 | Date | |
---|---|---|---|
58da8e6dc3
|
|||
8ff0732cbc
|
|||
c88e7c0657
|
@ -185,7 +185,7 @@ function call_move(x)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function updategame()
|
function updategame()
|
||||||
if primary_ship.xp >= primary_ship.xptarget and lframe - primary_ship.last_xp_frame > 0x0.000F then
|
if (primary_ship.xp >= primary_ship.xptarget) and (lframe - primary_ship.last_xp_frame > 0x0.000f) and (not primary_ship.dead) then
|
||||||
mode = rearm_mode.new()
|
mode = rearm_mode.new()
|
||||||
return _update60()
|
return _update60()
|
||||||
end
|
end
|
||||||
@ -275,6 +275,7 @@ function _draw()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function drawgame_top()
|
function drawgame_top()
|
||||||
|
camera()
|
||||||
fillp(0)
|
fillp(0)
|
||||||
drawgame()
|
drawgame()
|
||||||
if (game_state == game) fadelvl = -45
|
if (game_state == game) fadelvl = -45
|
||||||
@ -1764,6 +1765,10 @@ rearm_mode = mknew{
|
|||||||
bfm=1,
|
bfm=1,
|
||||||
crt_frm = 1,
|
crt_frm = 1,
|
||||||
pos=-1,
|
pos=-1,
|
||||||
|
init=function(this)
|
||||||
|
poke(0x5f5c, 255) --no btnp repeat
|
||||||
|
rearm_mode.shuffle(this)
|
||||||
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
crt={-91,-166,-2641,-1441,-23041,23295,-20491,24570}
|
crt={-91,-166,-2641,-1441,-23041,23295,-20491,24570}
|
||||||
@ -1819,55 +1824,57 @@ function rearm_mode:pos_frac()
|
|||||||
return 0
|
return 0
|
||||||
end
|
end
|
||||||
|
|
||||||
function rearm_mode:init()
|
|
||||||
self:shuffle()
|
|
||||||
end
|
|
||||||
|
|
||||||
function rearm_mode:shuffle()
|
function rearm_mode:shuffle()
|
||||||
-- these will be placeholders
|
-- these will be placeholders
|
||||||
-- until the upgrade deck
|
-- until the upgrade deck
|
||||||
-- is a thing that exists
|
-- is a thing that exists
|
||||||
self.options = {{
|
self.options = {{
|
||||||
s=1,
|
s=1,
|
||||||
hdr="hull",
|
hdr=" hull",
|
||||||
body = "\n +1\n max\n health",
|
body = "\n +1\n max\n health",
|
||||||
action = function() end,
|
action = function() end,
|
||||||
},{
|
},{
|
||||||
s=2,
|
s=37,
|
||||||
hdr="vulc",
|
hdr=" vulc",
|
||||||
body = "\n placeholder",
|
body = "\nplaceholder",
|
||||||
action = function() end,
|
action = function() end,
|
||||||
}}
|
}}
|
||||||
end
|
end
|
||||||
|
|
||||||
function rearm_mode:draw()
|
function rearm_mode:draw()
|
||||||
|
drawgame_top()
|
||||||
local frac = self:pos_frac()
|
local frac = self:pos_frac()
|
||||||
camera(frac * 55, 0)
|
camera(frac * 55, 0)
|
||||||
self:draw_option(1)
|
self:draw_option(1)
|
||||||
camera(frac * -128 + (1-frac) * -56, 0)
|
camera(frac * -128 + (1-frac) * -56, 0)
|
||||||
self:draw_option(2)
|
self:draw_option(2)
|
||||||
|
camera(0, -28 * frac)
|
||||||
-- TODO: draw rearm pane
|
self:glow_box(0,101,111,127,self:frame_col(self.sel < 0),1)
|
||||||
drawhud()
|
spr(96,15,107,4,2)
|
||||||
|
print("full ammo\nfull shield\n+50% health",54, 106, 6)
|
||||||
end
|
end
|
||||||
|
|
||||||
function rearm_mode:update_pos()
|
function rearm_mode:update_pos()
|
||||||
local pos = self.pos
|
local pos = self.pos
|
||||||
if (not pos or pos == 0) return
|
if (not pos) return
|
||||||
if (pos <= 0 and primary_ship.xp < primary_ship.xptarget) self.pos += 1
|
if (pos == 0) then
|
||||||
|
if (primary_ship.xp < primary_ship.xptarget) self.pos = 1
|
||||||
|
xpwhoosh = nil
|
||||||
|
return
|
||||||
|
end
|
||||||
if (pos < 0) pos = min(pos + 0x0.05, 0)
|
if (pos < 0) pos = min(pos + 0x0.05, 0)
|
||||||
if pos > 0 then
|
if pos > 0 then
|
||||||
pos -= 0x0.1
|
pos -= 0x0.1
|
||||||
if (pos <= 0) pos = nil
|
if (pos <= 0) pos = 999
|
||||||
end
|
end
|
||||||
self.pos = pos
|
self.pos = pos
|
||||||
end
|
end
|
||||||
|
|
||||||
function rearm_mode:update()
|
function rearm_mode:update()
|
||||||
self:update_pos()
|
self:update_pos()
|
||||||
if not self.pos then
|
if self.pos > 1 then
|
||||||
mode = game_mode
|
mode = game_mode
|
||||||
return _update60()
|
return -- do not advance frame
|
||||||
end
|
end
|
||||||
local sel, bfm = self.sel, self.bfm
|
local sel, bfm = self.sel, self.bfm
|
||||||
if (btn(3) and sel > 0 or btn(2) and sel < 0) sel=-sel
|
if (btn(3) and sel > 0 or btn(2) and sel < 0) sel=-sel
|
||||||
@ -1887,7 +1894,7 @@ function rearm_mode:update()
|
|||||||
-- todo: sound: rearm
|
-- todo: sound: rearm
|
||||||
primary_ship.shield = primary_ship.maxshield
|
primary_ship.shield = primary_ship.maxshield
|
||||||
-- todo: rewrite for three guns
|
-- todo: rewrite for three guns
|
||||||
if (primary_ship.spec_gun) primary_ship.spec_gun.ammo = primary_ship.spec_gun.max_ammo
|
if (primary_ship.special_gun) primary_ship.special_gun.ammo = primary_ship.special_gun.max_ammo
|
||||||
primary_ship.hp = min(primary_ship.maxhp, primary_ship.hp + primary_ship.maxhp/2)
|
primary_ship.hp = min(primary_ship.maxhp, primary_ship.hp + primary_ship.maxhp/2)
|
||||||
primary_ship.xp -= primary_ship.xptarget / 2
|
primary_ship.xp -= primary_ship.xptarget / 2
|
||||||
else
|
else
|
||||||
@ -1950,6 +1957,26 @@ c1111111111d0000c1111111111d0000c1111111111d0000c111eeee111d0000c11e2222e11d0000
|
|||||||
c1111111111d0000c1111111111d0000c1111111111d0000c1111111111d0000c111eeee111d0000c1ee2222ee1d0000ce22111122ed0000c2111111112d0000
|
c1111111111d0000c1111111111d0000c1111111111d0000c1111111111d0000c111eeee111d0000c1ee2222ee1d0000ce22111122ed0000c2111111112d0000
|
||||||
c1111111111d0000c1111111111d0000c1111111111d0000c1111111111d0000c1111111111d0000c111eeee111d0000ceee2222eeed0000c2221111222d0000
|
c1111111111d0000c1111111111d0000c1111111111d0000c1111111111d0000c1111111111d0000c111eeee111d0000ceee2222eeed0000c2221111222d0000
|
||||||
cddddddddddd0000cddddddddddd0000cddddddddddd0000cddddddddddd0000cddddddddddd0000cddddddddddd0000cddddddddddd0000cddddddddddd0000
|
cddddddddddd0000cddddddddddd0000cddddddddddd0000cddddddddddd0000cddddddddddd0000cddddddddddd0000cddddddddddd0000cddddddddddd0000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
04444400044444440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
447777700477777a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
477aaa7a0477aaaa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
47a0047a047a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
47a0447a047a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
47a4477a047a44400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
477777a00477777a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
477770000422aaaa2222000200000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
47a77700022ee0002eeee002e00022e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
47a4777002ea2e002e002e02ee022ee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
47a0477a22ea2e002e002e02e2e2e2e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
47a0047a2e2222e02e222e02e02e02e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
47a0047a2eeeeeea2eeee002e02e02e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0aa000aa2e7aa2ea2e00e002e02e02e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000002e0002e02e002e02e02e02e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000e0000e00e000e00e00e00e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
__label__
|
__label__
|
||||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007777777777777777
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007777777777777777
|
||||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007666666666666665
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007666666666666665
|
||||||
|
Reference in New Issue
Block a user