All pastes #826806 Raw Edit

Untitled

public text v1 · immutable
#826806 ·published 2007-12-21 13:01 UTC
rendered paste body
alias -l setdmcolours {
  ;###################################################################
  ;##########SET THE COLOUR NUMBER YOU WANT WHERE THE NUMBER IS#######
  ;###################################################################

  set %colour.overall 10
  set %colour.nicks 7
  set %colour.hits 3
  set %colour.hp 6
  set %colour.weapon 14
  set %colour.poison 4

  ;###################################################################
  ;###################################################################
  ;###################################################################

  set %c1 $+($chr(3),%colour.overall)
  set %c2 $+($chr(3),%colour.nicks)
  set %c3 $+($chr(3),%colour.hits)
  set %c4 $+($chr(3),%colour.hp)
  set %c5 $+($chr(3),%colour.weapon)
  set %c6 $+($chr(3),%colour.pois)
}


;#######################START DEATHMATCH#########################

on $*:text:/^[!.@](dm|deathmatch|chal(l)?(enge)?|fight)/Si:#DM, #DM-shop, #DM-bank: {
  if ($network == Tundrairc) {
    if ($chan == #DM-shop || $chan == #DM-bank) {
      notice $nick %c1 $+ You only can do this in $+ %c2 #DM $+ %c1 .
      halt
    }
    setdmcolours
    set %dm.chan #DM
    if (%dmid. [ $+ [ $nick ] ] == 1) {
      if (%dmnick. [ $+ [ $nick ] ] == 1) {
        if (%dmwins. [ $+ [ $nick ] ] == $null) .set %dmwins. [ $+ [ $nick ] ] 0
        if (%dmloses. [ $+ [ $nick ] ] == $null) .set %dmloses. [ $+ [ $nick ] ] 0
        if (%dm.player1) {
          if (%dm.player1 == $nick && %dm.status != ON) { notice $nick %c1 $+ Please wait until somebody accepts your challange or your challenge times out. | halt }
          if (%dm.status == ON) {
            notice $nick %c1 $+ Sorry, but there is already a $+ %c5 DeathMatch $+ %c1 running, please wait till that one is over, and try again.
            halt
          } 
          set %dm.status ON
          set %dm.player2 $nick
          if (%dmlvl. [ $+ [ %dm.player1 ] ] == $null) {
            set %dmlvl. [ $+ [ %dm.player1 ] ] 1
          }
          if (%dmlvl. [ $+ [ %dm.player2 ] ] == $null) {
            set %dmlvl. [ $+ [ %dm.player2 ] ] 1
          }
          timerturnswitch 1 120 turngone
          set %dmstarthealth. [ $+ [ %dm.player1 ] ] $gettok($calc(%dmlvl. [ $+ [ %dm.player1 ] ] ^1.2 * 30 + 80),1,46)
          set %dmstarthealth. [ $+ [ %dm.player2 ] ] $gettok($calc(%dmlvl. [ $+ [ %dm.player2 ] ] ^1.2 * 30 + 80),1,46)
          set %dmhealth. [ $+ [ %dm.player1 ] ] $gettok($calc(%dmlvl. [ $+ [ %dm.player1 ] ] ^1.2 * 30 + 80),1,46)
          set %dmhealth. [ $+ [ %dm.player2 ] ] $gettok($calc(%dmlvl. [ $+ [ %dm.player2 ] ] ^1.2 * 30 + 80),1,46)
          msg %dm.chan %c1 $+ The fight is: $+ %c5 A %c6 $+ level %dmlvl. [ $+ [ %dm.player1 ] ] $+ %c5 $+ : %c2 $+ %dm.player1 $+ %c5 ( $+ %c4 $+ Wins: $+ %c3 %dmwins. [ $+ [ %dm.player1 ] ] $+ %c5 $+ : $+ %c4 Loses: $+ %c3 %dmloses. [ $+ [ %dm.player1 ] ] $+ %c5 $+ ) Vs a %c6 $+ level %dmlvl. [ $+ [ %dm.player1 ] ] $+ %c5 $+ : %c2 $+ %dm.player2 $+ %c5 ( $+ %c4 $+ Wins: $+ %c3 %dmwins. [ $+ [ %dm.player2 ] ] $+ %c5 - $+ %c4 Loses: $+ %c3 %dmloses. [ $+ [ %dm.player2 ] ] $+ %c5 $+ ).
          var %dm.begin = $r(1,2)
          timerchallenge off
          if (%dm.begin == 1) {
            set %dm.startnick %dm.player1
          }
          if (%dm.begin == 2) {
            set %dm.startnick %dm.player2
            var %dm.player3 = %dm.player1
            set %dm.player1 %dm.player2
            set %dm.player2 %dm.player3
          }
          msg %dm.chan %c2 $+ %dm.startnick $+ %c1 starts the game!
          notice %dm.player1 %c1 $+ Dm started, you're fighting %c4 $+ %dm.player2 $+ %c1 $+ , who has $+ %c4 %dmhealth. [ $+ [ %dm.player2 ] ] $+ %c1 hitpoints.
          notice %dm.player2 %c1 $+ Dm started, you're fighting %c4 $+ %dm.player1 $+ %c1 $+ , who has $+ %c4 %dmhealth. [ $+ [ %dm.player1 ] ] $+ %c1 hitpoints.
        }
        else {
          set %dm.player1 $nick
          msg %dm.chan %c2 $+ %dm.player1 $+ %c1 ( $+ %c6 $+ level %dmlvl. [ $+ [ %dm.player1 ] ] $+ %c1 - %c4 $+ Wins: $+ %c3 %dmwins. [ $+ [ $nick ] ] $+ %c1 - $+ %c4 Loses: $+ %c3 %dmloses. [ $+ [ $nick ] ] $+ %c1 $+ ) has initiated a %c5 $+ DM Game $+ %c1 $+ . Type $+ %c6 !DM $+ %c1 to fight him!
          timerchallenge 1 30 tooslow
        }
      }
      else {
        notice $nick %c1 $+ You need to register first. Type %c5 $+ `dm-register $+ %c1 first and follow the instructions.
      }
    }
    else {
      notice $nick %c1 $+ You need to identify first! Type $+ %c3 /msg $me !id(entify) yourpass $+ %c1 $+ .
    }
  }
  else {
    notice $nick %c1 $+ You need to connect to %c2 $+ irc.TundraIRC.net %c1 $+ to play a DeathMatch!
  }
}

;###################################END DEATHMATCH##############################
ON $*:text:/^[`!@.]((stop|halt|end)( )?d(eath)?m(atch)?)/Si:#DM: {
  if ($network != TundraIRC) {
    notice $nick %c1 $+ You only can do this on the great $+ %c3 TundraIRC network $+ %c1 $+ , Type $+ %c6 /server irc.TundraIRC.net $+ %c1 to get there.
    halt
  }
  if (%dmid. [ $+ [ $nick ] ] == 1) {
    if ($nick ishop $chan || $nick isop $chan || $address($nick,2) == $address($me,2) || $nick == Supamagier || $nick == cnb6 || $nick == cnb6|bnc) {
      if (%dm.status != ON) { 
        notice $nick %c1 $+ There's no deathmatch running.
        halt
      }
      if ($nick != %dm.player1 && $nick != %dm.player2) {
        msg $chan %c1 $+ Deathmatch stopped by $+ %c2 $nick $+ %c1 $+ .
        enddm
      }
      else {
        notice $nick %c1 $+ You can't do that as a player, $+ %c5 coward $+ %c1 $+ !
      }
    }
    else {
      notice $nick %c1 $+ You need to be a 7half-op or higher $+ %c1 to use this command.
    } 
  }
  else {
    notice $nick %c1 $+ You need to identify first! Type $+ %c3 /msg $me !id(entify) yourpass $+ %c1 $+ .
  }
}

;#############################REGISTER AND ID TO PLAY###########################
on $*:text:/^[`](dm( reg(ister)?|reg(ister)?|-reg(ister)?)|register(dm)?)/Si:#DM, #DM-shop, #DM-bank: {
  if ($network != TundraIRC) {
    notice $nick %c1 $+ You only can do this on the great $+ %c3 TundraIRC network $+ %c1 $+ , Type $+ %c6 /server irc.TundraIRC.net $+ %c1 to get there.
    halt
  }
  if (%dmnick. [ $+ [ $nick ] ] != 1) {
    set %tryreg. [ $+ [ $nick ] ] 1
    msg $nick %c1 $+ So you want to register? Great! Type $+ %c3 !setpass passyouwant $+ %c1 in my PM. You can't use any spaces in your password. Don't use your login password for any other thing. You'll also need to choose a class, you can choose between $+ %c6 Mage $+ %c1 $+ , $+ %c6 Range $+ %c1 and $+ %c6 Melee $+ %c1 $+ . Use $+ %c4 !setclass styleyouwant $+ %c1 to choose one.
  }
  else {
    notice $nick %c1 $+ You already registered!
  }
}
on *:text:!setpass*:?: {
  if ($network != TundraIRC) {
    notice $nick %c1 $+ You only can do this on the great $+ %c3 TundraIRC network $+ %c1 $+ , Type $+ %c6 /server irc.TundraIRC.net $+ %c1 to get there.
    halt
  }
  if (%tryreg. [ $+ [ $nick ] ] == 1) {
    if (%dmclass. [ $+ [ $nick ] ] == $null) { msg $nick %c1 $+ Please choose a class first. Use %c4 $+ !setclass classyouwant $+ %c1 $+ . | halt }
    msg $nick %c1 $+ Congrats! You just registered. Your name is $+ %c3 $nick $+ %c1 $+ , you class is $+ %c2 %dmclass. [ $+ [ $nick ] ] $+ %c1 and your pass is $+ %c2 $2 $+ %c1 $+ . If you want to change your pass, type $+ %c4 !changepass newpass $+ %c1 $+ . Use $+ %c4 /msg $me !identify yourpass $+ %c1 to identify next time.
    msg $nick %c1 $+ You get $+ %c4 100 coins $+ %c1 so you can buy your first weapon. Join $+ %c2 #DM-shop $+ %c1 to buy one!
    set %dmmoney. [ $+ [ $nick ] ] 100
    unset %tryreg. [ $+ [ $nick ] ]
    set %dmnick. [ $+ [ $nick ] ] 1
    set %dmpass. [ $+ [ $nick ] ] $2
    set %dmid. [ $+ [ $nick ] ] 1
    close -m $nick 
  }
  else {
    msg $nick %c1 $+ Please type $+ %c2 !dm register $+ %c1 in $+ %c4 #DM $+ %c1 first please.
  }
}

on *:text:!setclass*:?: {
  if ($network != TundraIRC) {
    notice $nick %c1 $+ You only can do this on the great $+ %c3 TundraIRC network $+ %c1 $+ , Type $+ %c6 /server irc.TundraIRC.net $+ %c1 to get there.
    halt
  }
  if (%tryreg. [ $+ [ $nick ] ] == 1) {
    if (%dmclass. [ $+ [ $nick ] ]) { msg $nick %c1 $+ You already set a class ($+ %c2 %dmclass. [ $+ [ $nick ] ] $+ %c1 $+ ), now you have to set a password. Use %c4 $+ !setpass passyouwant $+ %c1 $+ . | halt }
    if ($2 == range || $2 == mage || $2 == melee) {
      msg $nick %c1 $+ Congrats! You just chose a class. You chose $+ %c2 $2 $+ %c1 $+ . Now please choose a pass. Use %c4 $+ !setpass passyouwant $+ %c1 $+ .
      set %dmnick. [ $+ [ $nick ] ] 1
      set %dmclass. [ $+ [ $nick ] ] $2
    }
    else {
      msg $nick Please choose between $+ %c6 Mage $+ %c1 $+ , $+ %c6 Range $+ %c1 and $+ %c6 Melee $+ %c1 $+ .
    }
  }
  else {
    msg $nick %c1 $+ Please type $+ %c2 !dm register $+ %c1 in $+ %c4 #DM $+ %c1 first please.
  }
}

on *:text:!changepass*:?: {
  if ($network != TundraIRC) {
    notice $nick %c1 $+ You only can do this on the great $+ %c3 TundraIRC network $+ %c1 $+ , Type $+ %c6 /server irc.TundraIRC.net $+ %c1 to get there.
    halt
  }
  if (%dmid. [ $+ [ $nick ] ] == 1) {
    msg $nick %c1 $+ Congrats! You just changed your pass to $+ %c2 $2 $+ %c1 $+ . If you want to change your pass again, type $+ %c4 !changepass newpass $+ %c1 $+ .
    set %dmpass. [ $+ [ $nick ] ] $2
    close -m $nick
  }
  else {
    msg $nick %c1 $+ You need to be identified if you want to change your pass! Use $+ %c4 /msg $me !identify yourpass $+ %c1 to identify.
  } 
}
on $*:text:/^[!@`.](id(entify)?)/Si:?: {
  if ($network != TundraIRC) {
    notice $nick %c1 $+ You only can do this on the great $+ %c3 TundraIRC network $+ %c1 $+ , Type $+ %c6 /server irc.TundraIRC.net $+ %c1 to get there.
    halt
  }
  if (%dmnick. [ $+ [ $nick ] ] != 1) { msg $nick %c1 $+ Please register first. Type %c5 $+ `dm-register $+ %c1 first,in #DM and follow the instructions. | halt }
  if (%dmid. [ $+ [ $nick ] ] == 1) { msg $nick %c1 $+ You are already identified! | close -m $nick | halt }
  if ($2 == %dmpass. [ $+ [ $nick ] ]) {
    msg $nick %c1 $+ You are now identified, have fun!.
    msg $nick %c1 $+ You will be auto-unidentified when you disconnect.
    set %dmid. [ $+ [ $nick ] ] 1
    unset %dmtrylog. [ $+ [ $nick ] ]
    close -m $nick
  }
  else {
    if (%dmtrylog. [ $+ [ $nick ] ] >= 5) {
      msg $nick %c3 Five $+ %c1 wrong passwords in a row, you'll be now ignored for $+ %c6 10 minutes $+ %c1 $+ .
      unset %dmtrylog. [ $+ [ $nick ] ]
      ignore -u600 $nick
      halt
    }
    msg $nick %c1 $+ Wrong password.
    inc %dmtrylog. [ $+ [ $nick ] ]
  }
}

on $*:text:/^[!@`.]((my)?(class))/Si:#DM, #DM-bank, #DM-shop: {
  if ($network != TundraIRC) {
    notice $nick %c1 $+ You only can do this on the great $+ %c3 TundraIRC network $+ %c1 $+ , Type $+ %c6 /server irc.TundraIRC.net $+ %c1 to get there.
    halt
  }
  if (%dmnick. [ $+ [ $nick ] ] != 1) { notice $nick %c1 $+ Please register first. Type %c5 $+ `dm-register $+ %c1 first,in #DM and follow the instructions. | halt }
  if (%dmid. [ $+ [ $nick ] ] != 1) { notice $nick %c1 $+ Please identify first. Type %c5 $+ /msg Supabot !id <yourpass> $+ %c1 $+ . | halt }
  notice $nick %c1 $+ The class you chose is $+ %c2 %dmclass. [ $+ [ $nick ] ] $+ %c1 $+ .
}

on *:quit: {
  if ($network == TundraIRC) {
    unset %dmid. [ $+ [ $nick ] ]
  }
}
on *:disconnect: {
  if ($network == TundraIRC) {
    unset %dmid.*
  }
}

;################################SHOP AND BANK###########################
on $*:text:/^[!`@.](item(s)?|shop|sale)/Si:#DM-shop, #DM, #DM-bank: {
  setdmcolours
  if ($network != TundraIRC) {
    notice $nick %c1 $+ You only can do this on the great $+ %c3 TundraIRC network $+ %c1 $+ , Type $+ %c6 /server irc.TundraIRC.net $+ %c1 to get there.
    halt
  }
  if ($chan == #DM || $chan == #DM-bank) {
    notice $nick %c1 $+ You only can do this in $+ %c2 #DM-shop $+ %c1 .
    halt
  }
  if (%dmid. [ $+ [ $nick ] ] == 1) {
    ;###################WHAT DO WE HAVE TODAY?###############################
    if ($2 == $null) {
      notice $nick %c1 $+ Please Choose a category. Type $+ %c2 !item category $+ %c1 $+ . The categories we have today are: $+ %c3 Food $+ %c1 $+ , $+ %c3 Potions $+ %c1 $+ , %c3 $+ Warrior $+ %c1 $+ , %c3 $+ Ranger $+ %c1 $+ , %c3 $+ Mage $+ %c1 $+ , %c3 $+ Spells $+ %c1 and %c3 $+ Arrows.
    }
    if ($2 == food) {
      if (%nobuycommandfood. [ $+ [ $nick ] ] != 1) {
        set %nobuycommandfood. [ $+ [ $nick ] ] 1
        msg $nick %c3 $+ The food we have today:
        msg $nick %c2 $+ Small health potion $+ %c1 - $+ %c5 10 coins $+ %c1 - $+ %c4 Heals 20 hp.
        msg $nick %c2 $+ Normal health potion $+ %c1 - $+ %c5 20 coins $+ %c1 - $+ %c4 Heals 30 hp.
        msg $nick %c2 $+ Large health potion $+ %c1 - $+ %c5 50 coins $+ %c1 - $+ %c4 Heals 50 hp. 
        msg $nick %c2 $+ Incredible fantastic Uber health potion $+ %c4 - $+ %c5 1000 coins $+ %c1 - $+ %c4 Heals 800 hp, makes you immune for damage 1 round. Cant be used more than 3 times per fight.
        timer [ $+ [ $nick $+ food ] ] 1 180 set %nobuycommandfood. [ $+ [ $nick ] ] 0
      }
      else { 
        notice $nick %c1 $+ Please wait $+ %c6 $timer($nick $+ food).secs %c1 $+ seconds before using this command again.
      }
    }
    if ($2 == potions) {
      if (%nobuycommandpotions. [ $+ [ $nick ] ] != 1) {
        set %nobuycommandpotions. [ $+ [ $nick ] ] 1
        msg $nick %c3 $+ The potions we have today:
        msg $nick %c2 $+ Anti potion $+ %c1 - $+ %c5 30 coins $+ %c1 - $+ %c4 Cures a poison
        msg $nick %c2 $+ Prayer potion $+ %c1 - $+ %c5 200 coins $+ %c1 - $+ %c4 Allows you to use prayer again.
        msg $nick %c2 $+ Mage potion $+ %c1 - $+ %c5 200 coins $+ %c1 - $+ %c4 Increases your mage max hit with 10% for 5 turns, may be used 1 time per fight.
        msg $nick %c2 $+ Strength potion $+ %c1 - $+ %c5 200 coins $+ %c1 - $+ %c4 Increases your melee max hit with 10% for 5 turns, may be used 1 time per fight.
        msg $nick %c2 $+ Ranged potion $+ %c1 - $+ %c5 200 coins $+ %c1 - $+ %c4 Increases your range max hit with 10% for 5 turns, may be used 1 time per fight.
        msg $nick %c2 $+ Defence potion $+ %c1 - $+ %c5 150 coins $+ %c1 - $+ %c4 Decreases the enemies max hit with 10% for 5 turns, may be used 1 time per fight.
        timer [ $+ [ $nick $+ pot ] ] 1 180 set %nobuycommandpotions. [ $+ [ $nick ] ] 0
      }
      else { 
        notice $nick %c1 $+ Please wait $+ %c6 $timer($nick $+ pot).secs %c1 $+ seconds before using this command again.
      }
    }
    if ($2 == warrior) {
      if (%nobuycommandwarrior. [ $+ [ $nick ] ] != 1) {
        set %nobuycommandwarrior. [ $+ [ $nick ] ] 1
        msg $nick %c3 $+ The melee weapons we have today:
        msg $nick %c2 $+ Dagger $+ %c1 - $+ %c5 50 coins $+ %c1 - $+ %c6 lvl 1 $+ %c1 - $+ %c4 Max hit 10
        msg $nick %c2 $+ Sword $+ %c1 - $+ %c5 100 coins $+ %c1 - $+ %c6 lvl 1 $+ %c1 - $+ %c4 Max hit 15 
        msg $nick %c2 $+ Battle axe $+ %c1 - $+ %c5 200 coins $+ %c1 - $+ %c6 lvl 5 $+ %c1 - $+ %c4 Max hit 25
        msg $nick %c2 $+ Home made sword $+ %c1 - $+ %c5 250 coins $+ %c1 - $+ %c6 lvl 10 $+ %c1 - $+ %c4 Max hit 50 (May break) 
        msg $nick %c2 $+ Scimitar $+ %c1 - $+ %c5 2000 coins $+ %c1 - $+ %c6 lvl 15 $+ %c1 - $+ %c4 Max hit 50
        msg $nick %c2 $+ Duel handed battle axes $+ %c1 - $+ %c5 5000 coins $+ %c1 - $+ %c6 lvl 25 $+ %c1 - $+ %c4 Max hit 200
        msg $nick %c2 $+ Godsword $+ %c1 - $+ %c5 25000 coins $+ %c1 - $+ %c6 lvl 40 $+ %c1 - $+ %c4 Max hit 550
        timer [ $+ [ $nick $+ war ] ] 1 180 set %nobuycommandwarrior. [ $+ [ $nick ] ] 0
      }
      else { 
        notice $nick %c1 $+ Please wait $+ %c6 $timer($nick $+ war).secs %c1 $+ seconds before using this command again.
      }
    }
    if ($2 == ranger) {
      if (%nobuycommandranger. [ $+ [ $nick ] ] != 1) {
        set %nobuycommandranger. [ $+ [ $nick ] ] 1
        msg $nick %c3 $+ The ranged weapons we have today:
        msg $nick %c2 $+ Bow $+ %c1 - $+ %c5 10 coins $+ %c1 - $+ %c4 Arrow max hit
        msg $nick %c2 $+ Large bow $+ %c1 - $+ %c5 100 coins $+ %c1 - $+ %c4 Arrow max hit
        msg $nick %c2 $+ Great bow $+ %c1 - $+ %c5 1000 coins $+ %c1 - $+ %c4 Arrow max hit
        msg $nick %c2 $+ Ultimate bow $+ %c1 - $+ %c5 5000 coins $+ %c1 - $+ %c4 Arrow max hit
        msg $nick %c2 $+ Triple arrowed bow $+ %c1 - $+ %c5 10000 coins $+ %c1 - $+ %c4 Arrow max hit (three arrows per shot).
        timer [ $+ [ $nick $+ rang ] ] 1 180 set %nobuycommandranger. [ $+ [ $nick ] ] 0
      }
      else { 
        notice $nick %c1 $+ Please wait $+ %c6 $timer($nick $+ rang).secs %c1 $+ seconds before using this command again.
      }
    }
    if ($2 == mage) {
      if (%nobuycommandmage. [ $+ [ $nick ] ] != 1) {
        set %nobuycommandmage. [ $+ [ $nick ] ] 1
        msg $nick %c3 $+ The mage weapons we have today:
        msg $nick %c2 $+ Newbie magic staff $+ %c1 - $+ %c5 50 coins $+ %c1 - $+ %c4 Spell max hit - 20%.
        msg $nick %c2 $+ Beginner magic staff $+ %c1 - $+ %c5 100 coins $+ %c1 - $+ %c4 Spell max hit - 10%.
        msg $nick %c2 $+ Magic staff $+ %c1 - $+ %c5 200 coins $+ %c1 - $+ %c4 Spell max hit. 
        msg $nick %c2 $+ Advanced magic staff $+ %c1 - $+ %c5 500 coins $+ %c1 - $+ %c4 Spell max hit + 10%.
        msg $nick %c2 $+ Ultimate magic staff $+ %c1 - $+ %c5 1000 coins $+ %c1 - $+ %c4 Spell max hit + 20%.
        msg $nick %c2 $+ Two Duel handed magic wands $+ %c1 - $+ %c5 5000 coins $+ %c1 - $+ %c4 Spell max hit + 50%.
        timer [ $+ [ $nick $+ mage ] ] 1 180 set %nobuycommandmage. [ $+ [ $nick ] ] 0
      }
      else { 
        notice $nick %c1 $+ Please wait $+ %c6 $timer($nick $+ mage).secs %c1 $+ seconds before using this command again.
      }
    }
    if ($2 == spells) {
      if (%nobuycommandspells. [ $+ [ $nick ] ] != 1) {
        set %nobuycommandspells. [ $+ [ $nick ] ] 1
        msg $nick %c3 $+ The magic spells we have today:
        msg $nick %c2 $+ Blizz $+ %c1 - $+ %c5 50 coins $+ %c1 - $+ %c6 Newbie magic staff $+ %c1 - $+ %c4 Max hit 20 
        msg $nick %c2 $+ Blizztering cold $+ %c1 - $+ %c5 75 coins $+ %c6 Newbie magic staff $+ %c1 - $+ %c4 Max hit 25
        msg $nick %c2 $+ Fire fury $+ %c1 - $+ %c5 100 coins $+ %c1 - $+ %c6 Beginner magic staff $+ %c1 - $+ %c4 Max hit 50
        msg $nick %c2 $+ Blizztering freeze $+ %c1 - $+ %c5 400 coins $+ %c6 Magic staff $+ %c1 - $+ %c4 Max hit 70 & Freezes you opponent for 2 turns, so he can't attack you (unless he ranges).
        msg $nick %c2 $+ Venquence fury $+ %c1 - $+ %c5 500 coins $+ %c1 - $+ %c6 Magic staff $+ %c1 - $+ %c4 Max hit 100
        msg $nick %c2 $+ Health cast $+ %c1 - $+ %c5 2000 coins $+ %c1 - $+ %c6 Advanced magic staff $+ %c1 - $+ %c4 Heals you with 30% of your total hp.
        msg $nick %c2 $+ Life cast $+ %c1 - $+ %c5 3500 coins $+ %c1 - $+ %c6 Ultimate magic staff $+ %c1 - $+ %c4 Heals you with 70% of your total hp.
        msg $nick %c2 $+ Teleport $+ %c1 - $+ %c5 5000 coins $+ %c1 - $+ %c6 Ultimate magic staff $+ %c1 - $+ %c4 Allows you to teleport from your opponent away, which allows you to cast 4 spells before he can attack you (unless he ranges, than only 1).
        msg $nick %c2 $+ Avada kadavra $+ %c1 - $+ %c5 10000 coins $+ %c1 - $+ %c6 Two Duel handed magic wands $+ %c1 - $+ %c4 Max hit 700
        timer [ $+ [ $nick $+ spells ] ] 1 180 set %nobuycommandspells. [ $+ [ $nick ] ] 0
      }
      else { 
        notice $nick %c1 $+ Please wait $+ %c6 $timer($nick $+ spells).secs %c1 $+ seconds before using this command again.
      }
    }
    if ($2 == arrows) {
      if (%nobuycommandother. [ $+ [ $nick ] ] != 1) {
        set %nobuycommandother. [ $+ [ $nick ] ] 1
        msg $nick %c3 $+ The arrows we have today:
        msg $nick %c2 $+ Weak arrow $+ %c1 - $+ %c5 1 coin each $+ %c1 - $+ %c6 Bow $+ %c1 - $+ %c4 Max hit 10
        msg $nick %c2 $+ Normal arrow $+ %c1 - $+ %c5 2 coin each $+ %c1 - $+ %c6 Bow $+ %c1 - $+ %c4 Max hit 40
        msg $nick %c2 $+ Powerful arrow $+ %c1 - $+ %c5 2 coin each $+ %c1 - $+ %c6 Large bow $+ %c1 - $+ %c4 Max hit 75
        msg $nick %c2 $+ Powerful arrow (P) $+ %c1 - $+ %c5 5 coin each $+ %c1 - $+ %c6 Great bow $+ %c1 - $+ %c4 Max hit 100 + 10 damage poison (per round)
        msg $nick %c2 $+ Diamond arrow $+ %c1 - $+ %c5 10 coin each $+ %c1 - $+ %c6 Ultimate bow $+ %c1 - $+ %c4 Max hit 150
        msg $nick %c2 $+ Diamond arrow (P+) $+ %c1 - $+ %c5 15 coin each $+ %c1 - $+ %c6 Ultimate bow $+ %c1 - $+ %c4 Max hit 200 + 20 damage poison (per round)
        msg $nick %c2 $+ Cursed arrow (P++) $+ %c1 - $+ %c5 30 coin each $+ %c1 - $+ %c6 Ultimate bow $+ %c1 - $+ %c4 Max hit 450 + 40 damage poison (per round) that can't be cured.
        timer [ $+ [ $nick $+ oth ] ] 1 180 set %nobuycommandother. [ $+ [ $nick ] ] 0
      }
      else { 
        notice $nick %c1 $+ Please wait $+ %c6 $timer($nick $+ oth).secs %c1 $+ seconds before using this command again.
      }
    }
  }
  else {
    notice $nick %c1 $+ You need to identify first! Type $+ %c3 /msg $me !id(entify) yourpass $+ %c1 $+ .
  }
}

;############################## LET'S BUY STUFF! ########################
on $*:text:/^[!`@.](buy)/Si:#DM-bank, #DM, #DM-shop: {
  setdmcolours
  if ($network != TundraIRC) {
    notice $nick %c1 $+ You only can do this on the great $+ %c3 TundraIRC network $+ %c1 $+ , Type $+ %c6 /server irc.TundraIRC.net $+ %c1 to get there.
    halt
  }
  if ($chan == #DM || $chan == #DM-bank) {
    notice $nick %c1 $+ You only can do this in $+ %c2 #DM-shop $+ %c1 .
    halt
  }
  if ($nick == %dm.player1 || $nick == %dm.player2) {
    notice $nick %c1 $+ You can't buy stuff during a fight!
    halt
  }
  if (%dmid. [ $+ [ $nick ] ] == 1) {
    if (!$3) .goto buymsg
    var %dm.amount = $remove($right($1-,6),$chr(32),a,b,c,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,+,$chr(40),$chr(41))
    if (%dm.amount == 0) {
      notice $nick %c1 $+ You can't buy $+ %c3 0 $+ %c1 of something.
      halt
    }
    if (%dm.amount isnum) {
      set %dm.item $remove($2-,1,2,3,4,5,6,7,8,9,0)
      set %dm.item $replace(%dm.item,$chr(32),_)
      if (%dmbuyfirsttime != 1) {
        set %dmbuyfirsttime 1
        setShop
      }
      set %dm.buyitem $read(dmshopitems.txt, w, %dm.item $+ *)
      if (%dm.buyitem) {
        if (%dmmoney. [ $+ [ $nick ] ] >= $calc($gettok(%dm.buyitem,2,64) * %dm.amount)) {
          set %dmwriteitem $replace(%dm.buyitem,$chr(32),_)
          set %dmwriteitem $gettok(%dmwriteitem,1,64)
          if ($readini(dminv.ini,$nick,%dmwriteitem) == $null) {
            inc %dminv. [ $+ [ $nick ] ]
            set %dm.amountt %dm.amount
          }
          else {
            set %dm.amountt $calc($readini(dminv.ini,$nick,%dmwriteitem) + %dm.amount)
          }
          if (%dminv. [ $+ [ $nick ] ] > 10) {
            dec %dminv. [ $+ [ $nick ] ] 
            notice $nick %c1 $+ Your inventory, which has $+ %c2 10 $+ %c1 slots, is full, you need to bank first. Join %c4 $+ #DM-bank $+ %c1 to do so.
            halt
          }
          writeini dminv.ini $nick %dmwriteitem %dm.amountt
          dec %dmmoney. [ $+ [ $nick ] ] $calc($gettok(%dm.buyitem,2,64) * %dm.amount)
          notice $nick %c1 $+ Congrats! You just bought $+ %c3 %dm.amount $+ %c4 $replace($gettok(%dm.buyitem,1,64),_,$chr(32)) $+ s %c1 $+ for $+ %c2 $calc($gettok(%dm.buyitem,2,64) * %dm.amount) coins $+ %c1 $+ . You now have $+ %c2 %dmmoney. [ $+ [ $nick ] ] coins $+ %c1 left.
          notice $nick %c1 $+ You now have a total of $+ %c3 %dm.amountt $+ %c4 $replace($gettok(%dm.buyitem,1,64),_,$chr(32)) $+ s $+ %c1 with you!
        }
        else {
          if (%dmmoney. [ $+ [ $nick ] ] == $null) {
            set %dmmoney. [ $+ [ $nick ] ] 0
          }
          notice $nick %c1 $+ Insufficient money. You need  $+ %c3 $calc($gettok(%dm.buyitem,2,64) * %dm.amount) coins $+ %c1 to buy $+ %c2 %dm.amount $gettok(%dm.buyitem,1,64) $+ s $+ %c1 $+ , while you only have $+ %c2 %dmmoney. [ $+ [ $nick ] ] coins $+ %c1 $+ .
        }
      }
      else {
        notice $nick %c1 $+ Sorry! We don't have %c3 $+ " $+ $replace(%dm.item,_,$chr(32)) $+ " $+ %c1 $+ . Maybe you spelled it wrong?
      }
    }
    else {
      :buymsg
      notice $nick %c1 $+ Please use $+ %c3 !buy <item> <amount(below 100000)> $+ %c1 $+ .
    }
  }
  else {
    notice $nick %c1 $+ You need to identify first! Type $+ %c3 /msg $me !id(entify) yourpass $+ %c1 $+ .
  }
}

;####################### SELL SELL SELL! #############################
on $*:text:/^[!`@.](sell)/Si:#DM-shop, #DM, #DM-bank: {
  setdmcolours
  if ($network != TundraIRC) {
    notice $nick %c1 $+ You only can do this on the great $+ %c3 TundraIRC network $+ %c1 $+ , Type $+ %c6 /server irc.TundraIRC.net $+ %c1 to get there.
    halt
  }
  if ($chan == #DM || $chan == #DM-bank) {
    notice $nick %c1 $+ You only can do this in $+ %c2 #DM-shop $+ %c1 .
    halt
  }
  if ($nick == %dm.player1 || $nick == %dm.player2) {
    notice $nick %c1 $+ You can't sell stuff during a fight!
    halt
  }
  if (%dmid. [ $+ [ $nick ] ] == 1) {
    if (!$3) .goto sellmsg
    set %dm.amount $remove($right($1-,6),$chr(32),a,b,c,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,+,$chr(40),$chr(41))
    if (%dm.amount == 0) {
      notice $nick %c1 $+ You can't sell $+ %c3 0 $+ %c1 of something.
      halt
    }
    if (%dm.amount isnum || $remove($right($1-,4),$chr(32)) == all) {
      set %dm.item $remove($2-,1,2,3,4,5,6,7,8,9,0,all)
      set %dm.item $replace(%dm.item,$chr(32),_)
      set %dm.sellitem $read(dmshopitems.txt, w, %dm.item $+ *)
      if (%dm.sellitem) {
        set %dmwriteitem $replace(%dm.sellitem,$chr(32),_)
        set %dmwriteitem $gettok(%dmwriteitem,1,64)
        if ($remove($right($1-,4),$chr(32)) == all) .set %dm.amount $readini(dminv.ini,$nick,%dmwriteitem)
        set %dm.amountt $calc($readini(dminv.ini,$nick,%dmwriteitem) - %dm.amount)
        if (!%dm.amount) {
          notice $nick %c1 $+ Sorry, you don't have any %c3 $+ $replace($gettok(%dm.sellitem,1,64),_,$chr(32)) $+ s %c1 $+ in your inventory, maybe in your bank?
          halt
        }
        if ($calc($readini(dminv.ini,$nick,%dmwriteitem) - %dm.amount) < 0) {
          set %dm.amountt 0
          notice $nick %c1 $+ Sorry! You don't have $+ %c2 %dm.amount %c3 $+ $replace($gettok(%dm.sellitem,1,64),_,$chr(32)) $+ s $+ %c1 on you, maybe on your bank?
          halt
        }
        elseif ($calc($readini(dminv.ini,$nick,%dmwriteitem) - %dm.amount) == 0) {
          dec %dminv. [ $+ [ $nick ] ]
          remini dminv.ini $nick %dmwriteitem
        }
        else {
          writeini dminv.ini $nick %dmwriteitem %dm.amountt
        }
        set %sellprice $calc((($gettok(%dm.sellitem,2,64) * 0.6) * %dm.amount) + 0.5)
        set %sellprice $gettok(%sellprice,1,46)
        inc %dmmoney. [ $+ [ $nick ] ] %sellprice
        notice $nick %c1 $+ Congrats! You just sold $+ %c3 %dm.amount $+ %c4 $replace($gettok(%dm.sellitem,1,64),_,$chr(32)) $+ s %c1 $+ for $+ %c2 %sellprice coins $+ %c1 $+ . You now have $+ %c2 %dmmoney. [ $+ [ $nick ] ] coins $+ %c1 $+ .
        notice $nick %c1 $+ You now have a total of $+ %c3 %dm.amountt $+ %c4 $replace($gettok(%dm.sellitem,1,64),_,$chr(32)) $+ s $+ %c1 with you!
      }
      else {
        notice $nick %c1 $+ Sorry! You don't have %c3 $+ " $+ $replace(%dm.item,_,$chr(32)) $+ " $+ %c1 on you. Maybe you spelled it wrong?
      }
    }
    else {
      :sellmsg
      notice $nick %c1 $+ Please use $+ %c3 !sell <item> <amount(below 100000)> $+ %c1 $+ .
    }
  }
  else {
    notice $nick %c1 $+ You need to identify first! Type $+ %c3 /msg $me !id(entify) yourpass $+ %c1 $+ .
  }
}

