#include <effect.h> string query_classification() { return "jewellery.ring.lag"; } void beginning(object player, int time ) { tell_object( player, "You feel like you have trouble moving...\n" ); player->submit_ee( "test_worn", 1, EE_ONCE ); player->submit_ee( "test_worn", 20, EE_CONTINUOUS ); player->submit_ee( "messages", ({ 50, 110 }), EE_CONTINUOUS ); } int merge_effect( object player, int old_state, int new_state ) { return new_state; } /* merge_effect() */ int test_for_effect( object thing ) { if ( !thing ) return 0; return member_array( file_name( this_object() ), (string *)thing->query_wear_effects() ) != -1; } /* test_for_effect() */ void test_worn( object player ) { if ( player->still_auto_loading() ) return; if ( !sizeof( filter_array( (object *)player->query_armours(), "test_for_effect", this_object() ) ) ) { player->submit_ee( 0, 0, EE_REMOVE ); return; } } /* test_worn() */ void end(object player) { tell_object( player, "You feel able to move at normal pace again.\n" ); } /* end() */ void messages( object person ) { tell_object( person, ({ "The air around you feels like syrup.\n", "Each moment feels like an eternity.\n", "The world races past you...\n", "You have trouble moving...\n" })[random(4)] ); } /* messages() */