if ( !str_cmp( argument, "locate" ) ) { for ( pd = ch->powered; pd; pd = pd->next ) { if ( pd->type == gsn_globedark ) { sprintf( buf, "Globe of Darkness&w, &W%s&w; &cCost&w: &R%d&w.\n\r", pd->room->name, pd->cost ); send_to_char( AT_DGREY, buf, ch ); found = TRUE; } } if ( !found ) send_to_char( AT_CYAN, "You are not sustaining any &zGlobes&w.\n\r", ch ); return; } if ( !str_cmp( argument, "dissipate" ) ) { if ( !is_raffected( ch->in_room, gsn_globedark ) ) { send_to_char( AT_CYAN, "There is no &zGlobe &cin this room&w.\n\r", ch ); return; } for ( pd = ch->powered; pd; pd = pd->next ) { if ( !pd ) break; if ( pd->type == gsn_globedark ) { found = TRUE; if ( pd->room == ch->in_room ) { send_to_char( AT_DGREY, "You wave your hand and the globe dissipates.\n\r", ch ); act( AT_DGREY, "The globe of darkness dissipates.", ch, NULL, NULL, TO_ROOM ); raffect_remove( ch->in_room, ch, pd->raf ); return; } } } if ( !found ) { send_to_char( AT_CYAN, "You are not sustaining any &zGlobes&w.\n\r", ch ); return; } send_to_char( AT_CYAN, "You are not powering the &zGlobe&c in this room.\n\r", ch ); return;