rendered paste bodyLibrary inventory;
Type
tweapon = Record //all weapon stats/calculations
id: integer;
name: String;
weight: integer;
atk: integer;
spd: integer;
hp : integer; //potion use, increment hp?
mp : integer; //potion use, increment mp?
wtype : string; //does this HEAL, DAMAGE, or OTHER?
target : string; //HP, MP, SPD, ATK, DEF, etc
End;
teweapon = Record //weapon stats/calcs for enemy
id: integer;
name: String;
weight: integer;
atk: integer;
spd: integer;
End;
Var
weapon : tweapon;
eweapon : teweapon;
f : text;
i : integer;
s : String;
target : integer;
atk : integer;
spd : integer;
weight : integer;
weaponid : integer;
potionid : integer;
//potion
procedure returnweapon;
begin
assign(f, 'io.dat');
reset(f);
readln(f,weaponid);
case weaponid of
0 : begin
weapon.name := 'Fist';
end;
1 : begin
weapon.name := 'Sword';
end;
2 : begin
weapon.name := 'Axe';
end;
3 : begin
weapon.name := 'Dagger';
end;
4 : begin
weapon.name := 'Two Handed Sword';
end;
5 : begin
weapon.name := 'Bastard Sword';
end;
end;
close(f);
assign(f, 'io.dat');
rewrite(f);
writeln(f,weapon.name);
close(f);
end;
procedure returnpotion;
begin
assign(f, 'io.dat');
reset(f);
readln(f,potionid);
case potionid of
0 : begin
weapon.name := 'No Potion';
end;
1 : begin
weapon.name := 'Small Health Vial';
end;
2 : begin
weapon.name := 'Small MP Vial';
end;
3 : begin
weapon.name := 'Large Health Vial';
end;
4 : begin
weapon.name := 'Large MP Vial';
end;
5 : begin
weapon.name := 'Explosive Vial';
end;
end;
close(f);
assign(f, 'io.dat');
rewrite(f);
writeln(f,weapon.name);
close(f);
end;
procedure potions;
begin
assign(f, 'io.dat');
reset(f);
readln(f, target);
readln(f, weapon.id);
close(f);
case weapon.id of
0 : begin
weapon.name := 'No Potion';
weapon.wtype := 'No Potion';
weapon.target := 'No Potion';
weapon.hp := 0;
assign(f,'io.dat');
rewrite(f);
writeln(f,weapon.name);
writeln(f,weapon.wtype);
writeln(f,weapon.target);
writeln(f,weapon.hp);
close(f);
end;
1 : begin
weapon.name := 'Small HP Vial';
weapon.wtype := 'HEAL';
weapon.target := 'HP';
weapon.hp := 50;
assign(f,'io.dat');
rewrite(f);
writeln(f,weapon.name);
writeln(f,weapon.wtype);
writeln(f,weapon.target);
writeln(f,weapon.hp);
close(f);
end;
2 : begin
weapon.name := 'Small MP Vial';
weapon.wtype := 'HEAL';
weapon.target := 'MP';
weapon.mp := 50;
assign(f,'io.dat');
rewrite(f);
writeln(f,weapon.name);
writeln(f,weapon.wtype);
writeln(f,weapon.target);
writeln(f,weapon.mp);
close(f);
end;
3 : begin
weapon.name := 'Large HP Vial';
weapon.wtype := 'HEAL';
weapon.target := 'HP';
weapon.mp := 150;
assign(f,'io.dat');
rewrite(f);
writeln(f,weapon.name);
writeln(f,weapon.wtype);
writeln(f,weapon.target);
writeln(f,weapon.mp);
close(f);
end;
4 : begin
weapon.name := 'Large MP Vial';
weapon.wtype := 'HEAL';
weapon.target := 'MP';
weapon.mp := 150;
assign(f,'io.dat');
rewrite(f);
writeln(f,weapon.name);
writeln(f,weapon.wtype);
writeln(f,weapon.target);
writeln(f,weapon.mp);
close(f);
end;
5 : begin
weapon.name := 'Explosive Vial';
weapon.wtype := 'DAMAGE';
weapon.target := 'E';
weapon.hp := 50;
assign(f,'io.dat');
rewrite(f);
writeln(f,weapon.name);
writeln(f,weapon.wtype);
writeln(f,weapon.target);
writeln(f,weapon.hp);
close(f);
end;
end; //case
end;
Procedure inventory;
Begin
assign(f, 'io.dat');
reset(f);
readln(f, target);
{if target = 0 then } readln(f, weapon.id);
//if target = 1 then readln(f,eweapon.id);
readln(f, atk);
readln(f, spd);
readln(f, weight);
close(f);
Case weapon.id Of
0 : begin
If target = 0 Then Begin
weapon.name := 'Fist';
weapon.weight := 1;
weapon.atk := 1;
weapon.spd := 1;
atk := weapon.atk + atk;
spd := spd - weapon.spd;
weight := weight + weapon.weight;
End
Else If target = 1 Then
Begin
eweapon.name := 'Fist';
eweapon.weight := 0;
eweapon.atk := 0;
eweapon.spd := 0;
atk := eweapon.atk + atk;
spd := spd - eweapon.spd;
weight := weight + eweapon.weight;
End;
end;
1:
Begin
If target = 0 Then
Begin
weapon.name := 'Sword';
weapon.weight := 5;
weapon.atk := 5;
weapon.spd := 1;
atk := weapon.atk + atk;
spd := spd - weapon.spd;
weight := weight + weapon.weight;
End
Else If target = 1 Then
Begin
eweapon.name := 'Sword';
eweapon.weight := 5;
eweapon.atk := 5;
eweapon.spd := 1;
atk := eweapon.atk + atk;
spd := spd - eweapon.spd;
weight := weight + eweapon.weight;
End;
End;
2:
Begin
If target = 0 Then
Begin
weapon.name := 'Axe';
weapon.weight := 8;
weapon.atk := 8;
weapon.spd := 2;
atk := weapon.atk + atk;
spd := spd - weapon.spd;
weight := weight + weapon.weight;
End
Else If target = 1 Then
Begin
eweapon.name := 'Axe';
eweapon.weight := 8;
eweapon.atk := 8;
eweapon.spd := 2;
atk := eweapon.atk + atk;
spd := spd - eweapon.spd;
weight := weight + eweapon.weight;
End;
End;
3:
Begin
If target = 0 Then
Begin
weapon.name := 'Dagger';
weapon.weight := 2;
weapon.atk := 4;
weapon.spd := 0;
atk := weapon.atk + atk;
spd := spd - weapon.spd;
weight := weight + weapon.weight;
End
Else If target = 1 Then
Begin
eweapon.name := 'Dagger';
eweapon.weight := 2;
eweapon.atk := 4;
eweapon.spd := 0;
atk := eweapon.atk + atk;
spd := spd - eweapon.spd;
weight := weight + eweapon.weight;
End;
End;
4:
Begin
If target = 0 Then
Begin
weapon.name := 'Two-Handed Sword';
weapon.weight := 11;
weapon.atk := 15;
weapon.spd := 4;
atk := weapon.atk + atk;
spd := spd - weapon.spd;
weight := weight + weapon.weight;
End
Else If target = 1 Then
Begin
eweapon.name := 'Two-Handed Sword';
eweapon.weight := 11;
eweapon.atk := 15;
eweapon.spd := 4;
atk := eweapon.atk + atk;
spd := spd - eweapon.spd;
weight := weight + eweapon.weight;
End;
End;
5:
Begin
If target = 0 Then
Begin
weapon.name := 'Bastard Sword';
weapon.weight := 12;
weapon.atk := 25;
weapon.spd := 4;
atk := weapon.atk + atk;
spd := spd - weapon.spd;
weight := weight + weapon.weight;
End
Else If target = 1 Then
Begin
eweapon.name := 'Bastard Sword';
eweapon.weight := 12;
eweapon.atk := 25;
eweapon.spd := 4;
atk := eweapon.atk + atk;
spd := spd - eweapon.spd;
weight := weight + eweapon.weight;
End;
End;
End;
assign(f, 'io.dat');
rewrite(f);
If (target = 0) Then
Begin
writeln(f, weapon.name);
writeln(f, atk);
writeln(f, spd);
writeln(f, weight);
End
Else If target = 1 Then
Begin
writeln(f, eweapon.name);
writeln(f, atk);
writeln(f, spd);
writeln(f, weight);
End;
close(f);
End;
Exports
inventory,
returnweapon,
potions,
returnpotion;
Begin
End.