286 lines
8.0 KiB
Plaintext
286 lines
8.0 KiB
Plaintext
variables
|
|
z: money = 2000
|
|
y: loan_amount = 5000
|
|
v: savings_amount = 0
|
|
k: available_capacity = 100
|
|
b: current_day = 1
|
|
n: in_bronx = true
|
|
i: owned_guns = 0
|
|
j: damage = 0
|
|
t: carry_capacity = 100
|
|
m: owned_cocaine = 0
|
|
n: owned_heroine = 0
|
|
o: owned_acid = 0
|
|
p: owned_weed = 0
|
|
q: owned_speed = 0
|
|
r: owned_ludes = 0
|
|
|
|
each round:
|
|
cocaine_price = round(rand*12000+16000)
|
|
heroine_price = round(rand*7000+5000)
|
|
acid_price = round(rand*34+10)*100
|
|
weed_price = round(rand*42+33)*10
|
|
speed_price = round(rand*15+7)*10
|
|
ludes_price = round(rand*4+1)*10
|
|
random_event=round(rand*20)
|
|
|
|
random events:
|
|
1: Rival dealers are selling cheap ludes!!!
|
|
ludes_price = 2
|
|
2: Weed prices have bottomed out!!!
|
|
weed_price = 122
|
|
3: Pigs are selling cheap heroine from last week's raid!!!!
|
|
heroine_price = round(rand*1150+850)
|
|
4 or 5: Addicts are buying heroine at outrageous prices!!!
|
|
heroine_price = round(rand*25000+18000)
|
|
6 or 7: Pigs made a big coke bust! Prices are outrageous!!!!
|
|
cocaine_price = round(rand*60000+80000)
|
|
8: You were mugged in the subway!
|
|
money = round(money/3*2)
|
|
9 or 10 or 11: if sum(owned_*) >= 50
|
|
pigs = random_event == 9 ? 1
|
|
random_event == 10 ? 3
|
|
random_event == 11 ? 4
|
|
Officer Hardass and {pigs} of his deputies are after you!
|
|
->battle mode (pigs + 1)
|
|
12 or 13: if money >= 500 and available_capacity >= 5
|
|
x = round(rand*2)
|
|
weapon = x == 0 ? baretta
|
|
x == 1 ? saturday night special
|
|
x == 2 ? .44 magnum
|
|
Will you buy a {weapon} for 400 dollars?
|
|
Y: owned_guns++
|
|
money -= 400
|
|
carry_capacity -= 5
|
|
recalculate available_capacity
|
|
14: There's some weed here that smells like good stuff!! Will you smoke it?
|
|
Y: You hallucinate on the wildest trip of your life, stumble on to the subway tracks and get creamed by a train.
|
|
Just say no to drugs.
|
|
-> game over
|
|
15: if money >= 300:
|
|
Will you buy a new trenchcoat with more pockets for 200 bucks?
|
|
Y: carry_capacity += 10
|
|
recalculate available_capacity
|
|
money -= 200
|
|
16: if available_capacity >= 8
|
|
amount = round(rand*7+1)
|
|
x = round(rand*5+1)
|
|
drug = x == 0 ? ludes, owned_ludes += amount
|
|
x == 1 ? speed, owned_speed += amount
|
|
x == 2 ? weed, owned_weed += amount
|
|
x == 3 ? acid, owned_acid += amount
|
|
x == 4 ? heroine, owned_heroine += amount
|
|
x == 5 ? cocaine, owned_cocaine += amount
|
|
You found: {amount} units of: {drug} on a dead dude in the subway!!!
|
|
17: The market has been flooded with cheap homemade acid!!!!
|
|
acid_price = round(rand*550+250)
|
|
|
|
battle mode (pigs):
|
|
Being chased!!
|
|
- View guns
|
|
- View damage
|
|
- Your damage={damage}
|
|
(50 damage and you die!)
|
|
- Number of pigs
|
|
- There are: {pigs} pigs still chasing you!
|
|
- Run
|
|
- Running
|
|
x = round(rand)
|
|
if x == 0:
|
|
You lost them in an alley!!
|
|
if current_day == 31 goto LabelA
|
|
else -> turn menu
|
|
else:
|
|
You can't shake them!
|
|
-> take damage
|
|
- Fight
|
|
if owned_guns == 0:
|
|
You don't have any guns! You have to run!
|
|
-> fight menu
|
|
else:
|
|
x = round(rand)
|
|
if x == 0:
|
|
You missed!!!
|
|
else:
|
|
You killed one!!
|
|
pigs--
|
|
if pigs == 0:
|
|
You killed all of them!
|
|
found_money = round(rand*1250+750)
|
|
money += found_money
|
|
You found {found_money} dollars on Officer Hardass' carcass!!
|
|
if money >= 1200:
|
|
Will you pay 1000 dollars for a doctor to sew you up?
|
|
Y: money -= 1000
|
|
damage = 0
|
|
else:
|
|
-> take damage
|
|
- take damage:
|
|
They're firing at you!!
|
|
x = round(rand)
|
|
if x == 0:
|
|
They missed!!
|
|
-> main fight menu
|
|
else:
|
|
You've been hit!
|
|
damage += 3
|
|
if damage >= 50:
|
|
You've been killed!!
|
|
-> game over
|
|
else:
|
|
-> main fight menu
|
|
|
|
turn menu, after random event:
|
|
Drugwar!
|
|
- See prices
|
|
show *_prices
|
|
- Trenchcoat
|
|
show owned_* and available_capacity
|
|
- Buy
|
|
Day number: {current_day}
|
|
What to buy? -> drug
|
|
afford_max = floor(money / {drug}_price)
|
|
How much? -> quantity
|
|
You can afford: {afford_max}
|
|
You can hold: {available_capacity}
|
|
if g > 0 and g < afford_max:
|
|
money -= {drug}_price * quantity
|
|
owned_{drug} += quantity
|
|
recalculate available_capacity
|
|
-> turn menu
|
|
- Sell
|
|
What to sell? -> drug
|
|
How much? You have: {owned_{drug}} -> quantity
|
|
if quantity > 0 and quantity <= owned_{drug}:
|
|
owned_{drug} -= quantity
|
|
money += {drug}_price * quantity
|
|
recalculate available_capacity
|
|
-> turn menu
|
|
- Jet
|
|
Where to, dude?
|
|
- Bronx, Ghetto, Central Park, Manhatten, Coney Island, Brooklyn, Oops... Stay!
|
|
new_location = bronx || not_bronx
|
|
if new_location == oops:
|
|
-> turn menu
|
|
else if new_location == bronx and in_bronx:
|
|
You're already in the bronx!
|
|
-> jet menu
|
|
else:
|
|
Subway
|
|
current_day++
|
|
loan_amount = floor(loan_amount * 1.1)
|
|
savings_amount = floor(savings_amount * 1.06)
|
|
if current_day == 31 -> game over
|
|
else -> turn menu
|
|
- See loan shark
|
|
if not in_bronx:
|
|
The loan shark only deals in the Bronx.
|
|
-> turn menu
|
|
else:
|
|
Loan shark...
|
|
- Repay
|
|
Your debt is: {loan_amount}
|
|
Your wallet={money}
|
|
Repay how much? -> repay_amount
|
|
if repay_amount <= money and repay_amount <= loan_amount and repay_amount > 0:
|
|
money -= repay_amount
|
|
loan_amount -= repay_amount
|
|
-> turn menu
|
|
- Borrow
|
|
Your debt={loan_amount}
|
|
Your wallet={money}
|
|
Borrow how much more? -> borrow_amount
|
|
if borrow_amount > 5000:
|
|
You think he's crazy, man?!
|
|
-> shark menu
|
|
else if borrow_amount > 0:
|
|
money += borrow_amount
|
|
loan_amount += borrow_amount
|
|
-> turn menu
|
|
- Visit bank
|
|
if not in_bronx:
|
|
The bank is in the Bronx.
|
|
else:
|
|
Bank
|
|
- View account
|
|
Your account={savings_amount}
|
|
-> bank menu
|
|
- Deposit
|
|
How much to deposit? You have: {money} -> deposit_amount
|
|
if deposit_amount > 0 and deposit_amount <= money:
|
|
savings_amount += deposit_amount
|
|
money -= deposit_amount
|
|
-> bank menu
|
|
- Withdraw
|
|
How much to withdraw? Account={savings_amount} -> withdraw_amount
|
|
if withdraw_amount > 0 and withdraw_amount <= savings_amount:
|
|
savings_amount -= withdraw_amount
|
|
money += withdraw_amount
|
|
-> bank menu
|
|
- Goodbye -> turn menu
|
|
|
|
game over:
|
|
- Game over!
|
|
savings_amount = savings_amount + money - loan_amount
|
|
if savings_amount < 0:
|
|
savings_amount = 0
|
|
else:
|
|
score = sqrt(savings_amount / 31.5)
|
|
if score > 100:
|
|
score = 100
|
|
Your score (on a scale of 1 to 100)={score}
|
|
Play again?
|
|
Y: -> start new game
|
|
N: Thanks for playing!
|
|
Remember: Watch your back.
|
|
Have a nice day!
|
|
|
|
|
|
Top status bar: {days remaining} {money} {guns} {health}
|
|
Game states:
|
|
- Title screen
|
|
- new normal game
|
|
- new infinite game
|
|
- continue last game
|
|
- Random event info: basically a dialog over the turn or fight menu
|
|
- either dismiss or select yes/no
|
|
- Turn Menu
|
|
- Menu tab, Prices tab, Inventory tab, stats tab (nav left, right between)
|
|
- Menu tab nav up, down between
|
|
- buy, sell, jet (in bronx: loan shark, bank)
|
|
- Prices tab list current prices
|
|
- Inventory tab
|
|
- show available capacity
|
|
- list current inventory
|
|
- stats tab
|
|
- show loan amount
|
|
- show deposit amount
|
|
- Fight menu
|
|
- shows # of pigs remaining
|
|
- run, fight
|
|
- Buy/Sell select drug menu
|
|
- Jet menu
|
|
- Loan shark menu
|
|
- shows loan amount
|
|
- Bank menu
|
|
- show deposit amount
|
|
- amount input
|
|
- dialog input? up +1x down -1x right +10x left -10x
|
|
- buy/sell amount
|
|
- withdraw/deposit amounts
|
|
- subway turn transition/animation?
|
|
-> either main menu or fight menu with event dialog if triggered
|
|
|
|
|
|
HIGH LEVEL FUNCTIONS
|
|
- show image (on title screen)
|
|
- print status bar (not on title screen)
|
|
- print some kind of art banner?
|
|
- show a menu (possible options)
|
|
- get selection
|
|
- show a dialog
|
|
- with or without yes/no buttons
|
|
- get y/n response
|
|
- get a value (title, max, increment)
|
|
- get amount
|