@program SuperSoup.MUF 1 1000 d i ( (C) 2000-2003 Alynna Trypnotk - alynna@animaltracks.net Release terms: GNU GPL v2 http://www.gnu.org/copyleft/gpl.html Just tell me where you got me, where your using this program (host/port) and distribute your changes under the same terms as you got them [GNU GPL v2] ) $include $lib/alynna lvar param $def }tell }cat me @ swap ansi_notify : rating[ int:rate -- str:equiv ] rate @ case 0 = when "G+(Children/Child character only zone; Sex/Violence prohibited)" end 1 7 .. when "G(Children friendly - all areas; Sex/Violence free zone)" end 8 12 .. when "PG(No public sexual content; extreme violence prohibited)" end 13 16 .. when "PG-13(Mature content permitted; public explicit/obscene/graphic content prohibited)" end 17 20 .. when "R(Explicit content permitted; public graphic content prohibited)" end 21 24 .. when "X(No content restrictions, public graphic content discouraged)" end 25 = when "XXX(No content restrictions)" end endcase ; : diversitylevel[ int:lev -- str:equiv ] lev @ case 0 = when "Diversity Level Zero(One race only, outsiders must conform to the race profile)" end 1 3 .. when "Diversity Level One(Multiple races of the same species, outsiders must conform a native race profile)" end 4 6 .. when "Diversity Level Two(Limited set of native species, outsiders must conform to a native species profile)" end 7 9 .. when "Diversity Level Three(Unlimited species within a family (like mammal), outsiders must conform to a native species profile)" end 10 12 .. when "Diversity Level Four(Unlimited set of native species, outsiders must not expose themselves as outsiders)" end 13 15 .. when "Diversity Level Five(One species as native, outsiders acceptable)" end 16 18 .. when "Diversity Level Six(Limited set of native species, outsiders acceptable)" end 19 21 .. when "Diversity Level Seven(Common family profile (like mammal) native, outsiders acceptable)" end 22 24 .. when "Diversity Level Eight(All species and outsiders acceptable)" end 25 = when "Diversity Level Nine(All species and outsiders welcomed)" end endcase ; : techlevel[ int:lev -- str:equiv ] lev @ case 0 = when "Tech level Zero(Technology use prohibited or cannot work)" end 1 3 .. when "Tech level One(Stone age tech level [Earth equiv pre 2000BC])" end 4 6 .. when "Tech level Two(Bronze age tech level [Earth equiv 2000BC-0AD])" end 7 9 .. when "Tech level Three(Iron age/Renaissance tech level [Earth equiv 0AC-1700AD])" end 10 12 .. when "Tech level Four(Industrial age tech level [Earth equiv 1700AD-1900AD])" end 13 15 .. when "Tech level Five(Information age tech level [Earth equiv 1900AD-2020AD])" end 16 18 .. when "Tech level Six(Space age (FTL Capable) [Earth equiv 2020AD-2100AD])" end 19 21 .. when "Tech level Seven(Nanotech age [Earth equiv 2100AD-3000AD])" end 22 24 .. when "Tech level Eight(Quantum age [Earth equiv 3000AD-9999AD])" end 25 = when "Tech level Nine(Twink age [Earth equiv 10000AD-Eternity])" end endcase ; : magiclevel[ int:lev -- str:equiv ] lev @ case 0 = when "Magic level Zero(Magic does not work and cannot work)" end 1 3 .. when "Magic level One(Magic works but noone knows about it)" end 4 6 .. when "Magic level Two(Magic mostly unknown and considered taboo/evil)" end 7 9 .. when "Magic level Three(Magic used by select few only (wizards/witches/priests/etc))" end 10 12 .. when "Magic level Four(Magic awakening, all people are discovering it)" end 13 15 .. when "Magic level Five(Magic capable, magitech incapable, use isolated but accepted)" end 16 18 .. when "Magic level Six(Magic capable and publically used, magitech capable but uncommonly used)" end 19 21 .. when "Magic level Seven(Magic and magitech part of culture, magic part of basic teachings)" end 22 24 .. when "Magic level Eight(Faerie world, or race with innate magic ability)" end 25 = when "Magic level Nine(God realm or Super Saiyan homeworld, Twink zone)" end endcase ; : RPlevel[ int:lev -- str:equiv ] lev @ case 0 = when "RP level Zero(OOC Zone)" end 1 6 .. when "RP level One(Strict sheet, no special abilities except what is documented)" end 7 12 .. when "RP level Two(Cantrip sheet, can cantrip based on abilities on your sheet)" end 13 18 .. when "RP level Three(Guideline sheet, can derive new abilities from things already on your sheet)" end 19 24 .. when "RP level Four(Regulating sheet, all abilities possible but conflicts will be resolved by sheet)" end 25 = when "RP level Five(No sheet, total freeform RP, any abilities possible)" end endcase ; : RTlevel[ int:lev -- str:equiv ] lev @ case 0 = when "Realm type Zero(Total OOC)" end 1 6 .. when "Realm type One(Social OOC, events have no effect on IC world)" end 7 12 .. when "Realm type Two(OOC/IC Persona play, ICC optional)" end 13 18 .. when "Realm type Three(IC zone, Consent RP, events nullable/retconnable)" end 19 24 .. when "Realm type Four(IC zone, Consent RP, events not nullable/retconnable)" end 25 = when "RP level Five(Strict IC zone, Non-consent RP, no retcons permitted)" end endcase ; : help { "Realms control (C) 2006 Alynna Trypnotk" " " param @ " " split swap pop case not when "Commands:" " realm Show information for this realm" " realm #help Show this help, and help topics" " realm #help Show the help topics" " rset Set values for the current realm" " " "To create a realm: @set =_realm:" " " "Realms fields to fill out: " " " " ruler The IC ruler of the realm" " economy The primary way of exchanging goods and services" " alignment The generalized moral alignment of the realm" " population An estimate of the area population" " size An estimate of the area size" " type The general ruling or governing type of an area" " realmtype A realmtype numeric, see #help realmtype" " rplevel A realm roleplay numeric, see #help rplevel" " rating A content numeric, see #help rating" " diversity A diversity numeric, see #help diversity" " tech A tech level numeric, see #help tech" " magic A magic level numeric, see #help magic" end "realmtype" smatch when "Realm type valid numerics:" " 0 : Realm type Zero(Total OOC)" " 1..6 : Realm type One(Social OOC, events have no effect on IC world)" " 7..12 : Realm type Two(OOC/IC Persona play, ICC optional)" "13..18 : Realm type Three(IC zone, Consent RP, events nullable/retconnable)" "19..24 : Realm type Four(IC zone, Consent RP, events not nullable/retconnable)" " 25 : Realm type Five(Strict IC zone, Non-consent RP, no retcons permitted)" end "rplevel" smatch when "RP level valid numerics:" " 0 : RP level Zero(OOC Zone)" " 1..6 : RP level One(Strict sheet, no special abilities except what is documented)" " 7..12 : RP level Two(Cantrip sheet, can cantrip based on abilities on your sheet)" "13..18 : RP level Three(Guideline sheet, can derive new abilities from things already on your sheet)" "19..24 : RP level Four(Regulating sheet, all abilities possible but conflicts will be resolved by sheet)" " 25 : RP level Five(No sheet, total freeform RP, any abilities possible)" end "rating" smatch when " 0 : G+(Children/Child character only zone; Sex/Violence prohibited)" " 1..7 : G(Children friendly - all areas; Sex/Violence free zone)" " 8..12 : PG(No public sexual content; extreme violence prohibited)" "13..16 : PG-13(Mature content permitted; public explicit/obscene/graphic content prohibited)" "17..20 : R(Explicit content permitted; public graphic content prohibited)" "21..24 : X(No content restrictions, public graphic content discouraged)" " 25 : XXX(No content restrictions)" end "diversity" smatch when " 0 : Diversity Level Zero(One race only, outsiders must conform to the race profile)" " 1..3 : Diversity Level One(Multiple races of the same species, outsiders must conform a native race profile)" " 4..6 : Diversity Level Two(Limited set of native species, outsiders must conform to a native species profile)" " 7..9 : Diversity Level Three(Unlimited species within a family (like mammal), outsiders must conform to a native species profile)" "10..12 : Diversity Level Four(Unlimited set of native species, outsiders must not expose themselves as outsiders)" "13..15 : Diversity Level Five(One species as native, outsiders acceptable)" "16..18 : Diversity Level Six(Limited set of native species, outsiders acceptable)" "19..21 : Diversity Level Seven(Common family profile (like mammal) native, outsiders acceptable)" "22..24 : Diversity Level Eight(All species and outsiders acceptable)" " 25 : Diversity Level Nine(All species and outsiders welcomed)" end "tech" smatch when " 0 : Tech level Zero(Technology use prohibited or cannot work)" " 1..3 : Tech level One(Stone age tech level [Earth equiv pre 2000BC])" " 4..6 : Tech level Two(Bronze age tech level [Earth equiv 2000BC-0AD])" " 7..9 : Tech level Three(Iron age/Renaissance tech level [Earth equiv 0AC-1700AD])" "10..12 : Tech level Four(Industrial age tech level [Earth equiv 1700AD-1900AD])" "13..15 : Tech level Five(Information age tech level [Earth equiv 1900AD-2020AD])" "16..18 : Tech level Six(Space age (FTL Capable) [Earth equiv 2020AD-2100AD])" "19..21 : Tech level Seven(Nanotech age [Earth equiv 2100AD-3000AD])" "22..24 : Tech level Eight(Quantum age [Earth equiv 3000AD-9999AD])" " 25 : Tech level Nine(Twink age [Earth equiv 10000AD-Eternity])" end "magic" smatch when " 0 : Magic level Zero(Magic does not work and cannot work)" " 1..3 : Magic level One(Magic works but noone knows about it)" " 4..6 : Magic level Two(Magic mostly unknown and considered taboo/evil)" " 7..9 : Magic level Three(Magic used by select few only (wizards/witches/priests/etc))" "10..12 : Magic level Four(Magic awakening, all people are discovering it)" "13..15 : Magic level Five(Magic capable, magitech incapable, use isolated but accepted)" "16..18 : Magic level Six(Magic capable and publically used, magitech capable but uncommonly used)" "19..21 : Magic level Seven(Magic and magitech part of culture, magic part of basic teachings)" "22..24 : Magic level Eight(Faerie world, or race with innate magic ability)" " 25 : Magic level Nine(God realm or Super Saiyan homeworld, Twink zone)" end endcase }array atellme ; : realm param @ "#help*" smatch if help exit then var locale me @ location "_realm" envpropstr not if "^RED^<<< ERROR - No realm set, you are in a place that doesnt really exist. >>>^NORMAL^" tellme exit else me @ location "_realm" envpropstr header tellme locale ! then { "^YELLOW^" "Realm Owner:" 20 lj "^GREEN^" locale @ owner }tell { "^YELLOW^" "Realm Ruler:" 20 lj "^GREEN^" locale @ "_ruler" envprop swap pop }tell { "^YELLOW^" "Economy:" 20 lj "^GREEN^" locale @ "_economy" envprop swap pop }tell { "^YELLOW^" "Alignment:" 20 lj "^GREEN^" locale @ "_alignment" envprop swap pop }tell { "^YELLOW^" "Population:" 20 lj "^GREEN^" locale @ "_population" envprop swap pop }tell { "^YELLOW^" "Size:" 20 lj "^GREEN^" locale @ "_size" envprop swap pop }tell { "^YELLOW^" "Government type:" 20 lj "^GREEN^" locale @ "_type" envprop swap pop }tell { "^CYAN^" "RP type:" 20 lj "^GREEN^" locale @ "@type" envprop swap pop toint ": " over rtlevel }tell { "^CYAN^" "Rating:" 20 lj "^GREEN^" locale @ "@rating" envprop swap pop toint ": " over rating }tell { "^CYAN^" "RP level:" 20 lj "^GREEN^" locale @ "@rplevel" envprop swap pop toint ": " over rplevel }tell { "^CYAN^" "Tech Level:" 20 lj "^GREEN^" locale @ "@techlevel" envprop swap pop toint ": " over techlevel }tell { "^CYAN^" "Magic Level:" 20 lj "^GREEN^" locale @ "@magiclevel" envprop swap pop toint ": " over magiclevel }tell { "^CYAN^" "Diversity Level:" 20 lj "^GREEN^" locale @ "@diversitylevel" envprop swap pop toint ": " over diversitylevel }tell "Background" header tellme locale @ "_background" envpropstr swap pop dup if wrap78 atellme else pop then "Realms Information v1.0" footer tellme ; : map ; : realmset var locale var lname me @ location "_realm" envpropstr not if "^RED^<<< ERROR - No realm set, you are in a place that doesnt really exist. This is a critical error that will prevent you from setting the realms information. Please see the #help. >>>^NORMAL^" tellme exit else me @ location "_realm" envpropstr lname ! locale ! then { "ruler" "_ruler" "economy" "_economy" "alignment" "_alignment" "population" "_population" "size" "_size" "type" "@type" "rating" "@rating" "rplevel" "@rplevel" "tech" "@techlevel" "magic" "@magiclevel" "diversity" "@diversitylevel" }dict var! madprops param @ " " split var! argv var! argc argc @ { "{" madprops @ array_keys "|" array_join "}" }cat smatch not if { "^RED^I don't understand the argument " argc @ ". Please hang up and try again." }tell exit then madprops @ argc @ [] var! madprop madprop @ "@*" smatch if locale @ madprop @ argv @ toint setprop { "^GREEN^Property set, " argc @ " on " lname @ " to [" argv @ "]." }tell else locale @ madprop @ argv @ tostr setprop { "^GREEN^Property set, " argc @ " on " lname @ " to \"" argv @ "\"." }tell then ; : main param ! command @ tolower case "realm" smatch when realm end "map" smatch when map end "rset" smatch when realmset end endcase ; . c q