Mercurial > hg > batmud > ggrtf
changeset 1439:4014856de443
Add support for animist soul companions in the PSS mangler.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 23 Aug 2011 23:08:17 +0300 |
parents | 267cee0ac805 |
children | 4c57ecb136f2 |
files | gm-pssmangle.tf |
diffstat | 1 files changed, 64 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/gm-pssmangle.tf Fri Aug 12 13:29:10 2011 +0300 +++ b/gm-pssmangle.tf Tue Aug 23 23:08:17 2011 +0300 @@ -77,7 +77,31 @@ /eval /set _gp_oep=$$[gparty_%{1}_%{2}_oep]%;\ /return " ------- @{Cblue}:@{n}$[gparty_dval(_gp_hp,_gp_ohp)]@{BCblue}:@{n}$[gparty_dval(_gp_sp,_gp_osp)]@{Cblue}:@{n}$[gparty_dval(_gp_ep,_gp_oep)]" - +/def -i gparty_show_souls =\ + /let _tmps=%;\ + /let _souls=0%;\ + /while ({#})\ + /eval /set _gp_pl=$$[gparty_%{1}_sl_pl]%;\ + /eval /set _gp_hp=$$[gparty_%{1}_sl_hp]%;\ + /let _tmpc=$[gparty_get_color(_gp_pl)]%;\ + /let _tmps=%{_tmps}$[prsubpad({1},9)]@{Cblue}:@{n}%{_tmpc}%{_gp_pl}@{n}@{Cblue}:@{n}$[gparty_val(_gp_hp,100)]@{Cblue}:@{n} |%;\ + /shift%;\ + /if (mod(++_souls,3) == 0)\ + /msw |%{_tmps}%;\ + /let _tmps=%;\ + /endif%;\ + /done%;\ + /while (mod(_souls,3) != 0)\ + /let _tmps=%{_tmps} |%;\ + /let _souls=$[_souls+1]%;\ + /done%;\ + /if (_tmps!~"")\ + /msw |%{_tmps}%;\ + /endif%;\ + /if (_souls > 0)\ + /echo `--------------------------------------------------------------------------'%;\ + /endif + /def -i gparty_show =\ /echo ,--------------------------------------------------------------------------.%;\ /msw |$[gparty_sc(1,1)]|$[gparty_sc(1,2)]|$[gparty_sc(1,3)]|%;\ @@ -92,6 +116,7 @@ /endif%;\ /echo `--------------------------------------------------------------------------' + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; TF5 status line PSS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -114,6 +139,7 @@ /eval /status_add -c -s1 -r3 "[" $[gparty_pc(2,1)] "|" $[gparty_pc(2,2)] "|" $[gparty_pc(2,3)] "]"%;\ /eval /status_add -c -s1 -r4 "[" $[gparty_pc(3,1)] "|" $[gparty_pc(3,2)] "|" $[gparty_pc(3,3)] "]" + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Utility and grabbing triggers ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -146,6 +172,25 @@ /set gparty_%{_gps}_ep=%{8}%;\ /set gparty_%{_gps}_epm=%{9} +/def -i gparty_set_soul =\ + /if (regmatch("^ *([A-Za-z][A-Za-z ]+[A-Za-z]) *$",{3}))\ + /let _tmps=%{P1}%;\ + /else \ + /let _tmps=%{3}%;\ + /endif%;\ + /if (_tmps=~"VERY low") /let _ghp=15%;\ + /elseif (_tmps=~"very low") /let _ghp=30%;\ + /elseif (_tmps=~"low") /let _ghp=45%;\ + /elseif (_tmps=~"medium") /let _ghp=60%;\ + /elseif (_tmps=~"high") /let _ghp=75%;\ + /elseif (_tmps=~"VERY high") /let _ghp=90%;\ + /elseif (_tmps=~"full") /let _ghp=100%;\ + /else /let _ghp=??%;/endif%;\ + /set gparty_grab=-2%;\ + /set gparty_souls=%{gparty_souls} %{1}%;\ + /set gparty_%{1}_sl_pl=%{2}%;\ + /set gparty_%{1}_sl_hp=%{_ghp}%;\ + /def -i gparty_cset =\ /eval /set gparty_%{1}_is=$$[gparty_%{1}_i]%;\ /eval /set gparty_%{1}_os=$$[gparty_%{1}_s]%;\ @@ -166,32 +211,41 @@ /set gparty_%{1}_ep=%;\ /set gparty_%{1}_epm= + /def -i gparty_clear =\ /set gparty_mtmp=%;\ + /set gparty_souls=%;\ /for _crow 1 3 /set gparty_row%%{_crow}=0%;\ /for _ccol 1 3 \ /for _crow 1 3 \ /gparty_cset %%%{_crow}_%%%{_ccol} -/def -i -F -Egparty_grab -p9999 -msimple -t',-----------------------------------------------------------------------------.' gpss_getbegin =\ +/def -i -F -Egparty_grab>0 -p9999 -msimple -t',-----------------------------------------------------------------------------.' gpss_getbegin =\ /if (opt_prettypss=~"on") /substitute -ag%;/endif%;\ /gparty_clear -/def -i -F -Egparty_grab -p999 -mregexp -t"^\|(.)([1-3?]\.[1-3?]) ([A-Z][A-Za-z ][A-Za-z ]?[A-Za-z ]?[A-Za-z ]?[A-Za-z ]?[A-Za-z ]?[A-Za-z ]?[A-Za-z ]?[A-Za-z ]?[A-Za-z ]?[A-Za-z]?) +(ld|ldr|fol|mbr|form|unc|dead|rest|stun) +([0-9-]+)\( *([0-9-]+)\) +([0-9-]+)\( *([0-9-]+)\) +([0-9-]+)\( *([0-9-]+)\)" gpss_getps =\ +/def -i -F -Egparty_grab>0 -p999 -mregexp -t"^\|(.)([1-3?]\.[1-3?]) ([A-Z][A-Za-z ][A-Za-z ]?[A-Za-z ]?[A-Za-z ]?[A-Za-z ]?[A-Za-z ]?[A-Za-z ]?[A-Za-z ]?[A-Za-z ]?[A-Za-z ]?[A-Za-z]?) +(ld|ldr|fol|mbr|form|unc|dead|rest|stun) +([0-9-]+)\( *([0-9-]+)\) +([0-9-]+)\( *([0-9-]+)\) +([0-9-]+)\( *([0-9-]+)\)" gpss_getps =\ /if (opt_prettypss=~"on") /substitute -ag%;/endif%;\ /test gparty_set({P2},{P3},{P4},{P5},{P6},{P7},{P8},{P9},{P10},{P1}) +/def -i -F -Egparty_grab<0 -p999 -mregexp -t"^\| ([A-Z][a-z]+)'s soul\ {1,8}( fol|form| ) (.........)" gpss_getps2 =\ + /if (opt_prettypss=~"on") /substitute -ag%;/endif%;\ + /test gparty_set_soul({P1},{P2},{P3}) /def -i -F -Egparty_grab -p99 -msimple -t'`-----------------------------------------------------------------------------\'' gpss_getend =\ - /set gparty_grab=0%;\ - /set gparty_members=%{gparty_mtmp}%;\ - /if (opt_prettypss=~"on") /substitute -ag%;/gparty_show%;/endif%;\ - /if (opt_statuspss=~"on") /gparty_status%;/endif%;\ - /prexecfuncs %{event_pss_once}%;\ - /set event_pss_once= - + /if (gparty_grab > 0)\ + /set gparty_grab=-1%;\ + /set gparty_members=%{gparty_mtmp}%;\ + /if (opt_statuspss=~"on") /gparty_status%;/endif%;\ + /if (opt_prettypss=~"on") /substitute -ag%;/gparty_show%;/endif%;\ + /prexecfuncs %{event_pss_once}%;\ + /set event_pss_once=%;\ + /elseif (gparty_grab < -1)\ + /set gparty_grab=0%;\ + /if (opt_prettypss=~"on") /substitute -ag%;/gparty_show_souls %{gparty_souls}%;/endif%;\ + /endif /def -i -F -p9999 -msimple -t"You are not in a party." gpss_noparty =\ /set gparty_grab=0%;\