@@ -210,13 +210,23 @@ local abstract = {
210210 config = { extra = { Emult = 1.15 , odds_after_play = 2 , odds_after_round = 4 , marked = false , survive = false } },
211211 -- #1# emult, #2# in #3# chance card is destroyed after play, #4# in #5$ chance card is destroyed at end of round (even discarded or in deck)
212212 loc_vars = function (self , info_queue , card )
213+ local num1 , denom1 = SMODS .get_probability_vars (
214+ card ,
215+ 1 ,
216+ card and card .ability .extra .odds_after_play or self .config .extra .odds_after_play
217+ )
218+ local num2 , denom2 = SMODS .get_probability_vars (
219+ card ,
220+ 1 ,
221+ card and card .ability .extra .odds_after_round or self .config .extra .odds_after_round
222+ )
213223 return {
214224 vars = {
215225 card .ability .extra .Emult ,
216- cry_prob ( card . ability . cry_prob , card . ability . extra . odds_after_play , card . ability . cry_rigged ) ,
217- card . ability . extra . odds_after_play ,
218- cry_prob ( card . ability . cry_prob , card . ability . extra . odds_after_round , card . ability . cry_rigged ) ,
219- card . ability . extra . odds_after_round ,
226+ num1 ,
227+ denom1 ,
228+ num2 ,
229+ denom2 ,
220230 },
221231 }
222232 end ,
@@ -228,8 +238,12 @@ local abstract = {
228238 and not card .ability .extra .marked
229239 and not card .ability .eternal
230240 and not card .ability .extra .survive -- this presvents repitition of shatter chance by shutting it out once it confirms to "survive"
231- and pseudorandom (" cry_abstract_destroy" )
232- < cry_prob (card .ability .cry_prob , card .ability .extra .odds_after_play , card .ability .cry_rigged ) / card .ability .extra .odds_after_play
241+ and SMODS .pseudorandom_probability (
242+ card ,
243+ " cry_abstract_destroy" ,
244+ 1 ,
245+ card and card .ability .extra .odds_after_play or self .config .extra .odds_after_play
246+ )
233247 then -- the 'card.area' part makes sure the card has a chance to survive if in the play area
234248 card .ability .extra .marked = true
235249 elseif context .cardarea == G .play and not card .ability .extra .marked then
@@ -2542,9 +2556,12 @@ return {
25422556 function Card :calculate_abstract_break ()
25432557 if self .config .center_key == " m_cry_abstract" and not self .ability .extra .marked then
25442558 if
2545- pseudorandom (" cry_abstract_destroy2" )
2546- < cry_prob (self .ability .cry_prob , self .ability .extra .odds_after_round , self .ability .cry_rigged )
2547- / self .ability .extra .odds_after_round
2559+ SMODS .pseudorandom_probability (
2560+ card ,
2561+ " cry_abstract_destroy2" ,
2562+ 1 ,
2563+ card and card .ability .extra .odds_after_round or self .config .extra .odds_after_round
2564+ )
25482565 then
25492566 self .ability .extra .marked = true
25502567 -- KUFMO HAS abstract!!!!111!!!
0 commit comments