Mercurial > hg > batmud > ggrtf
changeset 1502:0a1e87ee7052
Refactor spider demon helper module.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sat, 16 Jun 2012 01:23:39 +0300 |
parents | 6eba70947636 |
children | 03574f0c416c |
files | gm-spider.tf |
diffstat | 1 files changed, 52 insertions(+), 41 deletions(-) [+] |
line wrap: on
line diff
--- a/gm-spider.tf Tue Jun 12 20:52:46 2012 +0300 +++ b/gm-spider.tf Sat Jun 16 01:23:39 2012 +0300 @@ -25,10 +25,12 @@ /loaded GgrTF::Spider /test prdefmodule("Spider") + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Initialization and options ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; /set spider_pid=0 +/set spider_timer_t=35 /set spider_warn_t=15 /set spider_avgn_min=60 /set spider_avgq_min=80 @@ -71,67 +73,85 @@ /def -i gspider_inform =\ /msq @{Cgreen}Upcoming spider demon drain in %{spider_warn_t}s.@{n} - + + +/def -i gspider_stop_timer =\ + /if (spider_pid > 0)\ + /kill %{spider_pid}%;\ + /set spider_pid=0%;\ + /endif /def -i gspider_setup_timer =\ - /if ({1} >= 15)\ + /if ({1} > spider_warn_t)\ + /gspider_stop_timer%;\ /set spider_next_drain=$[time() + {1}]%;\ - /if (spider_pid > 0)\ - /kill %{spider_pid}%;\ - /endif%;\ /set spider_pid=$(/grepeat -$[{1} - spider_warn_t] 1 /gspider_inform)%;\ /endif -/def -i gspider_tick_normal =\ - /if (spider_ctrl_t > 0)\ - /let _ddelta=$[time() - spider_ctrl_t]%;\ - /set spider_avgn_val=$(/prnth %{spider_avgn_val} %{_ddelta})%;\ - /let _dtime=$(/praverage %{spider_avgn_val})%;\ - /test gspider_setup_timer(_dtime)%;\ - /endif -/def -i gspider_tick_queen =\ +/def -i gspider_control =\ + /msq @{BCgreen}Demon controlled.@{n}%;\ + /set spider_ctrl_t=$[time()]%;\ + /set spider_type=0%;\ + /set spider_drains=0%;\ + /let _dtime=$(/praverage %{spider_avgn_val})%;\ + /test gspider_setup_timer(_dtime) + + +/def -i gspider_drain_queen =\ + /mss @{BCgreen}The Spider Queen is smiling, demon battlechannelled.@{n}%;\ /if (spider_ctrl_t > 0)\ /let _ddelta=$[time() - spider_ctrl_t]%;\ /set spider_avgq_val=$(/prnth %{spider_avgq_val} %{_ddelta})%;\ /let _dtime=$(/praverage %{spider_avgq_val})%;\ /test gspider_setup_timer(_dtime)%;\ - /endif + /endif%;\ + /gspider_drain%;\ + /set spider_ctrl_t=$[time()]%;\ + /set spider_type=1 + + +/def -i gspider_drain_normal =\ + /if (spider_easy)\ + /mss @{BCgreen}Demon channelled with points.@{n}%;\ + /else \ + /mss @{BCred}Demon channelled without points!!@{n}%;\ + /endif%;\ + /if (spider_ctrl_t > 0)\ + /let _ddelta=$[time() - spider_ctrl_t]%;\ + /set spider_avgn_val=$(/prnth %{spider_avgn_val} %{_ddelta})%;\ + /endif%;\ + /gspider_drain ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Spider demon control ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; /eval /def -i -F -p9999 -ag -msimple -t"You feed %{set_plrname}'s spider demon's hunger with your ritual." gspider_ctrl =\ - /msq @{BCgreen}Demon controlled.@{n}%%;\ - /set spider_ctrl_t=$$[time()]%%;\ - /set spider_type=0%%;\ - /set spider_drains=0 + /gspider_control - -;; Point used or not? +;; Point(s) used or not? /eval /def -i -F -p9999 -ag -msimple -t"%{set_plrname}'s demon feels easier to control than usual." gspider_easydrain =\ /set spider_easy=1 ;; Spider demon channelling message /eval /def -i -F -p9999 -msimple -t"%{set_plrname}'s spider demon draws power from you." gspider_normaldrain =\ - /if (spider_easy)\ - /mss @{BCgreen}Demon channelled with points.@{n}%%;\ - /else \ - /mss @{BCred}Demon channelled without points!!!@{n}%%;\ - /endif%%;\ - /gspider_drain%%;\ - /gspider_tick_normal + /gspider_drain_normal ;; Channelling with help from queen /def -i -F -p9999 -msimple -t"Spider Queen smiles upon you and helps you control the demon." gspider_queendrain =\ - /mss @{BCgreen}The Spider Queen is smiling, demon battlechannelled.@{n}%;\ - /gspider_drain%;\ - /gspider_tick_queen%;\ - /set spider_ctrl_t=$[time()]%;\ - /set spider_type=1 + /gspider_drain_queen + +;; Demon banished +/def -i -F -p9999 -msimple -t"You feel your mind returning back to normal." gspider_banished =\ + /gspider_reset + +;; Banish failure +/def -i -F -p9999 -msimple -t"Alien thoughts invade your mind! Your body no longer is yours alone!" gspider_banishfail =\ + /msr HAAALP demon is doing mean things!! Need banish or channel!! +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;@command /spidstatus ;;@desc Prints time elapsed since last demon control, demon drains ;;@desc (and possibly other demon status information in future). @@ -156,12 +176,3 @@ /else \ /msq @{BCgreen}No drains happened yet!@{n}%;\ /endif - - -;; Demon banished -/def -i -F -p9999 -msimple -t"You feel your mind returning back to normal." gspider_banished =\ - /gspider_reset - -;; Banish failure -/def -i -F -p9999 -msimple -t"Alien thoughts invade your mind! Your body no longer is yours alone!" gspider_banishfail =\ - /msr HAAALP demon is doing mean things!! Need banish or channel!!