;################## WHAT DO YOU HAVE? ############################
on $*:text:/^[!@`.](money|cash)/Si:#DM-shop, #DM, #DM-bank: {
  setdmcolours
  if ($network != TundraIRC) {
    notice $nick %c1 $+ You only can do this on the great $+ %c3 TundraIRC network $+ %c1 $+ , Type $+ %c6 /server irc.TundraIRC.net $+ %c1 to get there.
    halt
  }
  if ($chan == #DM) {
    notice $nick %c1 $+ You only can do this in $+ %c2 #DM-bank $+ %c1 and $+ %c2 #DM-shop $+ %c1 .
    halt
  }
  if (%dmid. [ $+ [ $nick ] ] == 1) {
    if (%dmmoney. [ $+ [ $nick ] ]) {
      notice $nick %c1 $+ You currently have $+ %c3 %dmmoney. [ $+ [ $nick ] ] coins $+ %c1 $+ .
    }
    else {
      set %dmmoney. [ $+ [ $nick ] ] 0
      notice $nick %c1 $+ You currently have $+ %c3 0 coins $+ %c1 $+ .
    }
  }
  else {
    notice $nick %c1 $+ You need to identify first! Type $+ %c3 /msg $me !id(entify) yourpass $+ %c1 $+ .
  }
}

;#################### INVENTORY ############################
on $*:text:/^[`!@.](inv((ent(ory)?)?)?|on)/Si:#DM, #DM-shop, #DM-bank: {
  setdmcolours
  if ($network != TundraIRC) {
    notice $nick %c1 $+ You only can do this on the great $+ %c3 TundraIRC network $+ %c1 $+ , Type $+ %c6 /server irc.TundraIRC.net $+ %c1 to get there.
    halt
  }
  if (!%showinv. [ $+ [ $nick ] ]) {
    set %showinv. [ $+ [ $nick ] ] 1
    if ($read(dminv.ini, w, * $+ $nick $+ *)) {
      if (%dminv. [ $+ [ $nick ] ] >= 10) .set %dminv. [ $+ [ $nick ] ] 10
      msg $nick %c3 $+ In your inventory you have $+ %c1 ( $+ %c4 %dminv. [ $+ [ $nick ] ] $+ %c6 / $+ %c4 10 $+ %c1 items ) $+ %c3 $+ :
      set %dmslots 0
      set %dmplaymsg 1
      play -at $+ $nick dmplayway $nick dminv.ini 500
    }
    else {
      notice $nick %c1 $+ You don't have anything with you at the moment.
    }
    timerinv [ $+ [ $nick ] ] 1 300 unset %showinv. [ $+ [ $nick ] ] 
  }
  else {
    notice $nick %c1 $+ Please wait $+ %c6 $timer(inv $+ $nick).secs $+ %c1 seconds before using this command again.
  }
}

