SOFTP4.INC 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721
  1. { Softporn Adventure, include file 4 }
  2. go :
  3. {========}
  4. begin
  5. if tied_to_bed then
  6. write_message('But I''m tied to the bed!!!!!')
  7. else if not no_direction then
  8. begin
  9. if (your_place=b_bedrm) and (direction=north) and
  10. (not hooker_fucked) then
  11. write_message
  12. ('The Hooker says: ''Don''t go there ... do me first!!''')
  13. else if (your_place=c_hallwy) and (direction=south) and
  14. (not married_to_girl) then
  15. write_message('The door is locked shut!')
  16. else if (your_place=d_entrnc) and (direction=west) and
  17. (not door_W_open) then
  18. write_message('The door is closed!')
  19. else if (your_place=b_backrm) and (direction=up) and
  20. (TV_channel<>6) then
  21. begin
  22. if (money<20) or (not is_carried(_wallet)) then
  23. write_message('The Pimp says I can''t until I get $2000')
  24. else if hooker_fucked then
  25. write_message
  26. ('The Pimp says ''No -- the hooker can''t take it anymore!''')
  27. else
  28. begin
  29. write_message('The Pimp takes $2000 and says OK');
  30. money := money - 20;
  31. your_place := b_bedrm;
  32. end
  33. end
  34. else if (your_place=b_balcny) and (direction=west) and
  35. (not rope_in_use) then
  36. falling_down
  37. else
  38. begin
  39. new_place := path[your_place,direction];
  40. if new_place <> nowhere then
  41. begin
  42. your_place := new_place;
  43. end
  44. else
  45. I_cant_go_that_way;
  46. end;
  47. end
  48. else
  49. I_cant_do_that
  50. end; {go}
  51. hail :
  52. {========}
  53. begin
  54. if noun<>_taxi then
  55. write_message('Who are you kidding? You''re pulling at straws, fool!!')
  56. else if not (your_place in [ b_street, c_street, d_street ]) then
  57. write_message('I''m not in the street, fool!!')
  58. else
  59. begin
  60. write_long_message( 36 );
  61. readln( taxi_destination );
  62. while (length(taxi_destination)>0) and (taxi_destination[1]=' ') do
  63. delete( taxi_destination, 1, 1 );
  64. for i:=1 to length(taxi_destination) do
  65. taxi_destination[i] := upcase(taxi_destination[i]);
  66. taxi_destination := copy( taxi_destination+' ', 1, 4 );
  67. if taxi_destination = 'DISC' then
  68. new_place := d_street
  69. else if taxi_destination = 'CASI' then
  70. new_place := c_street
  71. else if taxi_destination = 'BAR ' then
  72. new_place := b_street
  73. else
  74. new_place := nowhere;
  75. if new_place in [your_place,nowhere] then
  76. write_message('Huh? - Hail another!')
  77. else if is_carried(_wine) then
  78. begin
  79. wine_in_taxi;
  80. your_place := new_place;
  81. object_place[_wine] := nowhere;
  82. objects_carried := objects_carried - 1;
  83. end
  84. else
  85. begin
  86. write_message('We arrive and I get out.');
  87. your_place := new_place;
  88. end;
  89. end;
  90. end; {hail}
  91. take : { get, grab }
  92. {========}
  93. begin
  94. if noun=_inventory then
  95. begin
  96. anything_carried := false;
  97. for _noun:=first_object to last_object do
  98. if is_carried(_noun) then
  99. begin
  100. if not anything_carried then
  101. write_message('I''m carrying the following:');
  102. anything_carried := true;
  103. write(object_name[_noun]);
  104. if (_noun=_wallet) and (money>0) then
  105. writeln(' with $',money,'00')
  106. else
  107. writeln;
  108. end;
  109. if not anything_carried then
  110. write_message('I''m not carrying anything!!');
  111. end
  112. else if noun=_off then
  113. write_message('You''re not a bird, fool!!')
  114. else if noun=_all then
  115. begin
  116. write_message('You hog!!!');
  117. delay(300);
  118. writeln;
  119. for _noun:=first_object to last_object do
  120. if is_here(_noun) then
  121. begin
  122. write(object_name[_noun],': ');
  123. if objects_carried >= max_carried then
  124. writeln('I''m carrying too much!!!')
  125. else if _noun in takeable_objects then
  126. begin
  127. if (your_place=d_phrmcy) and
  128. (_noun in [_magazine,_rubber]) then
  129. begin
  130. writeln('The man says ''Shoplifter!!'' and shoots me');
  131. purgatory;
  132. end
  133. else
  134. begin
  135. object_place[_noun] := youhavit;
  136. objects_carried := objects_carried + 1;
  137. if _noun=_water then pitcher_full := true;
  138. if (_noun=_pitcher) and pitcher_full then
  139. object_place[_water] := youhavit;
  140. writeln('Taken');
  141. end
  142. end
  143. else
  144. cant_do_that;
  145. end;
  146. end
  147. else if is_carried(noun) then
  148. I_already_have_it
  149. else if not is_here(noun) then
  150. find_me_one
  151. else if objects_carried >= max_carried then
  152. write_message('I''m carrying too much!!!')
  153. else if not (noun in takeable_objects) then
  154. I_cant_do_that
  155. else if (your_place=d_phrmcy) and ( noun in [_magazine,_rubber] ) then
  156. begin
  157. write_message('The man says ''Shoplifter!!'' and shoots me');
  158. purgatory;
  159. end
  160. else if (noun=_water) and (not is_carried(_pitcher)) then
  161. write_message('Get me the pitcher so I don''t spill it!')
  162. else if (noun=_candy) and (your_place=b_bedrm) and (not hooker_fucked) then
  163. write_message
  164. ('The Hooker says: ''Don''t take it ... do me first!!''')
  165. else if (noun=_rope) and rope_in_use then
  166. write_message('It is tied to the balcony')
  167. else
  168. begin
  169. OK;
  170. object_place[noun] := youhavit;
  171. objects_carried := objects_carried + 1;
  172. if noun=_water then pitcher_full := true;
  173. if (noun=_pitcher) and pitcher_full then
  174. object_place[_water] := youhavit;
  175. end
  176. end; {take}
  177. drop : { leave, plant (seeds), give }
  178. {========}
  179. begin
  180. if noun in [_inventory,_taxi,_on,_off] then
  181. huh
  182. else if noun=_all then
  183. begin
  184. anything_carried := false;
  185. writeln;
  186. for _noun:=first_object to last_object do
  187. if is_carried(_noun) then
  188. begin
  189. anything_carried := true;
  190. writeln(object_name[_noun],': Dropped');
  191. object_place[_noun] := your_place;
  192. objects_carried := objects_carried - 1;
  193. end;
  194. if not anything_carried then
  195. writeln('I did''t carry anything!!');
  196. end
  197. else if not is_carried(noun) then
  198. I_dont_have_it
  199. else
  200. begin
  201. object_place[noun] := your_place;
  202. objects_carried := objects_carried - 1;
  203. if (noun=_pitcher) and pitcher_full then
  204. object_place[_water] := your_place
  205. else if noun=_rubber then
  206. rubber_worn := false
  207. else if (your_place=d_disco) and (is_here(_girl)) and
  208. (noun in [_candy,_flowers,_ring]) then
  209. begin
  210. case noun of
  211. _candy:
  212. begin
  213. write_message('She smiles and eats a couple!!');
  214. candy_given := true;
  215. end;
  216. _flowers:
  217. begin
  218. write_message
  219. ('She blushes profusely and puts them in her hair!');
  220. flowers_given := true;
  221. object_place[_flowers] := nowhere;
  222. end;
  223. _ring:
  224. begin
  225. write_message('She blushes and puts it in her purse.');
  226. ring_given := true;
  227. object_place[_ring] := nowhere;
  228. end;
  229. end; { case noun of }
  230. if candy_given and flowers_given and ring_given then
  231. begin
  232. write_message
  233. ('She says: ''See you at the Marriage Center!!''');
  234. object_place[_girl] := c_marryc;
  235. end;
  236. end
  237. else if is_here(_bum) and (noun=_wine) then
  238. begin
  239. if object_place[_knife]=nowhere then
  240. begin
  241. bum_tells_story;
  242. object_place[_knife] := your_place;
  243. end
  244. else
  245. write_message('The bum mutters ' +
  246. '''That stuff made me puke!! Get out of here!!!''');
  247. end
  248. else if is_here(_businessman) and (noun=_whiskey) and
  249. (object_place[_control_unit]=nowhere) then
  250. begin
  251. write_message('The guy gives me a TV controller!!');
  252. object_place[_control_unit] := your_place;
  253. end
  254. else if is_here(_blonde) and (noun=_pills) then
  255. begin
  256. write_long_message( 57 );
  257. object_place[_blonde] := nowhere;
  258. object_place[_pills] := nowhere;
  259. end
  260. else if (noun=_apple) and (your_place=p_jacuzi) and is_here(_girl) then
  261. begin
  262. write_long_message( 50 );
  263. apple_given := true;
  264. end
  265. else
  266. OK;
  267. end;
  268. end; {drop}
  269. look : { search, examine, read, watch }
  270. {========}
  271. begin
  272. if no_object then
  273. write_long_message( integer(your_place)+1 )
  274. else if noun=_all then
  275. write_message('That''s too much, one item at a time, please!!')
  276. else if noun in [_inventory,_on,_off] then
  277. huh
  278. else if (not is_here(noun)) and
  279. (not is_carried(noun)) then
  280. find_me_one
  281. else
  282. case noun of
  283. _desk:
  284. begin
  285. if drawer_open then
  286. I_see_something(_newspaper,'')
  287. else
  288. write_message('It''s drawer is shut');
  289. end;
  290. _washbasin:
  291. I_see_something(_ring,'Dead cockroaches...');
  292. _graffiti:
  293. look_graffiti;
  294. _mirror:
  295. write_message('There''s a pervert looking back at me!!');
  296. _toilet:
  297. write_message('Hasn''t been flushed in ages! Stinks!!!');
  298. _businessman:
  299. write_message('He looks like a whiskey drinker to me!!');
  300. _button:
  301. write_message('Says Push.');
  302. _bartender:
  303. write_message('He''s waiting for me to buy something!');
  304. _pimp:
  305. begin
  306. write_message('He''s wearing a button proclaiming -- ' +
  307. 'Support your local Pimp, gimme $2000!!!');
  308. end;
  309. _hooker:
  310. write_long_message( 31 );
  311. _billboard:
  312. write_long_message( 63 );
  313. _TV:
  314. begin
  315. if not is_carried(_control_unit) then
  316. write_message('To watch TV, I need the remote control unit!!')
  317. else if not hooker_fucked then
  318. write_message('The Pimp says I can''t watch TV')
  319. else
  320. watch_TV( TV_channel );
  321. end;
  322. _slot_machines:
  323. write_message('Playing them might be more fun....');
  324. _ashtray:
  325. I_see_something(_passcard,'');
  326. _blonde:
  327. write_long_message( 40 );
  328. _bum:
  329. write_message
  330. ('He grumbles -- I''ll tell you a story for a bottle of wine.....');
  331. _peephole:
  332. if hole_peeped then
  333. write_message ('All windows at the hotel across the road ' +
  334. 'have their curtains shut.')
  335. else
  336. begin
  337. write_long_message( 55 );
  338. hole_peeped := true;
  339. end;
  340. _door_west:
  341. begin
  342. if door_W_open then
  343. write_message('The door is open')
  344. else
  345. begin
  346. write_message('The sign on the door says ');
  347. writeln('''Entry by showing passcard - ' +
  348. 'Club members and their guests only!''');
  349. end
  350. end;
  351. _waitress:
  352. write_message('She ignores you!');
  353. _telephone:
  354. begin
  355. if your_place=d_telbth then
  356. write_message('A number is there - Call 555-6969 for a good time!')
  357. else
  358. I_see_nothing_special
  359. end;
  360. _closet:
  361. begin
  362. if closet_open then
  363. I_see_something(_doll,'It''s open')
  364. else
  365. write_message('It''s closed')
  366. end;
  367. _sink:
  368. write_message
  369. ('The sign over the sink says ''Water on or off to operate''');
  370. _elevator:
  371. write_message('It''s doors are closed');
  372. _dealer:
  373. write_message('He''s waiting for me to play');
  374. _cabinet:
  375. begin
  376. if stool_climbed then
  377. begin
  378. if cabinet_open then
  379. I_see_something(_pitcher,'It''s open')
  380. else
  381. write_message('It''s closed');
  382. end
  383. else
  384. I_see_nothing_special
  385. end;
  386. _bushes:
  387. write_message('Entering them would be kinky!!!!');
  388. _tree:
  389. I_see_something(_apple,'');
  390. _sign:
  391. write_message('It says ''Hail taxi here''');
  392. _girl:
  393. begin
  394. if your_place=p_jacuzi then
  395. write_long_message( 35 )
  396. else if (your_place=d_disco) or (your_place=c_marryc) then
  397. write_long_message( 34 )
  398. else
  399. write_message('She slaps me and yells ''Pervert!!!!!''')
  400. end;
  401. _newspaper:
  402. begin
  403. if is_carried(_newspaper) then
  404. write_long_message( 32 )
  405. else
  406. I_dont_have_it
  407. end;
  408. _garbage:
  409. I_see_something(_apple_core,'');
  410. _flowers:
  411. write_message('They look beautiful!!!');
  412. _apple_core:
  413. I_see_something(_seeds,'');
  414. _pills:
  415. begin
  416. write_message('The label on the bottle says');
  417. writeln('''Want to drive someone crazy with lust?? Try this!!!!''');
  418. end;
  419. _plant:
  420. begin
  421. if object_place[_bushes]=nowhere then
  422. begin
  423. write_message('There''s a group of bushes behind it!!');
  424. object_place[_bushes] := your_place;
  425. end
  426. else
  427. I_see_nothing_special
  428. end;
  429. _radio:
  430. write_message('Maybe I should listen...');
  431. _magazine:
  432. begin
  433. if is_carried(_magazine) then
  434. write_long_message( 33 )
  435. else
  436. I_dont_have_it
  437. end;
  438. _rubber:
  439. begin
  440. if is_carried(_rubber) then
  441. write_message('It''s ' + rubber_color + ', ' + rubber_flavor +
  442. '-flavored, ' + rubber_lubricated + ', and ' + rubber_ribbed )
  443. else
  444. I_dont_have_it
  445. end;
  446. _wallet:
  447. begin
  448. if money>0 then
  449. begin
  450. writeln;
  451. writeln('It contains $',money,'00.');
  452. end
  453. else
  454. write_message('It''s empty');
  455. end;
  456. _doll:
  457. begin
  458. if doll_inflated then
  459. write_message('It''s inflated')
  460. else
  461. write_message('It''s rolled up in a little ball');
  462. end;
  463. _pitcher:
  464. begin
  465. if pitcher_full then
  466. write_message('It''s full of water')
  467. else
  468. write_message('It''s empty');
  469. end;
  470. _rack:
  471. I_see_something(_magazine,'');
  472. _curtain:
  473. write_message('It''s on the east wall');
  474. else
  475. I_see_nothing_special;
  476. end; {case noun of}
  477. end; {look}
  478. flush :
  479. {========}
  480. begin
  481. if not is_here(noun) then
  482. find_me_one
  483. else if noun=_toilet then
  484. begin
  485. write_long_message( 69 );
  486. delay(300);
  487. write_message('I''m dead from the germs!!');
  488. purgatory;
  489. end
  490. else
  491. I_cant_do_that
  492. end; {flush}
  493. open : { pull }
  494. {========}
  495. begin
  496. if not is_here(noun) then
  497. find_me_one
  498. else case noun of
  499. _window:
  500. write_message('Won''t budge');
  501. _desk:
  502. _open(drawer_open);
  503. _door_west:
  504. begin
  505. if door_W_open then
  506. write_message('It''s already open!!')
  507. else
  508. begin
  509. write_message
  510. ('A voice asks ''Passcard?'' I search in my pockets and...');
  511. if is_carried(_passcard) then
  512. begin
  513. writeln('I have it! The door opens!');
  514. door_W_open := true;
  515. path[d_entrnc,west] := d_disco;
  516. end
  517. else
  518. writeln('I don''t have it!!');
  519. end;
  520. end;
  521. _curtain:
  522. write_message('It seems to be remotely controlled');
  523. _elevator:
  524. write_message('Push the button to open elevator');
  525. _closet:
  526. _open(closet_open);
  527. _cabinet:
  528. if stool_climbed then
  529. _open(cabinet_open)
  530. else
  531. write_message('I can''t reach it!!');
  532. else
  533. I_cant_do_that
  534. end;
  535. end; {open}
  536. inflate :
  537. {========}
  538. begin
  539. if noun=_doll then
  540. begin
  541. if is_carried(_doll) then
  542. begin
  543. if doll_inflated then
  544. write_message('You''ve already inflated it, stupid!!')
  545. else
  546. begin
  547. OK;
  548. doll_inflated := true;
  549. end;
  550. end
  551. else if is_here(_doll) then
  552. write_message('I can''t unless I''m holding it close')
  553. else
  554. find_me_one;
  555. end
  556. else
  557. write_message('But the prime rate is already 257%!!');
  558. end; {inflate}
  559. play :
  560. {========}
  561. begin
  562. if not is_here(noun) then
  563. find_me_one
  564. else if noun=_slot_machines then
  565. begin
  566. if is_here(_slot_machines) then
  567. begin
  568. if (money>0) and (is_carried(_wallet)) then
  569. play_slot( money )
  570. else
  571. sorry_no_money
  572. end
  573. else
  574. write_message('OK, show me your slot....');
  575. end
  576. else if noun=_cards then
  577. begin
  578. if your_place=c_21room then
  579. begin
  580. if (money>0) and (is_carried(_wallet)) then
  581. play_21( money )
  582. else
  583. sorry_no_money
  584. end
  585. else
  586. not_yet_but_maybe_later;
  587. end
  588. else
  589. write_message('Playful bugger, eh??');
  590. end; {play}
  591.