rendered paste bodydialog 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)
}