;############################## LET'S BANK DA SHIT! #######################
on $*:text:/^[!`.@](bank|store)/Si:#DM-bank, #DM, #DM-shop: {
  setdmcolours
  if ($network != TundraIRC) {
    notice $nick %c1 $+ You only can do this on the great $+ %c3 TundraIRC network $+ %c1 $+ , Type $+ %c6 /server irc.TundraIRC.net $+ %c1 to get there.
    halt
  }
  if ($chan == #DM || $chan == #DM-shop) {
    notice $nick %c1 $+ You only can do this in $+ %c2 #DM-bank $+ %c1 .
    halt
  }
  if ($nick == %dm.player1 || $nick == %dm.player2) {
    notice $nick %c1 $+ You can't bank stuff during a fight!
    halt
  }
  if (%dmid. [ $+ [ $nick ] ] == 1) {
    if (!$2) {
      if (!%showbank. [ $+ [ $nick ] ]) {
        set %showbank. [ $+ [ $nick ] ] 1
        if ($read(dmbank.ini, w, * $+ $nick $+ *)) {
          msg $nick %c3 $+ On your bank you have $+ %c1 ( $+ %c4 %dmbank. [ $+ [ $nick ] ] $+ %c1 items ) $+ %c3 $+ :
          play -at $+ $nick dmplayway $nick dmbank.ini 500
          halt
        }
        else {
          notice $nick %c1 $+ You don't have anything on your bank at the moment.
          halt
        }
        timerbank [ $+ [ $nick ] ] 1 300 unset %showbank. [ $+ [ $nick ] ] 
      }
      else {
        notice $nick %c1 $+ Please wait $+ %c6 $timer(bank $+ $nick).secs $+ %c1 seconds before using this command again.
      }
    }
    if (!$3) .goto bankmsg
    set %dm.amount $remove($right($1-,6),$chr(32),a,b,c,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,+,$chr(40),$chr(41))
    if (%dm.amount == 0) {
      notice $nick %c1 $+ You can't bank $+ %c3 0 $+ %c1 of something.
      halt
    }
    if (%dm.amount isnum || $remove($right($1-,4),$chr(32)) == all) {
      set %dm.item $remove($2-,1,2,3,4,5,6,7,8,9,0,all)
      set %dm.item $replace(%dm.item,$chr(32),_)
      set %dm.bankitem $read(dmshopitems.txt, w, %dm.item $+ *)
      if (%dm.bankitem) {
        set %dmwriteitem $replace(%dm.bankitem,$chr(32),_)
        set %dmwriteitem $gettok(%dmwriteitem,1,64)
        if ($remove($right($1-,4),$chr(32)) == all) .set %dm.amount $readini(dminv.ini,$nick,%dmwriteitem)
        if (!%dm.amount) {
          notice $nick %c1 $+ Sorry, you don't have any %c3 $+ $replace($gettok(%dm.bankitem,1,64),_,$chr(32)) $+ s %c1 $+ in your inventory.
          halt
        }
        set %dm.amountt $calc($readini(dminv.ini,$nick,%dmwriteitem) - %dm.amount)
        if ($calc($readini(dminv.ini,$nick,%dmwriteitem) - %dm.amount) < 0) {
          set %dm.amountt 0
          notice $nick %c1 $+ Sorry! You don't have $+ %c2 %dm.amount %c3 $+ $replace($gettok(%dm.bankitem,1,64),_,$chr(32)) $+ s $+ %c1 on you, maybe on your bank?
          halt
        }
        elseif ($calc($readini(dminv.ini,$nick,%dmwriteitem) - %dm.amount) == 0) {
          dec %dminv. [ $+ [ $nick ] ]
          remini dminv.ini $nick %dmwriteitem
        }
        else {
          writeini dminv.ini $nick %dmwriteitem %dm.amountt
        }
        if ($readini(dmbank.ini,$nick,%dmwriteitem) == $null) {
          set %dm.amounttt %dm.amount
          inc %dmbank. [ $+ [ $nick ] ]
        }
        else {
          set %dm.amounttt $calc($readini(dmbank.ini,$nick,%dmwriteitem) + %dm.amount)
        }
        writeini dmbank.ini $nick %dmwriteitem %dm.amounttt
        notice $nick %c1 $+ Congrats! You just banked $+ %c3 %dm.amount $+ %c4 $replace($gettok(%dm.bankitem,1,64),_,$chr(32)) $+ s $+ %c1 $+ .
        notice $nick %c1 $+ You now have a total of $+ %c3 %dm.amountt $+ %c4 $replace($gettok(%dm.bankitem,1,64),_,$chr(32)) $+ s $+ %c1 with you and $+ %c3 %dm.amounttt $+ %c1 on your bank.
      }
      else {
        notice $nick %c1 $+ Sorry! You don't have %c3 $+ " $+ $replace(%dm.item,_,$chr(32)) $+ " $+ %c1 on you. Maybe you spelled it wrong?
      }
    }
    else {
      :bankmsg
      notice $nick %c1 $+ Please use $+ %c3 !bank <item> <amount (below 100000)> $+ %c1 $+ .
    }
  }
  else {
    notice $nick %c1 $+ You need to identify first! Type $+ %c3 /msg $me !id(entify) yourpass $+ %c1 $+ .
  }
}

;############################ WITHDRAW YA JUNK ############################
on $*:text:/^[!`.@](with(d(raw)?)?)/Si:#DM-bank, #DM, #DM-shop: {
  setdmcolours
  if ($network != TundraIRC) {
    notice $nick %c1 $+ You only can do this on the great $+ %c3 TundraIRC network $+ %c1 $+ , Type $+ %c6 /server irc.TundraIRC.net $+ %c1 to get there.
    halt
  }
  if ($chan == #DM || $chan == #DM-shop) {
    notice $nick %c1 $+ You only can do this in $+ %c2 #DM-bank $+ %c1 .
    halt
  }
  if ($nick == %dm.player1 || $nick == %dm.player2) {
    notice $nick %c1 $+ You withdraw buy stuff during a fight!
    halt
  }
  if (%dmid. [ $+ [ $nick ] ] == 1) {
    if (!$3) .goto withdrawmsg
    if (%dminv. [ $+ [ $nick ] ] >= 10) {
      dec %dminv. [ $+ [ $nick ] ] 
      notice $nick %c1 $+ Your inventory, which has $+ %c2 10 $+ %c1 slots, is full, you need to bank first. Join %c4 $+ #DM-bank $+ %c1 to do so.
      halt
    }
    set %dm.amount $remove($right($1-,6),$chr(32),a,b,c,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,+,$chr(40),$chr(41))
    if (%dm.amount == 0) {
      notice $nick %c1 $+ You can't withdraw $+ %c3 0 $+ %c1 of something.
      halt
    }
    if (%dm.amount isnum || $remove($right($1-,4),$chr(32)) == all) {
      set %dm.item $remove($2-,1,2,3,4,5,6,7,8,9,0,all)
      set %dm.item $replace(%dm.item,$chr(32),_)
      set %dm.withdrawitem $read(dmshopitems.txt, w, %dm.item $+ *)
      if (%dm.withdrawitem) {
        set %dmwriteitem $replace(%dm.withdrawitem,$chr(32),_)
        set %dmwriteitem $gettok(%dmwriteitem,1,64)
        if ($remove($right($1-,4),$chr(32)) == all) .set %dm.amount $readini(dmbank.ini,$nick,%dmwriteitem)
        if (!%dm.amount) {
          notice $nick %c1 $+ Sorry, you don't have any %c3 $+ $replace($gettok(%dm.withdrawitem,1,64),_,$chr(32)) $+ s %c1 $+ on your bank.
          halt
        }
        set %dm.amountt $calc($readini(dmbank.ini,$nick,%dmwriteitem) - %dm.amount)
        if ($calc($readini(dmbank.ini,$nick,%dmwriteitem) - %dm.amount) < 0) {
          set %dm.amountt 0
          notice $nick %c1 $+ Sorry! You don't have $+ %c2 %dm.amount %c3 $+ $replace($gettok(%dm.withdrawitem,1,64),_,$chr(32)) $+ s $+ %c1 on your bank.
          halt
        }
        elseif ($calc($readini(dmbank.ini,$nick,%dmwriteitem) - %dm.amount) == 0) {
          dec %dmbank. [ $+ [ $nick ] ]
          remini dmbank.ini $nick %dmwriteitem
        }
        else {
          writeini dmbank.ini $nick %dmwriteitem %dm.amountt
        }
        if ($readini(dminv.ini,$nick,%dmwriteitem) == $null) {
          set %dm.amounttt %dm.amount
          inc %dminv. [ $+ [ $nick ] ]
        }
        else {
          set %dm.amounttt $calc($readini(dminv.ini,$nick,%dmwriteitem) + %dm.amount)
        }
        writeini dminv.ini $nick %dmwriteitem %dm.amounttt
        notice $nick %c1 $+ Congrats! You just withdrawed $+ %c3 %dm.amount $+ %c4 $replace($gettok(%dm.withdrawitem,1,64),_,$chr(32)) $+ s $+ %c1 $+ .
        notice $nick %c1 $+ You now have a total of $+ %c3 %dm.amountt $+ %c4 $replace($gettok(%dm.withdrawitem,1,64),_,$chr(32)) $+ s $+ %c1 on your bank and $+ %c3 %dm.amounttt $+ %c1 with you.
      }
      else {
        notice $nick %c1 $+ Sorry! You don't have %c3 $+ " $+ $replace(%dm.item,_,$chr(32)) $+ " $+ %c1 on your bank. Maybe you spelled it wrong?
      }
    }
    else {
      :withdrawmsg
      notice $nick %c1 $+ Please use $+ %c3 !withdraw <item> <amount (below 100000)> $+ %c1 $+ .
    }
  }
  else {
    notice $nick %c1 $+ You need to identify first! Type $+ %c3 /msg $me !id(entify) yourpass $+ %c1 $+ .
  }
}

