Andemil Newbie
Joined: 04 Jul 2006 Posts: 2
|
Posted: Tue Jul 04, 2006 1:05 pm
Temporal Rifts - Unique Analyzer, zMUD |
Temporal Rifts has a unique system of randomly and player-generated unique items. With the many lines of stats, some positive and some negative, the below script offers two aliases. "Analyze" will lore the specified object and report its stats and what enhancements may be made. "Aucstat" will do the same for any item on auction. This script was once posted to our website, but I wanted to ensure it got out to a wider audience as well. I don't remember whom to credit, but I believe Calacirya and Adenia had a hand in this. Use and modify at will!
Please visit our website @ http://www.temporal-rifts.org Better yet, come mud with us @: telnet://temporal-rifts.org::7887
(Andemil)
Code: |
#alias {analyze} {sortprep;lore %0;gtell Report} {sort}
#alias {aucstat} {sortprep;auction;gtell Report} {sort}
#alias {nonunique} {emote reports:`RThis item is `#NON-UNIQUE``, and has the following properties:`RWear Level: `^@wearlev`` Wear Location: `^@wearloc```RHps: `^@hps`` Mana: `^@man`` Moves: `^@mov```RAC: `^@arm`` Saves: `^@sav`` Hitroll: `^@hit`` Damroll: `^@dam``;#math tenhit {30 - @hit};#math tendam {30 - @dam};#math twohps {500 - @hps};#math twoman {500 - @man};#math twomov {500 - @mov};#math newarm {(-500 - @arm)*-1};#math newsav {(-25 - @sav)*-1};#if (@twohps < 0) {#var twohps {0}};#if (@twoman < 0) {#var twoman {0}};#if (@twomov < 0) {#var twomov {0}};#if (@tenhit < 0) {#var tenhit {0}};#if (@tendam < 0) {#var tendam {0}};#if (@newarm < 0) {#var newarm {0}};#if (@newsav < 0) {#var newsav {0}};repnon} {sort}
#alias {sortprep} {#var hps {0};#var man {0};#var mov {0};#var arm {0};#var hit {0};#var dam {0};#var sav {0};#var psi {0};#var unique {-1};#var style {1};#var fireproof {1};#var inlay {2};#variable wearloc {light};#variable wearlev {null};#variable keyword {null};#variable field {long}} {sort}
#alias {unique} {emote reports: `RThis item is `OUNIQUE``, and has the following properties `OWHEN FIXED``:`RWear Level: `^@wearlev`` Wear Location: `^@wearloc```RHps: `^@hps`` Mana: `^@man`` Moves: `^@mov```RAC: `^@arm`` Saves: `^@sav`` Hitroll: `^@hit`` Damroll: `^@dam``;#math tenhit {30 - @hit};#math tendam {30 - @dam};#math twohps {500 - @hps};#math twoman {500 - @man};#math twomov {500 - @mov};#math newarm {(-500 - @arm)*-1};#math newsav {(-25 - @sav)*-1};#if (@twohps < 0) {#var twohps {0}};#if (@twoman < 0) {#var twoman {0}};#if (@twomov < 0) {#var twomov {0}};#if (@tenhit < 0) {#var tenhit {0}};#if (@tendam < 0) {#var tendam {0}};#if (@newarm < 0) {#var newarm {0}};#if (@newsav < 0) {#var newsav {0}};repuni} {sort}
#alias {repnon} {emote reports: `RThe following amounts may be applied via tokens:`R`^250/250`` work: Hps (`#@twohps``) / Mana (`#@twoman``) / Moves (`#@twomov``)`R`^10/10`` work: Hitroll (`#@tenhit``) / Damroll (`#@tendam``)`R`^AC`` work: AC (`#@newarm``)`R`^Spellshield`` work: Saves (`#@newsav``)} {sort}
#alias {repuni} {emote reports: `RThe following amounts may be applied via tokens:`R`^250/250`` work: Hps (`#@twohps``) / Mana (`#@twoman``) / Moves (`#@twomov``)`R`^10/10`` work: Hitroll (`#@tenhit``) / Damroll (`#@tendam``)`R`^AC`` work: AC (`#@newarm``)`R`^Spellshield`` work: Saves (`#@newsav``)} {sort}
#alias {tokencalc} {#math tenten {(@tenhit + @tendam) / 20};#math tenmod {@tenhit + @tendam - (((@tenhit + @tendam) / 20) * 20)};#if (@tenmod > 0) {#math tenten {@tenten + 1}};#math twofifty {(@twohps + @twoman + @twomov) / 500};#math twomod {@twohps + @twoman + @twomov - (((@twohps + @twoman + @twomov) / 500) * 500)};#if (@twomod > 0) {#math twofifty {@twofifty + 1}};#math ac {@newarm / 250};#math acmod {@newarm - ((@newarm / 250) * 250)};#if (@acmod > 0) {#math ac {@ac + 1}};#math spellshield {@newsav / 25};#math spellmod {@newsav - ((@newsav / 25) * 25)};#if (@spellmod > 0) {#math spellshield {@spellshield + 1}};tokenrep} {sort}
#alias {tokenrep} {emote reports: `RThe following amounts of tokens would be used:`R`^250/250``: `#@twofifty```R`^10/10``: `#@tenten```R`^AC``: `#@ac```R`^Spellshield``: `#@spellshield```R`^Style``: `#@style```R`^Fireproof``: `#@fireproof`R`^Inlay``: `#@inlay``} {sort}
#alias {split} {#math twosplit {@twofifty * 500 - (@twohps + @twoman + @twomov)};#math tensplit {@tenten * 20 - (@tenhit + @tendam)};#math acsplit {@ac * 250 - @newarm};#math savsplit {@spellshield * 25 - @newsav};splitrep} {sort}
#alias {splitrep} {emote reports:`RAfter tokening, the following points must be split or discarded:`R`^250/250``: `#@twosplit`R`^10/10``: `#@tensplit`R`^AC``: `#@acsplit`R`^Spellshield``: `#@savsplit``} {sort}
#alias {stringit} {sortprep;#variable keyword %1;#variable field %2;lore %1;gtell Stringcheck} {sort}
#alias {Stringnon} {autostring @keyword @field `#NON-UNIQUE``, with the following properties: Wear Level: `^@wearlev`` Wear Location: `^@wearloc```RHps: `^@hps`` Mana: `^@man`` Moves: `^@mov`` AC: `^@arm`` Saves: `^@sav`` Hitroll: `^@hit`` Damroll: `^@dam``} {sort}
#alias {Stringuni} {autostring @keyword @field `OUNIQUE``, with the following properties: Wear Level: `^@wearlev`` Wear Location: `^@wearloc```RHps: `^@hps`` Mana: `^@man`` Moves: `^@mov`` AC: `^@arm`` Saves: `^@sav`` Hitroll: `^@hit`` Damroll: `^@dam``} {sort}
#alias {sorton} {#class sort on}
#alias {sortoff} {#class sort off}
#action {Affects armor class by -%1.} {#math arm {@arm - %1}} {sort}
#action {Affects damage roll by %1.} {#math dam {@dam + %1}} {sort}
#action {Affects damage roll by -%1.} {#if (@unique > -1) {#math dam {@dam + %1}}} {sort}
#action {Affects hit roll by %1.} {#math hit {@hit + %1}} {sort}
#action {Affects hit roll by -%1.} {#if (@unique > -1) {#math hit {@hit + %1}}} {sort}
#action {Affects hp by %1.} {#math hps {@hps + %1}} {sort}
#action {Affects hp by -%1.} {#if (@unique > -1) {#math hps {@hps + %1}}} {sort}
#action {Affects mana by %1.} {#math man {@man + %1}} {sort}
#action {Affects mana by -%1.} {#if (@unique > -1) {#math man {@man + %1}}} {sort}
#action {Affects moves by %1.} {#math mov {@mov + %1}} {sort}
#action {Affects moves by -%1.} {#if (@unique > -1) {#math mov {@mov + %1}}} {sort}
#action {Affects save vs spell by -%1.} {#math sav {@sav - %1}} {sort}
#action {Affects saves by -%1.} {#math sav {@sav - %1}} {sort}
#action {unique} {#var unique {0}} {sort}
#action {burn_proof} {#var fireproof {0}} {sort}
#action {cache} {#var style {0}} {sort}
#action {gemmed} {#var inlay {1}} {sort}
#action {bejeweled} {#var inlay {0}} {sort}
#action {tells the group 'Report'} {#if (@unique = 0) {unique};#if (@unique = -1) {nonunique};tokencalc} {sort}
#action {tells the group 'Stringcheck'} {#if (@unique > -1) {Stringuni};#if (@unique = -1) {Stringnon}} {sort}
#action {Wear bits: take %1} {#var wearloc %1} {sort}
#action {~(%1 To Wear~)} {#var wearlev %1} {sort}
#variable {ac} {2}
#variable {acmod} {0}
#variable {arm} {0}
#variable {con} {0}
#variable {dam} {0}
#variable {dex} {0}
#variable {field} {null}
#variable {fireproof} {1}
#variable {hit} {0}
#variable {hps} {0}
#variable {int} {0}
#variable {keyword} {null}
#variable {man} {0}
#variable {mov} {0}
#variable {newarm} {500}
#variable {newsav} {25}
#variable {psi} {0}
#variable {sav} {0}
#variable {spellmod} {0}
#variable {spellshield} {1}
#variable {str} {0}
#variable {style} {1}
#variable {tendam} {30}
#variable {tenhit} {30}
#variable {tenmod} {60}
#variable {tenten} {4}
#variable {twofifty} {4}
#variable {twohps} {500}
#variable {twoman} {500}
#variable {twomod} {1500}
#variable {twomov} {500}
#variable {unique} {0}
#variable {wearlev} {0}
#variable {wearloc} {light}
#variable {wis} {0}
|
|
|