All pastes #876917 Raw Edit

initiate.dll

public text v1 · immutable
#876917 ·published 2008-01-29 04:51 UTC
rendered paste body
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.