rendered paste body// PASTE IN VARIABLES VARIABLES
%uno.red 0[4,5
%uno.blue 0[11,2
%uno.green 0[9,3
%uno.yellow 0[8,7
%uno.wild 0[8,1W12I04L9D
%uno.wd4 0[8,1W12D044
// PASTE IN REMOTE
on *:TEXT:*:#uno: {
if ($nick == kUno) {
if ($me isin $1-) {
if (up isin $1-) { uno.cards current $3- }
elseif (Choose a colour isin $1-) { uno.choosecolour }
}
if (skipped isin $1-) {
unset %uno.drawn
}
if (The current game has been isin $1-) {
unset %uno.currentcard
unset %uno.cards
%uno.dealcards = 1
}
}
}
on ^*:NOTICE:*:?: {
if ($nick == kUno) {
haltdef
echo #uno $timestamp -kUno- $1-
if (Next isin $1-) || (You're already playing isin $1-) || (It isnt your turn isin $1-) || (You may not isin $1-) || (Draw a card first! isin $1-) || (No active games! isin $1-) || (before you are removed isin $1-) || (Login or register. isin $1-) || (Your score will not be saved. isin $1-) { halt }
if (You drew isin $1-) { uno.cards minedrawn $3- }
else { uno.cards mine $1- }
}
}
alias uno.cards {
if ($$1 == mine) { %uno.cards = $replace($remove($2-, 0], You must pass or play),%uno.blue,b,%uno.green,g,%uno.red,r,%uno.yellow,y,%uno.wild,$+(wi,$chr(32)),%uno.wd4,$+(wd,$chr(32)),DT,t) }
elseif ($$1 == minedrawn) { %uno.cards = $+(%uno.cards,$chr(32),$replace($remove($2-, 0], You must pass or play),%uno.blue,b,%uno.green,g,%uno.red,r,%uno.yellow,y,%uno.wild,$+(wi,$chr(32)),%uno.wd4,$+(wd,$chr(32)),DT,t)) }
else { %uno.currentcard = $replace($remove($2-, 0], You must pass or play),%uno.blue,b,%uno.green,g,%uno.red,r,%uno.yellow,y,%uno.wild,$+(wi,$chr(32)),%uno.wd4,$+(wd,$chr(32)),DT,t) }
if ($$1 == mine) && (%uno.currentcard !== $null) { uno.findplaycard }
elseif ($$1 == minedrawn) && (%uno.currentcard !== $null) && (%uno.drawn == 1) { uno.findplaycard }
}
alias uno.drawcard {
%uno.drawn = 1
msg #uno draw
}
alias uno.playcard {
if ($1 == wd) { msg #uno play wd4 }
elseif ($1 == wi) { msg #uno play wild }
elseif ($right($1,1) == t) { msg #uno play $left($1,1) dt }
else { msg #uno play $left($1,1) $right($1,1) }
}
//CHANGE THESE
alias uno.findplaycard {
%uno.samenumber = $poscs(%uno.cards,$right(%uno.currentcard,1),0)
if (%uno.samecolour == $null) { %uno.samenumber = 0 }
%uno.samecolour = $poscs(%uno.cards,$left(%uno.currentcard,1),0)
if (%uno.samecolour == $null) { %uno.samecolour = 0 }
%uno.wilds = $count(%uno.cards,wi)
%uno.wd4s = $count(%uno.cards,wd)
%uno.blues = $count(%uno.cards,b)
%uno.yellows = $count(%uno.cards,y)
%uno.greens = $count(%uno.cards,g)
%uno.reds = $count(%uno.cards,r)
if (%uno.samenumber == 0) && (%uno.samecolour == 0) && (%uno.wilds == 0) && (%uno.wd4s == 0) {
if (%uno.drawn == 1) { unset %uno.drawn | msg #uno pass }
else { uno.drawcard }
}
elseif (%uno.samecolour == 0) && (%uno.samenumber !== 0) {
uno.playcard $mid(%uno.cards,$calc($pos(%uno.cards,$right(%uno.currentcard,1),1) -1),3)
}
elseif (%uno.samenumber == 0) && (%uno.samecolour !== 0) {
uno.playcard $mid(%uno.cards,$calc($pos(%uno.cards,$left(%uno.currentcard,1),1) -1),3)
}
elseif (%uno.samenumber == 0) && (%uno.samecolour == 0) {
if (%uno.wd4s > 0) { uno.playcard wd }
else { uno.playcard wi }
}
elseif (%uno.samecolour > 0) {
uno.playcard $mid(%uno.cards,$calc($pos(%uno.cards,$left(%uno.currentcard,1),1) -1),3)
}
elseif (%uno.samenumber > 0) {
uno.playcard $mid(%uno.cards,$calc($pos(%uno.cards,$right(%uno.currentcard,1),1) -1),3)
}
}
alias uno.choosecolour {
if (%uno.blues >= %uno.yellows) && (%uno.blues >= %uno.reds) && (%uno.blues >= %uno.greens) { %uno.choosecolour = b }
elseif (%uno.greens >= %uno.yellows) && (%uno.greens >= %uno.reds) && (%uno.greens >= %uno.blues) { %uno.choosecolour = g }
elseif (%uno.reds >= %uno.yellows) && (%uno.reds >= %uno.greens) && (%uno.reds >= %uno.blues) { %uno.choosecolour = r }
elseif (%uno.yellows >= %uno.greens) && (%uno.yellows >= %uno.reds) && (%uno.yellows >= %uno.blues) { %uno.choosecolour = y }
msg #uno colour %uno.choosecolour
}