mirror of
https://github.com/cave-story-randomizer/cave-story-randomizer
synced 2025-03-28 12:59:53 +00:00
mrs little and malco give hints about their checks
This commit is contained in:
parent
9142ee6341
commit
9acc690ccf
|
@ -1,2 +1 @@
|
|||
-::C:FWXKFMW_:::<FPKS::::FOXN-::C;FWXKFMW_:::<FPKS:::;FOXN-::C<FWXKFMW_:::<FPKS:::<FOXN-::C=FWXKFMW_:::<FPKS:::=FOXN-::C>FWXKFMW_:::<FPKS:::>FOXN-:;::FUOcF]Y_::;;FKXZ:;::D::::D:::<FPKY:::<F^\K::?=D::C<D:::<D:;A=-:<::FZ\SFPVT;=A<D:<:<FKWT:::CD:<:=FPVT<B;;D:<:=FO`O:<:?-:<:<FZ\SFW]QF^_\Kr6*s~1}*qyyn*~y*lo*lkmu8FXYNFOXN-:<:=FPV5;=A<FO`O:<:>-:<:>FO`O::;:-:<:?
|
||||
FZ\SFW]QF^_\cy*uxy<78>6*S*t}~*vy€o*~y*}oo}rk|z*~rsxq}8FXYNFMV\FQS^:::CS1vv*qs€o*ƒy*k*vs~~vo*}ywo~rsxqsp*ƒy*y<>x*k*GLvknoG+FXYNFOXN-:<;:FZ\SFPVT;=A:D:<;;FPV5;=A;FW]QF^_\Xy<58>*<2A>ro|o*nsn*~rk~*wkx*|xypp*~y888FXYNFMV\cy*rk€ox1~*}oox*wƒ*r}lkxn6rk€o*ƒyIFXYNFOXN-:<;;FZ\SFW]QF^_\^rkxu*ƒy*py|*ƒy|*rovz8FXYNFOXN-:<<:FZ\SFW]QF^_\ary1|o*ƒy6*ws}~o|IFXYNFOXN-:?::FUOcFMXZ:<?:DFPKS::::FOXN
|
||||
b_x厖巺b_憿<EFBFBD>憳ⅹ厖厙憶枮厖厖憵<EFBFBD>b_x厖巻b_憿<EFBFBD>憳ⅹ厖厙憶枮厖厗憵<EFBFBD>b_x厖巼b_憿<EFBFBD>憳ⅹ厖厙憶枮厖厙憵<EFBFBD>b_x厖巿b_憿<EFBFBD>憳ⅹ厖厙憶枮厖厛憵<EFBFBD>b_x厖帀b_憿<EFBFBD>憳ⅹ厖厙憶枮厖厜憵<EFBFBD>b_x厗厖b_憼毊懆お厖唵憱%厗厖弲厖厪厖厙憶枻厖厙懇<EFBFBD>厖妶弲厧噺厖厙弲唽坆_x厙厖b_懃<EFBFBD>b_憶<EFBFBD>唸寚弲噮嘼_憱<EFBFBD>厖厧弲噮坆_憶<EFBFBD>噸唵弲噮坆_憵珰厙厞b_x厙厙b_懃<EFBFBD>憿<EFBFBD>懇<EFBFBD>柦乽旧|萿寄墓u赡u泛u范咐儜¥檻殻檅_x厙厛b_憶<5F>唸寚憵珰厙厜b_x厙厜b_憵珰厖唴b_x厙厞b_懃<5F>憿<EFBFBD>懇UМ氖u烂奶乽瀠渴壬u聊撕u赡u群篵_冉肚舥山久既儜¥檅_憳¨憸灘厖厧瀨亮u季撕u文蕌秛辆缮梁u饶潞山久糱_净u文蕌奶胾秛挆炼购抳懀<E68AB3>憵<EFBFBD>b_x厙唴b_懃<5F>憶<EFBFBD>唸寘弲噯啈洝€唸寙b_憿<5F>懇<EFBFBD>D蘵探呵簎咕箄山渡u露胾鞘胋_幕籾赡儍儜¥檻槨М氖u蕉撕脇蓇群好u挛u绞确睹箒b_蕉撕u文蕯懀<E895AF>憵珰厙唶b_x厙唵b_懃<5F>憿<EFBFBD>懇<EFBFBD>┙睹纔文蕌荒莡文是u胶僚儜¥檻殻檅_x厙唶b_憵珰厖厖b_x厙噮b_懃<5F>憿<EFBFBD>懇<EFBFBD><E68787>膢呛u文蕘u戮壬呵攽¥檻殻檅_x厞厖b_憼毊憳%厙妳彂洊瀰厖厬殻<E58EAC>
|
|
@ -1 +1,2 @@
|
|||
VSlyy‚yVS…–—Š…Œ–žyyy<EFBFBD>…<EFBFBD>Š’yyyy…Ž—<EFBFBD>VSlyy‚zVS…–—Š…Œ–žyyy<EFBFBD>…<EFBFBD>Š’yyyz…Ž—<EFBFBD>VSlyy‚{VS…–—Š…Œ–žyyy<79>…<EFBFBD>Š’yyy{…Ž—<C5BD>VSlyy‚|VS…–—Š…Œ–žyyy<79>…<EFBFBD>Š’yyy|…Ž—<C5BD>VSlyy‚}VS…–—Š…Œ–žyyy<79>VS…<53>•“y}<7D>zƒyy‚~VS…<53>Š’yyy}…Ž—<C5BD>VSlyy‚~VS…<53>•“y<E2809C>|yƒyy‚VS…Œ—™y{yzƒyzy{ƒyyyyVS…Š—™y|yyƒyyyyƒyyy{VS…<53>Š’yyy}…Ž—<C5BD>VSlyy‚VS…Œ–™yyzzƒyyyƒyyzVS…Œ–™yyzzƒyyy€ƒyy€€VS…Œ—™y{yzƒyzy{ƒyyyyVS…Š—™y|yyƒyyyyƒyyy{VS…<53>Š’yyy}…Ž—<C5BD>VSlyzyyVS…<53>•“y}<7D>yƒyzyzVS…™›’…œ˜žyyzz…<7A>—™yzyy…<79>Š˜yyy}…<>›Šyyyƒyy‚}ƒyz€zƒyyz€VSlyzyzVS…™›’…–œ<E28093>…<EFBFBD>ž›’½iÀ¸·p½i¸¹®·j…—˜<E28094>…Ž—<C5BD>VSly{yyVS…<53>•“y}<7D>zƒy{y{VS…”Ž¢…œ˜žyy}|…<>•ty}<7D>z…Œ—™y{yzƒyzy{ƒyyyyVS… Š’yyzyVS…Œ–žyyyy…Š—™y|yyƒyyzyƒyyyy… Š’yy{y…–¢<E28093>yyy{… Š’y}~yVS…Œ–žyyy}…–œ<E28093>…<EFBFBD>ž›Œ˜––Ž—ŒŽi<C5BD>Žœ<C5BD>›žŒ<C5BE>’˜—jj…—˜<E28094>…Œ•˜… Š’yy~yVS…Œ—™y{y|ƒyyy‚ƒyyyy… Š’yy~yVS…Œ–žyyyy…Š—™y|yyƒyy{zƒyyyy… Š’yy<79>y…Œ–žyyzzVS…Œ—™y{y|ƒyyz{ƒyyyy…–œ<E28093>…<EFBFBD>ž›…<E280BA>ŠŒyyz}‘¾Ãê±j…—˜<E28094>…ŽŸŽy{y}VSly{yzVSly{y{VS…™›’…–œ<E28093>…<EFBFBD>ž›VS™¸À®»i¯¾·¬½²¸·²·°i·¸»¶ªµµÂw…—˜<E28094>…Ž—<C5BD>VSly{y|VS…”Ž¢…Œ—™y{y|ƒyyz{ƒyyyy…Š—™y{y|ƒyy{yƒyyy}… ŠIyz}yVS… Š’yzyy…Œ–žyyz~VS…–œ<E28093>…<EFBFBD>ž›VS<56>¸¾°±½i¸¯¯i‹ªµ»¸°j… Š’yz}y…—˜<E28094>VS…Œ–žyyy<79>…<EFBFBD>•vy}<7D>y…<79>•ty}<7D>{…<>•ty{z~…<>•tzy{…Ž—<C5BD>VSly{y}VS…Š—™y{y|ƒyy|yƒyyyy…Œ–žyyy}…Œ—™y{y|ƒyy|ƒyyyy…‹œ•y{y|…<>•ty}<7D>y…Ž—<C5BD>VSly{~yVS…”Ž¢…–œ<E28093>…<EFBFBD>ž›œ®½½²·°i¾¹www…—˜<E28094>…Ž—<C5BD>VSly|yyVS…<53>•“y}<7D>|ƒy|y|VS…<53>•“y}<7D>zƒy|yzVS…”Ž¢…–œ<E28093>…<EFBFBD>ž›Ši»¸«¸½wwwˆVS’½i¸®¼·p½i¼®®¶i½¸i±ª¿®iª·ÂVS¹¸À®»w…—˜<E28094>…Ž—<C5BD>VSly|yzVS…™›’…<E28099>•“y}<7D>{ƒy|y{VS…–œ<E28093>…<EFBFBD>ž›’½¼i±®ªi²¼i«ª¼±®i²·w…—˜<E28094>…Ž—<C5BD>VSly|y{VS…”Ž¢… Š’yy~yVS…Œ—™y|yyƒyzy‚ƒyyy}VS…Š—™y|yyƒyyzyƒyyy}VS…–¢‹y|yy… Š’yy~y…–¢<E28093>y|yy…<79>•ty}<7D>|…<>•ty}<7D>~…<>•ty}<7D>}VS…–œ<E28093>…<EFBFBD>ž›<C5BE>‘Š—”i¢˜žji<6A>˜i™Š¢i¢˜ži‹ŠŒ”uVS’iŒŠ—i–Š”ŽiŠi‹˜–‹j…—˜<E28094>…Ž—<C5BD>VSly|y|VS…<53>•“y}<7D>ƒy|z|VS…’<E280A6>“yyzzƒy|zyVS…ŽŸŽy|y~VSly|y~VS…”Ž¢…–œ<E28093>…<EFBFBD>ž›‹›’—<E28099>i–Ži†Œ‘Š›Œ˜Š•†uVS†“Ž••¢<E280A2>’œ‘i“ž’ŒŽ†uVSŠ—<C5A0>i†<69>ž–i‹ŠœŽ†w…—˜<E28094>…Ž—<C5BD>VSly|zyVS…’<E280A6>“yyy<79>ƒy|zz…ŽŸŽy|y~VSly|zzVS…’<E280A6>“yyz{ƒy|z{…ŽŸŽy|y~VSly|z{VS…”Ž¢…<C2A2>•ty}<7D>…’<E280A6>vyyzz…’<E280A6>vyyz{VS…<53>•ty{{zVS…ŽŸŽy|~yVSly|z|VS…”Ž¢…–œ<E28093>…<EFBFBD>ž›’p<E28099>i˜<69><CB9C>Ž›i¢˜žiœ˜–Ži<C5BD>ŽŠui‹ž<E280B9>www…—˜<E28094>…Ž—<C5BD>VSly|~yVS…ŽŸŽyy|
|
||||
-::C:FWXKFMW_:::BFPKS::::FOXN-::C;FWXKFMW_:::BFPKS:::;FOXN-::C<FWXKFMW_:::BFPKS:::<FOXN-::C=FWXKFMW_:::BFPKS:::=FOXN-::C>FWXKFMW_:::BFPVT:>B;D::C?FPKS:::>FOXN-::C?FPVT:B=:D::C@FMXZ:<:;D:;:<D::::FKXZ:=::D::::D:::<FPKS:::>FOXN-::C@FMWZ::;;D:::@D::@;FMWZ::;;D:::AD::AAFMXZ:<:;D:;:<D::::FKXZ:=::D::::D:::<FPKS:::>FOXN-:;::FPVT:>B:D:;:;FZ\SF]Y_::;;FNXZ:;::FPKY:::>F^\K:::@D::C>D:;A;D::;A-:;:;FZ\SFW]QF^_\S~*<2A>yx1~*yzox+FXYNFOXN-:<::FPVT:>B;D:<:<FUOcF]Y_::>=FPV5:>B;FMXZ:<:;D:;:<D::::FaKS::;:FMW_::::FKXZ:=::D::;:D::::FaKS::<:FWcN:::<FaKS:>?:FMW_:::>FW]QF^_\MYWWOXMO*NO]^\_M^SYX++FXYNFMVYFaKS::?:FMXZ:<:=D:::CD::::FaKS::?:FMW_::::FKXZ:=::D::<;D::::FaKS::B:FMW_::;;FMXZ:<:=D::;<D::::FW]QF^_\FPKM::;>R<52><7F>kr+FXYNFO`O:<:>-:<:;-:<:<FZ\SFW]QF^_\Zy<5A>o|*pxm~syxsxq*xy|wkvv<76>8FXYNFOXN-:<:=FUOcFMXZ:<:=D::;<D::::FKXZ:<:=D::<:D:::>FaKS:;>:FaKS:;::FMW_::;?FW]QF^_\
|
||||
Pyqr~*ypp*Lkv|yq+FaKS:;>:FXYNFMW_:::BFPV7:>B:FPV5:>B<FPV5:<;?FPV5@;:<FOXN-:<:>FKXZ:<:=D::=:D::::FMW_:::>FMXZ:<:=D::=@D::::FL]V:<:=FPV5:>B:FOXN-:<?:FUOcFW]QF^_\]o~~sxq*z888FXYNFOXN-:=::FPVT:>B=D:=:=FPVT:>B;D:=:;FUOcFW]QF^_\K*|yly~888IS~*nyo}x1~*}oow*~y*rk<72>o*kx<6B>zy<7A>o|8FXYNFOXN-:=:;FZ\SFPVT:>B<D:=:<FW]QF^_\S~}*rokn*s}*lk}ron*sx8FXYNFOXN-:=:<FUOcFaKS::?:FMXZ:=::D:;:CD:::>FKXZ:=::D::;:D:::>FWcL:=::FaKS::?:FWcN:=::FPV5:>B=FPV5:>B?FPV5:>B>FW]QF^_\^RKXU*cY_+*^Y*ZKc*cY_*LKMU6S*MKX*WKUO*K*LYWL+FXYNFOXN-:=:=FPVT:>B@D:=;=FS^T::;;D:=;:FO`O:=:?-:=:?FUOcFW]QF^_\L\SXQ*WO*GMRK\MYKVG6GTOVVcPS]R*T_SMOG6KXN*GQ_W*LK]OG8FXYNFMV\S1N*VSUO*^Y*ZKc*cY_*LKMU]YWORYa6FXYNFMV\FO`O:=:@-:=:@FO`O::::-:=;:FS^T:::BD:=;;FO`O:=:?-:=;;FS^T::;<D:=;<FO`O:=:?-:=;<FUOcFPV5:>B@FS^7::;;FS^7::;<FPV5:<<;FO`O:=?:-:=;=FUOcFW]QF^_\S1N*YPPO\*cY_*]YWO*^OK6*L_^888FXYNFOXN-:=?:FO`O::@=
|
|
@ -38,9 +38,11 @@ if you own a =Blade=!<NOD<END
|
|||
<PRI<FLJ1370:0211<FL+1371
|
||||
<MSG<TURNow where did that man run
|
||||
off to...<NOD<CLRYou haven't seen my husband,
|
||||
have you?<NOD<END
|
||||
have you?<NOD<EVE0212
|
||||
#0211
|
||||
<PRI<MSG<TURThank you for your help.<NOD<END
|
||||
#0212
|
||||
<EVE0000
|
||||
#0220
|
||||
<PRI<MSG<TURWho're you, mister?<NOD<END
|
||||
|
||||
|
|
|
@ -83,7 +83,11 @@ I CAN MAKE A BOMB!<NOD<END
|
|||
#0305
|
||||
<KEY<MSG<TURBRING ME =CHARCOAL=,
|
||||
=JELLYFISH JUICE=,
|
||||
AND =GUM BASE=.<NOD<END
|
||||
AND =GUM BASE=.<NOD
|
||||
<CLRI'D LIKE TO PAY YOU BACK
|
||||
SOMEHOW,<NOD<CLR<EVE0306
|
||||
#0306
|
||||
<EVE0000
|
||||
|
||||
#0310
|
||||
<ITJ0008:0311<EVE0305
|
||||
|
|
|
@ -493,14 +493,7 @@ function C:unplacedString()
|
|||
return s
|
||||
end
|
||||
|
||||
function C:createHint(l)
|
||||
local function pick(t) return t[love.math.random(#t)] end
|
||||
|
||||
local location, item = l:getHint()
|
||||
local starts = {"I hear that ", "Rumour has it, ", "They say "}
|
||||
local mids = {" can be found ", " is ", " is hidden "}
|
||||
local message = (pick(starts) or "") .. (pick(item) or "") .. (pick(mids) or "") .. (pick(location) or "") .. "."
|
||||
|
||||
local function _hint(message, l)
|
||||
local MSGBOXLIMIT = 42
|
||||
local PATTERN = " [^ ]*$"
|
||||
local line1, line2, line3 = "", "", ""
|
||||
|
@ -529,5 +522,20 @@ function C:createHint(l)
|
|||
script = s
|
||||
}
|
||||
end
|
||||
|
||||
function C:createHint(l)
|
||||
local function pick(t) return t[love.math.random(#t)] end
|
||||
|
||||
local location, item = l:getHint()
|
||||
local starts = {"I hear that ", "Rumour has it, ", "They say "}
|
||||
local mids = {" can be found ", " is ", " is hidden "}
|
||||
local message = (pick(starts) or "") .. (pick(item) or "") .. (pick(mids) or "") .. (pick(location) or "") .. "."
|
||||
|
||||
return _hint(message, l)
|
||||
end
|
||||
|
||||
function C:prebuiltHint(l)
|
||||
return _hint(l:getPrebuiltHint(), l)
|
||||
end
|
||||
|
||||
return C
|
||||
|
|
|
@ -45,4 +45,8 @@ function C:getHint()
|
|||
return _.append(self.region.hintList, self.hintList), self.item.hints
|
||||
end
|
||||
|
||||
function C:getPrebuiltHint()
|
||||
return nil
|
||||
end
|
||||
|
||||
return C
|
|
@ -176,7 +176,8 @@ function grasstownEast:new(worldGraph)
|
|||
return false
|
||||
end
|
||||
self.locations.malco.requirements = function(self, items) return _has(items, "eventFans") and _has(items, "juice") and _has(items, "charcoal") and _has(items, "gumBase") end
|
||||
|
||||
self.locations.malco.getPrebuiltHint = function(self) return ("BUT ALL I KNOW HOW TO DO IS MAKE %s..."):format(self.item.hints[love.math.random(#self.item.hints)]:upper()) end
|
||||
|
||||
self.locations.eventFans.requirements = function(self, items) return _has(items, "rustyKey") and _has(items, "weaponBoss") end
|
||||
self.locations.eventFans:setItem(self.world.items:getByKey("eventFans"))
|
||||
|
||||
|
@ -376,6 +377,7 @@ function outerWall:new(worldGraph)
|
|||
end
|
||||
|
||||
self.locations.littleHouse.requirements = function(self, items) return _has(items, "flight") and _has(items, "blade") and _has(items, "mrLittle") end
|
||||
self.locations.littleHouse.getPrebuiltHint = function(self) return ("He was exploring the island with %s..."):format(self.item.hints[love.math.random(#self.item.hints)]) end
|
||||
end
|
||||
|
||||
local plantation = Region:extend()
|
||||
|
@ -455,8 +457,14 @@ function hintRegion:new(worldGraph)
|
|||
bluebotEgg = Location("Blue Robot (Egg Corridor)", "Eggs", "0200", self),
|
||||
bluebotEgg2 = Location("Blue Robot (Egg Corridor?)", "Eggs2", "0210", self),
|
||||
bluebotMaze = Location("Blue Robot (Labyrinth I #1)", "MazeI", "0500", self),
|
||||
bluebotMaze2 = Location("Blue Robot (Labyrinth I #2)", "MazeI", "0502", self)
|
||||
bluebotMaze2 = Location("Blue Robot (Labyrinth I #2)", "MazeI", "0502", self),
|
||||
mrsLittle = Location("Mrs. Little", "Little", "0212", self),
|
||||
malco = Location("MALCO", "Malco", "0306", self)
|
||||
}
|
||||
|
||||
-- they'll appear as filled so they get left out of the regular hints
|
||||
self.locations.mrsLittle.item = {}
|
||||
self.locations.malco.item = {}
|
||||
end
|
||||
|
||||
local worldGraph = Class:extend()
|
||||
|
@ -605,11 +613,13 @@ function worldGraph:getHintableLocations(obj)
|
|||
for k, location in pairs(_.shuffle(self:getFilledLocations(true))) do
|
||||
if (obj == "objBadEnd" and location.item.name == "Rusty Key") or (obj ~= "objBadEnd" and location.item.name == "ID Card") then
|
||||
table.insert(locations, 1, location) -- put that item on the top to guarantee a hint for it
|
||||
elseif location:getPrebuiltHint() ~= nil then
|
||||
-- do nothing
|
||||
else
|
||||
table.insert(locations, location)
|
||||
end
|
||||
end
|
||||
return _.slice(locations, 1, 8)
|
||||
return _.slice(locations, 1, #self:getHintLocations())
|
||||
end
|
||||
|
||||
function worldGraph:writeItems(tscFiles)
|
||||
|
|
|
@ -252,6 +252,8 @@ function C:_generateHints()
|
|||
for k, hintLocation in ipairs(_.shuffle(self.worldGraph:getHintLocations())) do
|
||||
hintLocation.item = self.worldGraph.items:createHint(_.pop(toHint))
|
||||
end
|
||||
self.worldGraph.hintregion.locations.mrsLittle.item = self.worldGraph.items:prebuiltHint(self.worldGraph.regions.outerWall.locations.littleHouse)
|
||||
self.worldGraph.hintregion.locations.malco.item = self.worldGraph.items:prebuiltHint(self.worldGraph.regions.grasstownEast.locations.malco)
|
||||
end
|
||||
|
||||
function C:_writeModifiedData(tscFiles)
|
||||
|
|
Loading…
Reference in a new issue