All pastes #984315 Raw Edit

Unnamed

public text v1 · immutable
·published 2008-04-14 02:49 UTC
rendered paste body
off $*:TEXT:/^[!.]melee/Si:#: { 
  if (!$readini(pq.ini,$nick,Melees)) { notice $nick You do not have a Melee skill. | return }
  if ($readini(pq.ini,$nick,lock) == 0) {
    if (!$2) || ($2 !ison $chan) || ($readini(pq.ini,$2,Battle) != Yes) { notice $nick Error - Incorrect Syntax. | return }
    set %temp.lo $2
    set %temp.miss 5
    goto continue
  }
  if ($2) { notice $nick Error - You are already locked on to someone. Say .lo to stop, or .lo <nick> to lock on to someone else. | return }
  if ($readini(pq.ini,$nick,Battle) != Yes) { notice $nick Error - You are not in the Battle Field. | return }
  set %temp.lo $readini(pq.ini,$nick,lock)
  set %temp.miss 3
  :continue
  var %hit $rand(0,$calc($readini(pq.ini,$nick,Attack) / $rand(1,4)))
  var %dmg $calc($readini(pq.ini,$nick,Attack) - $readini(pq.ini,%temp.lo,Defence) + %hit)
  if ($readini(pq.ini,$nick,Attack) == Yes) { notice $nick Error - You are already attacking. | return }
  writeini pq.ini $nick Attack Yes
  timer 1 3 datk $nick 
  set %temp.hom $rand(1,%temp.miss)
  if (%temp.hom == 1) {
    msg $chan $pqc1([PQ]) $pqc2($readini(pq.ini,chr,$nick)) $pqc1(attacks) $pqc2($readini(pq.ini,%temp.lo,chr)) $pqc1(but misses.)
    return
  }
  if (%dmg < 1) { set %dmg 1 }
  writeini pq.ini %temp.lo HP $calc($readini(pq.ini,%temp.lo,HP) - %dmg)
  var %exp $calc($rand(2,5)*%dmg))
  var %hp  $calc(1.5*%dmg)
  if ($readini(pq.ini,%temp.lo,HP) < 1) { writeini pq.ini %temp.lo HP 0 }
  msg $chan $pqc1([PQ]) $pqc2($readini(pq.ini,chr,$nick)) $pqc1(hit a) $pqc2(%dmg) $pqc1(with $readini(pq.ini,$nick,gen)) $pqc2($readini(pq.ini,$nick,Melee)) $pqc1(leaving) $pqc2($readini(pq.ini,%temp.lo,chr)) $pqc1(with) $&
    $pqc2($iif(($readini(pq.ini,%temp.lo,HPMax) == 99),$hpbar($readini(pq.ini,%temp.lo,HP)),$readini(pq.ini,%temp.lo,HP))) $pqc1(hp.)
  notice $nick $pqc1([PQ] $readini(pq.ini,$nick,chr) $+ 's) $pqc2(HP) $+ $pqc1(:) $pqc2($readini(pq.ini,$nick,HP)) $pqc1(- $readini(pq.ini,%temp.lo,chr) $+ 's) $pqc2(HP) $pqc1(:) $pqc2($readini(pq.ini,%temp.lo,HP)) 
  if ($readini(pq.ini,$nick,AEXP) < $readini(pq.ini,$nick,NextAlvl)) && ($readini(pqf.ini,$nick,Defgain) == No) { 
    writeini pq.ini $nick AEXP $calc($readini(pq.ini,$nick,AEXP) + %exp)
  } 
  if ($readini(pq.ini,$nick,DEXP) < $readini(pq.ini,$nick,NextDlvl)) && ($readini(pq.ini,$nick,Defgain) == Yes) { 
    writeini pq.ini $nick DEXP $calc($readini(pq.ini,$nick,DEXP) + %exp)
    writeini pq.ini $nick AEXP $calc($readini(pq.ini,$nick,AEXP) + %exp)
  }
  if ($readini(pq.ini,$nick,DEXP) < $readini(pq.ini,$nick,NextAlvl)) && ($readini(pq.ini,$nick,Defgain) == Def) { 
    writeini pq.ini $nick DEXP $calc($readini(pq.ini,$nick,DEXP) + %exp)
  }
  if ($readini(pq.ini,$nick,HEXP) < $readini(pq.ini,$nick,NextHlvl)) {
    writeini pq.ini $nick HEXP $calc($readini(pq.ini,$nick,HEXP) + %hp)   
  } 
  if ($readini(pq.ini,%temp.lo,HP) < 1) {
    writeini pq.ini %temp.lo HP $readini(pq.ini,%temp.lo,HPMax)
    msg $chan $pqc1([PQ]) $pqc2($readini(pq.ini,%temp.lo,chr)) $pqc1(has died.) $pqc2($readini(pqstats.ini,%temp.lo,chr)) $pqc1(came into the safe zone.)
    mode # -v %temp.lo
    remini pq.ini %temp.lo lock 
    writeini pq.ini %temp.lo Battle No
  }
  if ($readini(pq.ini,$nick,Attack) >= 99) || ($readini(pq.ini,$nick,Defence) >= 99) {
    halt
  }
  else {
    if ($readini(pqstats.ini,$nick,AEXP) >= $readini(pqstats.ini,$nick,NextAlvl)) && ($readini(pqstats.ini,$nick,DEXP) >= $readini(pqstats.ini,$nick,NextDlvl)) && ($readini(pqf.ini,$nick,Defgain) == Yes) { 
      msg $chan $pqc1([PQ]) $pqc2($readini(pqstats.ini,$nick,chr)) $pqc1(has grown to) $pqc2($calc(1+$readini(pqstats.ini,$nick,Attack))) $pqc1(Attack & Defence.)
      writeini pqstats.ini $nick Attack $calc($readini(pqstats.ini,$nick,Attack) + 1)
      writeini pqstats.ini $nick NextAlvl $xpforlvl($calc($readini(pqstats.ini,$nick,Attack) + 1))
      writeini pqstats.ini $nick Defence $calc($readini(pqstats.ini,$nick,Defence) + 1)
      writeini pqstats.ini $nick NextDlvl $xpforlvl($calc($readini(pqstats.ini,$nick,Defence) + 1))
    }
    if ($readini(pqstats.ini,$nick,AEXP) >= $readini(pqstats.ini,$nick,NextAlvl)) && ($readini(pqf.ini,$nick,Defgain) == No) { 
      msg $chan $pqc1([PQ]) $pqc2($readini(pqstats.ini,$nick,chr)) $pqc1(has grown to) $pqc2($calc(1+$readini(pqstats.ini,$nick,Attack))) $pqc1(Attack.)
      writeini pqstats.ini $nick Attack $calc($readini(pqstats.ini,$nick,Attack) + 1)
      writeini pqstats.ini $nick NextAlvl $xpforlvl($calc($readini(pqstats.ini,$nick,Attack) + 1))
    }
    if ($readini(pqstats.ini,$nick,DEXP) >= $readini(pqstats.ini,$nick,NextDlvl)) && ($readini(pqf.ini,$nick,Defgain) == Def) { 
      msg $chan $pqc1([PQ]) $pqc2($readini(pqstats.ini,$nick,chr)) $pqc1(has grown to) $pqc2($calc(1+$readini(pqstats.ini,$nick,Defence))) $pqc1(Defence.)
      writeini pqstats.ini $nick Defence $calc($readini(pqstats.ini,$nick,Defence) + 1)
      writeini pqstats.ini $nick NextDlvl $xpforlvl($calc($readini(pqstats.ini,$nick,Defence) + 1))
    }
    if ($readini(pqstats.ini,$nick,HEXP) >= $readini(pqstats.ini,$nick,NextHlvl)) {
      msg $chan $pqc1([PQ]) $pqc2($readini(pq.ini,$nick,chr)) $pqc1(has grown to) $pqc2($calc(1+$readini(pq.ini,$nick,HPMax))) $pqc1(Hitpoints.)
      writeini pq.ini $nick HPMax $calc($readini(pq.ini,$nick,HPMax) + 1)
      writeini pq.ini $nick HP $readini(pq.ini,$nick,HPMax)
      writeini pq.ini $nick NextHlvl $xpforlvl($calc($readini(pq.ini,$nick,HPMax) + 1))
    }
  }
}