# HG changeset patch # User Matti Hamalainen # Date 1312783773 -10800 # Node ID 39352680963e5bff3e77d092a9326383cc18d5bd # Parent d445b130f921b293a4ed6edfbb4c16094a3f397a# Parent fc709d212c8d0c1250a8da0dd9c9390f83222d7f Automated merge with ssh://tnsp.org/tf/ diff -r d445b130f921 -r 39352680963e ggrtf.tf --- a/ggrtf.tf Mon Aug 08 09:09:06 2011 +0300 +++ b/ggrtf.tf Mon Aug 08 09:09:33 2011 +0300 @@ -2,7 +2,7 @@ ;; GgrTF - A TinyFugue script for BatMUD ;; (C) Copyright 2004-2011 Matti Hämäläinen (Ggr Pupunen) ;; -/set ggrtf_ver=0.6.17.1 +/set ggrtf_ver=0.6.17.2 ;; ;; This triggerset is Free Software distributed under ;; GNU General Public License version 2. @@ -2532,6 +2532,7 @@ ;; 25 min * 60s = 1500 /set toy_sleeves_wait=1500 /set toy_sleeves_diff=400 +/set toy_sleeves_min=100 /def -i gtoy_sleeves_msg =\ /set toy_sleeves_pid=%;\ @@ -2557,10 +2558,10 @@ /def -i gbalance_timeleft =\ /let _left=$[time() - toy_sleeves_t]%;\ /if (toy_sleeves_bal==1)\ - /msq Last balance: $[prgettime(_left)] ago.%;\ + /msq Last balance: @{BCwhite}$[prgettime(_left)]@{n} ago.%;\ /endif%;\ /if (_left < toy_sleeves_wait)\ - /msq Time left until balance available: $[prgettime(toy_sleeves_wait - _left)].%;\ + /msq Time left until balance available: @{BCwhite}$[prgettime(toy_sleeves_wait - _left)]@{n}.%;\ /return 0%;\ /else \ /return -1%;\ @@ -2572,7 +2573,7 @@ /msq Sleeves SHOULD be charged, internal inconsistency!%;\ /endif%;\ /else \ - /msq Sleeve wear time not known.%;\ + /msq @{BCred}Sleeve wear time not known.@{n}%;\ /endif /def -i gbalance_do =\ @@ -2580,13 +2581,15 @@ /return%;\ /endif%;\ /let _diff=$[status_hp - status_sp]%;\ - /if (_diff < toy_sleeves_diff & _diff > 15)\ + /if (_diff < toy_sleeves_diff & _diff > toy_sleeves_min)\ /msq @{BCgreen}HP - SP diff < %{toy_sleeves_diff}, balancing ...@{n}%;\ /send @@balance%;\ /else \ /msq @{BCred}HP - SP diff > %{toy_sleeves_diff}, NOT BALANCING!@{n} (Use @{BCwhite}@@@@balance@{n} to force this action.)%;\ /endif - + +;;@command /balance +;;@desc Perform Alexia sleeves 'balance', but only if the current HP - SP difference is favorable. /def -i balance =\ /if (toy_sleeves_on==1)\ /send @@sc%;\ @@ -2595,7 +2598,22 @@ /msq Sleeves possibly not worn. If you are certain that they are, use @{BCwhite}@@@@balance@{n} to force action.%;\ /endif +;;@command /chkbalance +;;@desc Check and report the status of Alexia sleeve 'balance' without actually performing 'balance'. +/def -i chkbalance =\ + /if (gbalance_timeleft()==0)\ + /return%;\ + /endif%;\ + /let _diff=$[status_hp - status_sp]%;\ + /if (_diff < toy_sleeves_diff & _diff > toy_sleeves_min)\ + /msq @{BCgreen}HP - SP diff = %{_diff}, OK TO BALANCE ...@{n}%;\ + /else \ + /msq @{BCred}HP - SP diff > %{toy_sleeves_diff} (%{_diff}), balance not favorable!@{n}%;\ + /endif + + /prdefgbind -s"balance" -c"/balance" +/prdefgbind -s"cbalance" -c"/chkbalance" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Global script initialization