dialog DM { title "DM Dialog v 0.1" size -1 -1 277 176 option dbu edit "", 1, 4 8 122 90, read multi autovs vsbar list 2, 4 114 86 53, size vsbar text "Weapons:", 3, 19 105 36 8, center button "Use", 4, 95 134 31 12 text "Hp (N)", 6, 137 85 25 8 text "Spec Bar (%)", 7, 137 95 33 8 text "Barrages (N)", 8, 137 105 31 8 text "Sharks (N)", 9, 137 116 25 8 text "Frozen (S)", 10, 137 126 26 8 edit "", 11, 170 84 16 10, read center edit "", 12, 170 94 16 10, read center edit "", 13, 170 104 16 10, read center edit "", 14, 170 114 16 10, read center edit "", 15, 170 124 16 10, read center box "Your Stats", 16, 134 76 59 92 button "Start DM", 27, 198 7 37 12 button "Stop DM", 28, 239 7 37 12 button "Exit", 29, 216 23 37 12, cancel edit "", 30, 137 14 50 10, center text "Your Name", 31, 148 4 30 8 text "Opponent's Name", 32, 139 29 48 8 edit "", 33, 137 40 50 10, center text "Turn", 34, 155 51 12 8 edit "", 35, 139 62 45 11, read autohs center text "Poisoned (S)", 36, 137 136 31 8 edit "", 37, 170 134 16 10, read center text "Str Pots (N)", 40, 137 146 29 8 edit "", 41, 170 144 16 10, read center text "Str Boost (T)", 42, 137 156 32 8 edit "", 43, 170 154 16 10, read center box "Opponent's Stats", 5, 208 76 59 92 text "Spec Bar (%)", 17, 211 95 33 8 text "Barrages (N)", 18, 211 105 31 8 text "Sharks (N)", 19, 211 116 25 8 edit "", 20, 244 84 16 10, read center edit "", 21, 244 94 16 10, read center edit "", 22, 244 104 16 10, read center edit "", 23, 244 114 16 10, read center text "Frozen (S)", 24, 211 126 26 8 edit "", 25, 244 124 16 10, read center text "Hp (N)", 26, 211 85 25 8 text "Poisoned (S)", 38, 211 136 30 8 edit "", 39, 244 134 16 10, read center edit "", 44, 244 144 16 10, read center edit "", 45, 244 154 16 10, read center text "Str Boost (T)", 46, 211 156 32 8 text "Str Pots (N)", 47, 211 146 30 8 box "Key", 48, 197 37 78 32 text "(N) = Number", 49, 200 45 36 9 text "(%) = Percent", 50, 200 55 36 9 text "(S) = Status", 51, 239 45 31 9 text "(T) = Turn(s)", 52, 239 54 33 9 } ;convenient aliases; alias dm { dialog -m dm dm } alias d { return $readini(dm.ini,dm,$1) } alias dme { return $readini(dm.ini,ME,$1) } alias dmo { return $readini(dm.ini,OPPONENT,$1) } alias wri { writeini dm.ini DM $1- } alias wrime { writeini dm.ini me $1- } alias wrio { writeini dm.ini opponent $1- } alias ddd { did -a dm 1 $1- $crlf } ;open; on *:DIALOG:dm:init:0: { if ($d(me)) { did -b dm 27 did -a dm 2 Whip did -a dm 2 Dragon Dagger (P++) did -a dm 2 Dragon Dagger (N) did -a dm 2 Granite Maul did -a dm 2 Dharoks did -a dm 2 Guthans did -a dm 2 Shark did -a dm 2 Ice Barrage did -a dm 2 Fire Wave did -a dm 2 Magic Shortbow did -a dm 2 Crystal Bow did -a dm 2 Dark Bow did -a dm 2 Strength Potion did -a dm 2 Anti Poison Potion did -a dm 30 $d(me) did -a dm 33 $d(opponent) turn2 if ($d(turn) == opponent) { timer 1 2 oppturn } } else { did -a dm 2 Whip did -a dm 2 Dragon Dagger (P++) did -a dm 2 Dragon Dagger (N) did -a dm 2 Granite Maul did -a dm 2 Dharoks did -a dm 2 Guthans did -a dm 2 Shark did -a dm 2 Ice Barrage did -a dm 2 Fire Wave did -a dm 2 Magic Shortbow did -a dm 2 Crystal Bow did -a dm 2 Dark Bow did -a dm 2 Strength Potion did -a dm 2 Anti Poison Potion did -b dm 28,4 did -bu dm 2 did -a dm 30 $me did -a dm 33 $iif(!$readini(dm.ini,name,opp),Other Guy,$readini(dm.ini,name,opp)) } } ;close; on *:DIALOG:dm:sclick:29: { } ;start dm; on *:DIALOG:dm:sclick:27: { did -r dm 1 did -eu dm 2,4 did -b dm 30,33 wri me $did(dm,30) wri opponent $did(dm,33) writeini dm.ini name opp $did(dm,33) did -ra dm 11,20 99 wrime hp 99 wrio hp 99 did -ra dm 12,21 100 wrime spec 100 wrio spec 100 did -ra dm 13,22 4 wrime barrages 4 wrio barrages 4 did -ra dm 14,23 10 wrime sharks 10 wrio sharks 10 did -ra dm 15,25 No wrime frozen No wrio frozen No did -ra dm 37,39 No wrime poisoned No wrio poisoned No did -ra dm 41,44 5 wrime pots 5 wrio pots 5 did -ra dm 43,45 0 wrime boost 0 wrio boost 0 startdm } alias StartDM { var %l = $r(1,2) wri dm on wri turn $iif(%l == 1,Me,Opponent) wri turns $iif($d(turn) == Me,$did(dm,30),$did(dm,33)) did -ra dm 35 $d(turns) did -b dm 27 did -e dm 28 ddd The DM has been started! timer 1 1 ddd It is $d(turns) $+ 's turn. $crlf if ($d(turn) == Opponent) { timer 1 2 oppturn } } alias oppturn { if ($dmo(poisoned) == No) && ($dmo(frozen) == No) && ($dmo(barrages) > 0) && ($dmo(spec) > 25) && ($dmo(sharks) > 0) { var %wep = $r(1,68) if (%wep isnum 1-5) { whip } elseif (%wep isnum 6-10) { ddp } elseif (%wep isnum 11-18) { ddn } elseif ($dmo(hp) < 20) && (%wep isnum 19-27) { dharoks } elseif ($dmo(hp) < 30) && (%wep isnum 19-25) { dharoks } elseif ($dmo(hp) < 40) && (%wep isnum 19-23) { dharoks } elseif (%wep isnum 24-29) && ($dmo(hp) > 40) { guthans } elseif (%wep isnum 30-35) && ($dmo(hp) < 79) { eat } elseif (%wep isnum 30-35) && ($dmo(hp) > 79) { barrage } elseif (%wep isnum 36-39) { fwave } elseif (%wep isnum 40-45) { msb } elseif (%wep isnum 46-50) { cbow } elseif (%wep isnum 51-57) { dbow } elseif (%wep isnum 58-64) { strpot } elseif (%wep isnum 65-68) && ($dmo(spec) == 100) { gmaul } elseif (%wep isnum 65-68) && ($dmo(spec) < 100) { eat } } elseif ($dmo(frozen) == Yes) { var %wep = $r(1,81) if (%wep isnum 1-15) { fwave } elseif (%wep isnum 16-35) && ($dmo(spec) > 50) { msb } elseif (%wep isnum 16-35) && ($dmo(spec) < 50) { fwave } elseif (%wep isnum 36-56) { cbow } elseif (%wep isnum 57-64) && ($dmo(hp) < 59) && ($dmo(spec) < 70) { eat } elseif (%wep isnum 57-64) && ($dmo(hp) > 59) && ($dmo(spec) > 70) { dbow } elseif (%wep isnum 57-64) && ($dmo(hp) > 59) && ($dmo(spec) < 70) { fwave } elseif (%wep isnum 65-76) && ($dmo(barrages) > 0) { barrage } elseif (%wep isnum 65-76) && ($dmo(barrages) == 0) { eat } elseif (%wep isnum 77-81) && ($dmo(poisoned) == Yes) { antipot } elseif (%wep isnum 77-81) && ($dmo(poisoned) == No) { barrage } } elseif ($dmo(poison) == Yes) && ($dmo(frozen) == No) { var %wep = $r(1,95) if (%wep isnum 1-5) { whip } elseif (%wep isnum 6-10) { ddp } elseif (%wep isnum 11-18) { ddn } elseif ($dmo(hp) < 20) && (%wep isnum 19-27) { dharoks } elseif ($dmo(hp) < 30) && (%wep isnum 19-25) { dharoks } elseif ($dmo(hp) < 40) && (%wep isnum 19-23) { dharoks } elseif (%wep isnum 24-29) { guthans } elseif (%wep isnum 30-35) && ($dmo(hp) < 79) { eat } elseif (%wep isnum 30-35) && ($dmo(hp) > 79) { barrage } elseif (%wep isnum 36-39) { fwave } elseif (%wep isnum 40-45) { msb } elseif (%wep isnum 46-50) { cbow } elseif (%wep isnum 51-57) { dbow } elseif (%wep isnum 58-64) { strpot } elseif (%wep isnum 65-90) { antipot } elseif (%wep isnum 91-95) && ($dmo(spec) == 100) { gmaul } elseif (%wep isnum 91-95) && ($dmo(spec) < 100) { eat } } } ;stop dm; on *:DIALOG:dm:sclick:28: { stopdm1 } alias stopdm1 { did -bu dm 28,2,4 did -e dm 27 remini dm.ini me remini dm.ini opponent remini dm.ini dm did -r dm 11-15,37,41,43,20-23,25,35,39,44,45 } alias stopdm2 { did -bu dm 28,2,4 did -e dm 27 did -r dm 35 remini dm.ini me remini dm.ini opponent remini dm.ini dm } ;use; on *:DIALOG:dm:sclick:2: { set %use $did(2).seltext } on *:DIALOG:dm:dclick:2: { if ($did(2).seltext == whip) { whip } if ($did(2).seltext == shark) { eat } if ($did(2).seltext == guthans) { guthans } } on *:DIALOG:dm:sclick:4: { if (%use == whip) { whip } if (%use == shark) { eat } if (%use == guthans) { guthans } } ;weapons; alias whip { if ($d(dm) != on) { halt } else { if ($d(turn) == me) && ($dme(frozen) == no) { var %rand = $r(1,40) var %hit = $iif($calc($dmo(hp) - %rand) < 0,$dmo(hp),%rand) ddd $d(me) just hit a %hit with a whip. if ($dmo(poisoned) == yes) { ddd $d(opponent) is also poisoned so they lose 6 hp wrio hp $calc($dmo(hp) -6) } wrio hp $iif($calc($dmo(hp) - %hit) <= 0,0,$v1)) if ($dmo(hp) > 0) { timer 1 1 ddd $d(opponent) $+ 's hp is now $dmo(hp) $+ . timer 1 2 ddd It's now $d(opponent) $+ 's turn. $crlf timer 1 2 turn1 timer 1 4 oppturn } elseif ($dmo(hp) <= 0) { turn2 timer 1 1 ddd $d(opponent) is now dead! timer 1 2 stopdm2 } } elseif ($dme(frozen) == yes) { ddd You are frozen, you cannot use the whip } elseif ($d(turn) == opponent) { var %rand = $r(1,40) var %hit = $iif($calc($dme(hp) - %rand) < 0,$dme(hp),%rand) ddd $d(opponent) just hit a %hit with a whip. if ($dme(poison) == yes) { ddd You are also poisoned so you lose 6 hp. wrime hp $calc($dme(hp) -6) } wrime hp $iif($calc($dme(hp) - %hit) <= 0,0,$v1)) if ($dme(hp) > 0) { timer 1 1 ddd $d(me) $+ 's hp is now $dme(hp) timer 1 2 ddd It's now $d(me) $+ 's turn. $crlf timer 1 2 turn1 } elseif ($dme(hp) <= 0) { turn2 timer 1 1 ddd $d(me) is now dead! timer 1 2 stopdm2 } } } } alias eat { if ($d(dm) != on) { halt } else { if ($d(turn) == me) { var %heal = $iif($dme(hp) <= 79,20,$calc(99- $dme(hp))) ddd $d(me) Just healed %heal hp by eating a shark. if ($dmo(poisoned) == yes) { ddd $d(opponent) is poisoned so they lose 6 hp wrio hp $calc($dmo(hp) -6) } wrime hp $calc($dme(hp) + %heal) timer 1 1 ddd $d(me) $+ 's hp is now $dme(hp) $+ . timer 1 2 ddd It's now $d(opponent) $+ 's turn. $crlf timer 1 2 turn1 timer 1 4 oppturn } elseif ($d(turn) == opponent) { var %heal = $iif($dmo(hp) <= 79,20,$calc(99- $dmo(hp))) ddd $d(opponent) just healed %heal hp by eating a shark. if ($dme(poisoned) == yes) { ddd $d(me) is poisoned so they lose 6 hp wrime hp $calc($dme(hp) -6) } wrio hp $calc($dmo(hp) + %heal) timer 1 1 ddd $d(opponent) $+ 's hp is now $dmo(hp) $+ . timer 1 2 ddd It's now $d(me) $+ 's turn. $crlf timer 1 2 turn1 } } } alias guthans { if ($d(dm) != on) { halt } else { if ($d(turn) == me) && ($dme(frozen) == no) { var %rand = $r(1,35) var %rand2 = $r(1,100) var %hit = $iif($calc($dmo(hp) - %rand) < 0,$dmo(hp),%rand) var %heal = $iif($calc($dme(hp) + %hit) > 99,$calc(99- $dme(hp)),%hit) ddd $d(me) just hit a %hit with the Guthans set. if ($dmo(poisoned) == yes) { ddd $d(opponent) is also poisoned so they lose 6 hp wrio hp $calc($dmo(hp) -6) } if (%rand2 isnum 1-45) { wrime hp $calc($dme(hp) + %heal) | timer 1 1 ddd $d(me) has healed %heal hp with Guthans. | timer 1 1 ddd $d(me) $+ 's hp is now $dme(hp) $+ . } wrio hp $iif($calc($dmo(hp) - %hit) <= 0,0,$v1)) if ($dmo(hp) > 0) { timer 1 1 ddd $d(opponent) $+ 's hp is now $dmo(hp) $+ . timer 1 2 ddd It's now $d(opponent) $+ 's turn. $crlf timer 1 2 turn1 timer 1 4 oppturn } elseif ($dmo(hp) <= 0) { turn2 timer 1 1 ddd $d(opponent) is now dead! timer 1 2 stopdm2 } } elseif ($dme(frozen) == yes) { ddd You are frozen, you cannot use the whip } elseif ($d(turn) == opponent) { var %rand = $r(1,40) var %rand2 = $r(1,100) var %hit = $iif($calc($dme(hp) - %rand) < 0,$dme(hp),%rand) var %heal = $iif($calc($dmo(hp) + %hit) > 99,$calc(99- $dmo(hp)),%hit) ddd $d(opponent) just hit a %hit with the Guthans set. if ($dme(poison) == yes) { ddd You are also poisoned so you lose 6 hp. wrime hp $calc($dme(hp) -6) } if (%rand2 isnum 1-45) { wrio hp $calc($dmo(hp) + %heal) | timer 1 1 ddd $d(opponent) has healed %heal hp with Guthans. | timer 1 1 ddd $d(opponent) $+ 's hp is now $dmo(hp) $+ . } wrime hp $iif($calc($dme(hp) - %hit) <= 0,0,$v1)) if ($dme(hp) > 0) { timer 1 1 ddd $d(me) $+ 's hp is now $dme(hp) timer 1 2 ddd It's now $d(me) $+ 's turn. $crlf timer 1 2 turn1 } elseif ($dme(hp) <= 0) { turn2 timer 1 1 ddd $d(me) is now dead! timer 1 2 stopdm2 } } } } alias turn1 { var %turn = $d(turn) var %way = $iif($d(turn) == me,wrime,wrio) var %spec = $iif($d(turn) == me,$dme(spec),$dmo(spec)) var %boost = $iif($d(turn) == me,$dme(boost),$dmo(boost)) %way spec $calc(%spec + $iif(%spec >= 95,$(100- %spec),5)) %way boost $calc(%boost - $iif(%boost > 0,1,0)) wri turn $iif(%turn == me,opponent,me) wri turns $iif(%turn == me,$d(opponent),$d(me)) did -ra dm 35 $d(turns) did -ra dm 11 $dme(hp) did -ra dm 20 $dmo(hp) did -ra dm 12 $dme(spec) did -ra dm 21 $dmo(spec) did -ra dm 13 $dme(barrages) did -ra dm 22 $dmo(barrages) did -ra dm 14 $dme(sharks) did -ra dm 23 $dmo(sharks) did -ra dm 15 $dme(frozen) did -ra dm 25 $dmo(frozen) did -ra dm 37 $dme(poisoned) did -ra dm 39 $dmo(poisoned) did -ra dm 41 $dme(pots) did -ra dm 44 $dmo(pots) did -ra dm 43 $dme(boost) did -ra dm 45 $dmo(boost) } alias turn2 { did -ra dm 35 $d(turns) did -ra dm 11 $dme(hp) did -ra dm 20 $dmo(hp) did -ra dm 12 $dme(spec) did -ra dm 21 $dmo(spec) did -ra dm 13 $dme(barrages) did -ra dm 22 $dmo(barrages) did -ra dm 14 $dme(sharks) did -ra dm 23 $dmo(sharks) did -ra dm 15 $dme(frozen) did -ra dm 25 $dmo(frozen) did -ra dm 37 $dme(poisoned) did -ra dm 39 $dmo(poisoned) did -ra dm 41 $dme(pots) did -ra dm 44 $dmo(pots) did -ra dm 43 $dme(boost) did -ra dm 45 $dmo(boost) }