interact = [ [ 29, 38, "village_sign" ], [ 24, 29, "fernandos_hut" ], [ 22, 13, "bobs_hut" ], [ 35, 13, "joes_hut" ], [ 17, 52, "landlord_house" ], [ 31, 34, "stables" ], [ 12, 18, "cheese_farm" ], [ 26, 60, "cheese_farm" ], [ 35, 50, "guard_barracks" ], [ 33, 28, "horse" ], [ 35, 30, "horse" ], [ 37, 30, "horse" ], [ 10, 66, "r_horse" ], [ 39, 37, "exit" ], [ 2, 54, "landlord_sword"], ] npc = [ [ 26, 26, "m", "m", "mom", "random_movement", "green_black"], [ 23, 13, "b", "b", "bob", "bob1", "white_black"], [ 36, 14, "j", "j", "joe", "none", "white_black"], [ 2, 54, "S", "S", "landlord_sword", "none", "red_black" ], ] map_script = """ if (exists $game_vars{mom} and $game_vars{mom} >= 2) { delete $npcs{S}; } """ [npc_movements] bob1 = ['l','l','l','l','l','l','u','u','u','u','u','u','u','r','r','r','r','r','r','r','r','r','d','d','d','d','d','d','d','l','l','l'] # walking around his hut none = ['w'] [objects] "village_sign" = " dialog('Sign', 'Welcome to Old Cheese!') " "fernandos_hut" = " dialog('Sign', \"Fernando's Hut\") " "bobs_hut" = " dialog('Sign', \"Bob's Hut\") " "joes_hut" = " dialog('Sign', \"Joe's Hut\") " "landlord_house" = " dialog('Sign', \"House of the Landlord. Do not steal anything.\") " stables = "dialog('Sign', 'Stables')" "cheese_farm" = "dialog('Sign', 'Cheese Farm; our only source of income. It would\nbe BAD if something happened to it.')" horse = "dialog('Horse','Neigh.')" r_horse = "dialog('Regal Horse', 'Neeeeeigh.')" exit = "teleport('worldmap', 14, 14)" "guard_barracks" = "dialog('Sign', qq(Guards provided by the King))" mom = """ if (not exists $game_vars{mom}) { $game_vars{mom} = 1; dialog('mom',qq(oh dear, if only someone would\nKILL the king for mommy...)); } elsif ($game_vars{mom} == 1) { dialog('mom',qq(You should start by stealing a sword (S) from the\nlandlord... but take care!\nDon't let him see you...)); quest('mom', 'Old Cheese', qq(Steal Landlord's Sword), 'Mom has tasked me with killing the King, to do so, I must procure a sword\nfrom the Landlord.', 'mom_quest'); } elsif ($game_vars{mom} == 2) { dialog('mom',qq(What's that you STOLE THE SWORD from the\nlandlord? I thought I raised you better than\nthis... *cry*)); $game_vars{mom} = 3; quest_desc_add('Mom is distraught that I stole the sword at her behest.', 'mom_quest'); } elsif ($game_vars{mom} == 3) { dialog('mom', qq(Hah! Just kidding!\nFernando... listen closely... YOU must put an end\nto that wretched king, King J.J. Akke.)); quest('mom', 'Old Cheese', qq(Kill the King for mom), "$journal{mom_quest}->[3]\nMom was just joking about being distraught.\n\nI should kill the King for mom.", 'mom_quest'); $game_vars{mom} = 4; } elsif ($game_vars{mom} == 4) { dialog('mom', qq(Remember! Kill that horrible King J.J. Akke!!\nHis guards steal all our cheese!)); } elsif ($game_vars{mom} == 5) { dialog('mom', qq(You did it! You killed that horrible king,\nKing J.J Akke! You're the best son any mother could ask for <3\n(you beat the game! talk to mom one last time to end the game))); $game_vars{mom} = 6; } elsif ($game_vars{mom} == 6) { goodend("Thank you for playing my humble game, my 'second' entry for the\nfirst ever (and probably last) #sqt gamejam!\n\nRules were\n1) no game engine\n2) a WEEK\n3) features Fernando ~~,=,^>\n\nI had to do a lot of really nasty hacks just to make this thing... and leave\nnearly location basicly uneventful and without interactions... :'(\n\nBut you know what? It IS my first ever actual 'game' (even if it is 'low \ntech') after all these years of 'wanting to be a game dev.'\nKinda embarrassing actually.\n\nRegardless, I learned a lot such as 'OOP would've been really useful\nhere' and a bit about curses. I do need to learn how to use a 'window'\n(this game uses none besides the one you get with 'initscr()')\n\nANYWAY, thanks for playing nerd\n\nKing J.J Akke out\n\n(space for the game to exit)"); } """ landlord_sword = """ if (not exists $game_vars{mom}){ dialog('',qq(Some smelly old sword)); } elsif ($game_vars{mom} == 1) { delete $npcs{S}; $game_vars{mom} = 2; addch(2, 54, ' '); # put whitespace over sword dialog('',qq(You've acquired: "Landlord's sword")); item(qq(Landlord's Sword)); } """ bob = """ dialog('Bob', qq(Hey chief.)); """ joe = "dialog('Joe', qq(I like Cheese.) )"