mrs little and malco give hints about their checks

This commit is contained in:
duncathan 2020-03-06 00:01:39 -06:00
parent 9142ee6341
commit 9acc690ccf
8 changed files with 46 additions and 16 deletions

View file

@ -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>蘵探呵簎咕箄山渡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>

View file

@ -1 +1,2 @@
VSlyyyVS…—Š…Œžyyy<EFBFBD><EFBFBD>Šyyyy…Ž—<EFBFBD>VSlyyzVS…—Š…Œž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ƒyyVS…Œ—™y{yzƒyzy{ƒyyyyVS…Š—™y|yyƒyyyyƒyyy{VS…<53>Šyyy}…Ž—<C5BD>VSlyyVS…Œ™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ŠŒ”uVSiŒŠ—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<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::@=

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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)

View file

@ -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)