### Character creation constants CCDEFAULT_DATA = "Not set." ### At this point we should enter our menu driven system. $ccmenu_element ={:menu_race=>{:race_human=>{:name=>"human", :desc=>"You gotta be good"}, :race_dwarf=>{:name=>"dwarf", :desc=>"You gotta be strong"}, :race_feline=>{:name=>"feline", :desc=>"You gotta be 2000 places at once"}, :race_elf=>{:name=>"elf", :desc=>"Magical"} }, :menu_class=>{:class_warrior=>{:name=>"warrior", :desc=>"tank"}, :class_thief=>{:name=>"thief", :desc=>"melee dps"}, :class_mage=>{:name=>"mage", :desc=>"range dps"}, :class_cleric=>{:name=>"cleric", :desc=>"healer"} }, :menu_traits=>{ :trait_hearty=>{:name=>"hearty", :desc=>"+15% to health gains"}, :trait_enchanted=>{:name=>"enchanted", :desc=>"+15% spell damage"}, :trait_fleeting=>{:name=>"fleeting", :desc=>"+15% speed"}, :trait_protected=>{:name=>"protected", :desc=>"+15% armor"}, :trait_powerful=>{:name=>"powerful", :desc=>"+15% to melee damage"}, :trait_precise=>{:name=>"precise", :desc=>"+15% melee accuracy"}, :trait_learned=>{:name=>"learned", :desc=>"+15% spell accuracy"}, :trait_deft=>{:name=>"deft", :desc=>"+15% critical strike chance"}, :trait_destined=>{:name=>"destined", :desc=>"+15% critical magic chance"} }, :menu_signs=>{:sign_ram=>{:name=>"The Ram", :desc=>"Stinky ram"}, :sign_bull=>{:name=>"The Bull", :desc=>"Stinky bull"}, :sign_twins=>{:name=>"The Twins", :desc=>"The twins"}, :sign_crab=>{:name=>"The Crab", :desc=>"I pinch"}, :sign_lion=>{:name=>"The Lion", :desc=>"Roar"}, :sign_virgin=>{:name=>"The Virgin", :desc=>"Davion"}, :sign_scales=>{:name=>"the Scales", :desc=>"Balance is justice"}, :sign_scorpion=>{:name=>"The Scorpion", :desc=>"Comedy TBA"}, :sign_archer=>{:name=>"The Archer", :desc=>"Elegarn"}, :sign_capricorn=>{:name=>"The Capricorn",:desc=>"Most boring"}, :sign_maiden=>{:name=>"The Maiden", :desc=>"Sezen"}, :sign_sea=>{:name=>"The Sea", :desc=>"Moon Harbor"} } } def print_menu_options(d, menufound) length = 79 d.text_to_socket "#W".center(length, '_') + ENDL d.text_to_socket "#W__#B#{menufound[:desc].upcase}#W".ljust(length, '_') + ENDL menufound[:table].each do |k, v| tmp = v[:desc].dup tmp_n = v[:name] ccc = 0 while !tmp.empty? if ccc == 0 d.text_to_socket "#W= " + " #C#{'%-20s' % tmp_n}#C " + tmp.pop_some(length-4-22).ljust(length-4-22) + "#W =" + ENDL else d.text_to_socket "#W= " + "#C" + tmp.pop_some(length-4).ljust(length-4) + "#W =" + ENDL end ccc += 1 end end d.text_to_socket "#W=".center(length, '=') + "#n" + ENDL end