var p :
record
healing : real
w : real
dtaken : real
sdtaken : real % self-damage taken
hp : int
wpp : real % Wait point plus
wi : real % wait Increase
wd : real % wait Decrease
end record
var e :
record
healing : real
w : real
dtaken : real
hp : int
wpp : real
wi : real
wd : real
end record
var start, chooser, win1, achance, rchance, fchance : int
var scan, badburn, goodburn, regencheck : boolean
var hpcheck, badburntime, goodburntime, regentime : int
var normal, ranged, frenzy, regen, master, sflame : boolean
procedure STATS
if (scan = true) then
locatexy (55, maxy - 10)
put "Player's WP: ", p.w
locatexy (55, maxy - 20)
put "Player's HP: ", p.hp
locatexy (250, maxy - 10)
put "Target's WP: ", e.w
locatexy (250, maxy - 20)
put "Target's HP: ", e.hp
color (brightred)
color (brightred)
put "=============================================================="
color (black)
elsif (scan = false) then
locatexy (55, maxy - 10)
put "Player's WP: ", p.w
locatexy (55, maxy - 20)
put "Player's HP: ", p.hp
locatexy (250, maxy - 10)
put "Target's WP: ??"
locatexy (250, maxy - 20)
put "Target's HP: ??"
color (brightred)
put "=============================================================="
Draw.ThickLine (0, 0, maxx, 0, 5, black)
Draw.ThickLine (0, maxy, maxx, maxy, 5, black)
color (black)
end if
end STATS
%=============
procedure PLAYER
var key : string (1)
e.dtaken := 0
p.wpp := 0
p.sdtaken := 0
color (black)
put "a) Scan - 6 WP"
color (blue)
put " Shows target's WP and HP."
if (normal = true) then
color (black)
put ""
put "b) Normal Attack - 12 WP"
color (blue)
put " Basic, reliable attack. 5-11 DMG"
elsif (ranged = true) then
color (black)
put ""
put "b) Ranged Attack - 13 WP"
color (blue)
put " Standard Ranged Attack. 6-14 DMG"
put " However, a 20% Chance to Miss"
elsif (frenzy = true) then
color (black)
put ""
put "b) Frenzied Slash - 25 WP"
color (blue)
put " Attacks with wild speed. 3-6 DMG"
put " 66% Chance to reduce WP by 20."
end if
if (regen = true) then
color (black)
put ""
put "c) Regeneration - 18 WP"
color (blue)
put " Heals you for 2 hp for every 1 wait over"
put " a period of 6-14 wait. (Stacks)."
elsif (master = true) then
put ""
color (black)
put "c) Ice Mastery"
elsif (sflame = true) then
put ""
color (black)
put "c) Searing Flame - 18 WP"
color (blue)
put " Deals 1-3 damage and " ..
color (brightred)
put "burns" ..
color (blue)
put " for another"
put " 4-16 wait."
end if
color (red)
put ""
put "Choose A Spell \\ Skill"
color (blue)
loop
getch (key)
if (key = "a") or (key = "A") then
if (scan = true) then
put "You have already scanned the Target.."
getch (key)
exit
elsif (scan = false) then
scan := true
p.wpp := p.wpp + 6
put "You scan the Target."
getch (key)
exit
end if
elsif (key = "b") or (key = "B") then
if (normal = true) then
e.dtaken := e.dtaken + Rand.Int (5, 11)
p.wpp := p.wpp + 12
put "You hit Target for ", e.dtaken, " Dmg."
getch (key)
exit
elsif (ranged = true) then
rchance := Rand.Int (1, 10)
if (rchance = 1) or (rchance = 2) then
put "You Miss!"
p.wpp := p.wpp + 13
getch (key)
exit
else
e.dtaken := e.dtaken + Rand.Int (6, 14)
p.wpp := p.wpp + 13
put "You hit Target for ", e.dtaken, " Dmg."
getch (key)
exit
end if
elsif (frenzy = true) then
fchance := Rand.Int (1, 3)
if (fchance = 1) then
p.wpp := p.wpp + 25
e.dtaken := e.dtaken + Rand.Int (3, 6)
put "You hit Target for ", e.dtaken, " Dmg."
getch (key)
exit
else
p.wpp := p.wpp + 5
e.dtaken := e.dtaken + Rand.Int (3, 6)
put "You hit Target for ", e.dtaken, " Dmg."
put "Your WP has been reducde by 20!"
getch (key)
exit
end if
end if
elsif (key = "c") or (key = "C") then
if (regen = true) then
regentime := regentime + Rand.Int (6, 14)
regencheck := true
p.wpp := p.wpp + 18
put "You Cast Regeneration."
put "You will regenerate for ", regentime, " WP"
getch (key)
exit
elsif (master = true) then
p.wpp := p.wpp + 3
put "This skill is Passive..."
getch (key)
exit
elsif (sflame = true) then
p.wpp := p.wpp + 18
goodburn := true
goodburntime := goodburntime + Rand.Int (4, 16)
e.dtaken := e.dtaken + Rand.Int (1, 3)
put "You hit Target for ", e.dtaken, " Dmg."
put "Target is now burning."
getch (key)
exit
end if
end if
color (black)
end loop
end PLAYER
%=============
procedure TARGET
e.wpp := 0
p.dtaken := 0
p.wi := 0
e.healing := 0
hpcheck := e.hp
var clicky : string (1)
color (black)
put "Target's Turn:"
delay (350)
achance := Rand.Int (1, 5)
if (achance = 1) then
e.wpp := e.wpp + 23
p.wi := p.wi + 7
p.dtaken := p.dtaken + Rand.Int (4, 12)
color (red)
put "Target Casts Frost Burst."
getch (clicky)
put ""
color (blue)
put "You take ", p.dtaken, " Dmg."
put "Your WP increases by ", p.wi
getch (clicky)
elsif (achance = 2) or (achance = 3) then
e.wpp := e.wpp + 12
p.dtaken := p.dtaken + Rand.Int (2, 6)
color (red)
put "Target attacks you normally."
color (blue)
put ""
getch (clicky)
put "You take ", p.dtaken, " Dmg."
getch (clicky)
elsif (achance = 4) then
if (hpcheck < 60) then
e.healing := e.healing + Rand.Int (1, 40)
e.wpp := 32
color (red)
put "Target Casts Chance Heal."
getch (clicky)
put ""
color (blue)
put "Target is healed for ", e.healing, " Dmg."
getch (clicky)
else
e.wpp := e.wpp + 12
p.dtaken := p.dtaken + Rand.Int (2, 6)
color (red)
put "Target attacks you normally."
color (blue)
getch (clicky)
put ""
put "You take ", p.dtaken, " Dmg."
getch (clicky)
end if
elsif (achance = 5) then
p.dtaken := p.dtaken + Rand.Int (2, 5)
badburn := true
badburntime := Rand.Int (5, 15)
e.wpp := e.wpp + 19
color (red)
put "Target Casts Enflame."
getch (clicky)
color (blue)
put "You take ", p.dtaken, " Dmg."
put "You are now on fire for"
put badburntime, " Wait."
getch (clicky)
end if
end TARGET
%=============
procedure BATTLE
p.sdtaken := 0
e.dtaken := 0
p.dtaken := 0
p.healing := 0
e.healing := 0
p.hp := 100
e.hp := 100
scan := false
e.wpp := 0
p.wpp := 0
p.wd := 0
e.wd := 0
p.wi := 0
e.wi := 0
badburntime := 0
badburn := false
goodburntime := 0
goodburn := false
regentime := 0
regencheck := false
start := Rand.Int (1, 4)
if (start = 1) or (start = 2) or (start = 3) then
p.w := 0
e.w := 1
elsif (start = 4) then
p.w := 1
e.w := 0
end if
%Continue battle until one is victorious.
loop
if (p.w = 0) and (e.w = 0) then
chooser := Rand.Int (1, 2)
if (chooser = 1) then
cls
STATS
PLAYER
cls
STATS
TARGET
elsif (chooser = 2) then
cls
STATS
TARGET
cls
STATS
PLAYER
end if
elsif (e.w = 0) then
cls
STATS
TARGET
elsif (p.w = 0) then
cls
STATS
PLAYER
end if
%add / subtract damage taken and amount healed.
%then see if someone dies. +/- regen // burns // poisons
if (badburntime = 0) then
badburn := false
end if
if (badburn = true) then
badburntime := badburntime - 1
p.dtaken := p.dtaken + 1
end if
if (goodburntime = 0) then
goodburn := false
end if
if (goodburn = true) then
goodburntime := goodburntime - 1
e.dtaken := e.dtaken + 1
end if
if (regentime = 0) then
regencheck := false
end if
if (regencheck = true) then
regentime := regentime - 1
p.healing := p.healing + 2
end if
p.hp := round (p.hp - p.dtaken - p.sdtaken + p.healing)
e.hp := round (e.hp - e.dtaken + e.healing)
p.w := p.w + p.wpp + p.wi - p.wd
e.w := e.w + e.wpp + e.wi - e.wd
p.w := p.w - 1
e.w := e.w - 1
p.dtaken := 0
p.sdtaken := 0
e.dtaken := 0
p.healing := 0
e.healing := 0
p.wpp := 0
e.wpp := 0
p.wi := 0
e.wi := 0
p.wd := 0
e.wi := 0
%Falesafe...
if (p.w <= 0) then
p.w := 0
end if
if (e.w <= 0) then
e.w := 0
end if
if (p.hp > 100) then
p.hp := 100
end if
cls
STATS
put " Wait Decay..."
delay (150)
exit when (e.hp <= 0)
exit when (p.hp <= 0)
end loop
%===============
end BATTLE
%============
procedure SELECTOR
%Choose your two starting skills.
cls
var nxt : string (1)
put " Skill selector and Skill information:"
put skip
color (blue)
put "This feature allows you to mix and match different skills to"
put "make your own character. It is suggested that you get"
put "yourself a healing spell from the secondary or tertiary skill"
put "selectors. At level one, only your primary and secondary"
put "skills are avaliable, but once you reach level 2, you"
put "gain your third, and fourth at level 5."
color (red)
put "At level 8, you will be presented with the oportunity to"
put "change your primary skill to a stronger version of itself,"
put "or a completely different trait alltogether. This goes for"
put "all skills at different intervals."
put ""
color (blue)
put "Notice: Some of this stuff might not be implimented yet."
put ""
color (red)
put "Note: Do not click the chosen key multiple times,"
put "for it will cause your next skills to be chosen as well."
put ""
color (blue)
put "When you see a black blinking rectangle, it means to either"
put "input either input somthing, or Click to continue."
put "That is.. click on keyboard."
getch (nxt)
color (black)
cls
put " Skill Selector"
put skip
color (red)
put "Choose a Primary Skill"
put ""
put "a) Normal Attack"
color (blue)
put " Hits target with a Basic Attack."
put " 5-11 DMG 12 WP"
put ""
color (red)
put "b) Ranged Normal Attack"
color (blue)
put " Fires an Arrow at target."
put " 6-14 DMG 15 WP 20% Chance to Miss"
put ""
color (red)
put "c) Frenzied Slash"
color (blue)
put " Attacks with quick percision."
put " 3-6 DMG 25 WP 50% Chance to reduce"
put " WP by 20."
put ""
color (red)
put "Please, choose one."
loop
getch (nxt)
if (nxt = "a") or (nxt = "A") then
normal := true
ranged := false
frenzy := false
exit when (normal = true)
elsif (nxt = "b") or (nxt = "B") then
ranged := true
normal := false
frenzy := false
exit when (ranged = true)
elsif (nxt = "c") or (nxt = "C") then
frenzy := true
normal := false
ranged := false
exit when (frenzy = true)
end if
end loop
cls
color (black)
put "Skill Selector"
put skip
color (blue)
if (normal = true) then
put "Normal Attack Chosen."
elsif (ranged = true) then
put "Ranged Attack Chosen."
elsif (frenzy = true) then
put "Frenzied Slash Chosen."
end if
getch (nxt)
cls
color (black)
put "Skill Selector"
put skip
put "Choose secondary Skill."
color (red)
put "a)Regeneration"
color (blue)
put " Heals you for 2 hp for every 1 wait over"
put " a period of 6-12 wait. 12 WP"
put ""
color (red)
put "b)Ice Mastery"
color (blue)
put " Leads to extremely powerful ice spells in"
put " secondary tier 2 skills. Not suggested"
put " for beginners. (NOT A SPELL)"
put " (Don't use, not implimented)"
color (red)
put ""
put "c)Searing Flame"
color (blue)
put " Sends a burning sheet of fire at the target"
put " dealing 1-3 damage and burns for another"
put " 4-16 wait. 18 wait."
color (black)
put ""
put "Please, Choose One."
put ""
loop
getch (nxt)
if (nxt = "a") or (nxt = "A") then
regen := true
master := false
sflame := false
cls
color (black)
put "Skill selector"
put skip
color (blue)
put "Regeneration Chosen."
getch (nxt)
exit when (regen = true)
elsif (nxt = "b") or (nxt = "B") then
master := true
regen := false
sflame := false
cls
color (black)
put "Skill selector"
put skip
color (blue)
put "Ice Mastery Chosen."
getch (nxt)
exit when (master = true)
elsif (nxt = "c") or (nxt = "C") then
sflame := true
regen := false
master := false
cls
color (black)
put "Skill selector"
put skip
color (blue)
put "Searing Flame Chosen."
getch (nxt)
exit when (sflame = true)
end if
end loop
BATTLE
end SELECTOR
procedure BATTLESTARTUP
win1 := Window.Open ("title:MGF:RMRPG;graphics:500;450;position:center;top")
var poke : string (1)
var font1, font2 : int
font1 := Font.New ("Papyrus:35:Bold")
font2 := Font.New ("Comic Sans MS:12")
colorback (96)
cls
Font.Draw ("Remm's Mini RPG", 20, maxy - 60, font1, black)
Font.Draw ("=", 206, 350, font1, brightred)
Font.Draw ("_", 206, 330, font1, brightred)
Font.Draw ("|", 206, 330, font1, brightred)
font1 := Font.New ("Papyrus:21")
Font.Draw ("M.F", 188, 332, font1, green)
Font.Draw ("Click to Continue.", 155, 300, font2, brightred)
color (red)
color (black)
getch (poke)
SELECTOR
end BATTLESTARTUP
procedure MSSEAL
var poka : string (1)
var font1, font2 : int
win1 := Window.Open ("title:Mini-Game Frenzy;graphics:300;300;position:center;top")
font1 := Font.New ("Papyrus:35:Bold")
font2 := Font.New ("Comic Sans MS:12")
colorback (black)
cls
color (white)
put " Welcome to..."
Draw.ThickLine (0, maxy, maxx, 0, 10, green)
Draw.ThickLine (maxx, maxy, 0, 0, 10, red)
Draw.ThickLine (0, maxy, maxx, 0, 5, red)
Draw.ThickLine (maxx, maxy, 0, 0, 5, green)
Font.Draw ("Mini-Game", 28, 240, font1, white)
Font.Draw ("FRENZY", 23, 170, font1, brightgreen)
color (brightred)
font1 := Font.New ("Papyrus:35:Bold")
Font.Draw ("Click to Continue.", 83, 130, font2, brightred)
Font.Draw ("=", 136, 90, font1, brightred)
Font.Draw ("_", 136, 70, font1, brightred)
Font.Draw ("|", 136, 70, font1, brightred)
font1 := Font.New ("Papyrus:21")
Font.Draw ("M.F", 118, 72, font1, brightgreen)
getch (poka)
BATTLESTARTUP
end MSSEAL
MSSEAL
cls
STATS
put skip
if (p.hp <= 0) then
put "You lose..."
elsif (e.hp <= 0) then
put "Victory! Hurrah!"
end if
|