;##########################################################################
;#######################---NOW.... LET'S FIGHT!!---########################
;##########################################################################

;########################## EQUIP ITEMS ###################################
on $*:TEXT:/^[!`@.](equip(p)?(ed)?|wear)/Si:#DM, #DM-bank, #DM-shop: {
  set %dmturnnick $nick 
  if ($network != TundraIRC) {
    notice $nick %c1 $+ You only can do this on the great $+ %c3 TundraIRC network $+ %c1 $+ , Type $+ %c6 /server irc.TundraIRC.net $+ %c1 to get there.
    halt
  }
  if ($chan == #DM-bank || $chan == #DM-shop) {
    notice $nick %c1 $+ You only can do this in $+ %c2 #DM $+ %c1 .
    halt
  }
  if (%dmid. [ $+ [ $nick ] ] == 1) {
    if (%dm.status == on) {
      if (!$2) {
        if (!%dmweapon. [ $+ [ $nick ] ]) .set %dmweapon. [ $+ [ $nick ] ] "piece of air"
        notice $nick %c1 $+ You currently have a $+ %c5 %dmweapon. [ $+ [ $nick ] ] $+ %c1 equipped.
        halt
      }
      if ($2- == %dmweapon. [ $+ [ $nick ] ]) {
        notice $nick %c1 $+ You already have a $+ %c5 %dmweapon. [ $+ [ $nick ] ] $+ %c1 equipped.
        halt
      }
      unset %unequip
      if (%dmweapon. [ $+ [ $nick ] ]) {
        set %unequip %dmweapon. [ $+ [ $nick ] ]
        if (%unequip == "piece of air") { unset %unequip }
      }

      set %weaprequest $replace($2-,$chr(32),_)
      set %dm.equipitem $read(dmshopitems.txt, w, %weaprequest $+ *)
      if ($replace(%dmweapon. [ $+ [ $nick ] ],$chr(32),_) == $gettok(%dm.equipitem,1,64)) {
        notice $nick %c1 $+ You already have a $+ %c5 %dmweapon. [ $+ [ $nick ] ] $+ %c1 equipped.
        halt
      }
      if (%dm.equipitem) {
        set %dmweapclass. [ $+ [ $nick ] ] $gettok(%dm.equipitem,3,64)
        if (%dmweapclass. [ $+ [ $nick ] ] != %dmclass. [ $+ [ $nick ] ]) {
          notice $nick %c1 $+ You only can equip weapons that belong to your class, $+ %c3 %dmclass. [ $+ [ $nick ] ] $+ %c1 $+ .
          halt 
        }
        set %dmcheckweap $gettok($replace(%dm.equipitem,$chr(32),_),1,64)
        if ($readini(dminv.ini,$nick,%dmcheckweap)) { 
          if ($gettok(%dm.equipitem,3,64) == melee || $gettok(%dm.equipitem,3,64) == range || $gettok(%dm.equipitem,3,64) == mage) {
            set %dmweapon. [ $+ [ $nick ] ] $replace(%dm.equipitem,_,$chr(32))
            set %dmweapon. [ $+ [ $nick ] ] $gettok(%dmweapon. [ $+ [ $nick ] ],1,64)
            writeini dminv.ini $nick $gettok(%dm.equipitem,1,64) $calc($readini(dminv.ini,$nick,$gettok(%dm.equipitem,1,64)) - 1)
            var %amountleft = $readini(dminv.ini,$nick,$gettok(%dm.equipitem,1,64))
            if (%amountleft <= 0) { 
              remini dminv.ini $nick $gettok(%dm.equipitem,1,64)
              dec %dminv. [ $+ [ $nick ] ]
            }
            if ($gettok(%dm.equipitem,3,64) == melee) {
              if (%dmlvl. [ $+ [ $nick ] ] >= $gettok(%dm.equipitem,5,64)) {
                if (%unequip) {
                  msg %dm.chan %c2 $+ %dmturnnick %c1 $+ un-equips his $+ %c5 %unequip $+ %c1 $+ .
                  if (%lastequipped. [ $+ [ $nick ] ]) { 
                    writeini dminv.ini $nick $gettok(%lastequipped. [ $+ [ $nick ] ],1,64) $calc($readini(dminv.ini,$nick,$gettok(%lastequipped. [ $+ [ $nick ] ],1,64)) + 1) 
                    var %amountnow = $readini(dminv.ini,$nick,$gettok(%lastequipped. [ $+ [ $nick ] ],1,64))
                  }
                  else {
                    var %amountnow == 1)
                  }
                  if (%amountnow == 1) .inc %dminv. [ $+ [ $nick ] ]
                }
                set %dmweapmax. [ $+ [ $nick ] ] $gettok($replace(%dm.equipitem,$chr(32),_),4,64)
                msg %dm.chan %c2 $+ %dmturnnick %c1 $+ equipped a $+ %c5 %dmweapon. [ $+ [ $nick ] ] $+ %c1 $+ , which has a max hit of $+ %c3 %dmweapmax. [ $+ [ $nick ] ] $+ %c1 $+ .
                set %lastequipped. [ $+ [ $nick ] ] $gettok(%dm.equipitem,1,64)
              }
              else {
                notice $nick %c1 $+ Sorry, you need to be at least $+ %c4 level $gettok(%dm.equipitem,5,64) $+ %c1 to equip a $+ %c5 %dmweapon. [ $+ [ $nick ] ] $+ %c1 $+ , while you only are level $+ %c6 %dmlvl. [ $+ [ $nick ] ] $+ %c1 $+ .
                unset %dmweapon. [ $+ [ $nick ] ]
              }
            }
            elseif ($gettok(%dm.equipitem,3,64) == range) {
              if (%unequip) {
                msg %dm.chan %c2 $+ %dmturnnick %c1 $+ un-equips his $+ %c5 %unequip $+ %c1 $+ .
                if (%lastequipped. [ $+ [ $nick ] ]) {
                  writeini dminv.ini $nick $gettok(%lastequipped. [ $+ [ $nick ] ],1,64) $calc($readini(dminv.ini,$nick,$gettok(%lastequipped. [ $+ [ $nick ] ],1,64)) + 1)
                  var %amountnow = $readini(dminv.ini,$nick,$gettok(%lastequipped. [ $+ [ $nick ] ],1,64))
                }
                else {
                  var %amountnow = 1
                }
                if (%amountnow == 1) .inc %dminv. [ $+ [ $nick ] ]
              }
              set %dmweaparrows. [ $+ [ $nick ] ] $gettok($replace(%dm.equipitem,$chr(32),_),4,64)
              msg %dm.chan %c2 $+ %dmturnnick %c1 $+ equipped a $+ %c5 %dmweapon. [ $+ [ $nick ] ] $+ %c1 $+ .
              set %lastequipped. [ $+ [ $nick ] ] $gettok(%dm.equipitem,1,64)
            }
            elseif ($gettok(%dm.equipitem,3,64) == mage) {
              set %dmweapextra. [ $+ [ $nick ] ] $gettok($replace(%dm.equipitem,$chr(32),_),4,64)
              if (%dmweapextra. [ $+ [ $nick ] ] < 0) .set %dmextramage decreases
              if (%dmweapextra. [ $+ [ $nick ] ] > 0) .set %dmextramage increases
              if (%unequip) {
                msg %dm.chan %c2 $+ %dmturnnick %c1 $+ un-equips his $+ %c5 %unequip $+ %c1 $+ .
                if (%lastequipped. [ $+ [ $nick ] ]) {
                  writeini dminv.ini $nick $gettok(%lastequipped. [ $+ [ $nick ] ],1,64) $calc($readini(dminv.ini,$nick,$gettok(%lastequipped. [ $+ [ $nick ] ],1,64)) + 1)
                  var %amountnow = $readini(dminv.ini,$nick,$gettok(%lastequipped. [ $+ [ $nick ] ],1,64))
                }
                else {
                  var %amountnow = 1
                }
                if (%amountnow == 1) .inc %dminv. [ $+ [ $nick ] ]
              }
              set %lastequipped. [ $+ [ $nick ] ] $gettok(%dm.equipitem,1,64)
              msg %dm.chan %c2 $+ %dmturnnick %c1 $+ equipped a $+ %c5 %dmweapon. [ $+ [ $nick ] ] $+ %c1 $+ , which %dmextramage his spells max hit with $remove(%dmweapextra. [ $+ [ $nick ] ],-) $+ % $+ %c1 $+ .
              set %mayunequip. [ $+ [ $nick ] ] 1
            }
          }
          else {
            notice $nick %c1 $+ You can't equip a $+ %c3 $replace(%dmcheckweap,_,$chr(32)) $+ %c1 $+ .
          }
        } 
        else { 
          notice $nick %c1 $+ You dont have a $+ %c5 $replace(%dmcheckweap,_,$chr(32)) $+ %c1 $+ !
        }
      }
      else {
        notice $nick %c1 $+ Sorry! You don't have %c3 $+ " $+ $replace(%weaprequest,_,$chr(32)) $+ " $+ %c1 in your inventory. Maybe you spelled it wrong?
      }
    }
    else {
      notice $nick %c1 $+ You can only use this command when fighting.
    }
  }
  else {
    notice $nick %c1 $+ You need to identify first! Type $+ %c3 /msg $me !id(entify) yourpass $+ %c1 $+ .
  }
}

;########################### EQUIP ARROWS ################################
on $*:TEXT:/^[!`@.](arrow)/Si:#DM, #DM-bank, #DM-shop: { 

  ;+++BASIC+++
  if ($network != TundraIRC) {
    notice $nick %c1 $+ You only can do this on the great $+ %c3 TundraIRC network $+ %c1 $+ , Type $+ %c6 /server irc.TundraIRC.net $+ %c1 to get there.
    halt
  }
  if ($chan == #DM-bank || $chan == #DM-shop) {
    notice $nick %c1 $+ You only can do this in $+ %c2 #DM $+ %c1 .
    halt
  }
  if (%dmid. [ $+ [ $nick ] ] == 1) {
    if (%dm.status == on) {
      if (!$2) {
        if (!%dmarrow. [ $+ [ $nick ] ]) {
          notice $nick %c1 You currently have $+ %c2 the basic arrows ( $+ %c4 $+ Max hit: $+ %c6 5 $+ %c2 $+ ) $+ %c1 equipped.
        }
        if (!%dmarrow.amount. [ $+ [ $nick ] ]) .set %dmarrow.amount. [ $+ [ $nick ] ] 0
        notice $nick %c1 $+ You currently have $+ %c3 %dmarrow.amount. [ $+ [ $nick ] ] $+ %c5 $gettok(%dmarrow. [ $+ [ $nick ] ],1,64) $+ s $+ %c1 equipped.
        halt
      }
      ;+++ CHANGES  '!arrow weak arrow all/num' in 'weak_arrow' +++
      set %weaprequest $replace($2-,$chr(32),_)
      set %weaprequest $remove(%weaprequest,1,2,3,4,5,6,7,8,9,0,all)

      ;+++ GETS FULL NAME/DATA OF ITEM: 'weak' becomes 'weak_arrow@price@arrow@bow@hit' +++
      set %dm.equipitem $read(dmshopitems.txt, w, %weaprequest $+ *)

      ;+++ CHECKS IF THE ARROW YOU TRY TO EQUIP IS THE SAME AS THE ONE THAT IS EQUIPPED. IF YES, GOTO :CHECKBOW +++
      if ($gettok($replace(%dmarrow. [ $+ [ $nick ] ],$chr(32),_),1,64) == $gettok(%dm.equipitem,1,64)) {
        unset %unequip2
        goto checkbow
      }

      ;+++ IF IT ISNT, TELLS IT HAVE TO UN-EQUIP THE OLD ARROW +++
      if (%dmarrow. [ $+ [ $nick ] ]) {
        unset %dmarrow.amount. [ $+ [ $nick ] ]
        set %unequip2 %dmarrow. [ $+ [ $nick ] ]
      }

      ;+++ CHECKS IF THE ITEM GIVEN IS AN ARROW +++
      set %dmweapclass. [ $+ [ $nick ] ] $gettok(%dm.equipitem,3,64)
      if (!%dmweapclass. [ $+ [ $nick ] ] || %dmweapclass. [ $+ [ $nick ] ] == melee || %dmweapclass. [ $+ [ $nick ] ] == range || %dmweapclass. [ $+ [ $nick ] ] == mage || %dmweapclass. [ $+ [ $nick ] ] == spell) { goto sorrymsg }
      if (%dmweapclass. [ $+ [ $nick ] ] != arrow) {
        notice $nick %c1 $+ You only can equip arrows with the ranger class, while you have $+ %c3 %dmclass. [ $+ [ $nick ] ] $+ %c1 $+ .
        halt 
      }

      ;+++ START :CHECKBOW - CHECKS IF AN AMOUNT IS GIVEN +++
      :checkbow
      set %dmarrow.amount $remove($right($1-,5),$chr(32),a,b,c,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,+,$chr(40),$chr(41))
      if (!%dmarrow.amount) {
        notice $nick %c1 $+ Please specify a number, $+ %c2 below 10000 $+ %c1 $+ , of arrows you want to equip.
        halt
      }

      ;+++ IF THE ITEM GIVIN EXISTS, CONTINUE, ELSE GOTO :SORRYMSG +++
      if (!%dm.equipitem) .goto sorrymsg
      if (%dm.equipitem) {

        ;+++ INCREASE THE CURRENT ARROW AMOUNT BY THE GIVEN +++ 
        inc %dmarrow.amount. [ $+ [ $nick ] ] %dmarrow.amount

        ;+++ CHANGES 'weak_arrow@price@arrow@bow@hit' in 'weak arrow' +++
        set %dmcheckweap $gettok($replace(%dm.equipitem,$chr(32),_),1,64)

        ;+++ IF YOU HAVE THE ARROW +++
        if ($readini(dminv.ini,$nick,$gettok(%dm.equipitem,1,64))) { 

          ;+++ CHANGES 'weak_arrow' TO 'weak arrow' +++
          set %dmarrow. [ $+ [ $nick ] ] $replace(%dm.equipitem,_,$chr(32))

          ;+++ TELLS WHAT BOW YOU NEED +++
          set %reqbow $gettok(%dm.equipitem,4,64)
          set %reqbow $replace(%reqbow,_,$chr(32))

          ;+++ CHECKS IF YOU HAVEN'T THE CORRECT BOW EQUIPPED +++
          if (%reqbow == bow && %dmweapon. [ $+ [ $nick ] ] != bow && %dmweapon. [ $+ [ $nick ] ] != large bow && %dmweapon. [ $+ [ $nick ] ] != great bow && %dmweapon. [ $+ [ $nick ] ] != ultimate bow && %dmweapon. [ $+ [ $nick ] ] != triple arrowed bow) {
            notice $nick %c1 $+ You need a $+ %c5 bow $+ %c2 or higher $+ %c1 equipped, $+ %c1 to use $+ %c6 $replace($gettok(%dm.equipitem,1,64),_,$chr(32)) $+ s $+ %c1 $+ .
            dec %dmarrow.amount. [ $+ [ $nick ] ] %dmarrow.amount
            halt
          }
          elseif (%reqbow == large bow && %dmweapon. [ $+ [ $nick ] ] != large bow && %dmweapon. [ $+ [ $nick ] ] != great bow && %dmweapon. [ $+ [ $nick ] ] != ultimate bow && %dmweapon. [ $+ [ $nick ] ] != triple arrowed bow) {
            notice $nick %c1 $+ You need a $+ %c5 Large bow $+ %c2 or higher $+ %c1 equipped, $+ %c1 to use $+ %c6 $replace($gettok(%dm.equipitem,1,64),_,$chr(32)) $+ s $+ %c1 $+ .
            dec %dmarrow.amount. [ $+ [ $nick ] ] %dmarrow.amount            
            halt
          }
          elseif (%reqbow == great bow && %dmweapon. [ $+ [ $nick ] ] != great bow && %dmweapon. [ $+ [ $nick ] ] != ultimate bow && %dmweapon. [ $+ [ $nick ] ] != triple arrowed bow) {
            notice $nick %c1 $+ You need a $+ %c5 Great bow $+ %c2 or higher $+ %c1 equipped, $+ %c1 to use $+ %c6 $replace($gettok(%dm.equipitem,1,64),_,$chr(32)) $+ s $+ %c1 $+ .
            dec %dmarrow.amount. [ $+ [ $nick ] ] %dmarrow.amount           
            halt
          }
          elseif (%reqbow == ultimate bow && %dmweapon. [ $+ [ $nick ] ] != ultimate bow && %dmweapon. [ $+ [ $nick ] ] != triple arrowed bow) {
            notice $nick %c1 $+ You need an $+ %c5 Ultimate bow $+ %c2 or higher $+ %c1 equipped, $+ %c1 to use $+ %c6 $replace($gettok(%dm.equipitem,1,64),_,$chr(32)) $+ s $+ %c1 $+ .
            dec %dmarrow.amount. [ $+ [ $nick ] ] %dmarrow.amount           
            halt
          }

          ;+++ IF YOU ARE WIELDING THE CORRECT BOW +++
          else {
            if ($calc($readini(dminv.ini,$nick,$gettok(%dm.equipitem,1,64)) - %dmarrow.amount) < 0) {
              set %amountyouhave $readini(dminv.ini,$nick,$gettok(%dm.equipitem,1,64))
              if (!%amountyouhave) .set %amountyouhave 0
              notice $nick %c1 $+ Sorry, you don't have $+ %c3 %dmarrow.amount $+ %c5 $gettok(%dmarrow. [ $+ [ $nick ] ],1,64) $+ s $+ %c1 $+ . You only have $+ %c3 %amountyouhave $+ %c5 $gettok(%dmarrow. [ $+ [ $nick ] ],1,64) $+ s $+ %c1 $+ .
              halt
            }
            elseif $calc($readini(dminv.ini,$nick,$gettok(%dm.equipitem,1,64)) - %dmarrow.amount) == 0) {
              remini dminv.ini $nick $gettok(%dm.equipitem,1,64)
              dec %dminv. [ $+ [ $nick ] ]
            }
            set %amountleft $calc($readini(dminv.ini,$nick,$gettok(%dm.equipitem,1,64)) - %dmarrow.amount)
            if (%amountleft <= 0) { 
              remini dminv.ini $nick $gettok(%dm.equipitem,1,64)
              dec %dminv. [ $+ [ $nick ] ]
            }
            else {
              writeini dminv.ini $nick $gettok(%dm.equipitem,1,64) %amountleft
              inc %dminv. [ $+ [ $nick ] ]
            }
            if (%unequip2) {
              msg %dm.chan %c2 $+ %dmturnnick %c1 $+ un-equips his $+ %c5 $gettok(%unequip2,1,64) $+ s $+ %c1 $+ .
              set %oldamount $readini(dminv.ini,$nick,$gettok(%lastequipped2. [ $+ [ $nick ] ],1,64))
              set %plusamount %lastarrowamount. [ $+ [ $nick ] ]
              set %newamount $calc(%oldamount + %plusamount)
              if (%lastequipped2. [ $+ [ $nick ] ]) {
                writeini dminv.ini $nick $gettok(%lastequipped2. [ $+ [ $nick ] ],1,64) %newamount
                var %amountnow = $readini(dminv.ini,$nick,$gettok(%lastequipped2. [ $+ [ $nick ] ],1,64))
              }
              else {
                var %amountnow = 1
              }
            }
            if ($gettok($replace(%dm.equipitem,$chr(32),_), 6, 64) == P) { set %addextra , and has $+ %c6 10 $+ %c1 damage poison. }
            elseif ($gettok($replace(%dm.equipitem,$chr(32),_), 6, 64) == P+) { set %addextra , and has $+ %c6 20 $+ %c1 damage poison. }
            elseif ($gettok($replace(%dm.equipitem,$chr(32),_), 6, 64) == P++) { set %addextra , and has $+ %c6 40 $+ %c1 damage poison, that can't be cured. }
            else { set %addextra . } 
            set %lastequipped2. [ $+ [ $nick ] ] $gettok(%dm.equipitem,1,64)
            set %lastarrowamount. [ $+ [ $nick ] ] %dmarrow.amount. [ $+ [ $nick ] ]
            set %dmarrowmax. [ $+ [ $nick ] ] $gettok($replace(%dm.equipitem,$chr(32),_),5,64)
            msg %dm.chan %c2 $+ %dmturnnick %c1 $+ equips $+ %c3 %dmarrow.amount $+ %c5 $gettok(%dmarrow. [ $+ [ $nick ] ],1,64) $+ s $+ %c1 $+ , which can max hit $+ %c3 %dmarrowmax. [ $+ [ $nick ] ] $+ %c1 $+ %addextra
          }
        } 

        ;+++ IF YOU DON'T HAVE THE ARROW +++
        else { 
          notice $nick %c1 $+ You dont have a $+ %c5 $replace(%dmcheckweap,_,$chr(32)) $+ %c1 $+ !
        }
      }
      else {
        :sorrymsg
        notice $nick %c1 $+ Sorry! You don't have %c3 $+ " $+ $replace(%weaprequest,_,$chr(32)) $+ " $+ %c1 in your inventory. Maybe you spelled it wrong?
      }
    }
    else {
      notice $nick %c1 $+ You can only use this command when fighting.
    }
  }
  else {
    notice $nick %c1 $+ You need to identify first! Type $+ %c3 /msg $me !id(entify) yourpass $+ %c1 $+ .
  }
}

