Library 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.