# HG changeset patch # User Matti Hamalainen # Date 1711553050 -7200 # Node ID 32c6a74b989ac99f1e6ecade9b039c210e740295 # Parent b189ae1b391c06a7e4e17b1eceaa5359d43c1a38 Improve spell handling, add grabbing of wiz-only spell chance value. diff -r b189ae1b391c -r 32c6a74b989a gm-magical.tf --- a/gm-magical.tf Wed Mar 27 17:23:36 2024 +0200 +++ b/gm-magical.tf Wed Mar 27 17:24:10 2024 +0200 @@ -140,8 +140,10 @@ ;; Start of spell -/def -i -F -p9999 -msimple -t"You start chanting." gspell_start =\ - /if (ceremony_st2=~"on")/let _cere=[@{BCgreen}CERE@{n}]%;/else /let _cere=%;/endif%;\ +/def -i -F -p9999 -mregexp -t"^You start chanting( \(chance ([0-9]+)\))?\.$" gspell_start =\ + /set spell_chance=%{P2}%;\ + /if (spell_chance!~"")/let _chance= [chance @{Cgreen}%{spell_chance}@{n}%%]%;/else /let _chance=%;/endif%;\ + /if (ceremony_st2=~"on")/let _cere= [@{BCgreen}CERE@{n}]%;/else /let _cere=%;/endif%;\ /set ceremony_st2=off%;\ /set ceremony_st=off%;\ /set spell_t=$[time()]%;\ @@ -153,19 +155,20 @@ /set spell_hastes=0%;\ /set spell_ghastes=0%;\ /set cast_info=SP%;/set cast_info_n=%;/set cast_info_t=%;@@cast info%;\ - /msk @{BCyellow} ---- SPELL START ---- @{n} (@{Cyellow}%{cnt_casts}@{n}) %{_cere}%;\ + /msk @{BCyellow} ---- SPELL START ---- @{n} (@{Cyellow}%{cnt_casts}@{n})%{_cere}%{_chance}%;\ /gstatus_update%;/prexecfuncs %{event_spell_start} ;; Spell done /def -i -F -p9999 -msimple -t"You are done with the chant." gspell_end =\ + /if (spell_chance!~"")/let _chance= [chance @{Cgreen}%{spell_chance}@{n}%%]%;/else /let _chance=%;/endif%;\ /set cnt_trounds=$[cnt_trounds+spell_rcount]%;\ /set cnt_scasts=$[cnt_scasts+1]%;\ /set spell_st=off%;\ /set spell_st2=on%;\ /set cast_info=%;\ /set cnt_ctime=$[cnt_ctime+time()-spell_t]%;\ - /msk @{Cbggreen} ---- SPELL DONE ---- @{n} in [@{BCred}%{spell_rcount}@{n}] @{BCgreen}rounds!@{n} @{Cyellow}$[prgetstime(spell_t)]@{n}%;\ + /msk @{Cbggreen} ---- SPELL DONE ---- @{n} in [@{BCred}%{spell_rcount}@{n}] @{BCgreen}rounds!@{n} @{Cyellow}$[prgetstime(spell_t)]@{n}%{_chance}%;\ /gstatus_update%;/prexecfuncs %{event_spell_done}