;########################### UNEQUIP ####################################
on $*:text:/^[!`@.](un(eq(uip)?)|wear)/Si:#DM, #DM-shop, #DM-bank: {
  if ($network != TundraIRC) {
    notice $nick %c1 $+ You only can do this on the great $+ %c3 TundraIRC network $+ %c1 $+ , Type $+ %c6 /server irc.TundraIRC.net $+ %c1 to get there.
    halt
  }
  if ($chan == #DM-bank || $chan == #DM-shop) {
    notice $nick %c1 $+ You only can do this in $+ %c2 #DM $+ %c1 .
    halt
  }
  if (%dmid. [ $+ [ $nick ] ] == 1) {
    if (%dm.status == on && ($nick == %dm.player1 || $nick == %dm.player2)) {
      if (!%dmweapon. [ $+ [ $nick ] ] || piece isin %dmweapon. [ $+ [ $nick ] ]) {
        notice $nick %c1 $+ You don't have anything equipped!
        halt
      }
      set %dmwriteitemfight $replace(%dmweapon. [ $+ [ $nick ] ],Chr(32),_)
      var %checkitemfight = $readini(dminv.ini,$nick,$replace(%dmwriteitemfight,$chr(32),_))
      if (%dminv. [ $+ [ $nick ] ] >= 10 && !%checkitemfight) {
        notice $nick %c1 $+ Your inventory is full!
        halt
      }
      msg %dm.chan %c2 $+ $nick $+ %c1 Unequips his $+ %c4 %dmweapon. [ $+ [ $nick ] ] $+ %c1 $+ , which means he now is unarmed.
      if ($readini(dminv.ini,$nick,$replace(%dmwriteitemfight,$chr(32),_))) .inc %dminv. [ $+ [ $nick ] ]
      unset %mayunequip. [ $+ [ $nick ] ]
      unset %dmweapon. [ $+ [ $nick ] ]
      unset %lastequipped. [ $+ [ $nick ] ]
      set %oldamountfight $readini(dminv.ini,$nick,$replace(%dmwriteitemfight,$chr(32),_))
      writeini dminv.ini $nick $replace(%dmwriteitemfight,$chr(32),_) $calc(%oldamountfight + 1)
    }
    else {
      notice $nick %c1 $+ You can only use this command when fighting.
    }
  }
  else {
    notice $nick %c1 $+ You need to identify first! Type $+ %c3 /msg $me !id(entify) yourpass $+ %c1 $+ .
  }
}


;######################## ATTACK - MELEE ################################
on $*:text:/^[?!@`.](at(t)?(ack)?|hit)/Si:#DM: {
  if (%dm.status == ON) {
    if ($nick == %dm.player1) {
      timerturnswitch off
      timerstopdm off
      if (%dmfreeze. [ $+ [ $nick ] ] >= 0 ) {
        msg %dm.chan %c1 $+ %dm.player1 $+ %c1 Tries to attack but he can't reach $+ %c2 %dm.player2 $+ %c1 $+ ; $+ %c2 %dm.player2 $+ %c1 gets the turn.
        notice $nick %c1 $+ Please wait $+ %c3 %dmfreeze. [ $+ [ $nick ] ] $+ %c1 more turns.
        set %dm.player1 %dm.player2
        set %dm.player2 $nick
        dec %dmfreeze. [ $+ [ $nick ] ]
        halt
      }
      if (!%dmweapon. [ $+ [ $nick ] ] || piece isin %dmweapon. [ $+ [ $nick ] ])  { 
        set %dm.hit $rand(0,5) 
        set %dmweapused his fist.
      }
      else { 
        var %dm.equipitem = $read(dmshopitems.txt, w, * $+ $replace(%dmweapon. [ $+ [ $nick ] ],$chr(32),_) $+ *)
        if ($gettok(%dm.equipitem,3,64) != melee && Piece of air !isin %dmweapon. [ $+ [ $nick ] ]) {
          notice $nick %c1 $+ You can't use this command with a $+ %c4 %dmweapon. [ $+ [ $nick ] ] $+ %c1 $+ . Use %c3 $+ !shoot $+ %c1 $+ , $+ %c3 !cast $+ %c1 or %c3 $+ !use $+ %c1 instead.
          halt
        }
        set %dm.max $gettok($read(dmshopitems.txt, w, * $+ $replace(%dmweapon. [ $+ [ %dm.player1 ] ],$chr(32),_) $+ *),4,64)
        set %dm.hit $rand(0, %dm.max)
        set %dmweapused a $+ %c5 %dmweapon. [ $+ [ %dm.player1 ] ] $+ %c1 $+ .
        if (home isin %dmweapon. [ $+ [ %dm.player1 ] ] && $r(1,5) == 2) {
          timer 1 1 notice $nick %c1 $+ You broke your $+ %c3 %dmweapon. [ $+ [ %dm.player1 ] ] $+ %c1 $+ , meaning you lost it.
          unset %dmweapon. [ $+ [ %dm.player1 ] ]
        }
      } 
      health.check
      set %dm.player1 %dm.player2
      set %dm.player2 $nick
      timerturnswitch 1 120 turngone
    }
    elseif ($nick == %dm.player2) { 
      notice $nick %c1 $+ Its not your turn! 
    }
    else { 
      notice $nick %c1 $+ You are not fighting in this DM. 
    }
  }
  else {
    notice $nick %c1 $+ There is no DM running! Type $+ %c6 !DM $+ %c1 to start one.
  }
}

