chui/window/chem var/global/list/CHEMS = list( "Aluminium", "Bromine", "Copper", "Sugar", "Water" ) var/list/chems = list() name = "Chemical Dispensor" New() ..() OnClick( var/client/who, var/id ) if( !(id in CHEMS)) return//?? if( isnull( chems[ id ] ) ) chems[ id ] = 0 chems[ id ] += 10 CallJSFunction( "addChem", list( id ) ) OnTopic( href, href_list[] ) switch( href_list[ "action" ] ) if( "remove" ) chems[href_list[ "chem" ]] = null CallJSFunction( "removeChem", list( href_list[ "chem" ] ) ) proc/getChems() var/ret = "Chem(trails):
" for( var/chem in chems ) if( !isnull(chems[ chem ]) ) world << chem ret += "
" + chem + " ([chems[chem]]) - Remove
" return "[ret]

" GetBody() var/generated = getChems() for( var/i = 1, i <= CHEMS.len, i++ ) generated += theme.generateButton( CHEMS[i], CHEMS[i] ) + "
" return {" "} + generated var/global/chui/window/chem/chems world/New() .=..() chems = new client/verb/chemicals() set name = "Chem Dispensor" set category = "chui" if( chems.IsSubscribed( src ) ) chems.Unsubscribe( src ) else chems.Subscribe( src )