public static void TokenTest(Mobile m, BaseCreature bc) { if ( m.Backpack == null ) return; int karma = Math.Abs( bc.Karma ); int tokenbase = ( bc.TotalGold + karma + bc.Fame + ((bc.Hits+bc.Stam+bc.Mana)/3)) / 6000; int maxtokens = 6 + ( 100 * tokenbase ); int mintokens = TokenSettings.Loot_Difference*(maxtokens/100); int tokenstogive = Utility.Random( mintokens, maxtokens ); bool tokensgiven = false; foreach( Item i in m.Backpack.Items ) { if( i is TokenBag && !tokensgiven) { Tokens t = new Tokens( tokenstogive ); if ( ((Container)i).TryDropItem( m, t, true ) ) { m.SendMessage( "You have received {0} tokens", tokenstogive ); tokensgiven = true; } else t.Delete(); } if ( tokensgiven ) break; } }
public override void OnDoubleClick( Mobile from ) { BankBox box = from.BankBox; if ( box != null && IsChildOf( box ) ) { Delete(); int deposited = 0; int toAdd = m_Worth; Tokens Tokens; while ( toAdd > 60000 ) { Tokens = new Tokens( 60000 ); if ( box.TryDropItem( from, Tokens, false ) ) { toAdd -= 60000; deposited += 60000; } else { Tokens.Delete(); from.AddToBackpack( new TokensBankCheck( toAdd ) ); toAdd = 0; break; } } if ( toAdd > 0 ) { Tokens = new Tokens( toAdd ); if ( box.TryDropItem( from, Tokens, false ) ) { deposited += toAdd; } else { Tokens.Delete(); from.AddToBackpack( new TokensBankCheck( toAdd ) ); } } // Tokens was deposited in your Backpack: from.SendMessage( m_Worth/1000 + "k Copper were placed in your backpack." ); } else { from.SendLocalizedMessage( 1047026 ); } }