;######################## ATTACK - RANGE ################################
on $*:text:/^[@`.?!](s(h)?((o)?o)?t)/Si:#DM: {
  if (%dm.status == ON) {
    if ($nick == %dm.player1) {
      timerturnswitch off
      timerstopdm off
      if (%dmfreeze. [ $+ [ $nick ] ] >= 0 ) {
        msg %dm.chan %c1 $+ %dm.player1 $+ %c1 Tries to attack but he can't reach $+ %c2 %dm.player2 $+ %c1 $+ ; $+ %c2 %dm.player2 $+ %c1 gets the turn.
        notice $nick %c1 $+ Please wait $+ %c3 %dmfreeze. [ $+ [ $nick ] ] $+ %c1 more turns.
        set %dm.player1 %dm.player2
        set %dm.player2 $nick
        dec %dmfreeze. [ $+ [ $nick ] ]
        halt
      }
      if (!%dmweapon. [ $+ [ $nick ] ] || piece isin %dmweapon. [ $+ [ $nick ] ] || !%dmarrow. [ $+ [ $nick ] ])  { 
        set %dm.hit $rand(0,5) 
        if (!%dmarrow. [ $+ [ $nick ] ] && %dmweapon. [ $+ [ $nick ] ]) { set %dmweapused a $+ %c5 %dmweapon. [ $+ [ $nick ] ] $+ %c1 with the $+ %c5 basic arrows $+ %c1 $+ . }
        else { set %dmweapused his fist. } 
      }
      else { 
        var %dm.equipitem = $read(dmshopitems.txt, w, * $+ $replace(%dmweapon. [ $+ [ $nick ] ],$chr(32),_) $+ *)
        if ($gettok(%dm.equipitem,3,64) != range && Piece of air !isin %dmweapon. [ $+ [ $nick ] ]) {
          notice $nick %c1 $+ You can't use this command with a $+ %c4 %dmweapon. [ $+ [ $nick ] ] $+ %c1 $+ . Use %c3 $+ !attack $+ %c1 $+ , $+ %c3 !cast $+ %c1 or %c3 $+ !use $+ %c1 instead.
          halt
        }
        set %dm.max $gettok($read(dmshopitems.txt, w, * $+ $replace(%dmarrow. [ $+ [ %dm.player1 ] ],$chr(32),_) $+ *),5,64)
        set %dm.hit $rand(0, %dm.max)
        set %dm.poison $gettok($read(dmshopitems.txt, w, * $+ $replace(%dmarrow. [ $+ [ %dm.player1 ] ],$chr(32),_) $+ *),6,64)
        if (%dm.poison == P) .set %dm.poisondmg 10
        if (%dm.poison == P+) .set %dm.poisondmg 20
        if (%dm.poison == P++) .set %dm.poisondmg 40
        if (!%dmpoisoned. [ $+ [ %dm.player2 ] ] && %dm.poisondmg && $r(1,5) == 2) {
          set %addpoison 1
        }
        dec %dmarrow.amount. [ $+ [ $nick ] ] %arrows.shot
        set %dmweapused a $+ %c5 %dmweapon. [ $+ [ $nick ] ] $+ %c1 with $+ %c5 $gettok(%dmarrow. [ $+ [ $nick ] ],1,64) $+ s $+ %c1 $+ .
        if (%dmarrow.amount. [ $+ [ $nick ] ] <= 0) {
          unset %dmarrow. [ $+ [ $nick ] ]
        }
        else {
          set %dmweapused %dmweapused $chr(32) | timer 1 1 notice %dm.player1 %c1 $+ You now have $+ %c3 %dmarrow.amount. [ $+ [ %dm.player1 ] ] $+ %c5 $gettok(%dmarrow. [ $+ [ %dm.player1 ] ],1,64) $+ s $+ %c1 left.
        }
        set %arrows.shot $gettok($read(dmshopitems.txt, w, * $+ $replace(%dmweapon. [ $+ [ %dm.player1 ] ],$chr(32),_) $+ *),4,64)
        if (%arrows.shot == 3) {
          set %dm.hit2 $rand(0, %dm.max)
          set %dm.hit3 $rand(0, %dm.max)
        }
      } 
      health.check
      set %dm.player1 %dm.player2
      set %dm.player2 $nick
      timerturnswitch 1 120 turngone
    }
    elseif ($nick == %dm.player2) { 
      notice $nick %c1 $+ Its not your turn! 
    }
    else { 
      notice $nick %c1 $+ You are not fighting in this DM. 
    }
  }
  else {
    notice $nick %c1 $+ There is no DM running! Type $+ %c6 !DM $+ %c1 to start one.
  }
}


;######################## ATTACK - MAGE #################################
on $*:text:/^[?!@`.](cast|spell)/Si:#DM: {
  if (%dm.status == ON) {
    if ($nick == %dm.player1) {
      timerturnswitch off
      timerstopdm off
      if (%dmfreeze. [ $+ [ $nick ] ] >= 0 ) {
        msg %dm.chan %c1 $+ %dm.player1 $+ %c1 Tries to attack but he can't reach $+ %c2 %dm.player2 $+ %c1 $+ ; $+ %c2 %dm.player2 $+ %c1 gets the turn.
        notice $nick %c1 $+ Please wait $+ %c3 %dmfreeze. [ $+ [ $nick ] ] $+ %c1 more turns.
        set %dm.player1 %dm.player2
        set %dm.player2 $nick
        dec %dmfreeze. [ $+ [ $nick ] ]
        halt
      }
      set %dmspellname $read(dmshopitems.txt, w, $replace($2-,$chr(32),_) $+ *)
      set %dmspell2 $gettok(%dmspellname,1,64)
      set %dmspell $replace(%dmspell2,_,$chr(32))
      if (!%dmspell) {
        notice $nick %c1 $+ There's no such spell as %c4 $+ " $+ $2- $+ " $+ %c1 $+ .
        halt
      }
      if (!%dmweapon. [ $+ [ $nick ] ] || piece isin %dmweapon. [ $+ [ $nick ] ] || !$2)  { 
        set %dm.hit $calc($rand(0,10) + $rand(
        set %dmweapused the basic spell.
      }
      else { 
        set %dm.weaponuse $read(dmshopitems.txt, w, * $+ $replace(%dmweapon. [ $+ [ $nick ] ],$chr(32),_) $+ *)
        if ($gettok(%dm.weaponuse,3,64) != mage && Piece of air !isin %dmweapon. [ $+ [ $nick ] ]) {
          notice $nick %c1 $+ You can't use this command with a $+ %c4 %dmweapon. [ $+ [ $nick ] ] $+ %c1 $+ . Use %c3 $+ !shoot $+ %c1 $+ , $+ %c3 !attack $+ %c1 or %c3 $+ !use $+ %c1 instead.
          halt
        }
        set %reqstaff $gettok(%dmspellname,4,64)
        set %reqstaff $replace(%reqstaff,_,$chr(32))
        if (%reqstaff == Newbie magic staff && %dmweapon. [ $+ [ $nick ] ] != Newbie magic staff && %dmweapon. [ $+ [ $nick ] ] != Beginner magic staff && %dmweapon. [ $+ [ $nick ] ] != Magic staff && %dmweapon. [ $+ [ $nick ] ] != Advanced magic staff && %dmweapon. [ $+ [ $nick ] ] != Ultimate magic staff && %dmweapon. [ $+ [ $nick ] ] != Two duel handed magic wands) {
          notice $nick %c1 $+ You need a $+ %c5 Newbie magic staff $+ %c2 or higher $+ %c1 equipped, $+ %c1 to use $+ %c6 %dmspell $+ s $+ %c1 $+ .
          halt
        }
        elseif (%reqstaff == Beginner magic staff && %dmweapon. [ $+ [ $nick ] ] != Beginner magic staff && %dmweapon. [ $+ [ $nick ] ] != Magic staff && %dmweapon. [ $+ [ $nick ] ] != Advanced magic staff && %dmweapon. [ $+ [ $nick ] ] != Ultimate magic staff && %dmweapon. [ $+ [ $nick ] ] != Two duel handed magic wands) {
          notice $nick %c1 $+ You need a $+ %c5 Beginner magic staff $+ %c2 or higher $+ %c1 equipped, $+ %c1 to use $+ %c6 %dmspell $+ s $+ %c1 $+ .
          halt
        }
        elseif (%reqstaff == Magic staff && %dmweapon. [ $+ [ $nick ] ] != Magic staff && %dmweapon. [ $+ [ $nick ] ] != Advanced magic staff && %dmweapon. [ $+ [ $nick ] ] != Ultimate magic staff && %dmweapon. [ $+ [ $nick ] ] != Two duel handed magic wands) {
          notice $nick %c1 $+ You need a $+ %c5 Magic staff $+ %c2 or higher $+ %c1 equipped, $+ %c1 to use $+ %c6 %dmspell $+ s $+ %c1 $+ .
          halt
        }
        elseif (%reqstaff == Advanced magic staff && %dmweapon. [ $+ [ $nick ] ] != Advanced magic staff && %dmweapon. [ $+ [ $nick ] ] != Ultimate magic staff && %dmweapon. [ $+ [ $nick ] ] != Two duel handed magic wands) {
          notice $nick %c1 $+ You need an $+ %c5 Advanced magic staff $+ %c2 or higher $+ %c1 equipped, $+ %c1 to use $+ %c6 %dmspell $+ s $+ %c1 $+ .
          halt
        }
        if ($gettok(%dmspellname,3,64) == aspell) {
          set %dm.max $gettok(%dmspellname,5,64)
          if (%dmweapon. [ $+ [ $nick ] ] == Newbie magic staff) .set %dm.max $calc(%dm.max * 0.8)
          if (%dmweapon. [ $+ [ $nick ] ] == Beginner magic staff) .set %dm.max $calc(%dm.max * 0.9)
          if (%dmweapon. [ $+ [ $nick ] ] == Advanced magic staff) .set %dm.max $calc(%dm.max * 1.1)
          if (%dmweapon. [ $+ [ $nick ] ] == Ultimate magic staff) .set %dm.max $calc(%dm.max * 1.2)
          if (%dmweapon. [ $+ [ $nick ] ] == Two duel handed magic wands) .set %dm.max $calc(%dm.max * 1.5)
          set %dm.hit $rand(5, %dm.max) 
          set %dmweapused %c3 $+ %dmspell $+ %c1 with a $+ %c5 %dmweapon. [ $+ [ %dm.player1 ] ] $+ %c1 $+ .
          if ($gettok(%dmspellname,6,64) == freeze) {
            set %dmfreeze. [ $+ [ %dm.player2 ] ] 2
            if (%dmclass. [ $+ [ %dm.player2 ] ] != melee) .set %dmfreeze. [ $+ [ %dm.player2 ] ] 0
            set %dmweapused %dmweapused  | msg %dm.chan %c2 $+ %dm.player2 $+ %c1 has been frozen, meaning he can't use $+ %c3 melee attacks $+ %c1 for $+ %c5 2 $+ %c1 turns.
          }
          health.check
        }
        elseif ($gettok(%dmspellname,3,64) == hspell) {
          set %dm.heal $calc(%dm.starthealth. [ $+ [ %dm.player1 ] ] / 100 * $gettok(%dmspellname,5,64))
          inc %dmhealth. [ $+ [ %dm.player1 ] ] %dm.heal
          if (%dmhealth. [ $+ [ %dm.player1 ] ] > %dm.starthealth. [ $+ [ %dm.player1 ] ]) {
            set %dm.heal $calc(%dm.starthealth. [ $+ [ %dm.player1 ] ] - %dmhealth. [ $+ [ %dm.player1 ] ])
            set %dmhealth. [ $+ [ %dm.player1 ] ] %dm.starthealth. [ $+ [ %dm.player1 ] ]
          }
          msg %dm.chan %c2 $+ %dm.player1 $+ %c1 casts $+ %c5 %dmspell $+ %c1 healing him with $+ %c4 %dm.heal $+ %c1 hitpoints. He now has $+ %c4 %dmhealth. [ $+ [ %dm.player1 ] ] $+ %c1 hitpoints.  
        }
        elseif ($gettok(%dmspellname,3,64) == tspell) {
          set %dmfreeze. [ $+ [ %dm.player2 ] ] 4
          if (%dmclass. [ $+ [ %dm.player2 ] ] != melee) .set %dmfreeze. [ $+ [ %dm.player2 ] ] 2
          msg %dm.chan %c2 $+ %dm.player1 $+ %c5 teleports away $+ %c1 $+ , meaning $+ %c2 %dm.player2 $+ %c1 can't use $+ %c3 melee attacks $+ %c1 for $+ %c5 4 $+ %c1 $+ , and $+ %c3 ranged/magic attacks $+ %c1 for $+ %c5 2 $+ %c1 turns. 
        }

        writeini dminv.ini $nick %dmspell2 $calc($readini(dminv.ini,$nick,%dmspell2) - 1)
        set %dmweapused %dmweapused  | timer 1 1 notice %dm.player1 %c1 $+ You have $+ %c3 $readini(dminv.ini,$nick,%dmspell2) $+ %c4 %dmspell $+ s $+ %c1 left. 
        if ($readini(dminv.ini,$nick,%dmspell2) <= 0) .remini dminv.ini $nick %dmspell2 
      } 
      set %dm.player1 %dm.player2
      set %dm.player2 $nick
      timerturnswitch 1 120 turngone
    }
    elseif ($nick == %dm.player2) { 
      notice $nick %c1 $+ Its not your turn! 
    }
    else { 
      notice $nick %c1 $+ You are not fighting in this DM. 
    }
  }
  else {
    notice $nick %c1 $+ There is no DM running! Type $+ %c6 !DM $+ %c1 to start one.
  }
}


;######################## XP & LVL CHECK ################################
on $*:text:/^[!@`.](((e)?x)?p(oint)?(s)?|l(e)?v(e)?l)/Si:#DM, #DM-shop, #DM-bank: {
  if ($network != TundraIRC) {
    notice $nick %c1 $+ You only can do this on the great $+ %c3 TundraIRC network $+ %c1 $+ , Type $+ %c6 /server irc.TundraIRC.net $+ %c1 to get there.
    halt
  }
  if ($chan == #DM-bank || $chan == #DM-shop) {
    notice $nick %c1 $+ You only can do this in $+ %c2 #DM $+ %c1 .
    halt
  }
  if (%dmid. [ $+ [ $nick ] ] == 1) {
    var %dmxpchecknick = $nick
    if (($2 && $2 !isnum && !$3) || ($3 && $2 !isnum)) { var %dmxpchecknick = $2 }
    if (!%dm.xp. [ $+ [ %dmxpchecknick ] ]) .set %dm.xp. [ $+ [ %dmxpchecknick ] ] 0
    if (!%dmlvl. [ $+ [ %dmxpchecknick ] ]) .set %dmlvl. [ $+ [ %dmxpchecknick ] ] 1
    var %dmxpnow = %dm.xp. [ $+ [ %dmxpchecknick ] ]
    if ($3 isnum || ($2 isnum && !3)) {
      goto checkthis
    }
    if (%dmlvl. [ $+ [ %dmxpchecknick ] ] == 1 ) { 
      set %dm.lvl.req. [ $+ [ %dmxpchecknick ] ] 100 
    } 
    else { 
      set %dm.lvl.req. [ $+ [ %dmxpchecknick ] ] $calc(%dmlvl. [ $+ [ %dmxpchecknick ] ] ^ 3 * 0.6 + %dmlvl. [ $+ [ %dmxpchecknick ] ] * 100))
    }
    var %dmxpneed = %dm.lvl.req. [ $+ [ %dmxpchecknick ] ]
    set %xpleft. [ $+ [ %dmxpchecknick ] ] $calc(%dmxpneed - %dmxpnow)
    notice $nick %c3 $+ %dmxpchecknick $+ %c1 currently is level $+ %c5 %dmlvl. [ $+ [ %dmxpchecknick ] ] $+ %c1 $+ , and has $+ %c4 $gettok(%dm.xp. [ $+ [ %dmxpchecknick ] ],1,46) $+ %c1 expoints. For level $+ %c6 $calc(%dmlvl. [ $+ [ %dmxpchecknick ] ] + 1) $+ %c1 he needs a total of $+ %c5 $gettok(%dm.lvl.req. [ $+ [ %dmxpchecknick ] ],1,46) %c1 $+ expoints, which means he needs $+ %c2 $gettok(%xpleft. [ $+ [ %dmxpchecknick ] ],1,46) %c1 $+ expoints more.
    halt
    :checkthis
    if ($3 isnum) .set %asklvl $3
    if ($2 isnum) .set %asklvl $2
    goto checklvl
    if ((!$3 && $2 !isnum) || ($3 && $3 !isnum)) {
      notice $nick %c1 $+ You need to specify a lvl.
      halt
    }
    :checklvl
    if (%dmlvl. [ $+ [ %dmxpchecknick ] ] > %asklvl) {
      notice $nick %c2 $+ %dmxpchecknick $+ %c1 already is higher than lvl %c3 $+ %asklvl $+ %c1 $+ .
      halt
    }
    else {
      var %asklvl2 = $calc(%asklvl - 1)
      var %asklvlxp = $calc(%asklvl2 ^ 3 * 0.6 + %asklvl2 * 100)
      notice $nick %c1 $+ For lvl $+ %c4 %asklvl $+ %c1 $+ , $+ %c2 %dmxpchecknick $+ %c1 needs $+ %c6 $gettok($calc(%asklvlxp - %dmxpnow),1,46) %c1 $+ more expoints. He now has $+ %c6 $gettok(%dmxpnow,1,46) %c1 $+ expoints and is level $+ %c4 %dmlvl. [ $+ [ %dmxpchecknick ] ] $+ %c1 $+ .
      halt
    }
  }
  else {
    notice $nick %c1 $+ You need to identify first! Type $+ %c3 /msg $me !id(entify) yourpass $+ %c1 $+ .
  }
}

;############################ POTIONS & FOOD ############################



;############################ PRAYER ####################################



;########################################################################
;########################### OTHER COMMANDS #############################
;########################################################################

;########################### GET/SET MONEY ##############################
on $*:text:/^[!`.@]((get|set)(mon(ey)?|cash))/Si:#DM, #DM-shop, #DM-bank: {
  if (($nick == Supamagier || $nick == cnb6 || $address($nick,2) == $address($me,2)) || $nick isop $chan) {
    if (get isin $1-) {
      if (!$2 || # isin $2) {
        notice $nick %c1 $+ Please specify a valid nickname.
        halt
      }
      if (!%dmmoney. [ $+ [ $2 ] ]) .set %dmmoney. [ $+ [ $2 ] ] 0
      notice $nick %c2 $+ $2 $+ %c1 has $+ %c3 %dmmoney. [ $+ [ $2 ] ] $+ %c1 coins.
    }
    if (set isin $1-) {
      if (!$2 || # isin $2 || !$3 || $3 !isnum) {
        notice $nick %c1 $+ Please specify a valid nickname and amount.
        halt
      }
      set %dmmoney. [ $+ [ $2 ] ] $3
      notice $nick %c2 $+ $2 $+ `s %c1 $+ money set to $+ %c3 $3 $+ %c1 $+ .
    }
  }
  else {
    notice $nick %c1 $+ You need to be my owner to do this.
  }
}

;########################################################################
;#####################---ALIASES --- ALIASES ---#########################
;########################################################################

;##################IF NOT ACCEPTED WITHIN 30 SECONDS#####################
alias dmplayway {
  timer -m 1 500 inc %dmslots
  msg $replace($1-,=,: $+ %c2 $+ $chr(32),_,$chr(32))
  set %playnick $pnick
  timer -m 1 5500 dmplayway2
}

alias -l dmplayway2 {
  if (%dmplaymsg) {
    set %dminv. [ $+ [ %playnick ] ] %dmslots
    unset %dmplaymsg
  }
} 
alias -l tooSlow {
  msg %dm.chan %c1 $+ Nobody accepted $+ %c2 %dm.player1 $+ 's $+ %c1 challenge within $+ %c4 30 $+ %c1 seconds. Challenge timed out.
  unset %dm.player*
  unset %dm.status*
  unset %dm.chan*
}
alias setDMShop {
  write -c dmshopitems.txt

  ; +++ NAME@PRICE +++
  write dmshopitems.txt Small_health_potion@10
  write dmshopitems.txt Normal_health_potion@20
  write dmshopitems.txt Large_health_potion@50
  write dmshopitems.txt Incredible_fantastic_Uber_health_potion@1000
  write dmshopitems.txt Anti_potion@30
  write dmshopitems.txt Prayer_potion@200
  write dmshopitems.txt Mage_potion@200
  write dmshopitems.txt Strength_potion@200
  write dmshopitems.txt Ranged_potion@200
  write dmshopitems.txt Defence_potion@150

  ; +++ NAME@PRICE@CLASS@MAX HIT@STR REQ +++
  write dmshopitems.txt Dagger@50@melee@10@1
  write dmshopitems.txt Sword@100@melee@15@1
  write dmshopitems.txt Battle_axe@200@melee@25@5
  write dmshopitems.txt Home_made_sword@250@melee@50@10
  write dmshopitems.txt Scimitar@2000@melee@50@15
  write dmshopitems.txt Duel_handed_battle_axes@5000@melee@200@25
  write dmshopitems.txt Godsword@25000@melee@550@40

  ; +++ NAME@PRICE@CLASS@AMOUNNT ARROW
  write dmshopitems.txt Bow@10@range@1
  write dmshopitems.txt Large_bow@100@range@1
  write dmshopitems.txt Great_bow@1000@range@1
  write dmshopitems.txt Ultimate_bow@5000@range@1
  write dmshopitems.txt Triple_arrowed_bow@10000@range@3

  ; +++ NAME@PRICE@CLASS@HIT INCREASE IN % +++
  write dmshopitems.txt Newbie_magic_staff@50@mage@-20
  write dmshopitems.txt Beginner_magic_staff@100@mage@-10
  write dmshopitems.txt Magic_staff@200@mage@0
  write dmshopitems.txt Advanced_magic_staff@500@mage@10
  write dmshopitems.txt Ultimate_magic_staff@1000@mage@20
  write dmshopitems.txt Two_Duel_handed_magic_wands@5000@mage@50

  ; +++ NAME@PRICE@SORT SPELL@STAFF REQ@MAX HIT/HEALTH RECOVER +++
  write dmshopitems.txt Blizz@50@aspell@newbie_magic_staff@20
  write dmshopitems.txt Blizztering_cold@75@aspell@newbie_magic_staff@25
  write dmshopitems.txt Fire_fury@100@aspell@beginner_magic_staff@50
  write dmshopitems.txt Blizztering_freeze@400@aspell@30@magic_staff@70@freeze
  write dmshopitems.txt Venquence_fury@500@aspell@magic_staff@100
  write dmshopitems.txt Health_cast@2000@hspell@advanced_magic_staff@30
  write dmshopitems.txt Life_cast@3500@hspell@ultimate_magic_staff@70
  write dmshopitems.txt Teleport@5000@tspell@ultimate_magic_staff@
  write dmshopitems.txt Avada_kadavra@10000@aspell2@two_duel_handed_magic_wands@700

  ; +++ NAME@PRICE@ARROW@BOW REQ@MAX HIT@POISON? +++
  write dmshopitems.txt Weak_arrow@1@arrow@bow@10
  write dmshopitems.txt Normal_arrow@2@arrow@bow@40
  write dmshopitems.txt powerful_arrow@2@arrow@large_bow@75
  write dmshopitems.txt powerful_arrow_(P)@5@arrow@great_bow@100@P
  write dmshopitems.txt Diamond_arrow@10@arrow@ultimate_bow@150
  write dmshopitems.txt Diamond_arrow_(P+)@15@arrow@ultimate_bow@200@P+
  write dmshopitems.txt Cursed_arrow@30@arrow@ultimate_bow@450@P++
}

alias -l turngone {
  msg %dm.chan %c2 $+ %dm.player1 $+ %c1 hasn't attacked or used a potion/spell within $+ %c3 1 minute $+ %c1 $+ ; $+ %c2 %dm.player2 $+ 's $+ %c1 turn.
  timerstopdm 1 60 turngone2 
  var %dm.player3 = %dm.player1
  set %dm.player1 %dm.player2
  set %dm.player2 %dm.player3
}
alias -l turngone2 {
  msg %dm.chan %c2 $+ %dm.player1 $+ %c1 nor $+ %c2 %dm.player2 $+ %c1 has attacked or used a potion/spell within $+ %c3 2 minutes $+ %c1 $+ ; deathmatch halted.
  enddm
}

alias -l health.check {
  if (%dmpoisoned. [ $+ [ %dm.player1 ] ]) {
    if (%dmpoisoned. [ $+ [ %dm.player1 ] ] > %dmhealth. [ $+ [ %dm.player1 ] ]) { 
      set %dmpoisoned. [ $+ [ %dm.player1 ] ] %dmhealth. [ $+ [ %dm.player1 ] ]
      var %dm.player3 = %dm.player1
      set %dm.player1 %dm.player2
      set %dm.player2 %dm.player3 
      msg %dm.chan %c2 $+ %dm.player2 $+ %c1 gets $+ %c6 %dmpoisoned. [ $+ [ %dm.player1 ] ] $+ %c1 damage from poison. He now has $+ %c4 %dmhealth. [ $+ [ %dm.player2 ] ] $+ %c1 hitpoints left.
      msg %dm.chan %c2 $+ %dm.player2 $+ %c1 has died because of poison! $+ %c2 %dm.player1 $+ %c1 gets $+ %c3 $calc(%dmlvl. [ $+ [ %dm.player1 ] ] * 15) $+ %c1 bonus expoints for this fight! 
      :playerdied
    }
    else {
      dec %dmhealth. [ $+ [ %dm.player1 ] ] %dmpoisoned. [ $+ [ %dm.player1 ] ]
      msg %dm.chan %c2 $+ %dm.player1 $+ %c1 gets $+ %c6 %dmpoisoned. [ $+ [ %dm.player1 ] ] $+ %c1 damage from poison. He now has $+ %c4 %dmhealth. [ $+ [ %dm.player1 ] ] $+ %c1 hitpoints left.
    }
  }
  if (%dm.hit > %dmhealth. [ $+ [ %dm.player2 ] ]) { 
    set %dm.hit %dmhealth. [ $+ [ %dm.player2 ] ] 
  }
  msg %dm.chan %c2 $+ %dm.player1 $+ %c1 has hit $+ %c3 %dm.hit $+ %c1 on $+ %c2 %dm.player2 $+ %c1 using %dmweapused
  if (%addpoison) {
    msg %dm.chan %c2 $+ %dm.player2 $+ %c1 is poisoned with $+ %c6 %dm.poisondmg $+ %c1 poison damage each turn!
    set %dmpoisoned. [ $+ [ %dm.player2 ] ] %dm.poisondmg
    unset %addpoison
  }
  dec %dmhealth. [ $+ [ %dm.player2 ] ] %dm.hit
  if  (%dmhealth. [ $+ [ %dm.player2 ] ] <= 0) { 
    msg %dm.chan %c2 $+ %dm.player2 $+ %c1 has been defeated! $+ %c2 %dm.player1 $+ %c1 gets $+ %c3 $calc(%dmlvl. [ $+ [ %dm.player1 ] ] * 15) $+ %c1 bonus expoints for this fight! 
    :playerdied
    set %winfight 1
    inc %dmloses. [ $+ [ %dm.player2 ] ] 
    inc %dmwins. [ $+ [ %dm.player1 ] ]
    enddm
    return
  }
  msg %dm.chan %c2 $+ %dm.player2 $+ %c1 has $+ %c4 %dmhealth. [ $+ [ %dm.player2 ] ] $+ %c1 hitpoints left! 
  notice %dm.player1 %c1 $+ You gained $+ %c6 %dm.hit $+ %c1 XP.
  inc %dm.xp. [ $+ [ %dm.player1 ] ] %dm.hit
  xp.check 
}

alias -l xp.check { 
  if (%winfight) .inc %dm.xp. [ $+ [ %dm.player1 ] ] $calc(%dmlvl. [ $+ [ %dm.player1 ] ] * 15)
  if (%dmlvl. [ $+ [ %dm.player1 ] ] == 1 ) { 
    set %dm.lvl.req. [ $+ [ %dm.player1 ] ] 100 
  } 
  else { 
    set %dm.lvl.req. [ $+ [ %dm.player1 ] ] $calc(%dmlvl. [ $+ [ $nick ] ] ^ 3 * 0.6 + %dmlvl. [ $+ [ $nick ] ] * 100)) 
  }
  lvl.check
}

alias -l lvl.check {
  if (%dm.xp. [ $+ [ %dm.player1 ] ] >= %dm.lvl.req. [ $+ [ %dm.player1 ] ]) {  
    inc %dmlvl. [ $+ [ %dm.player1 ] ] 
    msg %dm.chan %c6 $+ Congratulations! $+ %c2 %dm.player1 $+ %c6 just leveled up! He now is level $+ %c6 %dmlvl. [ $+ [ %dm.player1 ] ] $+ %c6 $+ ! 
    notice %dm.player1 %c1 $+ From now on, you'll have $+ %c4 $gettok($calc(%dmlvl. [ $+ [ %dm.player1 ] ]  ^1.2 * 30 + 80),1,46) $+ %c1 hitpoints.
  }
}
alias enddm {
  timerstopdm off
  timerturnswitch off
  unset %dm.player*
  unset %dm.status
  unset %winfight
  unset %dmpoison*
  unset %dmfreeze*
}






;########################################################
;################ TO BE USED LATER ######################
;########################################################

[none]nothing[/none]


;##############################################################
;###################### BACK UPS ##############################
;##############################################################

; +++ MAYBE IN ALIAS 'DMPLAYWAY2' +++
;msg %playnick %c1 $+ Currently, you have used $+ %c4 %dmslots $+ %c1 / $+ %c4 10 $+ %c1 inventory slots.

; +++